Buscar

Lista de exercicios 4 - OK - Corrigida

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 
 
 
 
Ministério da Educação 
UNIVERSIDADE TECNOLÓGICA FEDERAL DO 
PARANÁ 
Câmpus Santa Helena 
 
 
Curso de Ciência da Computação 
Disciplina de Fundamentos de Programação 
Professor Dr. Fernando Henrique Campos 
Semestre 2016/1 
 
Obs.: Utilize os conhecimentos adquiridos até a aula 12 
 
LISTA DE EXERCÍCIOS 04 
 
1-) Desenvolva um algoritmo que imprima os valores de 1 até 100 (Utilizar a 
estrutura FOR). 
 
program L4_EX1; 
 
var 
 i: integer; 
 
Begin 
 for i := 1 to 100 do 
 begin 
 writeln(i); 
 end; 
 readln; 
End. 
 
2-) Desenvolva um algoritmo que imprima na tela, somente os números 
múltiplos de 5, de 1 até 1000 (Utilizar a estrutura FOR). 
 
program L4_EX2; 
 
var 
 i: integer; 
 
Begin 
 for i := 1 to 1000 do 
 begin 
 if (i mod 5 = 0) then 
 begin 
 writeln(i); 
 end; 
 end; 
 readln; 
End. 
 
2 
 
3-) Crie um algoritmo que receba os seguintes dados de 5 estudantes: nome, 
curso e idade. Ao final deveram ser impressos na tela somente os alunos com 
a idade superior a 21 anos. Caso não tenha nenhum aluno com mais de 21 
anos, deverá ser exibida a seguinte mensagem: “Nenhum aluno tem mais de 
21 anos” (Utilizar a estrutura FOR). 
 
program L4_EX3; 
 
type info = array [0..4] of string; 
type id = array [0..4] of integer; 
 
var 
 nome: info; 
 curso: info; 
 idade: id; 
 i, auxMaior: integer; 
Begin 
 for i := 0 to 4 do 
 begin 
 writeln('Digite o nome do ' , (i + 1) , 'º aluno'); 
 readln(nome[i]); 
 writeln('Digite o curso do ' , (i + 1) , 'º aluno'); 
 readln(curso[i]); 
 writeln('Digite a idade do ' , (i + 1) , 'º aluno'); 
 readln(idade[i]); 
 end; 
 
 auxMaior := 0; 
 
 for i := 0 to 4 do 
 begin 
 if (idade[i] > 21) then 
 begin 
 writeln(nome[i]); 
 auxMaior := auxMaior + 1; 
 end; 
 end; 
 if(auxMaior = 0) then 
 begin 
 writeln('Nenhum aluno tem mais de 21 anos'); 
 end; 
 
 readln; 
End. 
 
4-) Elabore um algoritmo que receba 10 valores digitados pelo usuário e os 
armazene em um vetor. Após isso passe os valores digitados para um novo 
vetor e imprima os valores do novo vetor na tela do computador (Utilizar a 
estrutura FOR). 
 
program L4_EX4; 
 
3 
 
type vet = array [0..9] of integer; 
 
var 
 vetorA: vet; 
 vetorB: vet; 
 i: integer; 
Begin 
 for i := 0 to 9 do 
 begin 
 writeln('Digite o ' , (i + 1) , 'º número'); 
 readln(vetorA[i]); 
 end; 
 
 for i := 0 to 9 do 
 begin 
 vetorB[i] := vetorA[i]; 
 writeln(vetorB[i]); 
 end; 
 readln; 
End. 
 
5-) Crie um vetor A que receberá 5 valores digitados pelo usuário e um vetor B 
que também irá receber 5 valores digitados pelo usuário, na sequencia os 
valores do Vetor A deveram ser transferidos para o Vetor B e os do Vetor B 
transferidos para o Vetor A (Utilizar a estrutura FOR). 
 
program L4_EX5; 
 
type vet = array [0..4] of integer; 
 
var 
 vetorA: vet; 
 vetorB: vet; 
 aux, i: integer; 
 
