Buscar

aula4 LINGUAGEM DE PROGRAMAÇÃO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Disciplina: Linguagem de Programação I
Aula 4: if.../ if...else/ if... else if... / switch - Qual escolher?
Apresentação
Nesta aula, iremos estudar a estrutura do if e a do switch. Tenha certeza de que elas
trarão muitas contribuições para nossos programas.
Em todos os exercícios que fizemos nas aulas anteriores, precisávamos acreditar que
o usuário havia digitado o que havíamos pedido, mas sabemos que a
responsabilidade é do programador que, ao construir um código, deverá tentar
proteger ao máximo a entrada de dados via teclado.
Não estamos dizendo que, ao final da aula de hoje, nossos programas estarão
protegidos, da melhor forma possível, mas conseguiremos pelo menos parcialmente.
Além disso, nossos programas poderão testar o que desejamos e verificaremos que a
estrutura do if... else permeia nossas ações na maioria das vezes.
Objetivos
Reconhecer os operadores relacionais e lógicos;
Comparar os comandos de tomada de decisão simples e composta (if ... / if ...
else);
Identificar os ifs encadeados;
Avaliar a estrutura do switch;
Identificar os casos nos quais a seleção de múltipla escolha (switch) pode ser
aplicada;
Estabelecer pequenos programas e outro que funcione através de um menu,
mas sem repetição.
If... else
Começaremos nossa aula aprendendo sobre o comando:
if... else
Esse é o comando que testa uma condição e dependendo do resultado, o fluxo
do programa seguirá caminhos diferentes. Também conhecido como estrutura
de decisão, seleção ou condicional.
Existem três tipos de comandos if... else, são eles:
if simples
Nesse tipo, após a realização do teste, só será executado o bloco de
comandos se o resultado for verdadeiro. Nesse caso, o else não estará
presente porque nada será executado.
Veja a sintaxe:
if (teste)
{
 ...
}
Vejamos um exemplo rápido: Uma grande empresa abriu um concurso
onde se inscreveram mais de 100.000 pessoas para 100 vagas. Segundo
o edital, o resultado tem que ser publicado em um jornal de grande
circulação em todos os estados que foram disponibilizadas vagas.
E o que não deverá ser usado como nome
de variável?
Não. Só serão publicadas as inscrições dos aprovados logo, não precisa
de else. Concordamos que será pouco usado, mas no momento certo,
será fundamental. Procure não criar um hábito de colocar else{}.
if composto
Nesse tipo, após a execução do teste, tanto será executado um bloco de
comandos se o resultado for verdadeiro quanto será executado outro
bloco de comandos se o resultado for falso. Essa é a sintaxe geral da
estrutura.
Veja a sintaxe:
if (teste)
{
 ...
}
else {
 ...
}
ifs encadeados
Nesse tipo, após a realização do teste, será executado um bloco de
comandos se o resultado for verdadeiro, caso não seja, outro teste será
feito até que todas as possibilidades de respostas sejam contempladas.
Se o último else não estiver presente, o que não é aconselhável, nada
acontecerá para a situação não atendida pelos testes.
Veja a sintaxe:
if (teste)
{
 ...
}
else if (teste){
 ...
 }
 else {
 ...
 }
As chaves só são obrigatórias se mais de um comando tiver que ser
executado, mas nada impede que você as coloque para melhor
visibilidade.
Teste
O teste é uma expressão relacional que compara os valores dos seus
operandos.
A expressão relacional é formada, obrigatoriamente, por um operador
relacional e dois operandos.
A Unidade Aritmética e Lógica testa essa expressão e retorna 1 (ou qualquer
número diferente de zero) ou 0.
Operadores relacionais
Os operadores relacionais são nossos conhecidos da Matemática, mas alguns
têm uma apresentação um pouco diferente.
Operadores relacionais
Significado Matemática C Exemplos – C
Maior > > 2*8 > 4
Menos < < 2 < 9
Igual = == 3 == 7-4
Maior ou igual ≥ >= 9 >= 5
Menor ou igual ≤ <= 4 <=1 0
Diferente ≠ != 8 != 5
Operadores lógicos
Em algumas ocasiões, precisaremos negar um teste ou fazer mais de um para
que uma condição seja considerada verdadeira e, nesses casos, teremos usar
os operadores lógicos.
Os operadores lógicos também são conhecidos da Matemática e tudo que
aprendemos sobre eles servirá agora, mas vamos relembrá-los.
Operadores lógicos
Significado Matemática C Exemplos – C
Conjunção (e) ^ && N >= 100 && n <=2 00
Disjunção (ou) V || N < 100 || n> 200
Negação (não) ¬ ! !p

