ELC1065 - Laboratório de Programação I
Primeiro Semestre de 2013
Professora: Juliana Kaizer Vizzotto
Programas com Seleção: If
- As instruções executáveis em C tanto realizam ações (como cálculos ou entrada e saída de dados) quanto tomam decisões. Por exemplo, em um programa, poderíamos tomar a decisão de determinar se a nota de uma pessoa em uma prova seria maior ou igual a 6.0, e se fosse, imprimir a mensagem "Parabéns! Você foi aprovado".
- Para este tipo de decisão, vamos usar o comando
`if`, o qual permite que um programa tome decisões com base na veracidade ou falsidade de uma condição. Se a condição é satisfeita (ou seja, se ela for true ou verdadeira), as instruções do corpo do comando`if`são executadas. Se a condição não for satisfeita (ou seja, se for false ou falsa), as instruções do corpo não são executadas. - As condições dos comandos
`if`podem ser definidas com o uso dos operadores relacionais. - Por exemplo:
/* Exemplo de Programa com comando de Seleção Autoria: Juliana Data: 29/04/2013 */ #include<stdio.h> int main(void){ int num1; // primeiro numero a ser lido int num2; //segundo numero a ser lido printf("\n Digite dois Numeros Inteiros: \n"); scanf("%d%d",&num1,&num2); if (num1==num2){ prinf("%d eh igual a %d\n",num1,num2); } if (num1!=num2){ prinf("%d eh diferente de %d\n",num1,num2); } if (num1<num2){ prinf("%d eh menor que %d\n",num1,num2); } if (num1>=num2){ prinf("%d eh maior ou igual a %d\n",num1,num2); } return 0; } - Outro exemplo é um programa para verificar a posição de um ponto no plano cartesiano:
/* Programa que verifica a posição de um ponto no plano
Autoria: Juliana Data:29/04/2013
#include<stdio.h>
int main(void){
float x,y;
printf("\n Digite as coordenadas do ponto: ");
scanf("%f%f",&x,&y);
if (x==0 && y == 0){
printf("\n Pontos na origem \n");
}
if (x==0 && y != 0){
printf("\n Ponto sobre o eixo y \n");
}
if (x != 0 && y ==0){
printf("\n Ponto sobre o eixo x \n");
}
if (x > 0 && y > 0){
printf("\n Ponto no primeiro quadrante \n");
}
if (x < 0 && y > 0){
printf("\n Ponto no segundo quadrante \n");
}
if (x < 0 && y < 0){
printf("\n Ponto no terceiro quadrante \n");
}
if (x > 0 && y < 0){
printf("\n Ponto no quarto quadrante \n");
}
return 0;
}
Programas com Seleção: If ...Else
- O comando de seleção
`if`executa uma ação indicada somente quando a condição é verdadeira; caso contrário a ação é desprezada. - A estrutura de seleção
`if ...else`permite que você execute uma ação quando a condição for verdadeira e outra ação quando a condição for falsa.... if (nota >= 6){ printf("\n Aprovado"); } else { printf("\n Reprovado"); }
Seleção Aninhada
- Comandos
`if...else`aninhados testam vários casos, colocando estruturas`if...else`dentro de estruturas`if...else`. Por exemplo, considere o mesmo programa acima, que calcula a posição de um ponto no plano, usando seleção aninhada:/* Programa que verifica a posição de um ponto no plano Autoria: Juliana Data:29/04/2013 */ #include<stdio.h> int main(void){ float x,y; printf("\n Digite as coordenadas do ponto: "); scanf("%f%f",&x,&y); if (x==0) if (y==0) printf("\n Pontos na origem \n"); else printf("\n Ponto sobre o eixo y \n"); else if (y==0) printf("\n Ponto sobre o eixo x \n"); else if (y > 0) if (x > 0) printf("\n Ponto no primeiro quadrante \n"); else printf("\n Ponto no segundo quadrante \n"); else if (x > 0) printf("\n Ponto no quarto quadrante \n"); else printf("\n Ponto no terceiro quadrante \n"); return 0; }
Exercícios
- Faça um programa com seleção aninhada que lê uma nota de um aluno e imprime o respectivo conceito. O conceito A para notas maiores ou iguais a 9.0, B para notas maiores ou iguais a 8.0, C para notas maiores ou iguais a 7.0, D para notas maiores ou iguais a 6.0 e F para todas as outras notas.
- Escreva um programa que leia dois valores e imprima na tela o maior deles.
- Escreva um programa que leia as 3 notas obtidas por um aluno durante o semestre. A seguir calcule a sua média (aritmética) e informe se ele foi aprovado por média ou ficou para exame. A média de aprovação é 7.0.
- Melhore o programa do exercício anterior, de forma que se a média for inferior a 4.0, o aluno estará reprovado automaticamente. Informe ao usuário se isso acontecer. Também solicite o valor do exame (se o aluno ficar em exame) e informe a média final, em todos os casos. A média final depois do exame é calculada somando a média anterior com a nota do exame e então dividindo por 2.
- Faça um programa que leia 3 valores inteiros e descubra qual o maior deles.
- [Uma solução] Faça um programa que leia 3 valores inteiros, diferentes entre si, e os escreva em ordem crescente. Tente outra solução!
- Melhore o programa para determinação de raízes em uma equação do segundo grau, de maneira que ele verifique se existe raiz real. Em caso negativo, deverá informar ao usuário. O que acontece se a for nulo?