You are on page 1of 5

Question 1

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

Procedimento ROT_CADASTRO_E_ORDENACAO(NOME : conjunto [1..20] de caracte


re, NOTA : conjunto [1..20, 1..4] de real)
Var
Y : CONJUNTO [1..4] de real
I, J, ATUAL, PROXIMO, K : inteiro
X : caractere
Início
Para I de 1 até 20 passo 1 faça
Escreva "Nome do Aluno ",I
Leia NOME[I]
Para J de 1 até 4 passo 1 faça
Escreva "Nota ",J
Leia NOTA[I,J]
Fim_para
Fim_para
Para ATUAL de 1 até 19 passo 1 faça
Para Proximo de ATUAL +1 de 1 até 20 passo 1 faça
Se (NOME[ATUAL] > NOME[PROXIMO]) então
X := NOME[ATUAL]
NOME[ATUAL] := NOME[PROXIMO]
NOME[PROXIMO] := X
Para K de 1 até 4 passo 1 faça
Y[1,K] := NOTA[ATUAL,K]
NOTA[ATUAL,K]:= NOTA[PROXIMO,K]
NOTA[PROXIMO,K] := Y[1,K]
Fim_para
Fim_se
Fim_para
Fim_para
Fim
Procedimento ROT_PESQUISA_E_MEDIA(NOME : conjunto [1..20] de caractere,
NOTA : conjunto [1..20, 1..4] de real)
Var
RESP, PESQ : caractere
COMECO, FINAL, MEIO, I : inteiro
SOMA, MEDIA : real
ACHA : lógico
Início
RESP := "SIM"
Enquanto (RESP = "SIM") faça
Escreva "Informe o nome do Aluno a ser pesquisado."
Leia PESQ
COMECO := 1
FINAL := 7
ACHA := .Falso.
Enquando (COMECO <= FINAL) .e. (ACHA = .Falso.) faça
MEIO := (COMECO + FINAL) div 2
Se (PESQ = A[MEIO]) então
ACHA := . Verdadeiro
Senão
Se (PESQ < A[MEIO]) então
FINAL := MEIO -1
Senão
COMECO := MEIO +1
Fim_se
Fim_se
Fim_enquanto
Se (ACHA = .Verdadeiro.) então
Escreva PESQ, " foi encontrado!"
SOMA := 0
Para I de 1 até 4 passo 1 faça
SOMA := SOMA + NOTA[MEIO,I]
Fim_para
MEDIA := SOMA/4
Escreva "Sua média é ", MEDIA
Se (MEDIA >= 5) então
Escreva PESQ," está Aprovado!"
Senão
Escreva PESQ," está Reprovado!"
Fim_Se
Senão
Escreva PESQ, " não foi localizado."
Fim_se
Escreva "Deseja continuar?"
Leia RESP
Fim_enquanto
Fim
Procedimento ROT_NOME_E_MEDIA_GERAL(NOME : conjunto [1..20] de caractere
, NOTA : conjunto [1..20, 1..4] de real)
Var
I, J: inteiro
SOMA, MEDIA : real
Inicio
Para I de 1 até 20 passo 1 faça
Escreva "Aluno: ", NOME[I]
SOMA := 0
Para J de 1 até 4 faça
SOMA := SOMA + NOTA[I,J]
Fim_para
MEDIA := SOMA/4
Escreva "Sua média é ", MEDIA
Se (MEDIA >= 5) então
Escreva "Aprovado!"
Senão
Escreva "Reprovado!"
Fim_se
Fim_para
Fim
Procedimento ROT_NOME_E_MEDIA_APROVADOS(NOME : conjunto [1..20] de carac
tere, NOTA : conjunto [1..20, 1..4] de real)
Var
I, J : inteiro
SOMA, MEDIA : real
Inicio
Para I de 1 até 20 passo 1 faça
SOMA : = 0
Para J de 1 até 4 passo 1 faça
SOMA := SOMA + NOTA[I,J]
Fim_para
MEDIA : SOMA/4
Se (MEDIA >= 5) então
Escreva "Aluno: ", NOME[I]
Escreva "Sua média é ", MEDIA
Escreva "Aprovado!"
Fim_se
Fim_para
Fim
Procedimento ROT_NOME_E_MEDIA_REPROVADOS(NOME : conjunto [1..20] de cara
ctere, NOTA : conjunto [1..20, 1..4] de real)
VAR
Inicio
Para I de 1 até 20 passo 1 faça
SOMA : = 0
Para J de 1 até 4 passo 1 faça
SOMA := SOMA + NOTA[I,J]
Fim_para
MEDIA : SOMA/4
Se (MEDIA < 5) então
Escreva "Aluno: ", NOME[I]
Escreva "Sua média é ", MEDIA
Escreva "Reprovado!"
Fim_se
Fim_para
Fim
(Programa Principal)
Var
NOME : conjunto [1..20] de caractere
NOTA : conjunto [1..20, 1..4] de real
Inicio
MENU(NOME,NOTA)
Fim
********************************************************************************
***********************************************
Question 2
Notas: --/5 Escreva um algoritmo que realize as seguintes instruções abaixo:
Considerando a necessidade de um programa que armazene o nome e as notas
bimestrais de 20 alunos do curso de Técnicas de Programação, defina a estrutura de reg
istro apropriada, 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;
nesta pesquisa o programa deve também apresentar a média do aluno e as
mensagens: Aprovado 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
Resposta:

You might also like