Anda di halaman 1dari 27

LGICA DE PROGRAMAO

1 Mdulo

Professores:
Mauricio Marinheiro Faccini
Viviana Pupin Zanella

Verso 3

ndice
1

LGICA DE PROGRAMAO ......................................................................................... 3

1.1

Como se comunicar com o computador ? ........................................................................ 3

1.2

Linguagem de Programao ............................................................................................. 3

1.3

Lgica ................................................................................................................................ 3

1.4

Lgica de Programao .................................................................................................... 3

1.5

Algoritmos ......................................................................................................................... 4

1.6

Objetivos dos Algoritmos .................................................................................................. 4

1.7

Passos para criar um Algoritmo ........................................................................................ 4

1.8

Exemplos de Algoritmos ................................................................................................... 4

1.9

Trs fases fundamentais para criao de um algoritmo ................................................... 5

1.10 Programas ......................................................................................................................... 5


2

ACESSANDO O C# 2010 ................................................................................................. 6

Ambiente de Desenvolvimento ......................................................................................... 7

4.1

Blocos de Comando ......................................................................................................... 10

4.2

Console ............................................................................................................................ 10

4.3

Comentrios ..................................................................................................................... 12

Programao em C# ........................................................................................................ 13

5.1

Variveis........................................................................................................................... 13

5.2

Declarando variveis ........................................................................................................ 13

5.3

Exemplo de criao variveis .......................................................................................... 14

5.4

Nomeando uma varivel .................................................................................................. 14

5.5

Atribuindo valor a variveis .............................................................................................. 15

5.6

Operadores Aritmticos ................................................................................................... 16

5.7

Possveis causas de erros ............................................................................................... 16

5.8

Comando de leitura de Dados ......................................................................................... 17

ESTRUTURAS DE DECISO.......................................................................................... 19

6.1

Comando If ....................................................................................................................... 19

6.2

Comando Switch .............................................................................................................. 22

COMANDOS DE REPETIO ........................................................................................ 24

7.1

Comando For ................................................................................................................... 24

7.2

Comando While ................................................................................................................ 25

7.3

Comando Do While .......................................................................................................... 26

Referncias ...................................................................................................................... 27

ETEC Antnio de Pdua Cardoso

- LGICA
LGICA DE PROGRAMAO
1.1 Como se comunicar com o computador ?

Passando a ele um conjunto reduzido de construes chamadas comandos ou


instrues com significado nico e sintaxe rgida;

Aprendendo, a expressar os passos necessrios para a soluo de problemas usando


apenas o conjunto de comandos que temos disponveis na linguagem.

1.2 Linguagem de Programao


Uma linguagem de programao um mtodo padronizado para expressar
instrues para um computador. um conjunto de regras sintticas e semnticas usadas para
definir um programa de computador. Uma linguagem permite que um programador especifique
precisamente sobre quais dados um computador vai atuar, como estes dados sero
armazenados ou transmitidos e quais aes devem ser tomadas sob vrias circunstncias.
O conjunto de palavras compostos de acordo com essas regras constituem o cdigo
fonte de um software. Esse cdigo fonte depois traduzido para cdigo de mquina, que
executado pelo processador.
Uma das principais metas das linguagens de programao permitir que
programadores tenham uma maior produtividade, permitindo expressar suas intenes mais
facilmente do que quando comparado com a linguagem que um computador entende
nativamente (cdigo de mquina). Assim, linguagens de programao so projetadas para
adotar uma sintaxe de nvel mais alto, que pode ser mais facilmente entendida por
programadores humanos. Linguagens de programao so ferramentas importantes para que
programadores e engenherios de software possam escrever programas mais organizados e
com maior rapidez.

1.3 Lgica
Lgica o uso correto dos processos de raciocnio, tcnica de colocar os pensamentos em
ordem para atingir determinado objetivo.
Dessa forma, quando temos um problema a resolver e queremos encontrar uma soluo
correta, procuramos definir tal soluo como uma seqncia lgica de passos.
Exemplos de Lgica
1) A gaveta est fechada.
A bala est na gaveta.
Preciso primeiro abrir a gaveta, para depois pegar a bala.
2) Joo mais velho que Jos.
Marcelo mais novo que Jos.
Portanto, Joo mais velho que Marcelo.

1.4 Lgica de Programao


Quando vamos definir os passos de uma soluo para um computador, tambm usaremos
uma seqncia lgica de passos, porm temos que considerar que o computador entende
apenas um conjunto restrito de instrues e que no possui nenhum senso comum que lhe
permita inferir detalhes de como fazer, nem o que fazer a seguir. Ao uso correto das leis do
pensamento e dos processos de raciocnio para a programao de computadores chamamos
de lgica de programao.
ETEC Antnio de Pdua Cardoso

