Você está na página 1de 100

CURSO DE COBOL BSICO 2014

eibneti
CONTATO: 3043-6060
SETOR COMERCIAL SUL BRASILIA DF

Professor: Reinaldo Tavares


CONTATOS:
TEL:(61) 8433-3527
brasiltavares@gmail.com
eibneti

MAINFRAME :
Mainframe um computador de grande porte,
para o processamento de um volume grande de
informaes. Os mainframes so capazes de
oferecer servios de processamento a milhares de
usurios atravs de milhares de terminais
conectados diretamente ou atravs de uma rede,
ao mesmo tempo (O termo mainframe se refere ao
gabinete principal que alojava a unidade central de
fogo nos primeiros computadores).

QUANDO SURGIU MAINFRAME?


Os mainframes nasceram em 1946 e foram
sendo aperfeioados. Em 7 de abril de 1964,
a IBMapresentou o System/360, mainframe
que, na poca, foi o maior projeto de uma
empresa. Desde ento, outras empresas
como a HP e a Burroughs (atual Unisys)
lanaram seus modelos de mainframe.
Existem mainframes em operao no
mundo inteiro.

O QUE FAZ UM MAINFRAME?


Processamento de massa dados enorme.
Agilidade no processamento. Garantia
processamento e armagenamento dos
dados. Disponibilidade 24 horas

por 7 dias durante todo o ano.

Onde se aplica os programas cobol


mainframe?

eibneti

EMPRESAS PRIVADAS E GOVERNO:


BANCO DO BRASIL
CEF
MINISTERIO DA JUSTIA (PF)
EXERCITO BRASILEIRO
SERPRO
CEB
OI
CAIXA SEGUROS
SICOOB
eibneti

TIPOS DE PROGRAMAS:
PROGRAMA BATCH
PROGRMA ONLINE

eibneti

INTRODUO A LGICA DE
PROGRAMAO

eibneti

O QUE LGICA?
Lgica (do grego logos1 ) tem dois
significados principais: discute o uso
de raciocnio em alguma atividade e o
estudo normativo, filosfico do RACIOCNIO v
lido.2 No segundo sentido, a lgica discutida
principalmente
nas disciplinasde filosofia, matemtica e cinci
a da computao.
eibneti

Introduo Lgica de Programao


Lgica de programao a tcnica de
encadear pensamentos para atingir
determinado objetivo.
Seqncia Lgica so passos executados at
atingir um objetivo ou soluo de um
problema.
Instrues so um conjunto de regras ou
normas definidas para a realizao ou
emprego de algo.
eibneti

10

EXERCICIO 1:

Descreva sua logica para tomar banho, em um


membro de um arquivo particionado. Com nome
do membro banho:
Regra: Tem que ter o seguinte comentrio:
Os Asterisco tem que comear na coluna 7 e at
72.
Tem que comear pela cabea e terminar no ps.
**************************************
* INICIO DO BANHO.
*
**************************************
*FIM DO BANHO.
*
**************************************
eibneti

11

ALGORITMO
Um algoritmo formalmente uma seqncia
finita de passos que levam a execuo de uma
tarefa.

eibneti

12

Programas :
Os programas de computadores
nada mais so do que algoritmos
escritos numa linguagem de
computador (Pascal, C, Cobol,
Fortran, Visual Basic entre
outras)
eibneti

13

PSEUDOCDIGO
Os algoritmos so descritos em uma
linguagem chamada pseudocdigo. Este nome
uma aluso posterior implementao em
uma linguagem de programao.

FASE: ENTRADA -> PROCESSAMENTO ->SAIDA


eibneti

14

Diagrama / fluxograma de Bloco


O diagrama de blocos uma forma
padronizada e eficaz para representar os
passos lgicos de um determinado
processamento.

eibneti

15

Constantes, Variveis
e
Tipos de Dados

eibneti

16

VARIAVEL
Uma varivel um espao reservado na
memria do computador para armazenar um
tipo de dado determinado.
EXEMPLO:
NOME DE FUNCIONARIO
NOME DA VARIAVEL: NOMFUNC
TAMANHO: 32 CARACTERES
TIPO: CARACTER
eibneti

