Baixe o app para aproveitar ainda mais
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).
Compartilhar