Da mesma forma que uma seqncia lgica de pensamento pode ser expressa em
qualquer linguagem natural (portugus, ingls, etc.), a lgica de programao tambm pode ser
expressa em vrias linguagens de programao diferentes. Em ambos os casos, o que muda
a lngua utilizada na comunicao. A lgica da soluo permanece a mesma.
Assim antes de estudar qualquer linguagem temos que aprender como transmitir
adequadamente o nosso pensamento para o computador.

1.5 Algoritmos
O objetivo principal do estudo da lgica de programao a construo de algoritmos
coerentes e vlidos.
Um algoritmo pode ser definido como uma seqncia de passos que visam
atingir um objetivo bem definido.
Na medida em que precisamos especificar uma seqncia de passos, necessrio
utilizar ordem, ou seja, pensar com ordem, portanto, precisamos usar a lgica.
Quando elaboramos um algoritmo, devemos especificar aes claras e precisas, que a
partir de um estado inicial e aps um perodo de tempo finito, produzem um estado final
previsvel e bem definido.
Como exemplo podemos citar uma receita de bolo onde temos ingredientes bem definidos
e uma seqncia de diversos passos que devem ser fielmente cumpridos para que se obtenha
o resultado esperado.

1.6 Objetivos dos Algoritmos

Representar, o mais fielmente possvel, o raciocnio envolvido na lgica de


programao, permitindo, dessa forma, abstrair uma srie de detalhes computacionais
que podero ser includos mais tarde. Assim, podemos concentrar nossa ateno na
lgica para a resoluo do problema, sem preocupar-nos com certos detalhes.

1.7 Passos para criar um Algoritmo








Compreender o problema;
Analisar os objetos disponveis;
Que resultado pretende obter;
Determinar aes para atingir o resultado.
Ser objetivo;

1.8 Exemplos
Exemplos de Algoritmos
Algoritmos
1 Objetivo : Chupar uma bala.
 Pegar a bala
 Retirar o papel
 Chupar a bala
 Jogar o papel no lixo
2 - Objetivo : Utilizar um telefone pblico.
 Tirar o fone do gancho;
 Ouvir o sinal de linha;
 Introduzir o carto;
 Teclar o nmero desejado;
 Conversar;
 Desligar;
 Retirar o carto
ETEC Antnio de Pdua Cardoso

1.9 Trs fases


algoritmo:

fundamentais

para

criao

de

ENTRADA: So os dados de entrada do algoritmo


PROCESSAMENTO: So os procedimentos utilizados para chegar ao resultado final
SADA: So os dados j processados.

Exemplo : Somar dois nmeros quaisquer.







Receba o primeiro nmero; [Entrada]


Receba o segundo nmero; [Entrada]
Some o primeiro nmero com o segundo nmero; [Processamento]
Mostre o Resultado. [Sada]