17

Constantes
Constante um determinado valor fixo que
no se modifica ao longo do tempo, durante a
execuo de um programa. Conforme o seu
tipo, a constante classificada como sendo
numrica, lgica e literal.
EXEMPLO: MEDIA DE NOTA COM DUAS NOTAS
MEDIA = 2 -> MEDIA / (N1+N2)
eibneti

18

Tipos de Variveis
As variveis e as constantes podem ser
basicamente de quatro tipos: Numricas,
caracteres, Alfanumricas ou lgicas.

eibneti

19

Operadores

Os operadores so meios pelo qual


incrementamos, decrementamos,
comparamos e avaliamos dados dentro do
computador. Temos trs tipos de operadores:
OPERAO SMBOLO
Adio +
Subtrao Multiplicao *
Diviso /
Exponenciao **
eibneti

20

Hierarquia das Operaes Aritmticas


1 ( ) Parnteses
2 Exponenciao
3 Multiplicao, diviso (o que aparecer
primeiro)
4 + ou (o que aparecer primeiro)

eibneti

21

EXEMPLO
TOTAL = PRECO * QUANTIDADE
1 + 7 * 2 ** 2 1 = 28
3 * (1 2) + 4 * 2 = 5

eibneti

22

Operadores Relacionais

Descrio Smbolo
Igual a =
Diferente de <> ou #
Maior que >
Menor que <
Maior ou igual a >=
Menor ou igual a <=
eibneti

23

EXEMPLO
Tendo duas variveis A = 5 e B = 3
Os resultados das expresses seriam:
Expresso Resultado
A = B Falso
A <> B Verdadeiro
A > B Verdadeiro
A < B Falso
A >= B Verdadeiro
A <= B Falso
PAGINA:20
eibneti

24

Os operadores lgicos so:


E AND
OU OR
NO NOT

eibneti

25

EXEMPLO

Suponha que temos trs variveis A = 5, B = 8


e C =1
Os resultados das expresses seriam:
Expresses Resultado
A = B AND B > C Falso
A <> B OR B < C Verdadeiro
A > B NOT Verdadeiro
A < B AND B > C Verdadeiro
A >= B OR B = C Falso
A <= B NOT Falso
eibneti

26

EXERCICIO
Sabendo que A=3, B=7 e C=4, informe se as
expresses abaixo so verdadeiras ou falsas.
a) (A+C) > B
( )
b) B >= (A + 2) ( )
c) C = (B A)
( )
d) (B + A) <= C ( )
e) (C+A) > B
( )
eibneti

27

Operaes Lgicas

Pegar a bala
A bala de morango?
Se sim, no chupe a bala
Se no, continue com o algoritmo
Retirar o papel
Chupar a bala
Jogar o papel no lixo
PAGINA 23
eibneti

28

EXERCICIO
Elabore um diagrama de blocos que leia um
nmero. Se positivo armazene-o em A, se for
negativo, em B. No final mostrar o resultado

eibneti

29

Estrutura de Deciso e Repetio

eibneti

30

Comandos de Deciso
Os comandos de deciso ou desvio fazem
parte das tcnicas de programao que
conduzem a estruturas de programas que no
so totalmente seqenciais.
SE ENTO / IF ... THEN
SE MEDIA >= 5.0 ENTO ALUNO APROVADO

eibneti

31

EXEMPLO
IF MEDIA >= 5 Then
Text1 = APROVADO
ENDIF

eibneti

32

SE ENTO SENO / IF ... THEN ... ELSE


SE MDIA >= 5.0 ENTO

ALUNO APROVADO
SENO

ALUNO REPROVADO

eibneti

33

EXEMPLO
IF MEDIA >= 5 Then

Text1 = APROVADO
ELSE

Text1 = REPROVADO
ENDIF

eibneti

34

CASO SELECIONE / SELECT ... CASE


A estrutura de deciso CASO/SELECIONE
utilizada para testar, na condio, uma nica
expresso, que produz um resultado, ou,
ento, o valor de uma varivel, em que est
armazenado um determinado contedo.

eibneti

35

EXEMPLO

IF ACONTA EQUAL ZEROES


