Escolar Documentos
Profissional Documentos
Cultura Documentos
eibneti
CONTATO: 3043-6060
SETOR COMERCIAL SUL BRASILIA DF
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).
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
10
EXERCICIO 1:
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.
14
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
20
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
eibneti
25
EXEMPLO
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
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
ALUNO APROVADO
SENO
ALUNO REPROVADO
eibneti
33
EXEMPLO
IF MEDIA >= 5 Then
Text1 = APROVADO
ELSE
Text1 = REPROVADO
ENDIF
eibneti
34
eibneti
35
EXEMPLO
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
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
END-IF
Loop
eibneti
40
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.
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.
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 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.
45
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
48
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
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.
52
EXEMPLO
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.
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.
55
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.
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
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.
62
COMANDO PERFORM
COMANDO USADO PARA ESTRUTURA OS PROCEDIMENTOS DO PROGRAMA.
63
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.
65
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
67
COMANDOS DISPLAY.
ENVIA DADOS PARA UM DISPOSITIVO
68
COMANDO MOVE
COPIA UM DADO EM CAMPO DE MEMRIA PARA OUTRO.
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
71
COMANDO ADD
COMANDO PARA ADICIONAR
72
73
74
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.
76
77
78
79
80
81
82
COMANDOS ARITMTICOS
+
ADD
- SUBTRACT
* MULTIPLY
/ DIVIDE
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
84
EXEMPLO
85
86
EXERCICIO
ADICIONAR NO EXERCICIO ANTERIOR, A
MEDIA DO SALARIOS. USANDO OS
COMANDOS APRESENTADOS.
FAZENDO UM DISPLAY DA MEDIA.
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.
88
89
EXERCICIO
USANDO O COMANDO EVALUATE: LER TODOS
REGISTROS, COMPARA O CAMPO DA FUNO
E FAZER UM DISPLAY DA FUNO. USAR O
PROGRAMA ATUAL.
90
91
OPEN
START
WRITE
READ
REWRITE
CLOSE
92
EXEMPLO:
PRIMEIRO PASSO
93
EXEMPLO:
SEGUNDO PASSO
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.
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