Métodos Computacionais e Algoritmos Prof. Silmara Pedretti Gomes 25/Set/2007 Lista de exercícios para revisão (N1) GABARITO 1. Resposta: alternativa d (A > B) 2. Resposta: a) 30 10 b) 19 15.5 c) 27 9 d) 60 20 e) 0 0 0 1 0 0 0 2.b. Algoritmo 2 implementado em linguagem C: #include <stdio.h> #include <conio.h> void main(){ int a; float b, c; clrscr(); printf("Digite um valor para A:"); scanf("%d", &a); b=0; c=0; if (a > 0){ c = a % 3; if (c==0){ b = a/3; }else{ b = (a - 3.5) * c; } } printf("Os valores são A:%d, B:%f, C:%f", a, b, c); getche(); } 3. Algoritmo “bois” algoritmo "bois" var cont, id, id_gordo, id_magro: inteiro peso, pgordo, pmagro: real inicio cont <- 1 leia(id) leia(peso) //logo de cara o primeiro boi é o mais gordo e o mais magro ao //mesmo tempo id_gordo <- id pgordo <- peso id_magro <- id pmagro <- peso //Agora precisamos ver os outros 89 bois... enquanto cont < 90 faca leia(id) leia(peso) se peso > pgordo entao pgordo <- peso id_gordo <- id fimse se peso < pmagro entao pmagro <- peso id_magro <- id fimse cont <- cont+1 fimenquanto escreva("O boi mais magro é o:", id_magro, " e pesa ", pmagro) escreva("O boi mais gordo é o:", id_gordo, " e pesa ", pgordo) fimalgoritmo 3.b. Passando o algoritmo “bois” para a linguagem C: #include <stdio.h> #include <conio.h> void main(){ int cont, id, id_gordo, id_magro; float peso, pgordo, pmagro; clrscr(); cont = 1; printf("\nDigite a identificacao do boi: " ); scanf("%d" , &id); printf(" \nDigite o peso do boi: "); scanf("%f" , &peso); //logo de cara o primeiro boi e' o mais leve e o mais pesado... id_gordo = id; pgordo = peso; id_magro = id; pmagro = peso; //Agora precisamos ver os outros bois... while (cont < 9){ printf("\n\nDigite a identificacao do boi: " ); scanf("%d" , &id); printf(" \nDigite o peso do boi: "); scanf("%f" , &peso); if (peso > pgordo){ pgordo = peso; id_gordo = id; } if (peso < pmagro){ pmagro = peso; id_magro = id; } cont++; } printf("\n------------------------------------------------------"); printf("\nO boi mais pesado e' o %d, peso: %.2f", id_gordo, pgordo); printf("\nO boi mais magro e' o %d, peso: %.2f", id_magro, pmagro); getch(); } 4. Algoritmo (fatorial): 4.b. Passando o algoritmo “fatorial” para linguagem C #include <stdio.h> #include <conio.h> void main(){ float fat; int n, cont; fat=1; clrscr(); printf("Digite um numero: "); scanf("%d", &n); if (n>0){ cont=1; while (cont<=n){ fat = fat * cont; cont = cont + 1; } } printf(" \nO fatorial de %d e' %.0f", n, fat); getch(); } 5. Algoritmo do “peso ideal” algoritmo "pesoideal" var peso, alt, peso_ideal: real sexo: caracter inicio Escreva("Informe o seu peso: ") Leia(peso) Escreva("Informe a sua altura: ") Leia(alt) Escreva("Informe o sexo usando F (feminino) ou M (masculino): ") Leia(sexo) //Utilize a regra para cálculo do peso ideal: // Homens: (72.7 * altura) - 58 // Mulheres: (62.1 * altura) - 44.7 Se sexo="M" Entao peso_ideal <- (72.7 * alt) - 58 Senao peso_ideal <- (62.1 * alt) - 44.7 FimSe //Vamos mostrar os resultados Escreval("Peso informado: ", peso) Escreval("Peso ideal : ", peso_ideal) Se peso = peso_ideal Entao Escreval("Parabéns!!! Você está no seu peso ideal.") Senao //Se estiver acima do peso... Se peso > peso_ideal Entao Escreval("Precisa perder " , (peso - peso_ideal), " Kg.") Senao //Está abaixo do peso Escreval("Precisa ganhar " , (peso_ideal - peso), " Kg.") FimSe FimSe Escreval("Fim") fimalgoritmo 5.b. Passando o algoritmo “peso ideal” para linguagem C #include<stdio.h> #include<conio.h> #include<math.h> void main(){ float peso, alt, peso_ideal; char sexo; clrscr(); printf("Informe seu peso: "); scanf("%f", &peso); printf("\nInforme sua altura: "); scanf("%f", &alt); printf("Informe o sexo usando F (feminin) ou M (masculino)"); sexo = getche(); if (sexo=='M' || sexo=='m'){ peso_ideal = (72.7 * alt) - 58; }else{ peso_ideal = (62.1 * alt) - 44.7; } clrscr(); printf("\nPeso informado: %.2f", peso); printf("\nPeso ideal: %.2f", peso_ideal); //Usamos ceil e floor para arredondar o peso, aceitaremos variacoes //de ate' 1 kg dizendo que a pessoa esta' dentro do peso ideal if (ceil(peso) == ceil(peso_ideal) || floor(peso) == floor(peso_ideal) ){ printf("\nParabens!!! Voce esta' no seu peso ideal."); }else{ if (peso>peso_ideal){ printf("\nPrecisa perder %.2f quilos.", peso - peso_ideal); }else{ printf("\nPrecisa ganhar %.2f quilos.", peso_ideal - peso); } } getch(); }