CASE TRUE
WHEN BCONTA = 2
MOVE 16 TO K
WHEN BCONTA = 3
MOVE 20 TO FATOR
MOVE 0 TO CCONTA DCONTA
WHEN BCONTA = 4
IF CAR-ENTRA EQUAL "N" OR "n
MOVE 3 TO FATOR
ELSE
MOVE 4 TO FATOR
END-IF
END-IF.

eibneti

36

Comandos de Repetio
Utilizamos os comandos de repetio quando
desejamos que um determinado conjunto de
instrues ou comandos sejam executados um
nmero definido ou indefinido de vezes, ou
enquanto um determinado estado de coisas
prevalecer ou at que seja alcanado.

eibneti

37

Trabalharemos com modelos de


comandos de repetio

Enquanto x, processar (Do While ...Loop);


At que x, processar ... (Do Until ... Loop);
Processar ..., Enquanto x (Do ... Loop While);
Processar ..., At que x (Do ... Loop Until)
Para ... At ... Seguinte (For ... To ... Next)

eibneti

38

EXEMPLO
Nr = 0
Do While Nr <= 100

Nr = Nr + 1

WRITE NR
Loop

eibneti

39

EXEMPLO
Nr = 0
Do Until Nr = 100

LER ARQUIVO

IF NOME-FUN = JOO

ENTO MOVE 100 TO NR

END-IF
Loop
eibneti

40

FIM INTRODUO A LGICA

INICIO A LINGUAGEM DE PROGRAMAO


COBOL

eibneti

41

HISTORIA DO COBOL

Em 1959, foi tomada a deciso de criar uma fonte de linguagem apropriada para dados comerciais, em uma reunio no Pentgono em
Washington, DC.
Os participantes desta reunio eram representantes de usurios de computadores na indstria privada e governo, fbricas de computadores e
outras partes interessadas.
O propsito da reunio era discutir a necessidade de uma linguagem geral, direcionada para servios dentro de dados comerciais, e a
possibilidade de criar desta maneira uma linguagem. Como resultado uma comisso foi nomeada com o nome de CODASYL (Conference On Data
System Languages).

A comisso comeou a analisar as questes discutidas na reunio e uma subcomisso foi, diretamente, incumbida da tarefa de definir uma
linguagem adaptada para administrar processamento de dados.
Em 1960, foi publicada a gramtica, usualmente chamada Relatrio COBOL-60. Esta linguagem continha inmeros erros e logo foi revisada, em
1961, e o Relatrio COBOL-61 foi publicado, formando a base para os mais comuns compiladores COBOL.
A continuao do trabalho da comisso estava mais concentrada em seguir todos os passos originados no Relatrio COBOL-61. Isto levou a uma
verso ampliada do COBOL, descrita em um Relatrio provisrio "COBOL-61 - Verso Estendida", que foi publicada em 1962.
Formalmente, isto significava que um nmero de novos elementos foi adicionado ao Relatrio anterior. Um relatrio completamente novo foi
publicado no fim do ano de 1965, e foi definido como COBOL-65. Ele continha praticamente todos os elementos de "Verso 4 Estendida", porm
numa forma totalmente revisada, junto com alguns elementos novos, projetados principalmente por causa do uso expressivo das memrias de
acesso aleatrio (RAM).
Embora o COBOL tenha sido desenvolvido e mantido pela CODASYL, ele foi tambm estabelecido como uma Linguagem Padro pelo Instituto
Americano de Padres Nacionais (ANSI).
Os fornecedores dos compiladores COBOL geralmente se baseavam no COBOL Padro Nacional Americano. Um padro inicial, noticiado em 1968,
foi revisado em 1974 e novamente na metade dos anos 80.

eibneti - Professor: Reinaldo Tavares

42

INTRODUO
COBOL SIGLA DE COMMOM BUSINESS
ORIENTED LANGUAGE E SIGNIFICA
LINGUAGEM PROJETADA PARA APLICAES
COMERCIAIS.
OBJETICO DO CURSO: TREINAR PESSOAS
COM ALGUM CONHECIMENTO DE LGICA DE
PROGRAMAO E MAINFRAME, PARTE
FISICA E LOGICA.
eibneti - Professor: Reinaldo Tavares

