You are on page 1of 29

LINGUAGEM DE PROGRAMAÇÃO - C# BÁSICO

Introdução
Neste tópico, vamos ter uma visão geral sobre a linguagem C#. Para isso, vamos conhecer o
histórico dessa linguagem, as diferenças entre os conceitos de linguagem de programação de
alto nível e baixo nível, bem como as comparações entre as linguagens C, C++, C#. Além
disso, vamos apresentar o conceito de Dot NET Framework.

Conteúdos:

 Linguagem de programação de alto nível versus baixo nível

 Histórico da linguagem C#

 Comparação entre C, C++, C#

 Conceito de Dot NET Framework (.NET) no C#

 Palavras de uso interno e restrito

 Conhecendo o ambiente de desenvolvimento – Visual Studio: Toolbox, Solution


Explorer, controles, Janela de propriedades, Janelas

 Console application versus Windows Forms.

Ao finalizar este tópico, você será capaz de:

 Compreender e diferenciar linguagens de programação de alto nível e baixo nível.

 Compreender as diferenças entre as linguagens C, C++ e C#.

 Compreender o histórico da linguagem C# e o conceito de Framework.

O C# é uma poderosa linguagem de programação orientada a objetos e focada na rapidez da


solução. Essa linguagem foi criada pela Microsoft e faz parte da plataforma .NET.
Antes de aprofundarmos nossos estudos na linguagem C#, vamos conhecer algumas
referências relevantes. Sabe qual é a diferença entre uma linguagem de alto nível e uma de
baixo nível?

Alto nível
A linguagem de alto nível está muito mais próxima do programador do que do dispositivo,
devido à facilidade de entendimento. Em outras palavras, a linguagem de alto nível é mais
fácil de ser trabalhada por ser muito mais intuitiva e amigável.
São exemplos de linguagem de alto nível o C#, Java, Visual
Baixo nível
A linguagem de baixo nível é muito mais voltada para o dispositivo – processador,
microcontrolador etc. Com isso, o programador tem mais trabalho, se compararmos com o
trabalho necessário para lidar com a linguagem de alto nível.
Normalmente, a linguagem de baixo nível envolve números e letras, que são instruções
diretas ao dispositivo. Dessa forma, o programador tem de entender não só a linguagem em si
mas também toda a arquitetura do dispositivo com que vai trabalhar.
Um exemplo de linguagem de baixo nível é a Assembly.

Já deve ter ouvido falar nas linguagens C e C++, não é mesmo? Apesar de seus nomes
serem parecidos, essas linguagens são diferentes e têm características próprias. Dessa
forma, não confunda! Vamos comparar essas linguagens?

C – Linguagem estruturada, altamente implementada. Foi usada para desenvolver os


Sistemas Operacionais mais famosos existentes, como Unix, Linux e Windows.
A linguagem C influenciou muitas linguagens de forma direta, como C++, Java e a própria
linguagem C#.
Desse modo, as linguagens influenciadas têm sintaxe e estruturas semelhantes à C.

C++ – Linguagem que permite programação estruturada e orientada a objetos.


A C++ é uma evolução do C. Nesse sentido, ela preserva todas as vantagens do C e ainda
permite a criação de objetos.
A criação de objetos é possível graças ao paradigma da orientação a objetos.

C#, é lido da seguinte forma: C-Sharp.


A C# é toda orientada a objetos e é a linguagem base da plataforma .Net. O seu foco está na
solução rápida de problemas.

Histórico da Linguagem C#
C# é uma linguagem de programação moderna orientada a objetos.
A linguagem C# foi desenvolvida por Anders Hejlsberg e sua equipe durante o
desenvolvimento do Dot NET Framework (plataforma .NET), da Microsoft.
Apesar de a sintaxe do C# ser baseada no C++, ela inclui influências de outras linguagens de
programação, como Pascal e Java.
Note que essas influências podem facilitar o entendimento para programadores que já
possuem conhecimento em outras linguagens.
A linguagem C# é muito utilizada nos dias de hoje. Você sabe por quê? Vamos descobrir!

São vários os motivos que fazem a linguagem C# ser muito utilizada. Por exemplo:
 É fácil de aprender.

 Tem Programação Orientada a Objetos – POO.

 Pode ser utilizada de modo que seja permitido o reuso de código.

 É uma linguagem estruturada.

 Produz programas robustos e eficientes.


 É uma linguagem de programação utilizada para vários propósitos.

 Pode ser compilada em uma variedade de plataformas.

 Tem muita semelhança com o Java, C e C++, porém apresenta várias facilidades e
