Prof. Ms. Patrícia Salles Maturana
Tentativa
 1 – Construa um programa para escrever a sua idade, se
    a sua idade for:
   Menor ou Igual a 12 anos, você é uma criança;
   Menor ou Igual a 19 anos, você é um adolescente;
   Menor ou Igual a 60 anos, você é um adulto;
   Maior do que 60 anos, você é um idoso.
Comandos Se - Senão aninhados
   Programa seaninhados
   Inicio
   Idade: Inteiro;
   Escrever (“Digite sua idade”);
   Ler(Idade);
   Se (Idade <= 12)
   Escrever (“Voce eh uma criança”);
   Se (Idade <= 19)
   Escrever (“Voce eh um adolescente”);
   Se (Idade <= 60)
   Escrever (“Voce eh um adulto”);
   Senão
   Escrever (“Voce eh idoso”);
   Fim.
Comando if-else aninhados
 Quando se tem if(s) e else(s) como o computador
    decide qual if o else pertence;
   Exemplo:
   if(x > y)
      if(y!= 0)
          a = x/y;
   else
     a = y;
 O else estará associado ao último if:
 If(x>y)
 if(y!=0)
           a = x/y;
 else
           a = y;
Para relacionar com o 1 if
 Deve-se usar chaves:
 if(x > y)
{
    if(y!=0)
           a = x/y;
}
 else
 a = y;
Programa if-else aninhados
 #include <stdio.h>
 #include <stdlib.h>
 main()
 {
 int idade;
 printf (“Digite a sua idade”);
 scanf(“%d”, &idade);
 if(idade <= 12)
 printf(“Voce eh uma criança”);
 if(idade <= 19)
 printf(“Voce eh um adolescente”);
 if(idade <= 60)
 printf(“Voce eh um adulto”);
 else
 printf(“Voce eh um idoso”);
 }
Encadeamento if-else-if
   if (condição){
     comandos;
   }
   else if (condição){
     comandos;
   }
   else if (condição){
     comandos;
   }
   else{
     comandos;
   }
Comando Switch
 Permite selecionar uma entre várias ações alternativas;
 A expressão dentro do parênteses após a palavra
    switch: (switch (op)) determina para qual caso será
    desviado o controle do programa;
   Permite qualquer número de instruções;
   Última instrução: break;
   break: Saída imediata de todo o corpo do switch;
   Não tendo a instrução break, todos os casos serão
    lidos;
   Só pode testar a igualdade, diferente do if;
Sintaxe:
   switch (variável ou constante)
   {
   case constante1:
   instrução;
   instrução;
   break;
   case constante2:
   instrução;
   instrução;
   default:
   instrução;
   instrução;
   }
