Algop - aula 06 resposta exercícios

332 visualizações

Publicada em

Material de apoio para Algoritmos e Programação da Faculdade Pitágoras em Linhares – 2010

Publicada em: Engenharia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
332
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
9
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Algop - aula 06 resposta exercícios

  1. 1. Algoritmos e Programação Prof. Marcos Saúde marcosr@pitagoras.com.br
  2. 2. Respostas dos Exercícios  As respostas a seguir referem-se aos exercícios propostos na aula 06 de Algoritmos e Programação e estão apresentadas na linguagem Pascal, preparando-os para o teste a ser aplicado na semana de 04 a 08 de outubro de 2010;  Bons estudos !
  3. 3. Exercícios  1) Program Contagem; uses CRT; var inicio, fim:integer; Begin write('Digite o número inicial da contagem:'); readln(inicio); write('Digite o número final da contagem:'); readln(fim); while (inicio <= fim) do begin writeln(inicio); inicio := inicio + 1; end; End.
  4. 4. Exercícios  2) Program Media; uses CRT; var nome:string; nota1, nota2, media:real; contador:integer; Begin contador := 1; while (contador <= 3) do begin write('Digite o nome do aluno:'); readln(nome); write('Digite a primeira nota:'); readln(nota1); write('Digite a segunda nota:'); readln(nota2); media := ((nota1 + nota2*2)/3); writeln('O aluno ', nome, ' teve média ', media:10:2); contador := contador + 1; end; End. Obs: a notação media:10:2 é usada no Pascal para indicar que o número contido na variável media deve ser escrito com precisão de até 10 números e 2 casas decimais (se, por exemplo, o número for 6,66666..., ele mostra 6,67);
  5. 5. Exercícios  3) Program Fatorial; uses CRT; var numero, resultado:integer; resposta:string; Begin repeat write('Digite um numero:'); readln(numero); resultado := 1; while (numero > 1) do begin resultado := resultado * numero; numero := numero - 1; end; writeln('Fatorial:',resultado); write('Outro numero (sim/não) ?'); readln(resposta); until (resposta = 'não'); End.
  6. 6. Exercícios  4) Program Operacoes_Aritmeticas; uses CRT; var n1,n2,opcao:integer; Begin write('Digite um numero:'); readln(n1); write('Digite outro numero:'); readln(n2); repeat clrscr; {comando que limpa a tela} writeln('1 - Soma dos números;'); writeln('2 - Multiplicação dos números;'); writeln('3 - Média dos números;'); writeln('4 - Finalizar;'); write('Digite uma opção:'); readln(opcao); case opcao of 1: writeln('Soma = ',n1 + n2); 2: writeln('Multiplicação = ', n1 * n2); 3: writeln('Média = ', (n1 + n2)/2); else if (opcao <> 4) then writeln('Opção inválida!'); end; if (opcao <> 4) then {se não for finalizar} readkey; {congela a tela para ver o resultado da operação escolhida} until (opcao = 4); End.
  7. 7. Exercícios  5) Program Maior_Valor; uses CRT; var numero, maior, contador:integer; Begin write('Digite um numero:'); readln(numero); maior := numero; contador := 1; repeat write('Digite outro numero:'); readln(numero); if (numero > maior) then maior := numero; contador := contador + 1; until (contador = 10); write('O maior é ',maior); End.
  8. 8. Exercícios  6) Program Pulverizacao; uses CRT; var insc:string; // caso queira, pode ser integer também area, custo:real; tipo:integer; Begin repeat write('Digite o numero de inscrição:'); readln(insc); if (insc <> '9999') then begin write('Digite o tipo de pulverização (1,2,3 ou 4):'); readln(tipo); write('Digite a área:'); readln(area); case tipo of 1: custo := area * 50; 2: custo := area * 100; 3: custo := area * 150; 4: custo := area * 250; end; if (area > 100) then custo := custo * 0.9; // desconto de 10% writeln(insc, ' - ', custo:10:2); end; until (insc = '9999'); End.
  9. 9. Exercícios  7) Program Eleicoes; uses CRT; var A, B, C, TotalA, TotalB, TotalC, Brancos, Nulos, TotalBrancos, TotalNulos, maior:integer; secao:string; Begin TotalA := 0; TotalB := 0; TotalC := 0; TotalBrancos := 0; TotalNulos := 0;
  10. 10. Exercícios  7) Continuação ... repeat write('Digite seção:'); readln(secao); if (secao <> '0') then begin write('Votos de A:'); readln(A); write('Votos de B:'); readln(B); write('Votos de C:'); readln(C); write('Votos Brancos:'); readln(Brancos); write('Votos Nulos:'); readln(Nulos); TotalA := TotalA + A; TotalB := TotalB + B; TotalC := TotalC + C; TotalBrancos := TotalBrancos + Brancos; TotalNulos := TotalNulos + Nulos; end; until (secao = '0');
  11. 11. Exercícios  7) Continuação ... writeln('Total de votantes:',(TotalA + TotalB + TotalC + TotalBrancos + TotalNulos)); writeln('Total votos A:',TotalA); writeln('Total votos B:',TotalB); writeln('Total votos C:',TotalC); writeln('Total votos Brancos e Nulos:',TotalBrancos + TotalNulos); writeln('Total votos válidos:',TotalA + TotalB + TotalC); if ((TotalA > TotalB) And (TotalA > TotalC)) then begin writeln('A Venceu!'); maior := TotalA; end else begin if ((TotalB > TotalA) And (TotalB > TotalC)) then begin writeln('B Venceu!'); maior := TotalB; end else begin writeln('C Venceu!'); maior := TotalC; end; end;
  12. 12. Exercícios  7) Continuação ... if ((TotalBrancos + TotalNulos) < (TotalA + TotalB + TotalC)) then writeln('Eleição Válida!') else writeln('Eleição Inválida!'); if (maior > ((TotalA + TotalB + TotalC)/2)) then writeln('Não haverá 2º turno') else writeln('Haverá 2º turno'); End.
  13. 13. Exercícios  8) Program Impares; uses CRT; var numero:integer; Begin numero := 0; while (numero <= 100) do begin if ((numero mod 2) <> 0) then writeln(numero); numero := numero + 1; end; End.
  14. 14. Exercícios  9) Program Investimento; uses CRT; var valor:real; opcao:integer; Begin repeat write('Digite o valor que deseja investir:'); readln(valor); if (valor > 0) then begin if (valor >= 2500) then writeln('CDBs:', (valor + valor * 1.5/100):10:2); if (valor >= 1000) then writeln('Fundos de Renda Fixa:', (valor + valor * 1/100):10:2); if (valor >= 100) then writeln('Poupança:', (valor + valor * 0.5/100):10:2); end; until (valor <= 0); End.
  15. 15. Exercícios  10) Analise o seguinte algoritmo: Algoritmo Prova01; A, B, C, D, E, F :inteiro; Inicio ler(B); E ← 0; F ← 1; C ← 1; A ← 1; repita escrever(F); D ← F; F ← F + E; E ← D; D ← F * F; C ← C + D; A ← A + 1; até (A >= B); Fim.  Com base no algoritmo acima, e supondo que o valor fornecido para “B” na linha “ler(B)” seja 7, qual sequencia de valores o algoritmo apresentará como saída na linha “escrever(F)”? RESPOSTA: 1 1 2 3 5 8

×