Atenção
Quando você unir expressões relacionais com operadores lógicos (&& ou
||), não se esqueça de que as expressões precisam estar completas. Os
parênteses podem não ser obrigatórios, mas você poderá usá-los sem
nenhum prejuízo.
Entretanto, se você precisar priorizar uma operação, tem que usar
parênteses.
Quando você usar só operadores &&, para que a saída seja verdadeira, todos
os testes deverão ser verdadeiros.
Quando você usar só operadores ||, para que a saída seja verdadeira, é
necessário somente que um teste seja verdadeiro.

Exemplo
Exemplo 1
Nesse exemplo, espera-se que todos os testes sejam verdadeiros para
que o estagiário seja aceito.
if(idade >= 18 && período >=3 && CR>= 8)
Exemplo 2
Nesse exemplo, espera-se que 1 das 4 opções seja digitada para
considerar uma resposta correta.
if(sexo == ‘f’ || sexo == ‘F’ || sexo == ‘M’ || sexo == ‘m’)
Atividade
1 - Construa um programa que deixe entrar com a matrícula de um
funcionário e a nota que conseguiu na avaliação anual. Se a nota for
maior ou igual a 8 então a matrícula do funcionário deverá ser exibida.
2 - Construa um programa que deixe entrar com o ano e exiba se ele é
ou não bissexto.
Tabela verdade
Observe que:
• Na negação (“Não”) da proposição “E" é a proposição “S”, de maneira que se
“E" é verdade então “S" é falsa, e vice-versa.
Não
E S
V F
F V
• Na conjunção “e” é verdadeira se e somente se os operandos são
verdadeiros.
e
E1 E2 S
V V V
V F F
F V F
F F F
• A disjunção “ou” é falsa se, e somente se ambos os operandos forem falsos.
ou
E1 E2 S
V V V
V F V
F V V
F F F
Função abs
Ao usar operadores lógicos, fique atento para não se esquecer de um
operando como mostrado no programa:
 
#include <stdio.h>
#include <stdlib.h>
int main ()
{
 int num;
 printf(“\n1o numero: “);
 scanf(“%d”, &num);
 if( abs(num) >= 100 &&<=9 99)
 printf(“\nTem\n”);
 else
 printf(“\nTem\n”);
 system(“pause>NULL”);
}
Para testar se um número tem, ou não, 3 algarismos, inclusive se for digitado
um número negativo, usamos a função abs . Sendo assim, esse programa
apresentará o seguinte erro: syntax error before '<=' token.
Ao ler a mensagem de erro, percebemos que uma das expressões (<= 999)
não estava completa, visto que faltava a variável. Após a inclusão, tudo
funcionará perfeitamente.

Atenção
Para fixar, vamos destacar:
1
If (abs(num) >= 100 && <= 999) Proibido
If(abs(num) >= 100 && abs(num) <+ 999) Permitido
Ordenando
Normalmente, chega um momento em que precisamos saber como ordenar de
forma crescente ou decrescente.
Quando aprendermos vetores, veremos alguns métodos simples para
conseguirmos ordenar. Entretanto, vamos explicar um método simples que é
razoável a até 5 elementos.
Costumamos chamá-lo de ordenação através de uma combinação dois a
dois com troca quando necessário. É um nome grande, mas é simples.

Saiba mais
Antes de continuar seus estudos, aprenda a ordenar através de um
passo a passo <galeria/aula4/anexo/a04_doc1.pdf> .
Estrutura switch... case
A estrutura switch... case é conhecida como uma alternativa de múltiplas
escolhas, isto é, quando precisarmos usar if... else if....
Todavia, ela só pode ser usada quando a variável, ou expressão que a
controla, for do tipo int ou char de um caracter e somenteum valor puder ser
colocado em cada case.
Isso precisa ficar claro porque, em algumas linguagens, podemos colocar
intervalos e usar operadores relacionais.
Quando o conteúdo da variável, ou resultado da expressão é comparado com
os valores presentes em casa case, o fluxo começa no ponto onde foi
encontrado o valor igual. Em algumas linguagens, o término da execução dos
comandos de um caso força a saída da estrutura, mas isso não acontece na
linguagem C.
Para resolver esse problema, fazemos uso do comando break; no final de cada
caso. Vale ressaltar que o default não é obrigatório, mas serve para exibir
alguma mensagem no caso do valor não ser igual a nenhum dos rótulos.
Em alguns momentos, poderemos não fazer uso do break; porque nos
interessa. Você verá um exemplo mais adiante.
Usaremos a nomenclatura mais comum ao apresentar a sintaxe dessa
estrutura que é ideal para programas que funcionam através de um menu.
 
