Upload
nathalie-brunelli-da-costa
View
216
Download
1
Embed Size (px)
Citation preview
Professora: Flávia Balbino da Costa
Revisão (estruturas de decisão e repetição, procedimentos e funções )
Trabalhando com a Linguagem C Estrutura de dados homogêneas I - vetores Estrutura de dados homogêneas II -
matrizes Estrutura de dados heterogêneas - registros Recursividade Ponteiros, alocação dinâmica, listas
Os comandos de seleção devem ser utilizados de
acordo com alguma situação verificada, através de
valores de variáveis.
A linguagem C possui dois comandos de seleção: o
comando if e o comando switch.
O comando if é o comando de seleção mais geral, ou seja,
ele pode ser utilizado em qualquer situação em que o uso
de um comando de seleção se faz necessário. A sua
sintaxe é a seguinte:if (expressão) {Comando1;...ComandoN;}else {Comando1;...ComandoM;}
#include <stdio.h> void main() {
char nome[80];float nota1, nota2, media;
printf(“Informe o nome do aluno: ”);gets(nome);printf(“Informe as duas notas do aluno: ”);scanf(“%f%f”, ¬a1, ¬a2);media = (nota1+nota2)/2;printf(“O aluno %s ficou com a média %.2f\n”, nome, media);
if (media>=7)printf(“O aluno está aprovado!\n”);else {if (media <5)printf(“O aluno está reprovado!\n”);elseprintf(“O aluno está em prova final!\n”);}
}
O comando switch é um outro comando de seleção, como o if, porém de uso mais restrito.
Vejamos primeiramente a sua sintaxe para especificarmos como o comando funciona e em que situações nós poderemos utilizá-lo.
switch (variável) {case valor1: Comandos;break;case valor2:Comandos;break;...case valorn:Comandos;break;default:Comandos;
}
O comando switch funciona do seguinte modo: é verificado inicialmente se a variável especificada entre parênteses é igual ao valor1, executando os comandos correspondentes em caso afirmativo; caso o valor da variável seja diferente do valor1, o teste de igualdade passa a ser feito com o valor2, repetindo-se o mesmo tipo de análise.
Caso o valor da variável não seja igual a nenhum dos valores especificados (de valor1 até valorn), os comandos correspondentes à opção default são executados. A utilização do default é opcional, mas se utilizado, deve ser colocado sempre no final.
Vamos então as restrições deste comando:O comando switch só utiliza para teste uma única variável que deve ser do tipo inteiro ou caráter, levando-se em consideração apenas os tipos básicos da linguagem;O comando switch só faz teste de igualdade desta variável em relação a um conjunto de valores, ou seja, não se faz testes do tipo maior e menor, por exemplo, e muito menos se testa a relação entre uma variável e outra.
#include <stdio.h> void main() {
int n1, n2;char op;
printf(“Informe dois números inteiros: ”);scanf(“%d%d”, &n1, &n2);getchar(); /* tirar o ENTER do buffer do teclado */op = getchar();
switch(op) {
case ‘+’:printf(“%d + %d = %d\n”, n1, n2, n1+n2);break;
case ‘-’:printf(“%d - %d = %d\n”, n1, n2, n1-n2);break;case ‘*’:printf(“%d * %d = %d\n”, n1, n2, n1*n2);break;case ‘/’:printf(“%d / %d = %d\n”, n1, n2, n1/n2);break;case ‘%’:printf(“%d %% %d = %d\n”, n1, n2, n1%n2);break;default:printf(“Operação Inválida\n”);}
}
A utilização do comando break também não é obrigatória. Devemos entender tal comando, neste caso, como “saia fora do switch”.
Quando desejamos que os mesmos comandos sejam realizados em situações distintas, juntamos os “cases” destas situações, colocando o comando break somente no final.
1) Faça um programa que leia um número e imprima uma
mensagem dizendo se é par ou impar.
2) Faça um programa que leia 3 números e imprima o
menor deles.
3) Faça um programa que leia 3 números e imprima uma
das seguintes mensagens:a) todos os números são iguais; b) todos os números são diferentes; ouc) apenas dois números são iguais.
4) Faça um programa que leia um horário no sistema de
24 horas e imprima este horário no sistema de 12
horas (Comando Switch).
Exemplo: 22:32 10:32 pmObs.: 0:00 12:00 am 6:00 6:00 am
12:00 12:00 pm
5) Faça um programa que calcule a área de determinadas
figuras geométricas. O programa deverá apresentar um
menu com as seguintes opções:
quadrado ( )retângulo (comprimento * largura)círculo (3,14 * raio2 )trapézio ((base maior + base menor) * altura / 2)
De acordo com a opção, o programa deverá pedir os valores
necessários para realizar o cálculo (Comando Switch).