1.10 Programas
Os programas de computadores nada mais so do que algoritmos escritos numa
linguagem de computador (C, Java, Cobol, Delphi, Visual Basic, C# entre outras) e que so
interpretados e executados por uma mquina, no caso um computador.

ETEC Antnio de Pdua Cardoso

um

2 - ACESSANDO O C# 2010
Voc pode entrar no C# atravs do menu Iniciar / Programas / Microsoft Visual
Studio 2010 / Microsoft Visual Studio 2010 novamente, sinta-se vontade para criar
qualquer atalho para ele.

No menu File, aponte em New, e clique em Project. (Ou clique Ctrl+Shift+N).


A caixa de dialogo New Project aparece. Ela permite a criao de um novo projeto
usando vrios templates, como um Windows Application, Class Library, Console Application e
vrios outros.
Assegure-se que do lado esquerdo em Recent Templates a opo Visual C# esteja
destacada, caso contrrio clique no boto Other Languages e selecione Visual C#.
.

ETEC Antnio de Pdua Cardoso

Selecione a opo Console Application.


No campo name digite, ClassicoHelloWorld.
No campo Location indicar a pasta onde o projeto dever ser salvo. (Browse localiza a
pasta) .
Clique em OK.

4 - AMBIENTE DE DESENVOLVIMENTO
A barra de menus (menu bar) possibilita o acesso aos comandos que voc usa no
ambiente de programao. Voc pode usar o teclado ou o mouse para acessar o menu ou
atalhos exatamente como usa em outros programas baseados em Windows.

A barra de ferramentas (toolbar) localizada embaixo da barra de menus e


disponibiliza botes que executam os comandos usados com mais freqncia.

A janela Solution Explorer mostra os nomes dos arquivos associados com o seu
projeto. Voc pode dar um clique duplo sobre o nome do arquivo para exibi-lo no painel de
cdigo (Code pane).

ETEC Antnio de Pdua Cardoso

Para salvar o projeto selecionar no menu File o item Save All.

Vamos examinar os arquivos que foram criados como parte do seu projeto:

ClassicoHelloWorld.sln organiza os projetos de cada soluo, uma soluo pode ter


vrios projetos, seu nome representado no primeiro item na janela Solution Explorer
s que sem a extenso do arquivo.

ClassicoHelloWorld.csproj este o arquivo do projeto C#. Pode ser associado a


vrios arquivos de cdigo. reconhecido no Solution Explorer pelo nome do projeto
apenas, no entanto gravado no disco com a extenso .csproj.

Program.cs um arquivo de cdigo do C#. Voc vai escrever seu cdigo neste
arquivo. Nele j foi automaticamente adicionado algum cdigo, examinaremos esse
cdigo mais adiante.

O conceito de Solution usado pela Microsoft para definir um conjunto de projetos, seja ele
de desenvolvimento, de banco de dados, de testes ou de distribuio.
Para visualizar essa janela (caso ela no esteja visvel), basta ir no menu View e selecionar
Solution Explorer, ou usar a tecla de atalho Crtl+W+S.
No outro exemplo abaixo, podemos verificar na figura que:
 temos uma Solution chamada ETEC;
 que essa soluo tem dois projetos Batatais e Franca;
 que cada projeto tem seus arquivos de cdigo. Alunos, Professores para Batatais e
Funcionrios para Franca.

ETEC Antnio de Pdua Cardoso

Em um Projeto temos toda uma estrutura de pastas e arquivos, s que totalmente


relacionadas aquele projeto, que pode ser um:





arquivo de cdigo fonte,


um arquivo de layout de pgina web,
uma imagem,
um arquivo de propriedades, ou qualquer outro tipo de arquivo que venha fazer parte
desse projeto.
As particularidades do cdigo so mostradas pelos bales e explicadas abaixo:

2
3

1. A clusula using define quais bibliotecas de classe o programa ir usar, as principais


bibliotecas j so importadas automaticamente.
2. A clusula namespace define o espao de nomes do seu programa. usado para dividir
logicamente os mdulos de seu sistema. Por padro o namespace tem o mesmo nome do
projeto, mas pode-se mudar para atender suas especificaes.
3. Quando criamos um projeto, criada uma classe padro chamada Program, que identifica o
ponto inicial de execuo de uma aplicao (Console ou Windows). Perceba que a classe tem
o mesmo nome do arquivo criado para identific-la, por padro o nome Program. Voc pode
renomear a classe sem problemas, mas no esquea de renomear o arquivo tambm.
4. Na classe Program temos um mtodo chamado Main que identifica a primeira ao a ser
executada pelo programa. Logo, se quisermos que o programa execute alguma ao
primeiramente, basta colocar os comandos dentro desse mtodo que so delimitados por { e }.

ETEC Antnio de Pdua Cardoso

10

System um namespace. O namespace System o mais importante porque contm


as classes que a maior parte das aplicaes utiliza para interagir com o sistema operacional.
A classe Console uma classe do namespace System.

4.1 Blocos de Comando


Todos os comandos em C# tem que terminar com um ponto-e-vrgula ( ; ) e esses
comandos tem que estar delimitados por um bloco que tem incio e fim, representados no C#
pelos caracteres abre-chaves ( { ) que define o incio do bloco e fecha-chaves ( } ) que define o
fim do bloco.
Por essa delimitao sabemos que a o mtodo Main est dentro da classe Program
que esta dentro do namespace ClassicoHelloWorld.
Importante: O C# case-sensitive, ele diferencia letras minsculas de maisculas,
um M interpretado diferente de um m. Conseqentemente Main diferente de main.

4.2 Console
Nosso primeiro exemplo bem simples, e um clssico para quem esta aprendendo
qualquer linguagem, ele escreve Hello World no console.
Em uma linha branca depois do colchete aberto { digite Console

A classe Console contm os mtodos para exibir mensagens na tela e pegar as


entradas do teclado. Tudo que o usurio digita no teclado pode ser lido atravs da classe
Console. A classe Console s significante para aplicaes que rodam no prompt de comando
como neste nosso primeiro exemplo.
Agora digite um ponto depois de Console. Uma lista aparece, ela chamada de
IntelliSense, esse no um recurso exclusivo do Visual Studio mas ajuda muito na
programao principalmente em linguagens case-sensitive, como o C#. O IntelliSense exibe
todos os mtodos, propriedades e campos da classe.
Selecione Write, voc pode usar o Mouse ou o Teclado, tecle Enter ou d um clique
duplo sobre o Write. Depois de Write, abra e feche parnteses. Vai ficar assim:

ETEC Antnio de Pdua Cardoso

11

O IntelliSense fechado e o mtodo Write adicionado ao cdigo.


Quando o IntelliSense aparece voc tambm pode pressionar W para ir direto para o
primeiro membro do mtodo Console que comear com w.
Digite dentro dos parnteses, entre aspas - ETEC Antnio de Pdua Cardoso. Tudo
que estiver entre aspas ser exibido na tela, e no ser validado pelo C#.
Digite ponto-e-vrgula, vai ficar assim:

Pegue o hbito de digitar os pares de caracteres juntos, como ( e ) e { e }, antes de


entrar com seus respectivos contedos. Assim voc evitar alguns erros por esquecer-se de
fechar.
Vamos agora compilar nossa aplicao. No menu Build, clique em BuildSolution. O
cdigo ser validado e se existirem erros eles sero exibidos.
Outra forma de compilar a aplicao clicando no menu Debug e depois em Start
Debugging. Com esse processo o cdigo ser validado e estando tudo certo as instrues
sero mostradas na tela.
Um asterisco depois do nome do arquivo no painel de cdigo indica que foram feitas
modificaes no cdigo do respectivo arquivo e que essas alteraes no foram salvas. Voc
pode salvar manualmente antes de compilar a aplicao, mas ao compilar o Visual Studio salva
automaticamente todos os arquivos da aplicao.
Quando executada a aplicao acima, a frase ser exibida na tela, porm de uma
forma muito rpida, pois no solicitamos ao C# parar assim que a mensagem fosse exibida.
ETEC Antnio de Pdua Cardoso

12

O comando Console.Readkey() aguarda o usurio pressionar uma tecla, dessa forma


conseguimos fazer nosso programa dar uma pausa na tela para que a frase possa ser lida.

Aps a execuo do programa para sair da tela pressione qualquer tecla. A janela ir
fechar e retornaremos para o Visual Studio.
Como nenhum posicionamento foi colocado no cdigo o C# ir mostrar a mensagem
comeando a exibio na primeira coluna e na primeira linha da tela. Para posicionar a
mensagem um outra parte da tela utilizar o comando Console.SetCursorPosition.

Agora a frase comear a ser exibida a partir da coluna 25, linha 12.

4.3 Comentrios
Criar comentrios em seu cdigo fonte muito importante, j que possibilita um
entendimento melhor dos algoritmos ali implementados. Os comentrios na hora da compilao
so ignorados, por isso voc pode usar (e no abusar) deles.
Podemos usar comentrios para:
 Identificar o responsvel e data de criao daquele cdigo;
 Identificar todas as alteraes feitas no cdigo, seus responsveis e datas de
alterao;
 Identificar o objetivo daquele cdigo;
 Explicar de maneira mais fcil a lgica de seu algoritmo;
 Entre muitos outros, inclusive para a documentao profissional de seu cdigo fonte.
Os tipos de comentrios mais comuns so:
 /* */ -> Textos delimitados por essa seqncia de caracteres ficam todos comentados
mesmo que o texto contenha mais de uma linha.
ETEC Antnio de Pdua Cardoso

13

 //
-> Texto com essa seqncia de caracteres na frente dele viram comentrio de
uma nica linha

5 - PROGRAMAO EM C#
C# (pronuncia-se "c chrp" em portugus ou "c charp" em ingls) , de certa forma, a
linguagem de programao que mais diretamente reflete a plataforma .NET sobre a qual todos
os programas .NET executam.
A linguagem projetada para ajudar os desenvolvedores a fazer mais com um nmero
menor de linhas de cdigo e menos oportunidades de erro.

5.1 Variveis
A melhor forma de entender com facilidade e preciso o que uma varivel dizendo
exatamente o que ela : um pequeno reservatrio criado pelo programador na memria do seu
computador para guardar valores especficos, esses valores podem ser acessados e
modificados durante a execuo do programa. Pense nela como uma caixinha, em que voc
vai guardar algo que ser importante no seu cdigo, e ter que ser recuperado mais tarde.
Nesse ponto, importante observar algo simples, mas de suma importncia:
todo cdigo lido pelo computador uma linha aps a outra, de cima para baixo.
fundamental que se tenha sempre isso em mente para evitar erros de programao.
Muitas vezes, o cdigo se torna to complexo, que comum programadores pouco
experientes esquecerem de algo to fundamental.
Assim, importante estar sempre atento para o valor que est sendo guardado pela
sua varivel em cada parte do seu programa.

As variveis podem ser consideradas como a base da programao.

5.2 Declarando variveis:


Antes de usar uma varivel necessrio declar-la. Neste momento alocamos espao
para esta varivel na memria e dizemos que tipo de dado pode ser armazenado nela. O tipo
de dado indica qual o tamanho do espao vai ser reservado para a varivel.
ETEC Antnio de Pdua Cardoso

14

O C# pode armazenar diferentes tipos de dados: como inteiros, nmeros de ponto


flutuante, textos e caracteres. Assim que declaramos uma varivel precisamos identificar que
tipo de dado ela armazenar.
Declaramos especificando o tipo de dado seguido do nome da varivel como no
exemplo:
int contador;
Esse exemplo declara uma varivel chamada contador do tipo integer. Ou seja ela
dever armazenar nmeros inteiros, mais a frente estudaremos melhor o que armazenar em
cada tipo de dado.
Podemos tambm declarar mltiplas variveis de uma vez, fazemos isso da seguinte
maneira:
int contador, numeroCarro;
Estamos declarando nesse exemplo duas variveis do tipo integer, uma chamada
contador e a outra numeroCarro.
O C# aceita outros tipos de variveis. Os mais comuns so:
string => para seqncia de caracteres (mais usado para armazenar textos, como nomes,
endereos, cargos, etc) mas aceita tambm qualquer tipo de caracter especial e
nmeros;
int

=> para nmeros inteiros;

double => para nmeros que podem ter casas decimais;


char => para armazenar um nico caracter.

5.3 Exemplo de criao variveis:


string nome, profissao;
int

idade;

double salario;
char sexo;

5.4 Nomeando uma varivel:


As seguintes recomendaes devem ser seguidas quando se for nomear uma varivel:

O nome de um identificador pode conter apenas letras, dgitos e o caractere de


sublinhado (_);
Um nome de varivel no pode comear com um nmero;
O C# diferencia minsculas de maisculas, por isso no crie variveis que apenas se
diferenciem pela sua forma. Exemplo: minhaVariavel e outra chamada MinhaVariavel;
Procure iniciar o nome com uma letra minscula;
ETEC Antnio de Pdua Cardoso

15

Evite usar todas as letras maisculas;


Recomenda-se quando o nome tiver mais que uma palavra, a primeira letra de cada
palavra aps a primeira deve ser maiscula (conhecido como notao camelCase);
Palavras reservadas do C# (instrues utilizadas na linguagem) no podem ser usadas
como nomes de variveis;
Usar nomes significativos;
No pode haver espaos em um nome de varivel;

Lista de palavras reservadas

5.5 Atribuindo valor a variveis ;


Depois de declarar sua varivel voc precisa atribuir um valor a ela. No C# voc no
pode usar uma varivel antes de colocar um valor nela, isso gera um erro de compilao.
Exemplo de como atribuir um valor a uma varivel:
int numeroFuncionario;
numeroFuncionario = 23;
Primeiro ns declaramos nossa varivel do tipo integer. Depois atribumos o valor 23 a
ela. Entendemos pelo sinal de igual como recebe. Assim numeroFuncionario recebe 23.
Podemos tambm atribuir um valor a varivel quando a declaramos, dessa forma:
int numeroFuncionario = 23;
Isso faz a mesma coisa que o exemplo anterior, s que tudo em uma linha.
Outros exemplos de declaraes de variveis :
char c = 'a';
Declara uma varivel tipo char de nome c, que est recebendo apenas um caracter, o valor a.
double d = 12.535;
Declara uma varivel tipo double (nmero com casas decimais) de nome d que est recebendo
o valor 12.535.
bool verdadeiro = true;
Declara uma varivel tipo booleana (lgica) de nome verdadeiro que est recebendo o valor
true (verdadeiro);
string palavra = "Oi pessoal";
ETEC Antnio de Pdua Cardoso

16

Declara uma varivel e tipo string (textos) de nome palavra que est recebendo a frase Oi
pessoal.

5.6 Operadores Aritmticos


O C# suporta os smbolos aritmticos que todos ns conhecemos para as operaes
aritmticas bsicas como adio (+) e subtrao (-), ele utiliza o asterisco (*) para multiplicao
e barra pra frente (/) para diviso. Esses smbolos so chamados operadores, e operam os
valores das variveis. Exemplo:
double salario;
salario = 500 * 20;
A expresso acima multiplica 500 por 20 e armazena o resultado na varivel salario.

5.7 Possveis
Possveis causas de erros:
Erros de Programao: (Programa no consegue ser executado)
1) Falta do ponto e vrgula (;) ao final de cada instruo;
2) Comando digitado no est sendo reconhecido pelo compilador:
- Verificar se a palavra foi escrita corretamente;
- Verificar se as diferenas entre maisculas e minsculas esto sendo respeitadas;
- Verificar se no est faltando escrever a palavra Console no incio do comando;
- Na dvida verificar a escrita correta atravs da lista que mostrada na linguagem quando
se escreve Console. (ponto).
3) Erro no momento da declarao dos nomes de variveis:
- Verificar se o nome de varivel escolhido est respeitando as regras da linguagem;
- Verificar se foi especificado o tipo da varivel;
4) Nome de varivel no est sendo reconhecido pelo programa:
- Verificar se a varivel que est sendo usada para ler a informao digitada pelo usurio
foi declarada no incio do programa;
- Verificar se o nome de varivel que est sendo usado para armazenar a informao o
mesmo declarado no incio do programa;
- Verificar se a informao que vai ser armazenada em uma varivel no necessita ser
convertida antes de ser armazenada.
Erros de Lgica: (Programa consegue ser executado, mas o resultado esperado no
atingido)
1) Verificar se a seqncia dos comandos que est sendo usada para escrever o
programa est correta. (Exemplo: em caso de um clculo, verificar se primeiro o clculo
est sendo feito para s depois ser mostrado o resultado da varivel);
2) Verificar se o clculo que est sendo feito est matematicamente correto;
3) Verificar se cada informao est sendo armazenada na varivel correta.
4) Verificar se cada informao que est sendo armazenada possui uma varivel
correspondente.