43

ESTRUTURA DO COBOL
O CODIGO FONTE POSSUI QUATRO DIVISES
QUE DEVEM SER ESCRITAS E CODIFICADAS
NESTA ORDEM:
IDENTIFICATION DIVISION
ENVIRONMENT DIVISION
DATA DIVISION
PROCEDURE DIVISION.

eibneti - Professor: Reinaldo Tavares

44

DIVISES DO COBOL

Todo programa COBOL consiste, obrigatoriamente, em 4 (quatro) divises separadas. Cada diviso
escrita em ingls, para diminuir o esforo e facilitar a compreenso do programa por pessoas
alheias ao processamento de dados. Cada uma das 4 (quatro) divises tem funes especficas.

A IDENTIFICATION DIVISION serve para identificar o programa no computador e tambm


proporciona informaes documentais que so de suma importncia para pessoas que no
entendem nada de processamento e queiram analisar superficialmente o programa.

A ENVIRONMENT DIVISION descreve o computador e os perifricos que sero utilizados pelo


programa.

A DATA DIVISION descreve os arquivos de entrada e sada que sero processados pelo programa,
especificando seus formatos. Tambm define as reas de trabalho e constantes necessrias para o
processamento dos dados.

A PROCEDURE DIVISION contm o cdigo que ir manipular os dados descritos na DATA DIVISION.
nesta diviso que o desenvolvedor descrever o algoritmo do programa.

Obervao: Esta diviso possui uma estrutura hierrquica e consiste de sees, pargrafos,
sentenas e comandos.

eibneti - Professor: Reinaldo Tavares

45

REGRAS PARA ESCREVER UM PROGRAMA COBOL

O COBOL POSSUI REGRAS RIGIDAS A SEREM SEGUIDAS:


COLUNA DE 1 A 6: REA DE NUMERAO SEQUENCIAL
COLUNA 7:
REA DE INDICAO (COMENTRIOS *)
COLUNAS DE 8 A 11: REA A
COLUNAS DE 12 A 72: REA B
COLUNAS DE 73 A 80: A PARTI DA SEGUNDA VERSO DO
PROGRAMA, SER PREENCHIDO PELO COMPILADOR COM O
NMERO DA VERSO.

eibneti - Professor: Reinaldo Tavares

46

DESCRIES DA REAS
COLUNA 7: (*) LINHA DE COMENTARIOS
COLUNA 8 A 72: INSTRUES DO COBOL
INICIANDO NA COLUNA 8:
Margem A
Cabealhos de diviso
Cabealhos de seo
Cabealhos de pargrafos
Cabealhos de entrada nas descries de arquivos
Cabealhos de entrada na descrio dos registros
INICIANDO NA COLUNA12
Margem B - codificao COBOL - comandos
eibneti - Professor: Reinaldo Tavares

47

PALAVRAS RESERVADAS COBOL


Uma palavra reservada uma palavra com
siginificador prefixo, ou seja, que tem um
significado prprio para o compilador.

eibneti - Professor: Reinaldo Tavares

48

REGRAS PARA FORMAO DE NOMES


1. Os nomes podem ser formados pelos
caracteres 0 a 9, A aZ e hfen. No podem ser
indicados nem finalizados com hfen.
2. O tamanho mximo dos nomes da 30
caracteres, eles no podem conter espaos.
3. Com execeo dos nomes de procedimento,
dever existir pelo menos uma letra.
4. Os nomes externos ter no mximo 8
caracter.
eibneti - Professor: Reinaldo Tavares

49

RESUMO
COBOL a sigla de Commom Business Oriented
Languaged, Linguagem projetada para aplicaes
comerciais.
O cdigo fonte possui quatro divises que devem ser
escritas, codificadas nesta ordem: IDENTIFICANTION
DIVISION, ENVIRONMENT DIVISION, DATA DIVISION E
PROCEDURE DIVISION.
Todo programa escrito na linguagem COBOL possui
algumas regras rgidas a serem seguidas, assim como
uma redao, que possui incio, meio e fim.
Uma palavra reservada com significado prefixo, isto ,
que tem um significado prprio para o compilador.
eibneti - Professor: Reinaldo Tavares

