Você está na página 1de 5

Lista de exerccios Cobol LTPII Prof.

. Alexandre Beletti Ferreira 1 Faa um programa para exibir a frase Ol na posio absoluta da linha 1 e coluna 50, exibir a frase Mundo! na posio relativa (utilizando variveis) na linha 2 coluna 1. Alm disso dever aceitar a entrada via teclado de uma varivel denominada nome do tipo alfanumrica (X) de tamanho 30 caracteres na posio absoluta da linha 3 coluna 1 e aceitar a mesma varivel na posio relativa (utilizando variveis) na linha 2 coluna 1. 2 Crie um programa atravs da SCREEN SECTION que possa limpar a tela e exibir o menu seguinte: 1 Incluir 2 Excluir 3 Alterar 4 Consultar 5 Sair

3 Faa um programa que grave registros da seguinte estrutura, em um arquivo seqencial: codigo = 3 bytes nome = 30 bytes telefone = 15 bytes Obs: Respostas nas pginas seguintes.

Resposta Exerccio 1.
IDENTIFICATION DIVISION. PROGRAM-ID. lista1. *> Divisao de dados DATA DIVISION. *> Secao de armazenamento para trabalho *> Suas variaveis e constantes estarao na sequencia WORKING-STORAGE SECTION.

*> Cria variavel de nivel 77 (sem sub-nivel) do tipo numerica *> com duas casas inteiras com valor inicial 2 77 linha PIC 9(2) VALUE 2. *> Cria variavel de nivel 77 (sem sub-nivel) do tipo numerica *> com duas casas inteiras com valor inicial 1 77 coluna PIC 9(2) VALUE 1. *> *> *> *> 77 Cria variavel de nivel 77 (sem sub-nivel) do tipo alfanumerica (aceita valores alfabeticos e numericos) com 30 caracteres com valor inicial todo preenchido com espacos nome PIC X(30) VALUE SPACES.

*> Divisao do codigo propriamente dito (procedural) PROCEDURE DIVISION. *> Uma das maneiras possiveis para limpar o video DISPLAY ERASE. *> Exibindo um texto em uma posicao absoluta *> Nesse caso na linha 01 e coluna 50 DISPLAY "Ola..." AT 0150. *> Exibindo um texto em uma posicao relativa *> Nesse utilizando as variaveis: linha e coluna DISPLAY "Mundo!" AT LINE linha COL coluna. *> Aceitando a entrada de dados via teclado em uma *> posicao absoluta ACCEPT nome AT 0301. *> Aceitando a entrada de dados via teclado em uma *> posicao relativa: linha e coluna ACCEPT nome AT LINE linha COL coluna. *> Dar uma "pausa" STOP " ". *> Parando o programa STOP RUN.

Resposta exerccio 2.
IDENTIFICATION DIVISION. PROGRAM-ID. lista2. *> Divisao de dados DATA DIVISION. *> Secao de armazenamento de telas SCREEN SECTION. 01 tela. 02 BLANK SCREEN. 02 LINE 01 COLUMN 01 VALUE "1 - Incluir". 02 LINE 02 COLUMN 01 VALUE "2 - Excluir". 02 LINE 03 COLUMN 01 VALUE "3 - Alterar". 02 LINE 04 COLUMN 01 VALUE "4 - Consultar". 02 LINE 05 COLUMN 01 VALUE "5 - Sair". *> Divisao do codigo propriamente dito (procedural) PROCEDURE DIVISION. *> Chamando a tela para ser exibida DISPLAY tela. *> Realiza uma "pausa" STOP " ". *> Parando o programa STOP RUN.

Resposta exerccio 3.
IDENTIFICATION DIVISION. PROGRAM-ID. lista2. *> Divisao para configuracao do ambiente e associacao *> logica de arquivos fisicos ENVIRONMENT DIVISION. *> Secao de arquivos INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT arq1 ASSIGN "cadcli.dat" ORGANIZATION LINE SEQUENTIAL FILE STATUS arq1-status.

*> Divisao de dados DATA DIVISION. *> Secao de arquivos dentro da divisao de dados FILE SECTION. *> Descritor FD arq1. 01 reg-arq1. 02 codigo 02 nome 02 telefone do arquivo. Define a estrutura do arquivo

PIC 9(3). PIC X(30). PIC X(15).

*> Area de armazenamento de dados WORKING-STORAGE SECTION. *> Variavel para salvar o status do arquivo 77 arq1-status PIC 9(2) VALUE ZEROS. *> Divisao do codigo propriamente dito (procedural) PROCEDURE DIVISION. *> Limpar o video DISPLAY ERASE. *> Mostrando valores no video DISPLAY "Codigo..:" AT 0101. DISPLAY "Nome....:" AT 0201. DISPLAY "Telefone:" AT 0301. *> Preenchendo os valores para TENTAR escrever no arquivo ACCEPT codigo AT 0111. ACCEPT nome AT 0211. ACCEPT telefone AT 0311. *> Abrindo o arquivo posicionando para inclusao OPEN EXTEND arq1. *> Se ocorreu algum erro fechar o arquivo e sair IF arq1-status <> 0

CLOSE arq1 STOP RUN END-IF. *> Tentando escrever o registro WRITE reg-arq1. *> Se ocorreu algum erro fechar o arquivo e sair IF arq1-status <> 0 CLOSE arq1 STOP RUN END-IF. *> Se foi tudo bem ate aqui, fechar o arquivo CLOSE arq1. *> Realiza uma "pausa" STOP " ". *> Parando o programa STOP RUN.

Você também pode gostar