extensas bibliotecas de pronto uso, que agradam os desenvolvedores.

 É parte da plataforma .NET.

Faz sentido que o C# seja muito usado, não é mesmo?


“O C# é uma linguagem de programação de grande aceitação no mercado, com grande
expectativa e potencial de crescimento. Não é à toa que está entre as linguagens de
programação mais utilizadas.”
Conceito de Plataforma .NET no C#
A linguagem C# é parte do .NET, uma plataforma (framework) revolucionária que ajuda a
escrever vários tipos de aplicações.

Alguns exemplos de aplicações escritas em .NET são:


 aplicativos do Windows

 aplicações web

 serviços web

 aplicativos mobile

 serviços do Windows.

Os aplicativos escritos em .NET são aplicações multiplataforma.


A plataforma foi projetada de modo que possamos usá-la a partir de várias linguagens. Por
exemplo:
 C#

 C++

 Visual Basic

 Javascript

 COBOL.
Além disso, essas linguagens podem comunicar-se umas com as outras por meio da
plataforma.
A plataforma .NET é um ambiente gerenciado que proporciona uma variedade de serviços
para os aplicativos em execução.
Esse ambiente consiste em dois componentes principais:
 CLR – Common Language Runtime
 Biblioteca de classes .NET Framework.
Por apresentar esses dois componentes, o framework é essencial para rodar diversos
aplicativos.
Além dos dois componentes principais, a plataforma .NET tem outros componentes. Você
sabe quais são?
common language runtime – CLR, biblioteca de classes, common language specification,
common type system, metadados e assemblies, Windows forms, Windows services, ASP.NET
e ASP.NET AJAX, ADO.NET, Windows workflow foundation – WWF, Microsoft LINQ –
Language Integrated Query, Windows Phone.

A linguagem C# foi criada pela Microsoft e pertence à plataforma .NET. Apesar de a sintaxe da
C# ser baseada no C++, ela inclui influências de outras linguagens de programação, como
Pascal e Java. Uma das vantagens dessa linguagem é a variedade de plataformas em que
pode ser compilada.
O ambiente de gerenciamento .NET proporciona uma variedade de serviços para aplicativos
em execução:
 O CLR (Common Language Runtime), mecanismo de execução que identifica
aplicativos em execução
 A Biblioteca de classes .NET Framework, que fornece uma biblioteca de códigos
testados e reutilizáveis
 O Windows Form, utilizado para a criação de formulários
 O Windows Phone, utilizado na mobilidade.

Visual Studio
Neste tópico, vamos aprender um pouco sobre o Visual Studio, uma ferramenta da Microsoft
essencial no desenvolvimento do C#.
Conteúdos:
 Palavras de uso interno e restrito
 Ambiente de desenvolvimento Visual Studio: Toolbox, Solution Explorer, controlos,
janela de propriedades, janelas
 Console Application versus Windows Forms.
Ao finalizar este tópico, você será capaz de:
 Conhecer o ambiente de desenvolvimento Visual Studio e suas principais ferramentas.
 Compreender e reconhecer as diferenças entre as aplicações Console Application e
Windows Forms.

Visão Global do Visual Studio


Neste curso, as soluções e os projetos poderão ser desenvolvidos com base no Visual Studio.
O Visual Studio é uma ferramenta de desenvolvimento da Microsoft e consiste em um
conjunto completo de ferramentas e serviços que permite a criação de aplicativos.
Ao longo do curso, utilize o programa para praticar os exemplos e as sugestões de atividade
disponibilizados.
O Visual Studio (VS) é um ambiente completo para o desenvolvimento em diversas
linguagens, como Java, C++, Visual Basic ou C#, por exemplo, e vem sendo aprimorado
desde a sua versão 6.0. A partir de então, a ferramenta já passou pelas versões 2003, 2005,
2008, 2010, 2012, 2013 e 2015.

Assim como a ferramenta VS, os frameworks adotados também estão em contínuo


desenvolvimento. Desse modo, novas funcionalidades e bibliotecas de pronto uso estão
sempre sendo adicionadas. Clique nas versões da ferramenta para conhecer os frameworks
correspondentes.

Lembre-se: o framework utilizado no desenvolvimento deve ser igual ao framework utilizado


no servidor que executará a solução.

Como escolher e criar um projeto.


