Construa um algoritmo que solicite os seguintes dados de um aluno: RA, NOME, DISCIPLINA, CARGA HORÁRIA, NOTA1, NOTA2, SUB e FREQUENCIA obtida na disciplina. Posteriormente, apresente se o aluno está ou não aprovado, considerando que a nota mínima para aprovação seja 7 e frequência mínima
. Obs. Utilize procedimentos e funções.
Passo 1
Beleza, vamos lá! O enunciado pede para criar um algoritmo que coleta informações de um aluno, como RA, Nome, Disciplina, Carga Horária, Notas, Substituição e Frequência. Depois, o algoritmo deve verificar se o aluno está aprovado ou não, usando como critério uma nota mínima de 7 e uma frequência mínima de 80%. Para resolver isso, vamos precisar entender de estruturas básicas de programação, como entrada de dados, funções e procedimentos, além de como usar condições para tomar decisões.
Passo 2
Primeiro, precisamos solicitar os dados do aluno. Isso inclui:
- RA (Registro Acadêmico)
- Nome
- Disciplina
- Carga Horária
- Nota1
- Nota2
- Sub (se houver substituição)
- Frequência
Vamos criar uma função chamada
coletarDados
que vai pedir esses dados ao usuário e retornar essas informações.Passo 3
Dentro da função
coletarDados
, usamos comandos de entrada para receber cada informação. Por exemplo, usamos input()
para pegar o RA, o Nome, etc. É importante garantir que as notas e a frequência sejam valores numéricos para fazer as comparações depois.Passo 4
Depois de coletar os dados, precisamos calcular a média das notas. Se o aluno tiver uma nota de substituição (
Sub
), usamos essa nota no lugar da segunda nota. A média pode ser calculada da seguinte forma:Vamos criar uma função chamada
calcularMedia
que recebe as notas e a substituição e retorna a média calculada.Passo 5
Agora, precisamos verificar se a média calculada é pelo menos 7 e se a frequência é de pelo menos 80%. Vamos criar uma função chamada
verificarAprovacao
que recebe a média e a frequência e retorna se o aluno está aprovado ou não com base nesses critérios.Passo 6
Por fim, vamos criar um procedimento chamado
mostrarResultado
que recebe os dados do aluno e o resultado da aprovação e exibe uma mensagem informando se o aluno está aprovado ou não.Resposta
Aqui está um exemplo de como o algoritmo pode ser estruturado:
def coletarDados():
RA = input("Digite o RA do aluno: ")
Nome = input("Digite o nome do aluno: ")
Disciplina = input("Digite a disciplina: ")
Carga_Horaria = int(input("Digite a carga horária: "))
Nota1 = float(input("Digite a Nota 1: "))
Nota2 = float(input("Digite a Nota 2: "))
Sub = float(input("Digite a Nota de Substituição (se houver, senão 0): "))
Frequencia = float(input("Digite a frequência (%) : "))
return RA, Nome, Disciplina, Carga_Horaria, Nota1, Nota2, Sub, Frequencia
def calcularMedia(Nota1, Nota2, Sub):
if Sub > 0:
media = (Nota1 + Sub) / 2
else:
media = (Nota1 + Nota2) / 2
return media
def verificarAprovacao(media, Frequencia):
if media >= 7 and Frequencia >= 80:
return "Aprovado"
else:
return "Reprovado"
def mostrarResultado(RA, Nome, Disciplina, media, Frequencia, resultado):
print(f"RA: {RA}")
print(f"Nome: {Nome}")
print(f"Disciplina: {Disciplina}")
print(f"Média: {media}")
print(f"Frequência: {Frequencia}%")
print(f"Resultado: {resultado}")
# Execução do algoritmo
RA, Nome, Disciplina, Carga_Horaria, Nota1, Nota2, Sub, Frequencia = coletarDados()
media = calcularMedia(Nota1, Nota2, Sub)
resultado = verificarAprovacao(media, Frequencia)
mostrarResultado(RA, Nome, Disciplina, media, Frequencia, resultado)
Com esse algoritmo, você coleta todos os dados necessários, calcula a média considerando a substituição se houver, verifica se o aluno atende aos critérios de aprovação e, por fim, exibe o resultado de forma clara.
Exercícios relacionados
Construa uma função que retorne VERDADEIRO ou FALSO quanto ao critério de uma senha passado por parâmetro. A senha deverá ter de 8 a 12 caracteres e possuir ao menos um caractere numérico, ao menos um caractere especial, ao menos um caractere de letra minúscula e ao menos um caractere de letra maiúscula.
Construa uma função que retorne se uma sequencia de caracteres (string) passado como parâmetro possui ou não apenas caracteres numéricos.
Exercícios 3.2: Para uma determinada rampa, temos os dados da tabela abaixo. Complete a tabela e calcule o índice de subida.
Ponto | Afastamento | Altura |
---|---|---|
A | 4 m | 8 m |
B | 4 m | |
C | 1 m | |
D | 6 m | |
E | 5 m | |
F | 10 m |
Exercícios 3.4: Numa subida de índice igual a
, se nos elevarmos a uma altura de 4 metros, qual será o afastamento correspondente?