50

ESTRUTURA DO COBOL (DIVISES)


IDENTIFICAN DIVISION
ENVIRONMENT DIVISION
CONFIGURATION SECTION
INPUT-OUTPUT
DATA DIVISION
FILE SECTION
WORKING-STORAGE SECTION
LINKAGE SECTION
SCREEN SECTION
REPORT SECTION
PROCEDURE DIVISION
SECTION
PARAGRAFOS
eibneti - Professor: Reinaldo Tavares

51

IDENTIFICADION DIVISION
IDENTIFICATION DIVISION.
PROGRAM-ID. NOME DO PROGRAMA COM TAMANHO DE NO MAXIMO 8
POSIES ALFANMERICAS.
AUTHOR. NOME DO AUTOR DO PROGRMA.
INSTALALLATION. NOME DA EMPRESA OU LOCAL DE GERAO DO PROGRAMA.
DATE-WRITTEN. Data em que o propgrama foi complado.
SECURITY. COMENTARIOS SOBRE A SEGURANA DO PROGRMA E OU SEUS
ARQUIVOS.
REMARKS. COMENTARIOS ADICIONAIS SOBRE O PROGRMA.
ATENO: O NOME DO PROGRAMA RECOMENDA QUE SEJA IGUAL DO NOME DO
MEMBRO DO PARTICIONADO.
OBS: OS QUE ESTO DE VERMELHO SO OBRIGATORIOS. OS OUTROS SO
OPCIONAIS.

eibneti - Professor: Reinaldo Tavares

52

EXEMPLO

eibneti - Professor: Reinaldo Tavares

53

EXERCICIO 1
CRIE UM MEMBRO NO ARQUIVO
PARTICIONADO, SALVE COM O NOME
PROGAULA.
ESCREVA O PROGRAMA FONTE IGUAL DO
EXEMPLO APRESENTADO. ALTERADO O NOME
DO AUTHOR E PROGRAMADOR.
ATENO: OBSERVANDO AS REGRAS.

eibneti - Professor: Reinaldo Tavares

54

ENVIROMENT DIVISON
Contm instrues ou comandos que
descrevem o ambiente fsico em que o
programa executado. Faz a interface dos
arquivos que o programa usar com os arquivos
fsicos.

eibneti - Professor: Reinaldo Tavares

55

ESTRUTURA ENVIRONMENT DIVISION


ENVIRONMENT DIVISION.
CONFIGURANTION SECTION.
SOURCE-COMPUTER.
OBJECT-COMPUTER.
SPECIAL-NAMES.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
I-O CONTROL.
eibneti - Professor: Reinaldo Tavares

56

ENVIRONMENT DIVISION
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES. DECIMAL-POINT IS COMMA.
No parmetro SPECIAL-NAMES, normalmente se define a
converso da notao de valores monetrios com casas
decimais do padro americano para o brasileiro.
Outros parametros so opcionais.
Exemplo: Padro americano US$ 123,456,798.00
convertido para
R$ 123.456.789,00
eibneti - Professor: Reinaldo Tavares

57

ENVIRONMENT DIVISION
INPUT-OUTPUT SECTION.
Esta seo destina-se a configurao do
ambiente de leitura e gravao, ela possui duas
partes:
FILE-CONTROL E I-OCONTROL
A primeira destina-se a especificaes dos
arquivos que o programa ir acessar.

eibneti - Professor: Reinaldo Tavares

58

ENVIRONEMNT DIVISON
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT ARQENT01 ASSIGN ARQENT01
ORGANIZATION IS SEQUENTIAL.
SELECT SAIDA01 ASSIGN SAIDA01
ORGANIZATION IS SEQUENTIAL.
Define os arquivos a serem utilizados na
programao, sua organizao, meio de acesso,
chaves primarias e/ou secundarias.
eibneti - Professor: Reinaldo Tavares

59

EXEMPLO

eibneti - Professor: Reinaldo Tavares

60