O projeto pode ser uma aplicação em linha de comando, uma aplicação Windows, um site,
uma web application, um web service, um Windows service etc.

Quando vários projetos se tornam uma solução.


Uma solução pode conter vários tipos de projetos e plataformas. Por exemplo, uma solução
pode conter projetos de sites, web services e aplicativos móveis. Tudo para atender as
necessidades de um cliente.

Ética
Seja bem-vindo ao grupo das pessoas que desenvolvem algo novo por meio da informática!
Como participantes desse grupo, temos de atuar com ética!
Como desenvolvedores, iremos entender o que é ter nossa solução replicada sem
consentimento.
Qual sensação pode ser pior do que ver um código desenvolvido por você sendo utilizado por
uma pessoa que diz que a ideia foi só dela?
A ética está relacionada com atitudes totalmente diferentes dessa. Ética tem a ver com
respeito e com atitudes como não copiar, não plagiar, citar quem fez originalmente o código e
solicitar autorização de uso formalmente.
A ética também se aplica à vida cotidiana.
Quantas vezes baixamos uma música, um filme ou uma foto sem pagar nada por eles? Será
que estamos lesando o criador intelectual da obra? Será que devemos ir na onda: "se todos
fazem, eu posso fazer também!" ?
Qual é o limite entre o certo e o errado? Não deveria haver uma regra clara para o que é certo
e errado?
Sim, existe uma regra! Há uma lei que fala justamente sobre isso.
No entanto, mesmo sabendo da existência dessa lei, por que há os que insistem em contrariá-
la? Se você é uma dessas pessoas, já pensou em qual é seu nível de ética?
Essa discussão é essencial para nossa cidadania, para termos nossos direitos respeitados
em qualquer situação.

Criação de Projeto no Visual Studio


Para aprender a criar um novo projeto, sugerimos que você acompanhe o passo a passo a
seguir e vá repetindo as etapas em um computador, simultaneamente.

Passo 1: Criação de um novo projeto


Ao entrar no Visual Studio, vemos uma tela inicial de boas-vindas chamada Start Page.
Na Start Page, podemos escolher as seguintes opções:
 New Project, para um projeto novo
 Open Project, caso você já tenha um projeto desenvolvido no Visual Studio e queira
abri-lo.
Escolha a opção New Project.

Passo 2: Escolha de linguagem


Repare que devemos escolher a linguagem com que desejamos trabalhar, à esquerda.
No caso, vamos escolher C# (a linguagem que vamos aprender neste curso).

Passo 3: Escolha da opção de projeto


Na Janela New Project, são apresentadas algumas opções de projetos, como:
 Windows Form Application – aplicação de janelas Windows/formulários
 Console Application – aplicação que não possui interface com usuário
 Class Library – orientação a objetos.
Por ora, vamos escolher a primeira opção: Windows Forms Application.

Passo 4: Nomeação do projeto


Após escolher Windows Forms Application, vamos definir um nome para o projeto.
Para isso, preencha o campo Name.
Não existe padrão para criação de nomes de projetos. No entanto, é interessante utilizar
nomes de forma padronizada e identificar o propósito da aplicação, por uma questão de boas
práticas.
Neste exemplo, vamos utilizar o nome PrjCadastro, em referência a Projeto Cadastro

Passo 5: Pós-criação do projeto


Quando escolhemos um Windows Forms Application, já temos um modelo padrão com 1
Form, que, por padrão, chama-se Form1.

Componentes do IDE
Inserção de Componentes
Janela de Error List

Error
Não será possível executar a aplicação se o erro não for corrigido.

Warnings
Não são tão graves. De modo geral, são só avisos que não impedem a
execução do programa.
Messages
Não são tão graves. De modo geral, são só avisos que não impedem a
execução do programa.

A MessageBox é uma caixa de mensagem predefinida que tem como função dar algum
retorno ao usuário, por meio do Visual Studio.
A MessageBox é disparada exibindo uma mensagem com um texto especificado. A caixa de
mensagem pode ter algumas opções adicionais, incluindo legenda, ícone e botões de ajuda e
pode ser configurada pelo usuário.

O exemplo “Hello World” é uma string. Pode-se escrever a mensagem que deseja que
apareça, dentro dos parênteses e aspas: .Show significa “para mostrar”.

“Mensagem”,texto que aparece como título da MessageBox. Em nosso exemplo, utilizamos o


