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?