ETEC Antnio de Pdua Cardoso

17

5.8 Comando de leitura de Dados


Para receber uma informao que ser digitada pelo usurio, precisamos utilizar um
comando de leitura de dados. Esse comando ir parar o cursor na tela esperando a digitao
de uma informao. Quando o usurio terminar de digitar a informao desejada e teclar enter,
essa informao colocada dentro de uma varivel onde ficar disponvel para ser utilizada no
decorrer do programa.
Utilizaremos para essa funo no C# o comando Console.ReadLine().
Exemplo de utilizao do comando ReadLine(), em um programa que calcula a mdia
de um aluno.

ETEC Antnio de Pdua Cardoso

18

ETEC Antnio de Pdua Cardoso

19

6 - ESTRUTURAS DE
DE DECISO
6.1 Comando IF
A estrutura de deciso sem dvida a mais utilizada na programao. O objetivo
identificar o contedo de uma condio e direcionar o fluxo do programa para um determinado
clculo, rotina, desvio, funo, etc. Dessa forma fazemos com que nosso programa no
necessite executar todos os comandos que so escritos, e sim aos que atendem determinadas
condies que sero testadas.
Primeiramente vamos entender o que uma expresso condicional. Esta uma
expresso que sempre retorna um valor booleano, ou seja, verdadeiro ou falso.
Exemplo:
Preo menor que 100.
Se preo for menor que 100 ento o resultado da expresso acima VERDADEIRO.
Caso contrario o resultado FALSO.
Voc pode usar os seguintes operadores para fazer comparaes em C#: (SUPONHA
QUE A VARIAVEL SALARIO TENHA O VALOR 1200)