RESUMO
A ENVIRONMENT DIVISION: DESCREVER O
AMBIENTE FSICO. Arquivos de entrada e saida
CONFIGURANTION SECTION.
SPECIAL-NAMES. DECIMA-POINT IS COMMA.
DEFINE PADRO MONETRIO.
INPUT-OUTPUT SECTION:
CONFIGURAO DO AMBIENTE DE LEITURA E
GRAVAO.
eibneti - Professor: Reinaldo Tavares

61

Exercicio 2
Escreva no programa fonte criado no exercicio 1,
A ENVIRONMENT DIVISION, conforme a
apresentao.

eibneti - Professor: Reinaldo Tavares

62

COMANDO PERFORM
COMANDO USADO PARA ESTRUTURA OS PROCEDIMENTOS DO PROGRAMA.

eibneti - Professor: Reinaldo Tavares

63

PERFORM FORMADO POR PARAGRAFOS.


OBS: TODO PARAGRAFO TEM QUE SER FINALIZADO COMO COMANDO EXIT.

eibneti - Professor: Reinaldo Tavares

64

PERFORM COM OPO UNTIL. NO FORMATO COM A OPO UNTIL. A PROCEDURE REFERIDA
EXECUTADA AT QUE A CONDIO ESPECIFICADA PELA OPO UNTIL SEJA VERDADEIRA. O CONTROLE
ENTO E PASSADO PARA A PRXIMA INSTRUO SEGUINTE AO PERFORM.
SE A CONDIO FOR VERDADEIRA NO MOMENTO EM QUE O PERFORM FOR INICIADO, AS PROCEDURES
ESPECIFICADAS NO SERO EXECUTADAS.

eibneti - Professor: Reinaldo Tavares

65

COMANDO IF E ELSE. COMANDO DE DESIO


INSTRUO IF THEN ELSE.
SINAIS DE COMPARAO LOGICAS:
>
GREATER THAN
<
LESS THAN
=
EQUAL TO

eibneti - Professor: Reinaldo Tavares

66

COMANDO ACCEPT
CAPTURA DADOS DO SISTEMA : DATE, DAY E TIME
FORMATO E OPES:
DATE: TEM IMPLICITO PIC 9(06)
FORMADO YYMMDD DATA GREGORIANA
DAY: TEM IMPLICITO PIC 9(05)
FORMADO YYDDD DATA JULIANA
TIME: TEM IMPLICITO PIC 9(08)
FORMADO HHMMSSCC HORA, MINUTO, SEGUNDO E CENTSIMOS DE SEGUNDO

eibneti - Professor: Reinaldo Tavares

67

COMANDOS DISPLAY.
ENVIA DADOS PARA UM DISPOSITIVO

eibneti - Professor: Reinaldo Tavares

68

COMANDO MOVE
COPIA UM DADO EM CAMPO DE MEMRIA PARA OUTRO.

eibneti - Professor: Reinaldo Tavares

69

EXERCICIO DE COMANDOS
DESENVOLVA UM PROGRAMA COBOL. ESSE
PROGRAMA TEM QUE CAPTURA OS DADOS DO
SISTEMA E FAZER UM DISPLAY DE CADA OPO.
(DATE, DAY E TIME). E VIRIFICAR A DATA. SE
INFERIOR A DATA DA APRESENTAO. SE SIM,
MOSTRA O SEGUINTE DISPLAY DATA INFERIOR
DO SISTEMA.
COMO EST NAS APRESENTES.
COPIE O PROGRMA EXEMPLO01 DO DATA SET
SUPORTE.CURSO.REXX.
eibneti - Professor: Reinaldo Tavares

70

Estudar
https://www.youtube.com/watch?v=K7FERaFIVH4&feature=related

eibneti - Professor: Reinaldo Tavares

71

COMANDO ADD
COMANDO PARA ADICIONAR

eibneti - Professor: Reinaldo Tavares

72

LEITURA DE ARQUIVO SEQUENCIAL.


A ARQUIVO SEQUENCIAL QUE OS REGISTROS SERO ARMAZENADOS UM
APS O OUTRO, OU SEJA, ASSIM QUE TERMINA UM REGISTRO TER INICIO.,
POR EXEMPLO