texto Mensagem.
Após a mensagem digitada, ao colocar uma vírgula, digite MessageBoxButtons. Após digitar
o ponto, o Visual Studio apresentará as opções de botão que você poderá colocar em sua
caixa de mensagem:

Coloque uma vírgula e digite MessageBoxIcon. Após digitar o ponto, o


Visual Studio apresentará as opções de ícone que você poderá
colocar em sua caixa de mensagem:
Comentário
Depois de algum tempo, é possível que o código não esteja mais tão claro na mente do
programador. Dessa forma, o comentário é uma ferramenta de muita utilidade quando
estamos desenvolvendo um aplicativo.
Por meio dos comentários, podemos colocar informações a respeito do propósito de um
trecho do código do programa.
São os comentários deixados pelo programador que irão ajudá-lo a lembrar os detalhes do
código.

Comentário de única linha usando duas barras "//"


É usado para informar, de modo objetivo, o propósito de um trecho do programa quando este
requer menos detalhes.
Quando o compilador C# encontra as duas barras "//", o restante do conteúdo da linha é
ignorado automaticamente.
Veja um exemplo de comentário de única linha a seguir, destacado em verde:
// Declara a variável que guarda o nome do cliente
string nome;
Comentário de múltiplas linhas
Geralmente, comentários de múltiplas linhas são usados para informar, de modo mais
detalhado, o propósito de um trecho do programa.
Para iniciarmos um comentário de múltiplas linhas, devemos usar “ /* “ e, ao final, precisamos
fechar com “ */ ”.
A seguir, veja um exemplo de comentário de múltiplas linhas e outro de comentário de única
linha, respectivamente:
/* O trecho de código abaixo cria uma
variável para armazenar o nome do cliente. */
string nome = "Osmar";
Console.WriteLine(nome); // Exibe o resultado
Console.ReadKey();

Para entrar no modo código, devemos clicar com o botão direito no formulário (View Code)
ou pressionar a tecla F7.

Tipos de Dados
Os tipos de dados disponíveis em C#? Os tipos de dados mais comuns são bool, char,
decimal, double, float, int.
TIPO REPRESENTAÇÃO RANGE PADRÃO
Bool Boolean True or False False
Byte 8-bit unsigned Integer 0 to 255 0
Char 16-bit Unicode character U +0000 to U +ffff '\0'
128-bit precise decimal values with 28-29
decimal (-7.9 x 1028 to 7.9 x 1028) / 100 to 28 0.0M
significant digits
double 64-bit double-precision floating point type (+/-)5.0 x 10-324 to (+/-)1.7 x 10308 0.0D
Float 32-bit single-precision floating point type -3.4 x 1038 to + 3.4 x 1038 0.0F
Int 32-bit signed integer type -2,147,483,648 to 2,147,483,647 0
923,372,036,854,775,808 to
Long 64-bit signed integer type 0L
9,223,372,036,854,775,807
Sbyte 8-bit signed integer type -128 to 127 0
Short 16-bit signed integer type -32,768 to 32,767 0
Uint 32-bit signed integer type 0 to 4,294,967,295 0
Ulong 64-bit signed integer type 0 to 18,446,744,073,709,551,615 0
Ushort 16-bit signed integer type 0 to 65,535 0
Nomeação dos Componentes
As boas práticas de nomeação dos componentes determinam, por exemplo, a utilização de
um prefixo de duas ou três letras para identificar o tipo de objeto utilizado.

COMPONENTE PREFIXO EXEMPLO


Formulário frm frmCadastro
Caixa de Figura (PictureBox) pic picImagens
Label lbl lblNome
Caixa de Texto (TextBox) txt txtNome
Botão de Comando – Button btn btnSalvar
Caixa de Verificação (CheckBox) chk chkData
ComboBox cbo cboEstado
ListBox lst lstFornecedor
Timer tmr tmrRelogio
Grid grd grdClientes
Menu mnu mnuExibir

Variáveis
Variável é o espaço para o armazenamento de dados na memória do computador. Cada
variável tem um tipo específico. Cada tipo de variável determina o seguinte.
O tamanho e a disposição da variável na memória.
O intervalo de valores que pode ser armazenado.
O conjunto de operações que pode ser aplicado à variável.

Os valores das variáveis ficam guardados na memória somente enquanto o programa está em
execução.
Chamamos o processo de armazenamento de valores durante a execução do programa de
memória volátil.
A variável armazena somente um valor de cada vez. Dessa forma, quando a variável recebe
um novo valor, ele substitui o valor antigo.

