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?