switch (expressão)
{
case rotulo_1: bloco_1;
 break;
case rotulo_2: bloco_2;
 break;
case rotulo_3: bloco_3;
 break;
case rotulo_4: bloco_4;
 break;
<default : bloco_c;>
}
Um dos exemplos clássicos é o dos meses, mas vamos apresentar o dos
trimestres, inicialmente, para provar que, algumas vezes, não usaremos o
break;. Faça o teste.
 
#include <stdio.h>
Int main()
{
 int mes;
 printf(“\nDigite um número que corresponda a um mês: “);
 scanf(“%d”, &mes);
 switch(mes)
 {
 case 1:
 case 2:
 case 3: printf(“\nPrimeiro trimestre\n”);
 break;
 case 4:
 case 5:
 case 6: printf(“\nSegundo trimestre\n”);
 break;
 case 7:
 case 8:
 case 9: printf(“\nTerceiro trimestre\n”);
 break;
 case 10:
 case 11:
 case 12: printf(“\nQuarto trimestre\n”);
 break;
 default: printf(“\nNão corresponde a um mês\n”);
 }
 system(“pause>NULL”);
}
Veja a saída:
O próximo exemplo é um programa que executa uma operação, dependendo
da escolha do usuário.
Nesse exemplo, incluímos a biblioteca math.h, tendo em vista as funções
usadas.
 
#include <stdio.h>
#include <math.h>
Int main()
{
 int op;
 float a;
 scanf(“%f”, &a);
 printf(“\nDigite Opção: 1 eleva ao cubo, 2 logaritmo na base 2, 3
raiz quadrada\n“);
 scanf(“%d”, &op);
 switch(op)
 {
 case 1: printf(“\Eleva ao cubo: %.2f”, pow(a,3));
 break;
 case 2: printf(“\Logaritmo na base 2: %.2f”, log(a)/log(2));
 break;
 case 3: printf(“\nRaiz quadrada: %.2f”, sqrt(a));
 break;
 default: printf(“\nNão pediu nada”);
 }
 system(“pause>NULL”);
}
Veja a saída:

Saiba mais
Se você desejar saber o passo a passo para construir um programa que
funcione através de um menu, leia o passo a passo para Menu
<galeria/aula4/anexo/a04_doc2.pdf> .
Atividade
3 - Construa um programa que deixe entrar 3 números e exiba o menor.
4 - Construa um programa que entre com 2 números e exiba o maior ou
a mensagem Iguais com o número ao lado.
Notas
Função abs 
A função abs é o conceito de módulo da Matemática, isto é, retorna o número sem
sinal. Como estamos testando números negativos, ela teve que ser usada para
simplificar a expressão do if.
Referências
DA MATTA, Roberto. Uma introdução à antropologia social. Rio de Janeiro: Rocco,
1993.
DURHAM, Eunice. “Apresentação”. In: MALINOWSKI, Bronislaw. Argonautas do
pacífico ocidental: um relato do empreendimento e da aventura dos nativos nos
arquipélagos de Nova Guiné Melanésia. São Paulo: Abril Cultura, 1978.
LAPLANTINE, François. Aprender antropologia. São Paulo: Brasiliense, 2006.
1
MALINOWSKI, Bronislaw. Argonautas do pacífico ocidental: um relato do
empreendimento e da aventura dos nativos nos arquipélagos de Nova Guiné
Melanésia. São Paulo: Abril Cultura, 1978.
KUPER, Adam. Antropólogos e Antropologia. Rio de Janeiro: Francisco Alves,
1978.
VELHO, Gilberto. “Observando o familiar”. In: NUNES, Edson de Oliveira. A aventura
sociológica. Rio de Janeiro: Zahar, 1978.
Próximos Passos
Operadores relacionais e lógicos;
Comandos de tomada de decisão simples e composta (if .../ if ... else) e casos
de ifs encadeados;
Estrutura do switch e casos nos quais a seleção de múltipla escolha (switch)
pode ser aplicada;
Desenvolvimento de pequenos programas;
Desenvolvimento de um programa que funcione através de um menu, mas sem
repetição.
Explore mais
O if... else completa o conjunto dos 4 comandos que consideramos fundamentais
para a programação, portanto, leia com muita atenção essa aula e pesquise na
internet exemplos e exercícios para praticar. Constatamos que os programas ficaram
maiores e mais complexos.
Procure fazer todas as listas para que possa chegar às estruturas de repetição,
dominado esses poucos, mas importantes comandos/funções.
Exercite com a lista de exercícios <galeria/aula4/anexo/a04_doc3.pdf> que
separamos para você.

Outros materiais