Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas de Notas Escolares em Pascal - Dúvida


sTokesX

Pergunta

Fala galera! É o seguinte, estou no 2º grau do Ensino Médio e com o final das notas escolares, eu resolvi tentar criar um pequeno algoritmo em pascal que apenas de colocar o resultado do 4º Bimestre, ele calcula o resultado do ano inteiro e me diz se passei ou não, em determinada matéria.

Eu criei 2 variáveis para Português (ValPortugues) e Matemática (ValMatematica), que recebem o total dos meus 3 Bimestres. Já as variáveis QPortugues e QMatematica, recebem o valor do 4º Bimestre.

Porém, o problema que estou tendo é que ao executar o programa e escolher o número 2, além de executar o cálculo de MATEMÁTICA, ele também executa o bloco de Português.

Programa em execução e ao escolher número 2 (Matemática):

10863645_1583884155166274_145711105_n.jp

Código até o momento:

uses
  SysUtils;
  Var ValPortugues, ValMatematica, ValBiologia, ValGeografia,
      QPortugues, QMatematica, QBiologia, QGeografia: Real;
      Escolha: Integer;
begin
  Writeln('====== Programa de Notas Escolares - 4 bimestre ======');
  Writeln('Digite o numero da materia que deseja calcular: ');
  Writeln(' 1 - Portugues');
  Writeln(' 2 - Matematica');
  Writeln(' 3 - Biologia');
  Writeln(' 4 - Geografia');
  Readln(Escolha);
 
    {Portugues}
 
  If Escolha = 1 Then
    Begin
      Writeln(' ===== Portugues ===== ');
      Writeln('* Digite a nota do 4 bimestre: ');
      Readln(QPortugues);
      ValPortugues := 22;
      ValPortugues := ValPortugues + QPortugues;
    End;
 
    If ValPortugues < 20 Then
      Begin
        Writeln('* REPROVADO *');
        Writeln('** O total de pontos ao ano foi de ',ValPortugues:2:2,' Pontos.');
      End;
 
    If ValPortugues >= 20 Then
      Begin
        Writeln('* APROVADO * ');
        Writeln('** O total de pontos ao ano foi de ',ValPortugues:2:2,' Pontos.');
        Readln;
      End;
 
     {Matematica}
 
  If Escolha = 2 Then
    Begin
      Writeln(' ===== Matematica ===== ');
      Writeln('Digite a nota do 4 bimestre: ');
      Readln(QMatematica);
      ValMatematica := 16;
      ValMatematica := ValMatematica + QMatematica;
      Writeln('O total de pontos ao ano foi de ',ValMatematica:2:2,' Pontos.');
      Readln;
    End;
 
    If ValMatematica < 20 Then
      Begin
        Writeln('* REPROVADO *');
        Writeln('** O total de pontos ao ano foi de ',ValMatematica:2:2,' Pontos.');
      End;
 
    If ValMatematica >= 20 Then
      Begin
        Writeln('* APROVADO * ');
        Writeln('** O total de pontos ao ano foi de ',ValMatematica:2:2,' Pontos.');
        Readln;
      End;
 
   Readln;
 
end.
 
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

basta modificar a posição do comando end nos ifs ( If Escolha = )

uses
  SysUtils;
  Var ValPortugues, ValMatematica, ValBiologia, ValGeografia,
      QPortugues, QMatematica, QBiologia, QGeografia: Real;
      Escolha: Integer;
begin
  Writeln('====== Programa de Notas Escolares - 4 bimestre ======');
  Writeln('Digite o numero da materia que deseja calcular: ');
  Writeln(' 1 - Portugues');
  Writeln(' 2 - Matematica');
  Writeln(' 3 - Biologia');
  Writeln(' 4 - Geografia');
  Readln(Escolha);

    {Portugues}

  If Escolha = 1 Then
    Begin
      Writeln(' ===== Portugues ===== ');
      Writeln('* Digite a nota do 4 bimestre: ');
      Readln(QPortugues);
      ValPortugues := 22;
      ValPortugues := ValPortugues + QPortugues;


      If ValPortugues < 20 Then
      Begin
        Writeln('* REPROVADO *');
        Writeln('** O total de pontos ao ano foi de ',ValPortugues:2:2,' Pontos.');
      End;

      If ValPortugues >= 20 Then
      Begin
        Writeln('* APROVADO * ');
        Writeln('** O total de pontos ao ano foi de ',ValPortugues:2:2,' Pontos.');
        Readln;
      End;
    End;
     {Matematica}
 
  If Escolha = 2 Then
    Begin
      Writeln(' ===== Matematica ===== ');
      Writeln('Digite a nota do 4 bimestre: ');
      Readln(QMatematica);
      ValMatematica := 16;
      ValMatematica := ValMatematica + QMatematica;
      Writeln('O total de pontos ao ano foi de ',ValMatematica:2:2,' Pontos.');
      Readln;

      If ValMatematica < 20 Then
      Begin
        Writeln('* REPROVADO *');
        Writeln('** O total de pontos ao ano foi de ',ValMatematica:2:2,' Pontos.');
      End;

      If ValMatematica >= 20 Then
      Begin
        Writeln('* APROVADO * ');
        Writeln('** O total de pontos ao ano foi de ',ValMatematica:2:2,' Pontos.');
        Readln;
      End;
    End;

   Readln;

end.

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...