Ento a expresso que usamos no exemplo acima ficaria assim:


Preo < 100
Agora que voc j sabe o que uma expresso condicional vamos estudar o que
uma estrutura de deciso.
Uma estrutura de deciso nada mais que do que um bloco de cdigo que utiliza as
expresses condicionais para tomar decises que orientam qual cdigo deve ser executado.
A primeira estrutura de deciso que iremos estudar o IF, veja a sintaxe a seguir:
if ( expressoondicional )
{
bloco-de-codigo1
}
else
{
bloco-de-codigo2
}
Se o resultado da expresso condicional for VERDADEIRO ento o bloco-de-codigo1
ser executado, se a expresso for FALSO, ento o bloco-de-codigo2 ser executado.

ETEC Antnio de Pdua Cardoso

20

Se o bloco-de-codigo1 e bloco-de-codigo2 for apenas uma linha de cdigo no


obrigatrio usar os colchetes, como nos exemplos abaixo, porm para seguirmos um padro
iremos sempre adot-lo nos nossos exerccios.
Veja o seguinte exemplo:

Existe uma varivel chamada Salario que est definida e contm o valor 1200. Como
toda condio retorna apenas verdadeiro ou falso, verificado se o valor maior que 1000,
e caso seja verdadeiro ser somado 10% ao Salario. Se Salario for menor que 1000 nada ser
executado.
Vamos a mais alguns exemplos para facilitar o entendimento.
string nome;
if (nome == Jos)
{
Console.Write(Nome digitado Jos);
}
else
{
Console.Write(Nome digitado no Jos);
}
Aqui estamos fazendo a comparao com uma varivel string. Notem que para
comparar um valor com uma varivel string esse valor tem que estar entre aspas.
No exemplo acima caso o nome digitado seja Jos ser exibida uma mensagem
informando que o nome digitado Jos, seno uma mensagem diferente ser mostrada, pois
h o Else. O Else trata os casos em que a condio que est sendo testada no for verdadeira.
int numero;
if (numero > 0)
{
Console.Write(Nmero Positivo);
}
else if (nmero < 0)
{
Console.Write(Nmero Negativo)
}
else
{
Console.Write(O nmero digitado foi zero );
}
J no exemplo acima existem 3 condies, onde o primeiro IF testa se o nmero
positivo, o segundo se ele negativo e o ELSE que trata a situao se nenhuma das condies
testadas anteriormente for verdadeira. O Else sempre executado quando nenhuma
expresso verdadeira.

