Informática, perguntado por danizandonotooxpyqg, 1 ano atrás

Programa usado: Visualg

Numa pesquisa populacional, entre outros dados, registrou-se para
cada um dos 160 recenseados o nome, sexo, idade e grau de
escolaridade (0=analfabeto, 1=primário, 2=secundário, 3=superior,
4=pós-graduação). Como resultado da pesquisa deseja-se obter um
relatório contendo as seguintes informações:
a. Número de analfabetos.
b. Número de pessoas com instrução primária.
c. Número de pessoas com mais de 50 anos e instrução secundária.
d. Número de pessoas com formação superior
e. Número de homens pós-graduados.
f. Número de mulheres pós-graduadas

Soluções para a tarefa

Respondido por bokomoko
2
Esse programa pode ser dividido em duas partes.

A primeira parte é a obtenção dos dados. Ou seja, fazer um loop até 160 e ler nome, sexo, idade, escolaridade. Taca tudo num vetor.
Observe que pelo enunciado, o nome da pessoa não importa, portanto, lê e descarta. Já os outros dados tem que ir para um vetor cada. Ou seja, serao necessários 3 vetores. Um para sexo, outro para idade e outro para escolaridade.

Depois de carregados os vetores, agora vamos contar.
Para cada análise que a pesquisa quer é feito um "se"
Se escolaridade for analfabeto, conta-se mais um analfabeto, por exemplo
Se escolaridade for pos-graduação e sexo masculino, conta-se mais um da analise e, por exemplo.

Para cada análise tem que fazer um loop entre os 160 pois existem algumas análises que tem união ou interseção com outras análises.
Como são 6 análises -> 6 loops de 160.

Outra forma de fazer esse programa é usar um loop só de 160 e dentro dele ter os 6 se's

Segue em anexo o fonte do programa em visualg com as duas formas.

fiz uma pequena alteracao na entrada de dados para não ter que digitar 160 * 4 dados = 640 digitacoes. Pode parecer que sou tabacudo mas não vou perder tempo (e recomendo que você também não perca) digitando 640 dados fictícios a cada vez que for testar o programa. Usei a funcao aleatório para gerar os dados e assumi que sexo 0 = M e sexo 1 = F (além de outros pequenos ajustes). Não afeta a lógica do programa ok ? 


Anexos:

danizandonotooxpyqg: Muito Obrigado
bokomoko: Obrigado a você pela oportunidade de ajudá-la
Perguntas interessantes