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
Download

programação