Para declarar uma variável em C#, a sintaxe deve ficar da seguinte forma. string nome;
Pode inicializar uma variável e atribuir-lhe um valor no momento da declaração, do seguinte
modo: int quantidade = 100;

Alguns exemplos de declaração de variáveis em C#.


string – Somente para texto. Deve ser escrito entre “aspas duplas”.
string nome;
nome = "José";

char – Para um único caractere. Deve ser escrito entre ‘aspas


simples’.
char sexo;
sexo = 'F';
sexo = 'M';
Identificadores
O identificador é um nome utilizado para identificar uma classe, uma variável, uma função ou
qualquer outro item definido pelo usuário. No entanto, existem algumas regras básicas para a
nomeação desses elementos.
Em primeiro lugar, um nome pode ser seguido por uma sequência de letras e dígitos, além do
underline (o sublinhado).
Em segundo lugar, um nome não deve conter qualquer espaço incorporado, símbolos, sinais
de pontuação ou acentuação. Então nada de usar ponto de interrogação, sinais de mais ou de
menos, símbolo de arroba, asterisco, dois-pontos, ponto-final etc.
E, por fim, uma última regra: um nome não deve ser uma palavra-chave do C-sharp.
Exemplo: como faríamos para nomear uma classe com as palavras Aplicativo Retângulo,
por exemplo? Veja que são duas palavras, e uma delas tem acento.
Para começar, não podemos colocar acento na palavra Retângulo e não podemos inserir
espaço entre essas duas palavras. Dessa forma, temos duas alternativas: ou escrevemos
tudo junto (sem espaço), ou utilizamos um underline (sublinhado) para separar as palavras.
Ficará assim: AplicativoRetangulo ou Aplicativo_Retangulo

Palavras de Uso Restrito


Outro conceito importante e que deve ser considerado para a nomeação dos componentes diz
respeito às palavras de uso restrito.
Tais palavras não podem ser alteradas nem utilizadas para nomear variáveis, propriedades,
métodos, classes etc.

Palavras-chave reservadas
As palavras-chave reservadas são predefinidas e reservadas para o compilador C#. Por isso,
não podem ser usadas para definir nomes de variáveis ou objetos dentro da programação.

Palavras-chave contextuais
Em C#, alguns identificadores têm significado especial no contexto do código, como get e set.
Os identificadores são chamados de palavras-chave contextuais.

Para desenvolver um projeto utilizando a IDE (Integrated Development Enviroment), você


precisa conhecer todos os componentes:
 Label é utilizado quando precisamos adicionar um rótulo (etiqueta) para identificação
de um elemento. Contém algum texto, como uma explicação sobre um objeto (um
campo de formulário, por exemplo)
 Button é um dos componentes mais utilizados, uma vez que permite, por meio de um
botão a interação com o usuário
 Toolbox é um painel (caixa) de ferramentas onde encontram-se todos os componentes
necessários para desenvolver um software
 Textbox é um painel (caixa) de texto utilizada para inserir (digitar), demonstrar ou
editar dados.

Operadores e Variáveis
Neste tópico, vamos entender conceitos extremamente relevantes para a prática de
programação.
Conteúdo:
 Operadores.
Ao finalizar este tópico, você será capaz de:
 Compreender a utilização de operadores.

Operadores.
A função dos operadores é mostrar ao programa que algumas operações matemáticas
específicas, ou lógicas, devem ser realizadas. A linguagem C# é rica em operadores internos.
Operadores aritméticos:
(+) Adição
O operador de adição soma dois operandos.
Por exemplo: A + B = 30

(-) Subtração
O operador de subtração subtrai o segundo operando do primeiro.
Por exemplo: A - B = -10

(*) Multiplicação
O operador de multiplicação multiplica ambos os operandos.
Por exemplo: A * B = 200

(/) Divisão
O operador de divisão divide o numerador pelo denominador.
Por exemplo: B / A = 2

(%) Módulo/Resto
O operador módulo indica o resto após a divisão.
Por exemplo: B / A = 2. Logo, B % A = 0.

(++) Incremento
O operador de incremento aumenta o valor inteiro do operando em um. Esse operador
funciona de modo similar ao operador de soma: A++ equivale a A = A + 1
Por exemplo: A++= 11