ETEC Antnio de Pdua Cardoso

21

possvel avaliar diversos else ifs com uma determinada expresso.


double salario = 1200;
if (salario < 500)
salario = salario + 50;
else if ((salario >= 500 ) && (salario < 600 ))
salario = salario + 100;
else if ((salario >= 600 ) && (salario < 700 ))
salario = salario + 110;
else
salario = salario + 150;

Perceba que no bloco de cdigo acima usamos o &&.


O && usado quando precisamos testar mais de uma expresso condicional.
Exemplo:
else if ((salario >= 500) && (salario < 600))
Nesta linha testamos se o salrio maior ou igual a 500 e o salrio menor que 600.
Ento se o salrio for por exemplo 553 a expresso acima VERDADEIRA.
O && conhecido como um operador lgico, como mostra a tabela a seguir:

Vamos a alguns exemplos de como utilizar os operadores lgicos:

Para verificar como funcionaria uma expresso simples escrita com operadores lgicos,
voc pode criar uma tabela de deciso, ou verdade. Nela, condies escritas com E vo
precisar que todas as condies sejam confirmadas para executar a ao.

ETEC Antnio de Pdua Cardoso

22

Com o operador Ou, basta apenas que uma condio seja preenchida

6.2 Comando Switch


A segunda estrutura de deciso que iremos estudar conhecida como switch.
Essa estrutura de deciso seleciona o cdigo a ser executado baseado no valor de
uma expresso.
A sintaxe a seguinte:

