www.samueldiasneto.com: algoritmos parte 3

Pesquisar em todo o site
<<< Parte 2  
Se esta página lhe ajudar, considere fazer uma doação

Solução aos exercícios

1. início
  inteiro: idade;
  imprimir("Qual a sua idade ?");
  ler(idade);
  se(idade>=21)
    imprimir("Você é de maior !!!.");
  senão
    imprimir("Você é de menor !!!.");
  fimse;
fim

 

2. início
  inteiro nr1, nr2, n3;
  imprimir("Entre com o primeiro número :");
  ler(nr1);
  imprimir("Entre com o segundo número :");
  ler(nr2);
  imprimir("Entre com o terceiro número :");
  ler(nr3);
  se(nr1 > nr2)
    se(nr2 > nr3)
      imprimir("O ", nr1, " é o maior.");
    senão se(nr1 > nr3)
      imprimir("O", nr1, "é o maior.");
    senão
      imprimir("O", nr3, "é o maior.");
    fimse;
  senão se(nr2 > nr3)
    imprimir("O", nr2, "é o maior.");
  senão
    imprimir("O", nr3, "é o maior.");
  fimse;
fim

 

3. início
  inteiro: sexo;
  real: peso, altura;
  imprimir("Sexo (1. Homem 2. Mulher) :");
  ler(sexo);
  se((sexo<1) ou (sexo>2)) /* analisa se escolha de sexo é válida */
    imprimir("Opção de sexo inválida !!!");
  senão
    início
      imprimir("Qual sua altura ?");
      ler(altura);
      se (sexo = 1) /* usuário é homem */
        peso <== (72,7 * altura) -58;
      senão /* usuário é mulher */
        peso <== (62,1 * altura) - 44,7;
      fimse;
      imprimir("Seu peso ideal é ", peso);
     fim;
  fimse;
fim

 

4. início
  inteiro: cod;
  imprimir("Código do Produto :");
  ler(cod);
  escolha cod
    caso 1: escreva ("Alimento não perecível.");
    caso 2,3,4: escreva ("Alimento perecível.");
    caso 5,6: escreva ("Vestuário");
    caso 7: escreva ("Higiene pessoal");
    caso 8,9,10,11,12,13,14,15; escreva ("Limpeza e utensílios domésticos.");
    caso contrário: escreva ("Opção inválida.");
  fimescolha;
fim

 

5. início
  inteiro: nr, maior;
  maior <== 0;
  faça
    imprimir("Entre com um número inteiro positivo (-1 para terminar) :");
    ler(nr);
    se(nr > maior )
      maior <== nr;
    fimse;
  enquanto(nr >= 0);
  imprimir("O maior é ", maior);
fim

 