(- -) Decremento
O operador de decremento diminui o valor inteiro do operando em um. Esse operador
funciona de modo similar ao operador de subtração: i-- equivale a A = A – 1.
Por exemplo: A -- = 9
Atenção! O operador de decremento, assim como o de incremento, somente funciona para
variáveis do tipo numérico.
Operadores relacionais:
Os operadores relacionais servem para fazer comparações. Desse modo, seu resultado
sempre será true ou false – verdadeiro ou falso.
(==) igual
Verifica se o valor de dois operandos é igual ou não. Se o valor for igual, a condição se torna
verdadeira. Repare que se trata de um operador de comparação.

(!=) diferente
Verifica se o valor de dois operandos é diferente ou não. Se os valores não são iguais, a
condição se torna verdadeira.

(>) maior que


Verifica se o valor do operando esquerdo é maior do que o valor do operando direito. Se a
resposta for sim, a condição se torna verdadeira (true).

(<) menor que


Verifica se o valor do operando esquerdo é menor do que o valor do operando direito. Se a
resposta for sim, a condição se torna verdadeira.

(>=) maior ou igual a


Verifica se o valor do operando esquerdo é maior ou igual ao valor de operando direito. Em
caso afirmativo, a condição se torna verdadeira.

(<=) menor ou igual a


Verifica se o valor do operando esquerdo é menor ou igual ao valor do operando direito. Em
caso afirmativo, a condição se torna verdadeira.

Operadores lógicos:
Os operadores lógicos servem de junção a diversas comparações simultâneas.
(&&) and
O operador and (e) é utilizado quando se quer restringir mais de uma comparação. Ele
assume que ambas as condições sejam satisfeitas.

(||) or
O operador or (ou) é contrário do and. Basta que qualquer uma das comparações seja
verdadeira para que a condição seja satisfeita.

(!) not
O operador not (não) é o inverso daquilo que se está afirmando ou negando. Ele inverte a
condição lógica proposta.
Estruturas de Decisão
Neste tópico, vamos entender quais são as estruturas de decisão no C# e como elas são
utilizadas.
Conteúdo:
 Estruturas de decisão.
Ao finalizar este tópico, você será capaz de:
 Compreender a utilização de estruturas de decisão.

Comando if – Decisão Condicional Simples


A declaração if é uma expressão booleana. Por meio dessa expressão, podemos testar
condições e executar diferentes operações. Dependendo dos resultados do teste, caminhos
diferentes são seguidos para a condição avaliada.

Por exemplo, vou fazer uma festa, mas tenho uma condição: SE CHOVER...
SIM – Comando A: Faço a festa em lugar fechado.
NÃO – Comando B: Faço a festa em lugar aberto.
If é uma decisão condicional simples.

If (condição verdadeira)
{
Instrução 1 - Instruções a serem executadas se a condição for verdadeira;
}
Comando if-else – Decisão Condicional Composta
A expressão if-else é utilizada para executar uma condição por meio de uma expressão
booleana.
A cláusula else é opcional, de modo que seu conteúdo somente será executado se o
resultado da expressão for false - falso. Quando temos mais de uma condição, ocorre o que
chamamos de encadeamento de ifs.
A condição if-else if pode ser seguida por uma instrução if opcional. Tal instrução é
executada quando a expressão booleana é verdadeira ou falsa. Em outras palavras, temos if
dentro de if.
O encadeamento de ifs também pode ser chamado de estrutura encadeada ou aninhada. A
estrutura encadeada será utilizada quando for necessário satisfazer mais de uma condição.
De acordo com a necessidade e complexidade da situação-problema, podemos ter um código
com uma série de ifs, até que a condição seja satisfeita.
Temos ainda a opção de usar o switch.
A instrução switch permite utilizar várias opções em uma única estrutura. Com isso, a
instrução é uma forma de reduzir a complexidade do uso de vários ifs.
A instrução switch é utilizada em situações que pedem diversos testes condicionais. Nesse
contexto, o switch examina a condição e especifica o bloco de código que deve ser
executado.

if ( expressãoCondicional )
{
codigo1 – Instrução a ser executada caso verdadeiro
}
else
{
codigo2 - Instrução a ser executada caso falso
}
If encadeado
Quando temos mais de uma condição, ocorre o que chamamos de encadeamento de ifs.
Nesse sentido, a condição if-else if pode ser seguida por uma instrução if opcional. Tal
instrução é executada quando a expressão booleana é verdadeira ou falsa. Em outras
palavras, temos if dentro de if.

