Buscar

COBOL - EXERCÍCIO - NOTAS BIMESTRAIS

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

EXERCÍCIO 2
Calcular a média aritmética das notas bimestrais de um aluno
Procedimentos:
1- Mostrar a tela formatada
2- Aceitar o nome do aluno e as notas
3- Mostrar a média aritmética
4- Exibir "Fim de Programa"
==================================================================================================
 IDENTIFICATION DIVISION.
 PROGRAM-ID. Media-Escolar.
 ENVIRONMENT DIVISION.
 Special-names.
 Decimal-point is comma.
 DATA DIVISION.
 WORKING-STORAGE SECTION.
 01 DADOS.
* Declaração de variáveis: Nome, notas e média
 02 W-Nome 	PIC X(10).
 02 W-Nota1 PIC 9(02)v99 VALUE ZEROS.
 02 W-Nota2 PIC 9(02)v99 VALUE ZEROS.
 02 W-Nota3 PIC 9(02)v99 VALUE ZEROS.
 02 W-Nota4 PIC 9(02)v99 VALUE ZEROS.
 02 W-Total-Notas PIC 9(02)v99 VALUE ZEROS.
 02 W-Media PIC 9(02)v99 VALUE ZEROS.
 02 W-Exame PIC 9(02)v99 VALUE ZEROS.
 02 W-Notaf PIC 9(02)v99 VALUE ZEROS.
*o zzz. é a separação de um campo
* EXIBE MENSAGEM NA TELA, intereção com o usuário
 01 MENSAGEMS-DE-TELA.
 02 MENSA1 	PIC X(50) VALUE "Digite o nome do aluno: ". 
 02 MENSA2 PIC X(50) VALUE "Digite a primeira nota: ".
 02 MENSA3 PIC X(50) VALUE "Digite a segunda nota: ".
 02 MENSA4 PIC X(50) VALUE "Digite a terceira nota: ".
 02 MENSA5 PIC X(50) VALUE "Digite a quarta nota: ".
 02 MENSA6 PIC X(50) VALUE "A media do aluno e': ".
 02 MENSA7 PIC X(50) VALUE "O aluno e': ". 
 02 MENSA8 PIC X(50) VALUE "Digite a nota do exame: ".
 02 MENSA9 PIC X(50) VALUE "O aluno foi aprovado.".
 02 MENSA10 PIC X(50) VALUE "O aluno foi reprovado.".
 02 MENSA11 	PIC X(50) VALUE '--------FIM DO PROGRAMA----------'.
 02 MENSA12 	PIC X(30) VALUE SPACE.
 01 DATA-DO-SISTEMA.
 02 ANO PIC 9(02) VALUE ZEROS.
 02 MES PIC 9(02) VALUE ZEROS.
 02 DIA PIC 9(02) VALUE ZEROS.
 SCREEN SECTION.
 01 TELA01.
 02 LINE 02 COLUMN 06 PIC 9(02)/ USING DIA.
 02 LINE 02 COLUMN 09 PIC 9(02)/ USING MES.
 02 LINE 02 COLUMN 12 PIC 9(02) USING ANO.
 02 LINE 02 COLUMN 24 VALUE
 "XXXXX Calculo da Media das 4 notas do aluno XXXXX".
 PROCEDURE DIVISION.
 Inicio.
 	Display "Data: " at 0201.
 ACCEPT DATA-DO-SISTEMA FROM DATE.
 DISPLAY ERASE AT 0101.
 DISPLAY TELA01 AT 0101.
 MOVE ZEROS TO DADOS.
 Entrada.
*Insere a linha do display // RECEBENDO VALORES
*Recebe o nome do aluno
 display MENSA1 AT 0630.
*Tira os espaços marcado na tela.
 move spaces to W-Nome.
 accept W-Nome at 0821.
*blank line at 0821.
*Recebe a primeira nota 
 display MENSA2 AT 0630.
 accept W-Nota1 AT 0921.
 add W-Nota1 to W-Total-Notas. 
*Recebe a segunda nota
 display MENSA3 at 0630
 accept W-Nota2 at 1021.
 add W-Nota2 to W-Total-Notas. 
*Recebe a terceira nota
 display MENSA4 at 0630.
 accept W-Nota3 at 1121.
 add W-Nota3 to W-Total-Notas. 
*Recebe a quarta nota
 display MENSA5 at 0630.
 accept W-Nota4 at 1221.
 add W-Nota4 to W-Total-Notas. 
 Calcula. 
*Calculo da média: n1+n2+n3+n4/4
 DIVIDE W-Total-Notas by 4 giving W-Media
*Se media maior que 6, exibe nome, media e aluno aprovado
 if W-Media > 6 
 display " -------------------------------- " at 1728
 display MENSA6 at 1830
 display W-Media AT 1850
 display MENSA7 at 1930
 display W-Nome at 1943
 display MENSA9 at 2030
 display MENSA11 AT 2430
 display MENSA12 at 2530
 display " -------------------------------- " at 2128
 stop " "
 STOP run 
 else
* se media menor que 6, pedir nota do exame e recalcular media final. Exibir todos os dados.
 display MENSA8 at 0630
 accept W-Exame at 1321.
 divide (W-Media + W-Exame) by 2 giving W-Notaf
 if W-Notaf >= 6
 display " -------------------------------- " at 1728
 display MENSA6 at 1830
 display W-Notaf at 1850
 display MENSA7 at 1930
 display W-Nome AT 1943
 display MENSA9 at 2030
 display MENSA11 AT 2430
 display " -------------------------------- " at 2128
 stop " "
 STOP run
 else
 display " -------------------------------- " at 1728
 display MENSA6 at 1830
 display W-Notaf at 1850
 display MENSA7 at 1930
 display W-Nome AT 1943
 display MENSA10 at 2030.
 display MENSA11 AT 2430
 display " -------------------------------- " at 2128.
 Finaliza.
 Stop " ".
 Stop Run.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais