PROGRAMAÇÃO ESTRUTURADA II Profª. Noeli Ciência da Computação 1 Correção Exercícios Registros Ciência da Computação 2 Exercícios 1 – Faça um algoritmo que crie o registro aluno com os seguintes campos: • Nome • RA • Nota1 • Nota2 Receba as informações e as armazene em um vetor para 50 alunos. Calcule e mostre ao final Nome, média e situação do aluno. (Considerar cálculo de média da FLA) Ciência da Computação 3 inicio tipo REG = registro caracter: NOME; real: N1, N2; inteiro: RA; fim registro; tipo V = vetor [1:50] de REG; VET: V; inteiro: X; real: MEDIA; para X de 1 até 50 faça leia (VET[X].NOME); leia (VET[X].RA); leia (VET[X].N1); leia(VET[X].N2); fim para; para X de 1 até 10 faça MEDIA (VET[X].N1 * 0.4) + (VET[X].N2 * 0.6); escreva (VET[X].NOME, MEDIA); se (MEDIA >= 5.0) então escreva (”Aprovado”); senão escreva(”Reprovado”); fim se; fim para; 4 Exercícios 2 – Foi realizada uma pesquisa entre os 20 habitantes de uma região. De cada habitante foram coletados os dados: idade, sexo, renda familiar (salário), número de filhos. Faça um algoritmo que leia esses dados, armazenando em um vetor. Calcule e mostre: • A média de salário entre os habitantes; • A menor idade do grupo; • A quantidade de mulheres com mais de dois filhos e renda familiar inferior a R$ 600,00. Ciência da Computação 5 inicio tipo DADOS = registro inteiro: ID, NF; real: RENDA; caracter: SEXO; fim registro; tipo V = vetor [1:20] de DADOS; VET: V; inteiro: X; real: SOMASAL, MEDIA; inteiro: MI, QTDE; SOMASAL 0; QTDE 0; MI 199; para X de 1 até 20 faça leia (VET[X].ID); leia (VET[X].SEXO); leia (VET[X].RENDA); leia(VET[X].NF); SOMASAL SOMASAL + VET[X].RENDA; se (VET[X].ID < MI) então MI VET[X].ID; fim se; se (VET[X].SEXO = ‘F’) então se(VET[X].NF > 2) e (VET[X].RENDA < 600) então QTDE QTDE + 1; fim se; fim se; fim para; MEDIA SOMASAL/20; escreva(MEDIA, MI, QTDE); 6 Exercícios 3 - Faça um algoritmo que leia o código, sexo (M – masculino; F- feminino) e o número de horas/aula dadas no mês dos professores de uma escola, sabendo que um professor ganha R$ 12,00 por hora/aula e que a escola possui 10 professores. Após leitura, calcule e mostre: • O salário de cada professor; • A média dos salários dos professores do sexo masculino; • A quantidade de professores do sexo feminino que possuem salário maior que R$ 600,00; Ciência da Computação 7 inicio tipo DADOS = registro inteiro: COD; caracter: SEXO; real: HÁ, SALARIO; fim registro; tipo V = vetor [1:10] de DADOS; VET: V; inteiro: X; real: SOMASAL, MEDIA; inteiro: QTDE, CONT; SOMASAL 0; QTDE 0; CONT 0; para X de 1 até 10 faça leia (VET[X].COD); leia (VET[X].SEXO); leia (VET[X].HA); VET[X].SALARIO VET[X].HA * 12.00; escreva(VET[X].SALARIO); se (VET[X].SEXO = ‘M’) então SOMASAL SOMASAL + VET[X].SALARIO; QTDE QTDE + 1; fim se; se (VET[X].SEXO = ‘F’) e (VET[X].SALARIO > 600) então CONT CONT + 1; fim se; fim para; MEDIA SOMASAL/QTDE; escreva(MEDIA, CONT); fim. 8 Exercícios 4 - A prefeitura de Anápolis fez uma pesquisa entre os seus habitantes, coletando dados sobre o salário, idade e número de filhos. Faça um algoritmo que leia esses dados de 20 mulheres, calcule e mostre: • A média de salário da população; • A média do número de filhos; • O maior salário; Ciência da Computação 9 inicio tipo DADOS = registro real: SALARIO; inteiro: ID, NF; fim registro; tipo V = vetor [1:20] de DADOS; VET: V; inteiro: X; real: SOMASAL, MEDIAS, MEDIAF, MAIOR; inteiro: SOMAFIL; SOMASAL 0; SOMAFIL 0; MAIOR 0; para X de 1 até 20 faça leia (VET[X].SALARIO); leia (VET[X].ID); leia (VET[X].NF); SOMASAL SOMASAL + VET[X].SALARIO; SOMAFIL SOMAFIL + VET[X].NF; se (VET[X].SALARIO > MAIOR) então MAIOR VET[X].SALARIO; fim se; fim para; MEDIAS SOMASAL/20; MEDIAF SOMAFIL/20; escreva(MEDIAS, MEDIAF, MAIOR); fim. 10 Exercícios 5 – Foi feita uma estatística em 15 estados brasileiros para coletar dados sobre os acidentes de trânsito. Em cada estado observou-se os seguintes aspectos: • Nome do estado; • Número de veículos que circularam nesse estado (em 2006); • Número de acidentes de trânsito (em 2006); Deseja-se saber: • Qual o maior e o menor índice de acidentes de trânsito e o nome dos estados em que eles ocorreram; • Qual a média de acidentes(em relação ao número de veículos) em cada um dos estados. Ciência da Computação 11 inicio tipo DADOS = registro caracter: NOME; inteiro: NV, NA; real: MEDIA; fim registro; tipo V = vetor [1:15] de DADOS; VET: V; inteiro: X, MAIOR, MENOR; caracter: NMAIOR, NMENOR; MAIOR 0; MENOR 9999; para X de 1 até 15 faça leia (VET[X].NOME); leia (VET[X].NV); leia (VET[X].NA); VET[X].MEDIA VET[X].NA / VET[X].NV; se (VET[X].NA > MAIOR) então MAIOR VET[X].NA; NMAIOR VET[X].NOME fim se; se (VET[X].NA < MENOR) então MENOR VET[X].NA; NMENOR VET[X].NOME fim se; fim para; para X de 1 até 15 faça escreva(VET[X].MEDIA); fim para; escreva(MAIOR, NMAIOR, MENOR, NMENOR); fim. 12