If (condição verdadeira)
{
Instruções a serem executadas se for verdadeira;
}
else if (nova condição)
{
Instruções a serem executadas se a nova condição for verdadeira;
}
else if (nova condição)
{
Instruções a serem executadas se a nova condição for verdadeira;
}
else
{
Instruções a serem executadas se for falsa;
if (nova condição)
{
Instruções a serem executadas se a nova condição for verdadeira;
}
}

Usos da Condição If
Podemos desenvolver uma estrutura apenas com if – sem else.
Nesse caso, temos uma estrutura condicional simples.

No entanto, jamais observaremos uma estrutura else sem if.


A estrutura if-else é chamada de estrutura condicional composta.

A utilização de um conjunto de ifs forma


a estrutura encadeada ou aninhamento de
ifs.

De acordo com a necessidade e


complexidade da situação-problema,
podemos ter um código com uma série de
ifs, até que a condição seja satisfeita.

Usos da Condição If

Instrução Switch
A instrução switch é utilizada em situações que pedem diversos testes condicionais. Nesse
contexto, o switch examina a condição e especifica o bloco de código que deve ser
executado.

A estrutura de decisão if-else utiliza uma expressão booleana true / false (verdadeiro / falso)
durante a sua execução.
A cláusula else é opcional, portanto, seu conteúdo só será executado se o resultado da
expressão for false.
A estrutura switch é aplicada quando se necessita utilizar diversos testes condicionais,
reduzindo assim a necessidade de aninhar uma sequência muito grande de ifs. O modo
default de uma estrutura switch é opcional e é executado quando todos os testes
condicionais da estrutura switch não resultarem em um valor verdadeiro, ou seja, quando
todos os testes forem falsos.
Estruturas de Repetição
Estrutura de repetição é um trecho de código utilizado para repetir uma tarefa várias vezes,
até que determinada condição seja satisfeita. Essa estrutura funciona como um looping!

While
É usada quando um bloco de código é repetido e enquanto uma condição for verdadeira. Em
outras palavras, quando não sabemos quantas vezes o bloco de código precisa ser repetido,
pois ela testa a condição antes de executar o looping
while (expressão booleana)
{
//instruções que serão testadas até que a condição seja satisfeita
}

do/while
Tem quase o mesmo funcionamento da estrutura while. A diferença é que o do/while testa a
condição no final de cada ciclo.
do
{
// corpo do loop
}
while(condição);

for
Executa uma sequência de códigos até que a condição seja verdadeira. Para realizar essa
tarefa, a instrução é feita em três partes: inicialização, condição e atualização.
for (inicialização; condição; atualização)
{
// Esse código será executado enquanto a condição for verdadeira
}

O trecho de código apresenta uma estrutura de repetição while (enquanto), utilizada quando
um bloco de código é repetido, enquanto uma condição for verdadeira. Nesse caso, a variável
i é inicializada com o valor 20 e, com a condição enquanto i for maior do que 1, será
executado o laço decremento, exibindo assim a sequência decrescente de todos os valores
de 19 a 1.
Estrutura de Decisão versus Estrutura de Repetição
Array
 Array

 Array Multidimensional.

É um array de 4 elementos, de 0 a 3
Para declarar um array podemos usar a seguinte sintaxe:

TipoDeDado [] NomeArray = new TipoDeDado [];


TipoDeDado – (int, string, double, etc)
[] – Especifica tamanho do array
NomeArray – Especifica o nome do array
new – usado para criar uma instância do aaray.

double[ ] valor = new double[10];


valor[1] = 10;
valor[5]= 15;
valor[8] = 21;

O código acima tem a seguinte representação:


Outras formas de atribuir valores aos arrays, veja as várias formas do mesmo array:

double[] resultados = new double[10];

Significa que foi criado um array do tipo double com o nome resultados e do
com dez posições ou elementos.

Também podemos atribuir valores individualmente para os elementos do array, utilizando o


número do índice. Exemplo:
double[] resultados = new double[10];
resultados[0] = 100
resultados[1] = 250;
resultados[2] = 320;
resultados[3] = 150;
resultados[4] = 110
resultados[5] = 170;
resultados[6] = 130;
resultados[7] = 190;
resultados[8] = 180;
resultados[9] = 260;

Também é possível atribuir valores para o array no momento da declaração. Por exemplo:

double[] resultados = {100, 250, 320, 150, 110, 170, 130, 190, 180, 260};

Ou ainda:

int[] referencias = new int[5] {1, 15, 35, 42, 64};