O funcionamento ocorre da seguinte maneira: a expresso obtida no switch e para


cada Case existe uma condio a ser validada. Caso o Case seja verdadeiro, ento a linha ou
o bloco de cdigo executado. Se nenhum dos Cases for vlido, ento default executado. O
default opcional e voc pode ter quantos Cases for necessrio.
A cada Case preciso declarar o break, seno o programa continua avaliando todos
os Cases.
Exemplos :
1 -- switch com varivel inteira
Console.Write("Digite um nmero inteiro: ");

ETEC Antnio de Pdua Cardoso

23

int valor = int.Parse(Console.ReadLine());


switch(valor){
case 1:
Console.WriteLine("Voc digitou o valor 1");
break;
case 2:
Console.WriteLine("Voc digitou o valor 2");
break;
case 3:
Console.WriteLine("Voc digitou o valor 3");
break;
default:
Console.WriteLine("Nmero no previsto");
break;
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}

2 -- switch com varivel char


Console.Write("Digite uma letra: ");
char letra = Char.Parse(Console.ReadLine().ToLower());
switch(letra){
case 'a':
Console.WriteLine("Voc digitou a letra 'a'");
break;
case 'b':
Console.WriteLine("Voc digitou a letra 'b'");
break;
case 'c':
Console.WriteLine("Voc digitou a letra 'c'");
break;
default:
Console.WriteLine("Letra no prevista.");
break;
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey(); }

ETEC Antnio de Pdua Cardoso

24

7 - COMANDOS DE REPETIO
Comandos de Repetio so utilizados para fazer com que trechos do nosso programa
sejam executados mais de uma vez. Temos dentro do C# alguns tipos de comandos de
repetio que podemos utilizar. Cada tipo tem suas particularidades que faz com que cada um
tenha uma melhor situao para ser utilizado.

7.1 Comando For


O Comando for utilizado quando sabemos com antecedncia o nmero de vezes que
a repetio tem que ser executada.
Sintaxe :
int contador;
for (inicializao;condio,incremento)
{
Comandos;
}
Para utilizar o comando for necessria a criao de uma varivel que seja do tipo
inteiro. Essa varivel ser utilizada para controlar a quantidade de vezes que a repetio est
sendo executada.
O comando for separado em trs partes, inicializao, condio e incremento, sendo que
cada parte dividida por um ponto e vrgula.

inicializao => nesse ponto devemos informar ao nosso comando o nmero a partir
do qual ser iniciada a contagem;

