Professional Documents
Culture Documents
Notas: --/5 Escreva um algoritmo que realize as seguintes instruções abaixo em sub-r
otinas:
Considerando a necessidade de um programa que armazene o nome e as notas bimestr
ais de 20 alunos do curso de Técnicas de Programação, defina a estrutura de registro a
propriada, o diagrama de quadros e a codificação de um programa que, por meio do uso
do conceito de sub-rotinas, apresente um menu e suas respectivas rotinas para a
execução das seguintes etapas:
Cadastrar os 20 registros (após o cadastro efetuar a classificação por nome).
Pesquisar os 20 registros, um de cada vez, pelo campo nome (usar o método binário; n
esta pesquisa o programa deve também apresentar a média do aluno e as mensagens: Apro
vado caso sua média seja maior ou igual a 5, ou Reprovado para média abaixo de 5).
Apresentar todos os registros, médias e a mensagem de aprovação ou reprovação.
Apresentar apenas os registros e médias dos alunos aprovados.
Apresentar apenas os registros e médias dos alunos reprovados.
Sair do programa de cadastro
Programa CURSO_TECNICO_PROGRAMACAO
Procedimento MENU(NOME : conjunto [1..20] de caractere, NOTA : conjunto
[1..20, 1..4] de real)
Var
OPCAO : inteiro
Início
CONTINUA_PROGRAMA : = .Verdadeiro.
Enquanto (CONTINUA_PROGRAMA = .Verdadeiro.) faça
Escreva "1 - Cadastro."
Escreva "2 - Pesquisa pelo campo Nome."
Escreva "3 - Exibir todos os Nomes, Média e a Mensagem de
Aprovado ou Reprovado."
Escreva "4 - Exibir os Nomes e as Médias dos alunos aprova
dos."
Escreva "5 - Exibir os Nomes e as Médias dos alunos reprov
ados."
Escreva "6 - Sair do programa."
Escreva "Escolha uma opção!"
Leia OPCAO
Se (OPCAO < 6) então
Caso 1 faça ROT_CADASTRO_E_ORDENACAO(NOME, NOTA)
Caso 2 faça ROT_PESQUISA_E_MEDIA(NOME, NOTA)
Caso 3 faça ROT_NOME_E_MEDIA_GERAL(NOME, NOTA)
Caso 4 faça ROT_NOME_E_MEDIA_APROVADOS(NOME, NOTA)
Caso 5 faça ROT_NOME_E_MEDIA_REPROVADOS(NOME, NOTA
)
Fim_caso
Senão
Se (OPCAO = 6) faça
CONTINUA_PROGRAMA := .Falso.
Senão
Escreva "Opção Inválida! Por favor, tente nova
mente."
Fim_se
Fim_se
Fim_enquanto
Fim