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;
MAYOR RICHARD CHAPMAN OPENED A PUBLIC HEARING BEFORE THE SHOREWOOD VILLAGE BOARD. Regarding the proposed Electric Power Aggregation Plan of Governance and Operation of an Association of different Municipalities In the Will County Governmental League that will join together to bid out the Purchase of power for all residents who don’t opt out. A resolution and two ordinances dealing with the
EQUINE FACTSHEET: FOALING ADVICE LATE PREGNANCY (3-4 months prior to foaling) The average length of pregnancy is 335-342 days (can range between 320-400 days). Worming This should be done one month before foaling and before the mare is moved to a foaling box. Pasture worm with a single dose wormer, e.g. Ivermectin to remove adult red worms. Booster Vaccinations Boosters should be