condio => essa parte faz um teste lgico. Se a condio em teste for verdadeira
iro ser executados os comandos que forem colocados dentro das chaves. Se a
condio em teste for falsa os comandos entre chaves no sero executados e o
programa passar para o prximo comando aps as chaves.

incremento => o incremento soma um a varivel contador cada vez que a repetio
volta para o incio.

Exemplo :
int contador;
for (contador=1;contador<=10;contador++)
{
Console.WriteLine(ETEC Antnico de Pdua Cardoso);
}

ETEC Antnio de Pdua Cardoso

25

No exemplo acima declaramos a varivel inteira contador para controlar nossa


repetio. Iniciamos essa varivel com o nmero 1 (contador=1). Na condio solicitamos que
a repetio seja executada at que a varivel contador seja menor igual a 10 (contador <=10),
ou seja a mensagem ETEC Antnico de Pdua Cardoso ser exibida 10 vezes na tela. Para
somar a quantidade de vezes que a mensagem est sendo exibida usamos contador++ que
como se estivssemos fazendo contador = contador +1.
Podemos usar o for para fazer por exemplo bordas em nossa tela :
int bordaVertical, bordaHorizontal;
for (bordaVertical = 1; bordaVertical < 24; bordaVertical++)
{
Console.SetCursorPosition(0, linha);
Console.Write("");
linha++;
}
for (bordaHorizontal = 0; bordaHorizontal < 78; bordaHorizontal++)
{
Console.SetCursorPosition(coluna, 4);
Console.Write("");
coluna++;
}
Os exemplos abaixo so trechos de um programa que est usando o comando for para
desenhar as bordas horizontais e verticais da tela.

7.2 Comando While


O comando while permite uma maior flexibilidade para testar uma condio a fim de
finalizar um loop. Com ele no precisamos saber com antecedncia a quantidade de vezes que
a repetio ser executada. Nele podemos comparar qualquer tipo de varivel (int, string,
double, etc). Podemos usar e(&&) / ou(||) para testar condies.
Exemplo :
string opcao=C;
while (opcao != S)
{
Console.Clear();
MontarTela();
Console.ForegroundColor = ConsoleColor.Gray;
Console.SetCursorPosition(30, 7);
Console.Write("Menu Principal");
Console.SetCursorPosition(30, 8);
Console.Write("**************");
Console.ForegroundColor = ConsoleColor.White;
Console.SetCursorPosition(20, 10);
Console.Write("C- Cadastro de Funcionrios ");
Console.SetCursorPosition(20, 11);
Console.Write("L - Lanamentos ");

ETEC Antnio de Pdua Cardoso

26

Console.SetCursorPosition(20, 12);
Console.Write("S - Sair ");
Console.SetCursorPosition(23, 19);
Console.Write("Informe a Opo Desejada [ ]");
opcao = Console.ReadLine();
}

No exemplo acima criamos um Menu, esse menu continuar a ser mostrado at que a
opo S seja digitada. Quando isso ocorrer o loop ser finalizado. Um cuidado que se deve ter
na utilizao do while que a varivel que est sendo utilizada no teste tenha seu valor
alterado no decorrer do programa. o que fizemos quando estamos lendo o valor para a
varivel opo. Se no tivssemos no programa essa linha opcao = Console.ReadLine(), o
valor da varivel opcao no seria alterado nunca e o loop no teria fim.

7.3 Comando Do While


O comando do while tem seu funcionamento bem parecido com o comando while a
diferena que nele o teste das condies feito no final do loop e no no comeo como no
while. Ele tem como principal funo testar valores digitados em um campo.
Exemplo :
do
{
Console.SetCursorPosition(23, 19);
Console.Write("Informe a Opo Desejada [ ]");
Console.SetCursorPosition(50, 19);
Console.ForegroundColor = ConsoleColor.Red;
opcao = int.Parse(Console.ReadLine())
}
while ((opcao != 1) && (opcao != 2) && (opcao != 3) && (opcao != 9));

No exemplo acima estou pedindo que seja digitado um valor para a varivel opo,
porm aps a digitao, estou fazendo um teste. Se o valor que foi digitado for diferente de 1,
de 2 de 3 e de 9 que so as opes vlidas, o trecho solicitando a digitao da opo
continuar a ser repetido at que um desses valores seja digitado.

ETEC Antnio de Pdua Cardoso

27

8 - REFERNCIAS
LACERDA, Prof. MSC. Liluyoud Cury. Apostila de Programao em C#.
BATTISTI, Jlio. MCAD Programando com C#.
MARTINS, Maurcio. Lgica de Programao Parte II.

ETEC Antnio de Pdua Cardoso