Prática

private void btnTesteVetor_Click(object sender, EventArgs e)

int[] vetor = new int[4]; //Declarar e instanciar vetor

// Atribuição de valores de acordo com cada índice

vetor[0] = 7;

vetor[1] = 3;

vetor[2] = 5;

vetor[3] = 1;

int valor = vetor[1]; // Declara variável "valor" para acessar o vetor

System.Array.Sort(vetor); // System.Array.Sort - Esta classe ordena o vetor

// Comando for-Percorre o vetor em cada índice.

for (int index = 0; index < 4; index++) // Condição - Para index menor que 4

// (de 0 a 3), ele exibe uma msg com o vetor na MessageBox.

MessageBox.Show(vetor[index].ToString(), "Array");
}

private void btnTesteDias_Click(object sender, EventArgs e)

string[] semana = new string[7]; // Declarar e instanciar vetor

// Atribuição de valores de acordo com cada índice,

// como são os dias da semana (string)

semana[0] = "Domingo";
semana[1] = "Segunda-Feira";

semana[2] = "Terça-Feira";

semana[3] = "Quarta-Feira";

semana[4] = "Quinta-Feira";

semana[5] = "Sexta-Feira";

semana[6] = "Sábado";

string valor = semana[1]; // Declara variável "valor" para acessar o vetor

// Por se tratar de string não é necessário ordenar

// Comando for- Percorre o vetor em cada índice.

for (int index = 0; index < 7; index++) // Condição Para index menor que 7 (de 0 a 6),

// ele exibe uma msgcom o vetor na MessageBox, ou seja cada dia da semana.

MessageBox.Show(semana[index].ToString(), "Array");
}
Array Multidimensional
Um array multidimensional é uma estrutura homogênea de dados. Tal estrutura é formada por
um conjunto de valores com o mesmo tipo de dados, trabalhando com linhas e colunas.
Arrays multidimensionais também são chamadas de matrizes.

Imagine que temos:


 2 cursos = 2 linhas
 4 notas por curso = 4 colunas.
Dessa forma, teremos uma matriz bidimensional (multidimensional) 2X4, ou seja, 2 cursos X 4
notas.

Veja como é a declaração da array multidimensional desse exemplo. Observe que [,] indica
duas posições – Linhas (2) e Colunas (4).

double[ , ] notas = new double[2,4];

Qual é a localização no array?


Qual é o vetor em que se encontra a nota 9.0 do curso de Sistemas?

A localização da nota 9.0 do curso de Sistemas está no vetor bidimensional [0, 2], ou seja, na
linha [0] da coluna [2].

A representação do array multidimensional, no código, ficaria assim:

double[ , ] notas = new double[2,4];


notas[0,0] = 8.0;
notas[0,1] = 7.5;
notas[0,2] = 9.0;
notas[0,3] = 8.5;
notas[1,0] = 9.5;
notas[1,1] = 8.5;
notas[1,2] = 8.0;
notas[1,3] = 9.0;

Na prática:

private void btnArrayMulti_Click(object sender, EventArgs e)

// Declarar e instanciar array, indicando qtde linhas e colunas

double[,] notas = new double[2, 4];

// Atribuição de valores de acordo com cada índice,

notas[0, 0] = 8.0;

notas[0, 1] = 7.5;

notas[0, 2] = 9.0;

notas[0, 3] = 8.5;

notas[1, 0] = 9.5;

notas[1, 1] = 8.5;

notas[1, 2] = 8.0;

notas[1, 3] = 9.0;

// Exibe na Messagebox a devida nota de acordo com os índices escolhidos.

MessageBox.Show("Tem " + notas[0, 2] + " Valores", "Array");


}

Utilizamos matrizes (array multidimensional) para armazenar um conjunto de valores do


mesmo tipo, trabalhando com linhas e colunas.
Ao declararmos um array, temos de definir o seu tipo (exemplo: string, double), nome
(produtos, clientes, valor) e quantidade de posições (exemplo: [30]).
Podemos atribuir valores para um array de formas diferentes, e uma delas é durante a
declaração do array, como string[] produtos = {"caneta", "lápis","caderno", "borracha",
"tesoura"};
For é um comando de estrutura de repetição utilizado para executar uma ou mais instruções
enquanto a condição for verdadeira.
O comando “Length” é utilizado para verificar a quantidade de valores armazenados em um
vetor.

Prática: Sistema Cantina

You might also like