Unidade 16: Exerccios com Estruturas de Repetição Objetivo: Capacitar para a criação de programas com estrutura de repetição. Bibliografia: ASCENCIO, 2007; MEDINA, 2006; SILVA, 2010; SILVA, 2006. INTRODUÇÃO
Na aula anterior vimos como fazer repetições com diversos comandos diferentes.
Nesta aula veremos que qualquer uma das formas são possíveis para resolver um mesmoproblema, ainda que uma delas seja, usualmente, mais adequada. 1. EXERCÍCIO Nestes exercícios, use a estrutura de decisão que julgar melhor para cada caso.
A) Faça um programa que receba dois números inteiros N1 e N2 e calcule a soma de
todos os números entre eles (incluindo os próprios). Por exemplo: se N1 = 10 e N2 = 16, oprograma deve calcular 10 + 11 + 12 + 13 + 14 + 15 + 16. Considere que N1 sempre serámenor ou igual a N2.
B) Faça o programa que receba o salário atual de um funcionário (SAL), a taxa de
aumento anual (TAXA) e o número de anos (ANOS) e calcule o salário do funcionário depoisque esses anos passarem.
C) Faça um programa que leia o número de cidades N e, para cada uma delas,
pergunte o número de nascimentos (NASC) no último ano. O programa deve responder onúmero de nascimentos da cidade onde ocorreu mais nascimentos e também a média denascimentos por cidade. SOLUÇÃO A Com while:
#include <stdio>#include <iostream>using namespace std;int main(void) {
int N1, N2, SOMA; cout << "Digite o primeiro número: "; cin >> N1; cout << "Digite o segundo número: "; cin >> N2; SOMA = 0; while (N1 <= N2) { SOMA = SOMA + N1; N1 = N1 + 1; } cout << "Resultado: " << SOMA << endl;
Com do~while:
#include <stdio>#include <iostream>using namespace std;int main(void) {
int N1, N2, SOMA; cout << "Digite o primeiro número: "; cin >> N1; cout << "Digite o segundo número: "; cin >> N2; SOMA = 0; do { SOMA = SOMA + N1; N1 = N1 + 1; } while (N1 <= N2); cout << "Resultado: " << SOMA << endl; getchar();
#include <stdio>#include <iostream>using namespace std;int main(void) {
int N1, N2, SOMA; cout << "Digite o primeiro número: "; cin >> N1; cout << "Digite o segundo número: "; cin >> N2; for (SOMA = 0; N1 <= N2; N1 = N1 + 1) { SOMA = SOMA + N1; } cout << "Resultado: " << SOMA << endl;
SOLUÇÃO B Com while:
#include <stdio>#include <iostream>using namespace std;int main(void) {
cout << "Digite o salário atual: "; cin >> SAL; cout << "Digite a taxa de reajuste anual: "; cin >> TAXA; cout << "Digite o número de anos: "; cin >> ANOS;
while (ANOS > 0) { SAL = SAL + (SAL * TAXA); ANOS = ANOS - 1; }
cout << "Salário final: " << SAL << endl;
#include <stdio>#include <iostream>using namespace std;int main(void) {
cout << "Digite o salário atual: "; cin >> SAL; cout << "Digite a taxa de reajuste anual: "; cin >> TAXA; cout << "Digite o número de anos: "; cin >> ANOS;
for ( ; ANOS > 0; ANOS = ANOS - 1) { SAL = SAL + (SAL * TAXA); }
cout << "Salário final: " << SAL << endl;
Com do~while:
#include <stdio>#include <iostream>using namespace std;int main(void) {
cout << "Digite o salário atual: "; cin >> SAL; cout << "Digite a taxa de reajuste anual: "; cin >> TAXA; cout << "Digite o número de anos: "; cin >> ANOS;
if (ANOS > 0) { do { SAL = SAL + (SAL * TAXA); ANOS = ANOS - 1; } while (ANOS > 0); }
cout << "Salário final: " << SAL << endl;
SOLUÇÃO C Com while:
#include <stdio>#include <iostream>using namespace std;int main(void) {
int N, CIDADES, NASC; int MAX, TOTAL; float MEDIA;
cout << "Digite o número de cidades: "; cin >> CIDADES; N = CIDADES; TOTAL = 0; MAX = 0;
while (N > 0) { cout << "Quantos nascimentos na cidade " << N << "? "; cin >> NASC; TOTAL = TOTAL + NASC; if (NASC > MAX) MAX = NASC; N = N - 1; }
MEDIA = (float)TOTAL/(float)CIDADES; cout << "Máximo: " << MAX << endl; cout << "Média: " << MEDIA << endl;
#include <stdio>#include <iostream>using namespace std;int main(void) {
int N, CIDADES, NASC; int MAX, TOTAL; float MEDIA;
cout << "Digite o número de cidades: "; cin >> CIDADES;
TOTAL = 0; MAX = 0; for (N = CIDADES; N > 0; N = N -1) { cout << "Quantos nascimentos na cidade " << N << "? "; cin >> NASC;
TOTAL = TOTAL + NASC; if (NASC > MAX) MAX = NASC; }
cout << "Máximo: " << MAX << endl; cout << "Média: " << MEDIA << endl;
Com do~while:
#include <stdio>#include <iostream>using namespace std;int main(void) {
int N, CIDADES, NASC; int MAX, TOTAL; float MEDIA;
cout << "Digite o número de cidades: "; cin >> CIDADES; TOTAL = 0; MAX = 0; N = CIDADES;
if (N > 0) { do { cout << "Quantos nascimentos na cidade " << N << "? "; cin >> NASC; TOTAL = TOTAL + NASC; if (NASC > MAX) MAX = NASC; N = N - 1; } while (N > 0);
MEDIA = (float)TOTAL/(float)CIDADES; cout << "Máximo: " << MAX << endl; cout << "Média: " << MEDIA << endl;
Übersicht über die von der Disziplinarkammer von Swiss Olympic beurteilten Fälle im Jahr 2005 Sportart Substanz / Vorwurf Sanktion Kokain und Metaboliten sowie Carboxy-THC → Sperre von 2 Jahren, beginnend ab dem 02.09.2005; Auferlegung der Verfahrenskosten (Fr. 600.00) sowie der Analysekosten (Fr. 333.50). Carboxy-THC → Cannabis (mind. 260.4 ng/ml) Sperre von 8 Monaten,
La "Viagra" podría disminuir los síntomas de la esclerosis múltiple La "Viagra" podría disminuir los síntomas de la esclerosis múltiple 05/2011 - Medicina y Salud. Investigadores del IBB han descubierto que la "Viagra" disminuye drásticamente los síntomas de la esclerosis múltiple en un modelo animal de la enfermedad. El estudio, publicado en Acta Neuropath