eibneti - Professor: Reinaldo Tavares

73

DEFINIO DE ARQUIVO SEQUENCIAL


PRIMEIRA PARTE: NA INPUT-OUTPUT SECTION NA FILE-CONTROL.

eibneti - Professor: Reinaldo Tavares

74

SEGUNDO PASSO PARA DECLARAO DO ARQUIVO SEQUENCIAL.


NA DATA DIVISION NA FILE SECTION.
OPCINAL A DECLARAO DO CAMPOS.
A DECLARAO DOS CAMPOS TEM QUE SER IGUAL O LAYOUT DO ARQUIVO.

eibneti - Professor: Reinaldo Tavares

75

TERCEIRO PASSO:
TEM QUE QUE ABRIR O ARQUIVO.
OPEN INPUT.
OPEN: COMANDO IR DISPONIBILIZAR UM CANAL COM O ARQUIVO PARA QUE O PROGRAMA FAA AS OPERAES
NECESSARIAS. INDICA QUE O PROGRAMA PODER APENAS FAZER LEITURAS NO ARQUIVO, NO PODENDO FAZER NENHUM
GRAVAO. PARA TANTO O ARQUIVO DEVER TER SIDO CRIADO ANTERIORMENTE.

eibneti - Professor: Reinaldo Tavares

76

LEITURA DO ARQUIVO SEQUENCIAL


COMANDO READ

eibneti - Professor: Reinaldo Tavares

77

FECHANDO UM ARQUIVO SEQUENCIAL.


COMANDO CLOSE.
OBS: TODO ARQUIVO TEM QUE ABRIR E FECHAR.

eibneti - Professor: Reinaldo Tavares

78

GRAVAO DE ARQUIVO SEQUENCIAL:


EXECUTA OS PASSOS 1,2 E 3 DO ARQUIVO DE ENTRADA(INPUT)
ABRIR O ARQUIVO:
OPEN OUTPUT
OUTPUT: INDICA QUE O PROGRAMA PODER APENAS GRAVAR NO ARQUIVO

eibneti - Professor: Reinaldo Tavares

79

GRAVAO DE ARQUIVO SEQUENCIAL:


EXECUTA OS PASSOS 1,2 E 3 DO ARQUIVO DE ENTRADA(INPUT)

eibneti - Professor: Reinaldo Tavares

80

GRAVANDO REGISTRO NO ARQUIVO DE SAIDA (OUTPUT)


COMANDO WRITE

eibneti - Professor: Reinaldo Tavares

81

EXERCICIO DE GRAVAO LEITURA E


GRAVAO
COPIAR O PROGRAMA EXEMPLO2 DO DATA SET SUPORTE.CURSO
REXX. FAZER AS MODIFICAES NECESSRAIS.NOME DO
PROGRAMADOR E ETC.
FAZER A DECLARAO DOS CAMPOS CONFORME O LAYOUT, QUE
PROFESSOR PASSOU.
FAZER DISPLAY DO TOTAL DE REGISTROS LIDOS. NO FINAL DO
PROCESSAMNETO.
GRAVAR O HEADER NO ARQUIVO DE SAIDA CONFORME LAYOUT DO
PROFESSOR.
GRAVAR O DATALHE MOTIFICANDO O TIPO DE REGISTRO PARA 01.
GRAVAR O TRAILER DO ARQUIVO CONFORME O LAYOUT.
COMPILAR E EXECUTAR. INFORMAES DE COMPILAO E
EXECUO COM PROFESSOR.
OBS: SEGUIR AS ORIENTAES QUE ESTO NO QUADRO
eibneti - Professor: Reinaldo Tavares

82

COMANDOS ARITMTICOS

+
ADD
- SUBTRACT
* MULTIPLY
/ DIVIDE

eibneti - Professor: Reinaldo Tavares

83

COMANDO COMPUTE
Se uma instruo aritmtica for suficiente, use-a; se for necessrio mais
de uma, use o comando COMPUTE
A instruo COMPUTE usa smbolos em vez de comandos aritmticos.
A principal vantagem do comando COMPUTE que pode realizar vrias
operaes aritmticas com uma nica instruo, conforme exemplos
abaixo:
COMPUTE VENDAS-DIARIAS = QUANTIDADE * VALOR-UNITARIO / 5