Exemplo:
 Digite dois números e escolha 1 das 4 operações para
 realizar (soma, subtração, multiplicação e divisão):
 #include<stdio.h>
 #include<stdlib.h>


 main() {


 int op;
 float n1, n2, resultado;


 printf("Digite dois numerosn");
 scanf("%f%f",&n1, &n2);
 printf("Digite: n 1: Soma n 2: Subtracao n 3:
  Multiplicacao n 4: Divisaon");
 scanf("%d", &op);


 switch(op)
{
 case 1:
 resultado = n1 + n2;
 printf ("O resultado da soma eh:
  %.2fn", resultado);
 break;
 case 2:
 resultado = n1 - n2;
 printf("O resultado da subtracao eh:
  %.2fn", resultado);
 break;


 case 3:
 resultado = n1 * n2;
 printf("O resultado da multiplicacao eh:
  %.2fn", resultado);
 break;
 case 4:
 resultado = n1/n2;
 printf("O resultado da divisao eh:
  %.2fn", resultado);
 break;


 default:
 printf ("Operador desconhecidon");
}


 system("PAUSE");
 }
Tentativa
 Faça um programa que escolha uma das opções de
 cardápio a sua escolha, por exemplo, o cardápio de
 uma churrascaria.
Exemplo Idade
 1 – Construa um programa para escrever a sua idade
    utilizando o switch - case, se a sua idade for:
   1 para - Menor ou Igual a 12 anos, você é uma criança;
   2 para - Menor ou Igual a 19 anos, você é um
    adolescente;
   3 para - Menor ou Igual a 60 anos, você é um adulto;
   4 para - Maior do que 60 anos, você é um idoso.
Exercícios
 1 – Crie um programa utilizando ifs aninhados para
    escrever, Feliz Natal e Feliz ano novo de acordo com o
    mês e dia de cada data;
   2 - Crie um programa utilizando switch, para escolher
    um dia da semana;
   3 – Crie um programa utilizando switch, para escolher
    uma disciplina;
   4 – Por sua escolha, faça um exercício de if(s) e else(s)
    aninhados;
   5 – Por sua escolha, faça um exercício de switch;
Referências Bibliográficas
 MIZRAHI, V. V. Treinamento em linguagem c. São
  Paulo: Makron Books do Brasil, 2005. v. 1. 241p.
 MIZRAHI, V. V. Treinamento em linguagem c. São
  Paulo: Makron Books do Brasil, 2004. v. 2. 273p.
 SCHILDT, H. C completo e total. 3. ed. São Paulo:
  Makron Books do Brasil, 1997. 827p.
 MANZANO, J. A. N. G.; OLIVEIRA, J. F. Algoritmos:
  logica para desenvolvimento de programacao de
  computa. 13. ed. São Paulo: Erica, 2002. 236p.

Algoritmo e lógica de programação - aula 4

  • 1.
    Prof. Ms. PatríciaSalles Maturana
  • 2.
    Tentativa  1 –Construa um programa para escrever a sua idade, se a sua idade for:  Menor ou Igual a 12 anos, você é uma criança;  Menor ou Igual a 19 anos, você é um adolescente;  Menor ou Igual a 60 anos, você é um adulto;  Maior do que 60 anos, você é um idoso.
  • 3.
    Comandos Se -Senão aninhados  Programa seaninhados  Inicio  Idade: Inteiro;  Escrever (“Digite sua idade”);  Ler(Idade);  Se (Idade <= 12)  Escrever (“Voce eh uma criança”);  Se (Idade <= 19)  Escrever (“Voce eh um adolescente”);  Se (Idade <= 60)  Escrever (“Voce eh um adulto”);  Senão  Escrever (“Voce eh idoso”);  Fim.
  • 4.
    Comando if-else aninhados Quando se tem if(s) e else(s) como o computador decide qual if o else pertence;  Exemplo:  if(x > y)  if(y!= 0)  a = x/y;  else  a = y;
  • 5.
     O elseestará associado ao último if:  If(x>y)  if(y!=0)  a = x/y;  else  a = y;
  • 6.
    Para relacionar como 1 if  Deve-se usar chaves:  if(x > y) {  if(y!=0)  a = x/y; }  else  a = y;
  • 7.
    Programa if-else aninhados #include <stdio.h>  #include <stdlib.h>  main()  {  int idade;  printf (“Digite a sua idade”);  scanf(“%d”, &idade);  if(idade <= 12)  printf(“Voce eh uma criança”);  if(idade <= 19)  printf(“Voce eh um adolescente”);  if(idade <= 60)  printf(“Voce eh um adulto”);  else  printf(“Voce eh um idoso”);  }
  • 8.
    Encadeamento if-else-if  if (condição){  comandos;  }  else if (condição){  comandos;  }  else if (condição){  comandos;  }  else{  comandos;  }
  • 9.
    Comando Switch  Permiteselecionar uma entre várias ações alternativas;  A expressão dentro do parênteses após a palavra switch: (switch (op)) determina para qual caso será desviado o controle do programa;  Permite qualquer número de instruções;  Última instrução: break;  break: Saída imediata de todo o corpo do switch;  Não tendo a instrução break, todos os casos serão lidos;  Só pode testar a igualdade, diferente do if;
  • 10.
    Sintaxe:  switch (variável ou constante)  {  case constante1:  instrução;  instrução;  break;  case constante2:  instrução;  instrução;  default:  instrução;  instrução;  }
  • 11.
    Exemplo:  Digite doisnúmeros e escolha 1 das 4 operações para realizar (soma, subtração, multiplicação e divisão):
  • 12.
     #include<stdio.h>  #include<stdlib.h> main() {  int op;  float n1, n2, resultado;  printf("Digite dois numerosn");  scanf("%f%f",&n1, &n2);
  • 13.
     printf("Digite: n1: Soma n 2: Subtracao n 3: Multiplicacao n 4: Divisaon");  scanf("%d", &op);  switch(op) {  case 1:  resultado = n1 + n2;  printf ("O resultado da soma eh: %.2fn", resultado);  break;
  • 14.
     case 2: resultado = n1 - n2;  printf("O resultado da subtracao eh: %.2fn", resultado);  break;  case 3:  resultado = n1 * n2;  printf("O resultado da multiplicacao eh: %.2fn", resultado);  break;
  • 15.
     case 4: resultado = n1/n2;  printf("O resultado da divisao eh: %.2fn", resultado);  break;  default:  printf ("Operador desconhecidon"); }  system("PAUSE");  }
  • 16.
    Tentativa  Faça umprograma que escolha uma das opções de cardápio a sua escolha, por exemplo, o cardápio de uma churrascaria.
  • 17.
    Exemplo Idade  1– Construa um programa para escrever a sua idade utilizando o switch - case, se a sua idade for:  1 para - Menor ou Igual a 12 anos, você é uma criança;  2 para - Menor ou Igual a 19 anos, você é um adolescente;  3 para - Menor ou Igual a 60 anos, você é um adulto;  4 para - Maior do que 60 anos, você é um idoso.
  • 18.
    Exercícios  1 –Crie um programa utilizando ifs aninhados para escrever, Feliz Natal e Feliz ano novo de acordo com o mês e dia de cada data;  2 - Crie um programa utilizando switch, para escolher um dia da semana;  3 – Crie um programa utilizando switch, para escolher uma disciplina;  4 – Por sua escolha, faça um exercício de if(s) e else(s) aninhados;  5 – Por sua escolha, faça um exercício de switch;
  • 19.
    Referências Bibliográficas  MIZRAHI,V. V. Treinamento em linguagem c. São Paulo: Makron Books do Brasil, 2005. v. 1. 241p.  MIZRAHI, V. V. Treinamento em linguagem c. São Paulo: Makron Books do Brasil, 2004. v. 2. 273p.  SCHILDT, H. C completo e total. 3. ed. São Paulo: Makron Books do Brasil, 1997. 827p.  MANZANO, J. A. N. G.; OLIVEIRA, J. F. Algoritmos: logica para desenvolvimento de programacao de computa. 13. ed. São Paulo: Erica, 2002. 236p.