6. início
  int nr1,nr2,nr3;
  imprimir("Entre com o primeiro número :");
  ler(nr1);
  imprimir("Entre com o segundo número :");
  ler(nr2);
  imprimir("Entre com o terceiro número :");
  ler(nr3);
  se(nr1 > n2)
    se(nr1 > nr3)
      se(nr2 > nr3)
        imprimir("Números em ordem crescente :",nr3,nr2,nr1);
      senão
        imprimir("Números em ordem crescente :",nr2,nr3,n1);
      fimse;
    senão
      imprimir("Números em ordem crescente :",nr2,nr1,nr3;
    fimse;
  senão se(nr1 > nr3)
    imprimir("Números em ordem crescente :",nr3,nr1,n2);
  senão se(nr2 > nr3)
    imprimir("Números em ordem crescente :",nr1,nr3,n2);
  senão
    imprimir("Números em ordem crescente :",nr1,nr2,n3);
  fimse;
fim

 

7. início
  int numero,contador,resto,indicador;
  indicador <== 0; /* variável que indicará se o número é primo ou não */
  /* caso ela seja igual a 0 (zero) o número será primo */
  imprimir("Entre com o número :");
  ler(numero);
  para contador de 2 até (numero-1) incremento 1 faça
    início
       resto = numero % contador;
       se(resto == 0)
          indicador <== 1;
       fimse;
  fimpara;
  se(numero == 2)
     imprimir("O número 2 não é primo.");
    /* Analisa se "numero" é 2 pois, caso isto aconteça, o laço "para" */
    /* não é executado e "indicador" terá valor 0(zero), indicando, */
    / * assim, que 2 é primo. O que não é verdade. */
  senão se(indicador == 0) /* Analise da variável "indicador" */
     imprimir("O número ", numero, " é primo.");
  senão
     imprimir("O número ", numero, " não é primo.");
  fimse;
fim

 

8. início
   real: h,n,contador;
   h <== 0;
   imprimir("H = 1 + ½ + 1/3 + ¼ + ... + 1/N");
   imprimir("Entre com o valor de N :");
   ler(n);
   para contador de 1 até n incremento 1 faça
      h = h + 1/contador;
   fimpara;
   imprimir("H = ", h);
fim

 

9. início
   inteiro: nr,contador,fatorial;
   fatorial <== 1;
   imprimir("Entre com o número :");
   ler(nr);
   para contador de 1 até nr incremento 1 faça
      fatorial <== fatorial * contador;
   fimpara;
   se (nr == 0)
      imprimir("Fatorial de ", nr, " = ", 1);
   senão
      imprimir("Fatorial de ", nr, " = ", fatorial);
   fimse;
fim

 

10. início
   inteiro: termo, termo_anterior1,termo_anterior2, contador;
   imprimir("1, ");
   termo_anterior1 <== 1;
   termo_anterior2 <== 0;
   para contador de 2 até 20 incremento 1 faça
         termo <== termo_anterior1 + termo_anterior2;
         imprimir("termo, ");
         termo_anterior2 <== termo_anterior1;
         termo_anterior1 <== termo;
   fimpara;
fim

 

11 inicio
   inteiro: nr, maior,menor,contador;
   imprimir("Entre com o 1o número :");
   ler(nr);
   maior <== nr;
   menor <== nr;
   para contador de 2 até 5 incremento 1 faça
         imprimir("Entre com o ", contador, "o número :");
         ler(nr);
         se(nr > maior)
            maior <== nr;
         fimse;
        se(nr < menor)
           menor <== nr;
        fimse;
   fimpara;
   imprimir("O maior é ", maior.");
   imprimir("O menor é ", menor.");
fim

 

12 início
   real: cent, far;
   para far de 50 até 70 incremento 1 faça
         cent = 5/9(far - 32);
         imprimir(far, " - ", cent);
   fimpara;
fim

 

13 A sequência dos grão no tabuleiro será: 1, 2, 4, 8, 16, 32, ......

início
   int casa,casa_ant,contador,total;
   casa <== 1;
   casa_ant <== 1;
   total <== 1;
   para contador de 2 até 64 incremento 1 faça
         casa <== casa_ant * 2;
         total <== total + casa;
         casa_ant <== casa;
         casa <== total;
   fimpara;
   printf("A rainha pagará ", total, " grãos de trigo ao monge.");
fim

 

14. início
   inteiro: a,b,c,branco,nulo,total,voto;
   real: percent_branco,percent_nulo;
   a <== 0; /* votos do candidato 1 */
   b <== 0; /* votos do candidato 2 */
   c <== 0; /* votos do candidato 3 */
   branco <== 0;
   nulo <== 0;
   total <== 0;
   imprimir("Entre com seu voto :");
   ler(voto):
   enquanto (voto <> 0) faça
      total <== total + 1;
      escolha voto
         caso 1: a <== a + 1;
         caso 2: b <== b + 1;
         caso 3: c <== c + 1;
         caso 4: branco <== branco + 1;
         caso 5: nulo <== nulo + 1;
      fimescolha;
      imprimir("Entre com seu voto :");
      ler(voto);
   fimenquanto;
   percent_branco <== (branco * 100)/total;
   percent_nulo <== (nulo * 100)/total;
   imprimir("Total de votos => ",total);
   imprimir("Candidato 1 => ",a, " votos.");
   imprimir("Candidato 2 => ",b, " votos.");
   imprimir("Candidato 3 => ",c, " votos.");
   imprimir("Votos em branco => ", branco, " votos ( ", percent_branco, " % ).");
   imprimir("Votos nulos => ", nulo, " votos ( ", percent_nulo, " % ).");
fim

 

15. início
   inteiro: jose,pedro,anos;
   jose <== 150;
   pedro <== 110;
   para anos de 1 até (pedro > jose) incremento 1 faça
      jose <== jose + 2;
      pedro <== pedro + 3;
   fimpara;
   imprimir("Levarão ", anos, "anos para Pedro ser maior que José.");
fim
Se esta página lhe ajudou, considere fazer uma doação
<<< Parte 2