eibneti - Professor: Reinaldo Tavares

84

EXEMPLO

eibneti - Professor: Reinaldo Tavares

85

eibneti - Professor: Reinaldo Tavares

86

EXERCICIO
ADICIONAR NO EXERCICIO ANTERIOR, A
MEDIA DO SALARIOS. USANDO OS
COMANDOS APRESENTADOS.
FAZENDO UM DISPLAY DA MEDIA.

eibneti - Professor: Reinaldo Tavares

87

COMANDO EVALUATE:
A instruo EVALUATE, semelhana do verbo IF, permite alterar o fluxo do programa em funo dos
seus dados. Ao encontrar o EVALUATE, cada uma das suas condies ser avaliada at se encontrar uma que
seja verdadeira. Seguidamente, o cdigo associado a essa condio executado e, posteriormente,
executada a instruo seguinte ao EVALUATE. LEMBRETE: A INSTRUO EVALUATE PERMITE CODIFICAR A
ESTRUTURA CASE DA APROGRAMAO ESTRUTURADA.

eibneti - Professor: Reinaldo Tavares

88

COMO O COMANDO QUE DECLAREI PARA SER EXECUTADO NO


EVALUATE FOI PERFORM. SEGUE AS DECLARAES DO
PARAGRAFOS.

eibneti - Professor: Reinaldo Tavares

89

EXERCICIO
USANDO O COMANDO EVALUATE: LER TODOS
REGISTROS, COMPARA O CAMPO DA FUNO
E FAZER UM DISPLAY DA FUNO. USAR O
PROGRAMA ATUAL.

eibneti - Professor: Reinaldo Tavares

90

COMANDO FILE STATUS


O FILE STATUS permite ao usurio monitorar a execuo de
operaes de entrada e sada (I/O) requisitadas para os
arquivos de um programa.
Aps cada operao de I/O, o sistema move um valor para a
STATUS KEY (campo alfanumrico, com 2 caracteres
definidos na WORKING-STORAGE SECTION e especificado
na ENVIRONMENT DIVISION, atravs do SELECT) que acusa
o sucesso ou o insucesso da operao.
Qualquer valor movido para a STATUS KEY diferente de
zeros, revela que a execuo no foi bem sucedida.

eibneti - Professor: Reinaldo Tavares

91

EXEMPLOS DE OPERAO DE I/O COM


FILE STATUS

OPEN
START
WRITE
READ
REWRITE
CLOSE

eibneti - Professor: Reinaldo Tavares

92

EXEMPLO:
PRIMEIRO PASSO

eibneti - Professor: Reinaldo Tavares

93

EXEMPLO:
SEGUNDO PASSO

eibneti - Professor: Reinaldo Tavares

94

EXEMPLO:
TERCEIRO PASSO
OBS: ONDE ESTIVER UMA OPERAO COM ARQUIVO, TEM QUE TER A DECLARAO, PARA VERIFICAR
SER A OPERAO FOI FEITA COM SUCESSO.

eibneti - Professor: Reinaldo Tavares

95

CLAUSULA OCCURS
UMA REA DE TABELA PODE SER DEFINIDA
WORKING-STORAGE SECTION, UTILIZANDO
OCCURS.

eibneti

96

EXEMPLO

eibneti

97

eibneti

98

RESULTADO

eibneti

99

EXERCICIO
DESENVOLVA UM PROGRAMA CONFORME AS
ORIENTAES:
ESSE PROGRAMA VAI LER UM ARQUIVO DE ENTRADA
COM HEADER, DETALHE E TRAILER.
VAI GERA DOIS ARQUIVOS COM HEADER, DETALHE E
TRAILER. UM ARQUIVO E DE ANALISTA OUTRO
DESENVOLVEDOR. CONFORME O LAYOUT.
MOSTRA TOTAL DE REGITRO.
MOSTRA TOTOAL DE REGSITRO DE CADA ARQUIVO.
MEDIA DE SALARIO.
USAR A CLAUSULA OCCURS.
eibneti

100

Você também pode gostar