Begin 
 for i := 0 to 4 do 
 begin 
 writeln('Digite um valor para a ', (i + 1), 'ª posição 
do vetor A'); 
 readln(vetorA[i]); 
 end; 
 
 for i := 0 to 4 do 
 begin 
 writeln('Digite um valor para a ', (i + 1), 'ª posição 
 do vetor B'); 
 readln(vetorB[i]); 
 end; 
 
 for i := 0 to 4 do 
 begin 
 aux := vetorA[i]; 
4 
 
 vetorA[i] := vetorB[i]; 
 vetorB[i] := aux; 
 end; 
 
 writeln('Novos valores do vetor A'); 
 for i := 0 to 4 do 
 begin 
 writeln(vetorA[i]); 
 end; 
 
 writeln('Novos valores do vetor B'); 
 for i := 0 to 4 do 
 begin 
 writeln(vetorB[i]); 
 end; 
 readln; 
End. 
 
6-) Crie um algoritmo para computar os votos de 20 eleitores, o usuário terá a 
opção de votar em 5 candidatos. Após computar os votos, o algoritmo deverá 
informar a porcentagem de votos de cada candidato e quem foi o vencedor 
(Utilizar a estrutura FOR). 
 
program L4_EX6; 
 
type v = array [0..4] of integer; 
 
var 
 candidato: v; 
 qtdVotosVencedor, candidatoVencedor: integer; 
 i, opcao: integer; 
 
Begin 
 for i := 1 to 20 do 
 begin 
 writeln('Por favor selecione o candidato da sua 
 preferencia'); 
 writeln('1 - Candidato 1'); 
 writeln('2 - Candidato 2'); 
 writeln('3 - Candidato 3'); 
 writeln('4 - Candidato 4'); 
 writeln('5 - Candidato 5'); 
 readln(opcao); 
 
 case (opcao) of 
 1: candidato[0] := candidato[0] + 1; 
 2: candidato[1] := candidato[1] + 1; 
 3: candidato[2] := candidato[2] + 1; 
 4: candidato[3] := candidato[3] + 1; 
 5: candidato[4] := candidato[4] + 1; 
 end; 
 end; 
 
 qtdVotosVencedor := 0; 
5 
 
 candidatoVencedor := 0; 
 
 for i := 0 to 4 do 
 begin 
 if (candidato[i] > qtdVotosVencedor) then 
 begin 
 qtdVotosVencedor := candidato[i]; 
 candidatoVencedor := i + 1; 
 end; 
 writeln('O candidato ',(i + 1), ' teve ' , ((candidato 
 [i] / 20) * 100):0:2 , '% dos votos'); 
 end; 
 writeln('O candidato vencedor foi o número ' , 
 candidatoVencedor); 
 readln; 
End. 
 
7-) Desenvolva um algoritmo que receba o nome, idade e peso de 10 pessoas, 
ao seu final o algoritmo deverá informar o nome e o peso da pessoa mais 
pesada e o nome e peso da pessoa menos pesada (Utilizar a estrutura FOR). 
 
program L4_EX7; 
 
type n = array [0..9] of string; 
type id = array [0..9] of integer; 
type p = array [0..4] of real; 
 
var 
 nome: n; 
 idade: id; 
 peso: p; 
 indiceMaior, indiceMenor, i: integer; 
 maiorPeso, menorPeso: real; 
 
Begin 
 for i := 0 to 4 do 
 begin 
 writeln('Digite o nome da ', (i + 1), 'ª pessoa'); 
 readln(nome[i]); 
 writeln('Digite a idade da ', (i + 1), 'ª pessoa'); 
 readln(idade[i]); 
 writeln('Digite o peso da ', (i + 1), 'ª pessoa'); 
 readln(peso[i]); 
 end; 
 
 indiceMaior := 0; 
 indiceMenor := 0; 
 maiorPeso := peso[0]; 
 menorPeso := peso[0]; 
 
 for i := 0 to 4 do 
 begin 
 if (peso[i] > maiorPeso) then 
6 
 
 begin 
 maiorPeso := peso[i]; 
 indiceMaior := i; 
 end; 
 
 if (peso[i] < menorPeso) then 
 begin 
 menorPeso := peso[i]; 
 indiceMenor := i; 
 end; 
 end; 
 
 writeln('A pessoa mais pesada ‚ ', nome[indiceMaior] , ' e 
seu 
 peso ‚ ', peso[indiceMaior]:0:2); 
 writeln('A pessoa mais leve ‚ ', nome[indiceMenor] , ' e seu 
 peso ‚ ', peso[indiceMenor]:0:2); 
 readln; 
End. 
 
8-) Crie um vetor de 6 posições que deverá receber 6 valores digitados pelo 
usuário, após receber os valores, o algoritmo deverá inverter as posições dos 
valores da seguinte forma (Utilizar a estrutura FOR): 
Exemplo: 
Antes: Depois: 
 
program L4_EX8; 
 
type v = array [0..5] of integer; 
 
var 
 vetor: v; 
 i, aux, ponteiroAux: integer; 
 
Begin 
 for i := 0 to 5 do 
 begin 
 writeln('Digite o valor da ', (i + 1), 'ª posição do 
 vetor'); 
 readln(vetor[i]); 
 end; 
 
 ponteiroAux := 5; 
 
 for i := 0 to 2 do 
 begin 
 aux := vetor[i]; 
 vetor[i] := vetor[ponteiroAux]; 
 vetor[ponteiroAux] := aux; 
 ponteiroAux := ponteiroAux - 1;7 
 
 end; 
 
 write('A ordem do novo vetor ‚ : '); 
 for i := 0 to 5 do 
 begin 
 write(vetor[i], ' '); 
 end; 
 readln; 
 
End. 
 
9-) Os bois de um frigorífico trazem presos ao seu pescoço um cartão contendo 
seu número de identificação e seu peso. Desenvolva um algoritmo que receba 
o número de identificação, o peso de cada boi e ao final imprima o número de 
identificação e o peso do boi mais gordo e do boi mais magro. O número de 
bois a ser digitado deverá ser informado pelo usuário no início do algoritmo 
(Utilizar a estrutura FOR). 
 
program L4_EX9; 
 
type id = array [0..999] of integer; 
type p = array [0..999] of real; 
 
var 
 
 ident: id; 
 peso: p; 
 indiceMaior, indiceMenor, i, numBois: integer; 
 maiorPeso, menorPeso: real; 
 
Begin 
 writeln('Informe a quantidade de bois que deseja cadastrar'); 
 readln(numBois); 
 
 for i := 0 to (numBois - 1) do 
 begin 
 writeln('Digite a identificação do ', (i + 1), 'º 
boi'); 
 readln(ident[i]); 
 writeln('Digite o peso do ', (i + 1), 'º boi'); 
 readln(peso[i]); 
 end; 
 
 indiceMaior := 0; 
 indiceMenor := 0; 
 maiorPeso := peso[0]; 
 menorPeso := peso[0]; 
 
 for i := 0 to (numBois - 1) do 
 begin 
 if (peso[i] > maiorPeso) then 
 begin 
 maiorPeso := peso[i]; 
8 
 
 indiceMaior := i; 
 end; 
 
 if (peso[i] < menorPeso) then 
 begin 
 menorPeso := peso[i]; 
 indiceMenor := i; 
 end; 
 end; 
 
 writeln('A identificação do boi mais pesado ‚ ', ident 
 [indiceMaior] , ' e seu peso ‚ ', peso[indiceMaior]:0:2); 
 writeln('A identificação do boi mais leve ‚ ', ident 
 [indiceMenor] , ' e seu peso ‚ ', peso[indiceMenor]:0:2); 
 readln; 
End. 
 
10-) Crie o enunciado de um exercício que utiliza em sua resolução no mínimo 
1 estrutura de repetição (FOR), 1 vetor e uma estrutura de seleção (IF ou 
CASE).

Outros materiais