SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Direitos Autorais – Escola de Programadores 1 
CADERNO 
DE 
EXERCÍCIOSSS
Direitos Autorais – Escola de Programadores 2 
Exercício 1: Desenvolver um programa que receba uma informação passada via JCL e exiba o conteúdo desta informação na sysout de execução. Utilizar os seguintes comandos: ACCEPT, DISPLAY, DATE, TIME e DAY-OF-WEEK Exercício 2: Desenvolver um programa que efetue as 4 operações aritméticas, sendo que para cada operação, deverá ser exibido o valor do cálculo. Utilizar os seguintes comandos: ADD, SUBTRACT, MULTIPLY, DIVIDE E COMPUTE Exercício 3: Desenvolver um programa para ler números, até o final da lista e exibir somente os números maiores que 100. No final mostrar a quantidade total de números maiores que 100. Exercício 4: Desenvolver um programa usando a técnica de AVALIE ou EVALUATE, em que dada a idade de N nadadores, até idade = ZEROS, acumule a quantidade total de alunos em cada categoria, de acordo com a classificação abaixo: 
- Baby = até 4 anos 
- Infantil A = 5 a 7 anos 
- Infantil B = 8 a 11 anos 
- Juvenil A = 12 a 13 anos 
- Juvenil B = 14 a 17 anos 
- Adultos = Maiores de 18 anos 
No final mostrar a quantidade de nadadores em cada categoria. Exercício 5: Desenvolver um programa que identifique os números pares e impares. Processamento: Receber um número via entrada padrão - SYSIN, no formato PIC 9(03), verificar se o mesmo é par ou impar e exibir a mensagem correspondente via saída padrão – SYSOUT. Repetir o processamento, até receber um número igual a 000.
Direitos Autorais – Escola de Programadores 3 
Exercício 6: Desenvolver um programa, utilizando os comandos PERFORM THRU e PERFORM UNTIL, conforme as seguintes etapas. - Ler o arquivo ENTRADA, até o fim - Selecionar os clientes que possuam idade superior a 60 anos e residam em São Paulo. - Gravar os dados selecionados no arquivo SAIDA. - Exibir total de Qtde. Reg.Lidos, Qtde. Reg. Gravados e Qtde. Reg. Desprezados LAYOUT – ENTRADA – Tamanho do registro (LRECL) 100 posições CODIGO NOME ENDEREÇO TELEFONE IDADE CIDADE 
9(04) 
X(25) 
X(30) 
9(08) 
9(03) 
X(20) 
X(10) 
LAYOUT – SAIDA – Tamanho do registro (LRECL) 100 posições CODIGO NOME ENDEREÇO TELEFONE IDADE CIDADE 
9(04) 
X(25) 
X(30) 
9(08) 
9(03) 
X(20) 
X(10) 
Exercício 7:
Direitos Autorais – Escola de Programadores 4 
Exercício 8: Desenvolver um programa estruturado que reflita a somatória dos gastos por agência e conta do “Contas Corrente A” e grave o resultado no “Contas Corrente B”. Importante: Poderá haver vários registros no “Contas Corrente A” com a mesma agência e conta, neste caso somente um registro será gravado no “Contas Corrente B” com a somatória dos registros do “Contas Corrente A”. Exercício 9: Desenvolver um programa que leia o cadastro de alterações e grave o cadastro de alunos, exibindo a quantidade de inserções efetuadas.
Direitos Autorais – Escola de Programadores 5 
Exercício 10: 
Codificar o programa EXEMPLO da apostila COBOL, criando os seus arquivos com dados 
sugeridos pelo professor. Execute o programa e anote os resultados abaixo: 
Qtde. Reg. Lidos no ARQENT 
Qtde. Reg. Gravados no ARQSAI 
Hora do início do processamento 
Hora do final do processamento 
Exercício 11: 
Fluxo e descrição do processamento 
ESTOQUE 
REPOSICAO 
GP20Bxxx REG. LIDOS 
REG.GRAVADOS 
Layouts dos arquivos de entrada e saída 
ENTRADA – ESTOQUE – tamanho do registro (LRECL) 50 posições 
CODPROD-E DESCRICAO-E QTDEST-E QTDMIN-E QTDMAX-E PRECO-E 
Ler os registros do arquivo ESTOQUE gerando o arquivo 
REPOSICAO com os itens em estoque que deverão ser 
repostos. 
Um item deverá ser reposto quando a quantidade em 
estoque for menor que a quantidade mínima; 
Calcular a quantidade de reposição como a diferença entre 
a quantidade máxima e a quantidade em estoque. 
QTDREP-S = QTDMAX-E – QTDEST-E. 
Ao final do processamento informar o total de registros 
lidos e o total de registros gravados.
Direitos Autorais – Escola de Programadores 6 
9(04) X(25) 9(03) 9(03) 9(03) 9(04)v99 X(06) 
SAIDA – REPOSICAO – tamanho do registro (LRECL) 20 posições 
CODPROD-S QTDEST-S QTDMAX-S QTDREP-S PRECO-S 
9(04) 9(03) 9(03) 9(03) 9(04)V99 X(01) 
Mensagem final – totais de registros lidos e gravados 
TOTAIS DO PROCESSAMENTO 
TOTAL DE REGISTROS LIDOS...: 999 
TOTAL DE REGISTROS GRAVADOS: 999 
------- FINAL DE EXECUCAO ------ 
Exercício 12: 
Quebra de pagina com totalização por pagina e geral 
Fluxo e descrição do processamento 
RELATO 
CADALUNO 
GP50Bxxx 
Layouts dos arquivos de entrada e saída 
ENTRADA – CADALUNO 
CLASSE-E NUM-E NOME-E ENDE-E NOTA1-E NOTA2-E NOTA3-E IDADE-E 
X(03) 9(03) X(40) X(40) 99v99 99v99 99v99 9(02) 
SAIDA – RELATO – imprimir 50 linhas por pagina 
1...5...10....5...20....5...30....5...40....5...50....5...60....5...70....5...80 
dd/mm/aaaa ESCOLA DA VIDA - RELACAO DE ALUNOS POR SALA DE AULA PAG. 99 
CODIGO DA CLASSE 999 
NUMERO NOME DO ALUNO NOTA1 NOTA2 NOTA3 MEDIA 
Ler os registros do arquivo CADALUNO gerando relação de alunos por sala 
de aula. 
Ao final de cada classe informar o total de alunos e a media da classe. 
Imprimir ao final da ultima página. 
Iniciar a impressão de nova classe em nova pagina. 
Ao final do processamento imprimir, em pagina separada, com o primeiro 
cabeçalho o total de classes, o total de alunos da escola e media entre os 
alunos da escola: 
Media do aluno : 
(NOTA1 x 2 + NOTA2 x 2 + NOTA3 x 3) / 7 
Média da classe: 
médias dos alunos da classe / total de alunos da classe 
Média geral : 
médias de todos os alunos / total de alunos da escola
Direitos Autorais – Escola de Programadores 7 
999 x......................................x Z9,99 Z9,99 Z9,99 Z9,99 
999 x......................................x Z9,99 Z9,99 Z9,99 Z9,99 
999 x......................................x Z9,99 Z9,99 Z9,99 Z9,99 
999 x......................................x Z9,99 Z9,99 Z9,99 Z9,99 
999 x......................................x Z9,99 Z9,99 Z9,99 Z9,99 
TOTAL DE ALUNOS... 999 - MEDIA DA CLASSE Z9,99 
TOTAL DE CLASSES... 99 - TOTAL DE ALUNOS... 999 - MEDIA GERAL.... Z9,99 
Exercício 13: 
Atualizando o cadastro de funcionários 
Fluxo do processamento 
CADFUNCA 
GP60Bxxx 
RELATO 
CADMOVTO 
CADFUNCN 
Descrição do Processamento 
Gravar versão atualizada do Cadastro de Funcionários – CADFUNCN - a partir do processamento 
dos arquivos CADFUNCA e CADMOVTO, gerando relatório com as ocorrências encontradas 
durante a execução. 
Regras para o processamento 
Todos os registros nos arquivos CADFUNCA e CADMOVTO estão classificados em ordem 
ascendente pelo código do funcionário CODFUN; 
O campo TIPO-M, no arquivo CADMOVTO indica a operação que deverá ser realizada: 
TIPO-M = „A‟  Alteração de dados cadastrais; 
TIPO-M = „I‟  Inclusão de registro de novo funcionário; 
TIPO-M = „E‟  Exclusão de registro do arquivo CADFUNCA. 
Ler inicialmente um registro do arquivo CADFUNCA e um registro do arquivo CADMOVTO, 
procedendo conforme segue: 
1 CODFUN-A = CODFUN-M  Alteração de dados ou exclusão de registro 
 Se TIPO-M = „A‟, mover os campos do registro do arquivo CADMOVTO, com conteúdo válido, 
para o registro do cadastro de funcionários CADFUNCA e gravar o registro atualizado no 
arquivo CADFUNCN. Listar o registro do arquivo CADFUNCA antes e depois da alteração com 
as mensagens correspondentes. 
CONTEÚDO VÁLIDO: campos numéricos com conteúdo > 0 e alfanuméricos com 
conteúdo <> de brancos. 
 Se TIPO-M = „E‟, não gravar o registro do arquivo CADFUNCA no arquivo CADFUNCN. Listar 
o registro eliminado com a mensagem correspondente.
Direitos Autorais – Escola de Programadores 8 
 Se TIPO-M <> „A‟ ou „E‟, gravar o registro do arquivo CADFUNCA no arquivo CADFUNCN sem qualquer alteração. Listar o registro do arquivo CADFUNCA com a mensagem correspondente. 
 Ler novo registro dos arquivos CADFUNCA e CADMOVTO. 
CODFUN-A < CODFUN-M  Permanência (registro sem alteração) 
 Gravar o registro do arquivo CADFUNCA no arquivo CADFUNCN, sem qualquer alteração. Não listar o registro. 
 Ler novo registro do arquivo CADFUNCA. 
CODFUN-A > CODFUN-M  Inclusão de novo registro do Cadastro de Funcionários 
 Se TIPO-M = „I‟, mover os campos do registro do arquivo CADMOVTO para a nova versão do cadastro de funcionários CADFUNCN e gravar o novo registro. Listar o registro com a mensagem correspondente. 
IMPORTANTE: O campo TIPO-M não faz parte do registro do arquivo CADFUNCN e, portanto não deve ser movido. 
 Se TIPO-M <> „I‟, listar o registro do arquivo CADMOVTO com a mensagem correspondente. 
 Ler novo registro do arquivo CADMOVTO. 
Layouts dos arquivos de entrada e saída 
ENTRADA – CADFUNCA – REGISTRO: 80 POSIÇÕES CODFUN-A NOME-A FUNCAO-A SALARIO-A VENCTOS-A DESCTOS-A 
9(04) 
X(35) 
X(20) 
9(04)v99 
9(04)v99 
9(04)v99 
X(03) 
ENTRADA – CADMOVTO – REGISTRO: 80 POSIÇÕES CODFUN-M NOME-M FUNCAO-M SALARIO-M VENCTOS-M DESCTOS-M TIPO-M 
9(04) 
X(35) 
X(20) 
9(04)v99 
9(04)v99 
9(04)v99 
X(01) 
X(02) 
SAIDA – CADFUNCN – REGISTRO: 80 POSIÇÕES CODFUN-N NOME-N FUNCAO-N SALARIO-N VENCTOS-N DESCTOS-N 
9(04) 
X(35) 
X(20) 
9(04)v99 
9(04)v99 
9(04)v99 
X(03) 
SAIDA – RELPAG – imprimir 50 linhas por pagina (ver anexo)
Direitos Autorais – Escola de Programadores 9 
Exercício 14: Desenvolver um programa para um batimento entre dois arquivos do contas correntes (“A” e “B”). Conforme a especificação abaixo: ROTINA PRINCIPAL Processar ROTINA INICIO Processar ROTINA PROCESSAMENTO até que seja Agência e C. Corrente do “A” seja High-values e Agência e C. Corrente do Movimento seja High-values Processar ROTINA FIM Parar o processamento ROTINA INICIO Exibir “INICIO DE PROCESSAMENTO” Abrir para leitura CONTAS CORRENTE “A” e Movimentos Abrir para escrita a CONTAS CORRENTE “B” e Listagem Processar ROTINA LER CONTAS CORRENTE “A” Processar ROTINA LER CONTAS MOVIMENTOS ROTINA PROCESSAMENTO SELECIONAR Agência e C.Corrente “A” e Agência e C.Corrente do Movimento Caso Agência e C.Corrente do “A” > Agência e C.Corrente do Movimento Processar MOVIMENTO SEM CONTAS CORRENTES Processar ROTINA LER MOVIMENTO Caso Agência e C.Corrente do “A” < Agência e C.Corrente do Movimento Mover dados do CONTAS CORRENTE do “A” para CONTAS CORRENTE do “B” Gravar CONTAS CORRENTE do “B” Processar ROTINA LER CONTAS CORRENTE “A” Caso Agência e C.Corrente do “A” = Agência e C.Corrente do Movimento Somar valor do Movimento ao Saldo do CONTAS CORRENTE do “A” Processar ROTINA LER MOVIMENTO FIM SELECIONAR ROTINA SEM CONTAS CORRENTES Processar ROTINA CABECALHO Mover dados do Movimento para DET1 Imprimir DET1. ROTINA LER CONTAS CORRENTE “A” Ler Contas corrente “A” SE Fim Mover High-values para Agência e C.Corrente do “A” FIM-SE ROTINA LER CONTAS CORRENTE “B”
Direitos Autorais – Escola de Programadores 10 
Ler Contas corrente “B” SE Fim Mover High-values para Agência e C.Corrente do “B” FIM-SE ROTINA FIM Fechar CONTAS-CORRENTES “A”, “B” e “C” Exibir “FIM DE PROCESSAMENTO” Exercício 15: 
Desenvolver um programa, seguindo a descrição abaixo: Gravar versão atualizada do Cadastro de Conta Corrente – CADASTRO NOVO à partir do processamento dos arquivos CADASTRO e MOVIMENTO, exibindo mensagem com registros sem correspondência. 
Layouts dos arquivos de entrada e saída ENTRADA – CADCCA – REGISTRO: 50 POSIÇÕES AGENCIA-CCA CONTA-CCA NOME-CCA SALDO-CCA LIMITE-CCA FILLER 9(003) 9(004) 
X(030) 
S9(007)V99 
9(07)V99 
X(003) 
CHAVEREG ENTRADA – MOVCC – REGISTRO: 20 POSIÇÕES AGENCIA-MOV CONTA-MOV LANC LANCTO-MOV TIPOL-MOV FILLER 9(003) 9(004) 9(007)V99 
9(001) 
X(003) 
CHAVEREG 1 –débito 2 - crédito SAIDA – CADCCN – REGISTRO: 50 POSIÇÕES AGENCIA-CCN CONTA-CCN NOME-CCN SALDO-CCN LIMITE-CCN FILLER 9(003) 9(004) 
X(030) 
S9(007)V99 
9(07)V99 
X(003)
Direitos Autorais – Escola de Programadores 11 
Exercício 16: Desenvolver um programa para gerar um arquivo VSAM KSDS, à partir do arquivo de entrada abaixo. O layout do VSAM, será igual à entrada. ENTRADA: AGENCIA-CCN CONTA-CCN NOME-CCN SALDO-CCN LIMITE-CCN FILLER 9(003) 9(004) 
X(030) 
S9(007)V99 
9(07)V99 
X(003) 
SAÍDA: AGENCIA-CCN CONTA-CCN NOME-CCN SALDO-CCN LIMITE-CCN FILLER 9(003) 9(004) 
X(030) 
S9(007)V99 
9(07)V99 
X(003) 
CHAVE DO VSAM
Direitos Autorais – Escola de Programadores 12 
Exercício 17: 
Atualizando o cadastro de produtos (VSAM KSDS) 
Fluxo do processamento 
LxxB0070 
RELATO 
MOVIMENTO 
PRODUTOS 
VSAM KSDS 
Descrição do Processamento 
Atualizar o cadastro de produtos – PRODUTOS – a partir das informações contidas no arquivo 
MOVIMENTO (já consistido) e com base no conteúdo do campo TIPO-M. Gerar relatório – 
conforme layout de impressão anexo - com as ocorrências encontradas durante a execução e, ao 
final do processamento imprimir em pagina separada com o primeiro cabeçalho, estatísticas de 
processamento, conforme layout de impressão anexo. 
IMPORTANTE: o processamento será mensal e no relatório, deverá ser colocado o mês por 
extenso e ano, para identificar o mês de referência. 
Regras para atualização 
O campo TIPO-M, no arquivo MOVIMENTO indica a operação que deverá ser realizada: 
TIPO-M = „A‟  Alteração de dados cadastrais; 
TIPO-M = „I‟  Inclusão de registro de novo produto; 
TIPO-M = „E‟  Exclusão de registro do arquivo PRODUTOS. 
Ler registro do arquivo MOVIMENTO e proceder conforme segue: 
Se TIPO-M = „A‟ – Alteração de dados 
 Acessar o registro correspondente no arquivo PRODUTOS, utilizando a o conteúdo do campo 
CODPROD-E como chave do arquivo; 
 Se o registro não for encontrado no arquivo PRODUTOS, imprimir o registro do arquivo 
MOVIMENTO com a mensagem adequada – NAO CADASTRADO, e considerá-lo como 
registro rejeitado; 
 Se o registro for encontrado, mover os campos do registro do arquivo MOVIMENTO, com 
conteúdo válido, para o registro do cadastro de produtos PRODUTOS e efetuar a atualização 
do mesmo. Listar o registro do arquivo PRODUTOS, antes e depois da alteração com as 
mensagens correspondentes – ANTES ALTERACAO e APOS ALTERACAO. 
CONTEÚDO VÁLIDO: campos numéricos com conteúdo numérico (inclusive zeros) e 
alfanuméricos com conteúdo diferente de brancos.
Direitos Autorais – Escola de Programadores 13 
Se TIPO-M = „I‟ – Inclusão de registro 
 Incluir novo registro no cadastro de produtos PRODUTOS, a partir do registro do arquivo MOVIMENTO, utilizando o conteúdo do campo CODPROD-M como chave. Listar o registro com a mensagem correspondente – INCL. EFETUADA. 
 Se já existir registro com mesma chave, listar o registro do arquivo MOVIMENTO com a mensagem correspondente – JA CADASTRADO, considerando-o como registro rejeitado. 
IMPORTANTE: O campo TIPO-M não faz parte do registro do arquivo PRODUTOS. Se TIPO-M = „E‟ – Exclusão do registro 
 Excluir o registro do arquivo de produtos PRODUTOS – utilizando o conteúdo do campo CODPROD-M como chave. Listar o registro eliminado com a mensagem correspondente – EXCL. EFETUADA. 
 Se não existir, no arquivo PRODUTOS, registro a ser excluído, listar o registro do arquivo MOVIMENTO, com a mensagem correspondente – NAO CADASTRADO., considerando-o como registro rejeitado. 
Se TIPO-M diferente de „A‟, „E‟ ou „I‟ listar o registro do arquivo MOVIMENTO com a mensagem correspondente - TIPO INVALIDO, considerando o registro como rejeitado. Ler novo registro do arquivo MOVIMENTO. Layouts dos arquivos de entrada e saída (acessíveis via COPY) Cadastro de Produtos – PRODUTOS – registro 65 posições CODPROD-P DESCRI-P LOCAL-P QTDEST-P QTDMIN-P QTDMAX-P PRECO-P 
X(06) 
X(35) 
X(06) 
9(04) 
9(04) 
9(04) 
9(04)v99 
ENTRADA – MOVIMENTO – registro 66 posições CODPROD-M DESCRI-M LOCAL-M QTDEST-M QTDMIN-M QTDMAX-M PRECO-M TIPO-M 
X(06) 
X(35) 
X(06) 
9(04) 
9(04) 
9(04) 
9(04)v99 
X(01) 
SAIDA – RELATO – imprimir 50 linhas por pagina 1...5...10....5...20....5...30....5...40....5...50....5...60....5...70....5...80....5...90 ATUALIZACAO DO CADASTRO DE PRODUTOS – MES BASE xxxxxxxxx/aa PAG. 99 IMAGEM DO REGISTRO OCORRENCIA x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x 1...5...10....5...20....5...30....5...40....5...50....5...60....5...70....5...80....5...90 ATUALIZACAO DO CADASTRO DE PRODUTOS – MES BASE xxxxxxxxx/aa PAG. 99 ESTATISTICA FINAL DE PROCESSAMENTO TOTAL DE REGISTROS ALTERADOS..... 999 TOTAL DE REGISTROS INCLUIDOS..... 999 TOTAL DE REGISTROS EXCLUIDOS..... 999 TOTAL DE REGISTROS REJEITADOS.... 999
Direitos Autorais – Escola de Programadores 14 
Exercício 18: Neste programa usaremos a cláusula OCCURS. Pesquisaremos uma tabela indexada com a instrução SEARCH ALL, isso causará uma pesquisa binária e a tabela tem que estar em ordem crescente pela chave. Veja o exemplo abaixo e desenvolva outro, usando a mesma técnica.
Direitos Autorais – Escola de Programadores 15 
Exercício 19: Desenvolver um programa usando a instrução CALL para ligarmos um programa principal a um sub-programa. As vantagens de usarmos um sub-programa é que rotinas repetitivas aos programas principais são codificadas uma única vez. Este exercício terá um programa principal que acessará uma sub-rotina para trazer os nome do mês informado, veja o fluxo abaixo.

Weitere ähnliche Inhalte

Was ist angesagt?

Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Mauro Pereira
 
Aula 8 - Validação - parte 1
Aula 8 - Validação - parte 1Aula 8 - Validação - parte 1
Aula 8 - Validação - parte 1
Pacc UAB
 
Interrupções e DMA
Interrupções e DMAInterrupções e DMA
Interrupções e DMA
elliando dias
 

Was ist angesagt? (20)

Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
 
Manual-de-php
Manual-de-phpManual-de-php
Manual-de-php
 
Curso de Básico de Excel 2013 - Parte I
Curso de Básico de Excel  2013 - Parte ICurso de Básico de Excel  2013 - Parte I
Curso de Básico de Excel 2013 - Parte I
 
Aula 8 - Validação - parte 1
Aula 8 - Validação - parte 1Aula 8 - Validação - parte 1
Aula 8 - Validação - parte 1
 
Linguagem Assembly
Linguagem AssemblyLinguagem Assembly
Linguagem Assembly
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
 
01 - Microsoft Office Excel Básico
01 - Microsoft Office Excel Básico01 - Microsoft Office Excel Básico
01 - Microsoft Office Excel Básico
 
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
 
Algoritmo 04 - Estruturas de decisão
 Algoritmo 04 - Estruturas de decisão Algoritmo 04 - Estruturas de decisão
Algoritmo 04 - Estruturas de decisão
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
Arquitetura de Computadores: Evolução dos computadores
Arquitetura de Computadores: Evolução dos computadoresArquitetura de Computadores: Evolução dos computadores
Arquitetura de Computadores: Evolução dos computadores
 
Aula I - Excel
Aula I - ExcelAula I - Excel
Aula I - Excel
 
Módulo-6-7-ip-com-sockets
Módulo-6-7-ip-com-socketsMódulo-6-7-ip-com-sockets
Módulo-6-7-ip-com-sockets
 
Interrupções e DMA
Interrupções e DMAInterrupções e DMA
Interrupções e DMA
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Arquitetura de Computadores: Sistemas de numeração
Arquitetura de Computadores: Sistemas de numeraçãoArquitetura de Computadores: Sistemas de numeração
Arquitetura de Computadores: Sistemas de numeração
 
Manutenção e montagem de computadores
Manutenção e montagem de computadoresManutenção e montagem de computadores
Manutenção e montagem de computadores
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Aula 02 - Escolha caso
Aula 02 - Escolha casoAula 02 - Escolha caso
Aula 02 - Escolha caso
 

Andere mochten auch

Win nc fanuc 21m apostila de treinamento
Win nc fanuc 21m apostila de treinamentoWin nc fanuc 21m apostila de treinamento
Win nc fanuc 21m apostila de treinamento
estados4464
 
Exemplos de programas em cnc (1)
Exemplos de programas em cnc (1)Exemplos de programas em cnc (1)
Exemplos de programas em cnc (1)
Dorival Leandro
 
Lista de exercícios de sistemas de coordenadas 1 (2)
Lista de exercícios de sistemas de coordenadas 1 (2)Lista de exercícios de sistemas de coordenadas 1 (2)
Lista de exercícios de sistemas de coordenadas 1 (2)
Daniel Natividade
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
Mauro Pereira
 
Apostila cnc 2012
Apostila cnc 2012Apostila cnc 2012
Apostila cnc 2012
IFPR
 
Glosario de qbasic liliana
Glosario de qbasic lilianaGlosario de qbasic liliana
Glosario de qbasic liliana
khjhjhjh
 

Andere mochten auch (20)

Caderno de exercícios
Caderno de exercíciosCaderno de exercícios
Caderno de exercícios
 
COBOL
COBOLCOBOL
COBOL
 
Win nc fanuc 21m apostila de treinamento
Win nc fanuc 21m apostila de treinamentoWin nc fanuc 21m apostila de treinamento
Win nc fanuc 21m apostila de treinamento
 
Exemplos de programas em cnc (1)
Exemplos de programas em cnc (1)Exemplos de programas em cnc (1)
Exemplos de programas em cnc (1)
 
Exercício de CNC
Exercício de CNCExercício de CNC
Exercício de CNC
 
Apostila cnc
Apostila cncApostila cnc
Apostila cnc
 
Cobol manual prático de programação
Cobol   manual prático de programaçãoCobol   manual prático de programação
Cobol manual prático de programação
 
TRABALHO PARADIGMAS - COBOL
TRABALHO PARADIGMAS - COBOLTRABALHO PARADIGMAS - COBOL
TRABALHO PARADIGMAS - COBOL
 
Macro -fanuc
Macro -fanucMacro -fanuc
Macro -fanuc
 
Lista de exercícios de sistemas de coordenadas 1 (2)
Lista de exercícios de sistemas de coordenadas 1 (2)Lista de exercícios de sistemas de coordenadas 1 (2)
Lista de exercícios de sistemas de coordenadas 1 (2)
 
Algoritmos - Arquivos Parte 2
Algoritmos - Arquivos Parte 2Algoritmos - Arquivos Parte 2
Algoritmos - Arquivos Parte 2
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
 
Apostila cnc 2012
Apostila cnc 2012Apostila cnc 2012
Apostila cnc 2012
 
Funciones Basicas Fresadora CNC
Funciones Basicas Fresadora CNCFunciones Basicas Fresadora CNC
Funciones Basicas Fresadora CNC
 
Maquinas especiales 2da parte introduccion a programacion
Maquinas especiales 2da parte introduccion a programacionMaquinas especiales 2da parte introduccion a programacion
Maquinas especiales 2da parte introduccion a programacion
 
Fabricação de uma peça real utilizando CNC e o código G
Fabricação de uma peça real utilizando CNC e o código GFabricação de uma peça real utilizando CNC e o código G
Fabricação de uma peça real utilizando CNC e o código G
 
Introdução ao PHP
Introdução ao PHPIntrodução ao PHP
Introdução ao PHP
 
Glosario de qbasic liliana
Glosario de qbasic lilianaGlosario de qbasic liliana
Glosario de qbasic liliana
 
Funções em C
Funções em CFunções em C
Funções em C
 
Dicas para aumentar a performance de um software PHP
Dicas para aumentar a performance de um software PHPDicas para aumentar a performance de um software PHP
Dicas para aumentar a performance de um software PHP
 

Ähnlich wie Caderno de exercícios cobol

Algoritmos resolvidos lista 2
Algoritmos resolvidos lista 2Algoritmos resolvidos lista 2
Algoritmos resolvidos lista 2
isa_ise
 
Aula 10 - Equivalência Java x Portugol Studio - parte 1
Aula 10 - Equivalência Java x Portugol Studio - parte 1Aula 10 - Equivalência Java x Portugol Studio - parte 1
Aula 10 - Equivalência Java x Portugol Studio - parte 1
Pacc UAB
 

Ähnlich wie Caderno de exercícios cobol (20)

Hggyjg
HggyjgHggyjg
Hggyjg
 
Algoritmos resolvidos lista 2
Algoritmos resolvidos lista 2Algoritmos resolvidos lista 2
Algoritmos resolvidos lista 2
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
 
Tutorial Octave Matlab
Tutorial Octave MatlabTutorial Octave Matlab
Tutorial Octave Matlab
 
Aula 12 funcoes - Programação 1
Aula 12 funcoes - Programação 1Aula 12 funcoes - Programação 1
Aula 12 funcoes - Programação 1
 
Construindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com AsteriskConstruindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com Asterisk
 
Construindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com AsteriskConstruindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com Asterisk
 
Laboratório de Algoritmos Avançados: Busca Ternária
Laboratório de Algoritmos Avançados: Busca TernáriaLaboratório de Algoritmos Avançados: Busca Ternária
Laboratório de Algoritmos Avançados: Busca Ternária
 
Alguns algoritmos resolvidos
Alguns algoritmos resolvidosAlguns algoritmos resolvidos
Alguns algoritmos resolvidos
 
10-Matlab.pdf
10-Matlab.pdf10-Matlab.pdf
10-Matlab.pdf
 
Zabbix monitorando o zimbra collaboration 8.8 (1)
Zabbix   monitorando o zimbra collaboration 8.8 (1)Zabbix   monitorando o zimbra collaboration 8.8 (1)
Zabbix monitorando o zimbra collaboration 8.8 (1)
 
Fi processamento de arquivo retorno
Fi processamento de arquivo retornoFi processamento de arquivo retorno
Fi processamento de arquivo retorno
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Aula 10 - Equivalência Java x Portugol Studio - parte 1
Aula 10 - Equivalência Java x Portugol Studio - parte 1Aula 10 - Equivalência Java x Portugol Studio - parte 1
Aula 10 - Equivalência Java x Portugol Studio - parte 1
 
Algoritmos - Aula 05 A - Correcao de Exercicios
Algoritmos - Aula 05 A - Correcao de ExerciciosAlgoritmos - Aula 05 A - Correcao de Exercicios
Algoritmos - Aula 05 A - Correcao de Exercicios
 
Aula01
Aula01Aula01
Aula01
 
Exercicios c
Exercicios cExercicios c
Exercicios c
 
Apostila treinamento sas
Apostila treinamento sasApostila treinamento sas
Apostila treinamento sas
 
Apostila treinamento sas
Apostila treinamento sasApostila treinamento sas
Apostila treinamento sas
 
Exercícios PL/SQL
Exercícios PL/SQLExercícios PL/SQL
Exercícios PL/SQL
 

Kürzlich hochgeladen

PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 

Kürzlich hochgeladen (20)

Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 

Caderno de exercícios cobol

  • 1. Direitos Autorais – Escola de Programadores 1 CADERNO DE EXERCÍCIOSSS
  • 2. Direitos Autorais – Escola de Programadores 2 Exercício 1: Desenvolver um programa que receba uma informação passada via JCL e exiba o conteúdo desta informação na sysout de execução. Utilizar os seguintes comandos: ACCEPT, DISPLAY, DATE, TIME e DAY-OF-WEEK Exercício 2: Desenvolver um programa que efetue as 4 operações aritméticas, sendo que para cada operação, deverá ser exibido o valor do cálculo. Utilizar os seguintes comandos: ADD, SUBTRACT, MULTIPLY, DIVIDE E COMPUTE Exercício 3: Desenvolver um programa para ler números, até o final da lista e exibir somente os números maiores que 100. No final mostrar a quantidade total de números maiores que 100. Exercício 4: Desenvolver um programa usando a técnica de AVALIE ou EVALUATE, em que dada a idade de N nadadores, até idade = ZEROS, acumule a quantidade total de alunos em cada categoria, de acordo com a classificação abaixo: - Baby = até 4 anos - Infantil A = 5 a 7 anos - Infantil B = 8 a 11 anos - Juvenil A = 12 a 13 anos - Juvenil B = 14 a 17 anos - Adultos = Maiores de 18 anos No final mostrar a quantidade de nadadores em cada categoria. Exercício 5: Desenvolver um programa que identifique os números pares e impares. Processamento: Receber um número via entrada padrão - SYSIN, no formato PIC 9(03), verificar se o mesmo é par ou impar e exibir a mensagem correspondente via saída padrão – SYSOUT. Repetir o processamento, até receber um número igual a 000.
  • 3. Direitos Autorais – Escola de Programadores 3 Exercício 6: Desenvolver um programa, utilizando os comandos PERFORM THRU e PERFORM UNTIL, conforme as seguintes etapas. - Ler o arquivo ENTRADA, até o fim - Selecionar os clientes que possuam idade superior a 60 anos e residam em São Paulo. - Gravar os dados selecionados no arquivo SAIDA. - Exibir total de Qtde. Reg.Lidos, Qtde. Reg. Gravados e Qtde. Reg. Desprezados LAYOUT – ENTRADA – Tamanho do registro (LRECL) 100 posições CODIGO NOME ENDEREÇO TELEFONE IDADE CIDADE 9(04) X(25) X(30) 9(08) 9(03) X(20) X(10) LAYOUT – SAIDA – Tamanho do registro (LRECL) 100 posições CODIGO NOME ENDEREÇO TELEFONE IDADE CIDADE 9(04) X(25) X(30) 9(08) 9(03) X(20) X(10) Exercício 7:
  • 4. Direitos Autorais – Escola de Programadores 4 Exercício 8: Desenvolver um programa estruturado que reflita a somatória dos gastos por agência e conta do “Contas Corrente A” e grave o resultado no “Contas Corrente B”. Importante: Poderá haver vários registros no “Contas Corrente A” com a mesma agência e conta, neste caso somente um registro será gravado no “Contas Corrente B” com a somatória dos registros do “Contas Corrente A”. Exercício 9: Desenvolver um programa que leia o cadastro de alterações e grave o cadastro de alunos, exibindo a quantidade de inserções efetuadas.
  • 5. Direitos Autorais – Escola de Programadores 5 Exercício 10: Codificar o programa EXEMPLO da apostila COBOL, criando os seus arquivos com dados sugeridos pelo professor. Execute o programa e anote os resultados abaixo: Qtde. Reg. Lidos no ARQENT Qtde. Reg. Gravados no ARQSAI Hora do início do processamento Hora do final do processamento Exercício 11: Fluxo e descrição do processamento ESTOQUE REPOSICAO GP20Bxxx REG. LIDOS REG.GRAVADOS Layouts dos arquivos de entrada e saída ENTRADA – ESTOQUE – tamanho do registro (LRECL) 50 posições CODPROD-E DESCRICAO-E QTDEST-E QTDMIN-E QTDMAX-E PRECO-E Ler os registros do arquivo ESTOQUE gerando o arquivo REPOSICAO com os itens em estoque que deverão ser repostos. Um item deverá ser reposto quando a quantidade em estoque for menor que a quantidade mínima; Calcular a quantidade de reposição como a diferença entre a quantidade máxima e a quantidade em estoque. QTDREP-S = QTDMAX-E – QTDEST-E. Ao final do processamento informar o total de registros lidos e o total de registros gravados.
  • 6. Direitos Autorais – Escola de Programadores 6 9(04) X(25) 9(03) 9(03) 9(03) 9(04)v99 X(06) SAIDA – REPOSICAO – tamanho do registro (LRECL) 20 posições CODPROD-S QTDEST-S QTDMAX-S QTDREP-S PRECO-S 9(04) 9(03) 9(03) 9(03) 9(04)V99 X(01) Mensagem final – totais de registros lidos e gravados TOTAIS DO PROCESSAMENTO TOTAL DE REGISTROS LIDOS...: 999 TOTAL DE REGISTROS GRAVADOS: 999 ------- FINAL DE EXECUCAO ------ Exercício 12: Quebra de pagina com totalização por pagina e geral Fluxo e descrição do processamento RELATO CADALUNO GP50Bxxx Layouts dos arquivos de entrada e saída ENTRADA – CADALUNO CLASSE-E NUM-E NOME-E ENDE-E NOTA1-E NOTA2-E NOTA3-E IDADE-E X(03) 9(03) X(40) X(40) 99v99 99v99 99v99 9(02) SAIDA – RELATO – imprimir 50 linhas por pagina 1...5...10....5...20....5...30....5...40....5...50....5...60....5...70....5...80 dd/mm/aaaa ESCOLA DA VIDA - RELACAO DE ALUNOS POR SALA DE AULA PAG. 99 CODIGO DA CLASSE 999 NUMERO NOME DO ALUNO NOTA1 NOTA2 NOTA3 MEDIA Ler os registros do arquivo CADALUNO gerando relação de alunos por sala de aula. Ao final de cada classe informar o total de alunos e a media da classe. Imprimir ao final da ultima página. Iniciar a impressão de nova classe em nova pagina. Ao final do processamento imprimir, em pagina separada, com o primeiro cabeçalho o total de classes, o total de alunos da escola e media entre os alunos da escola: Media do aluno : (NOTA1 x 2 + NOTA2 x 2 + NOTA3 x 3) / 7 Média da classe: médias dos alunos da classe / total de alunos da classe Média geral : médias de todos os alunos / total de alunos da escola
  • 7. Direitos Autorais – Escola de Programadores 7 999 x......................................x Z9,99 Z9,99 Z9,99 Z9,99 999 x......................................x Z9,99 Z9,99 Z9,99 Z9,99 999 x......................................x Z9,99 Z9,99 Z9,99 Z9,99 999 x......................................x Z9,99 Z9,99 Z9,99 Z9,99 999 x......................................x Z9,99 Z9,99 Z9,99 Z9,99 TOTAL DE ALUNOS... 999 - MEDIA DA CLASSE Z9,99 TOTAL DE CLASSES... 99 - TOTAL DE ALUNOS... 999 - MEDIA GERAL.... Z9,99 Exercício 13: Atualizando o cadastro de funcionários Fluxo do processamento CADFUNCA GP60Bxxx RELATO CADMOVTO CADFUNCN Descrição do Processamento Gravar versão atualizada do Cadastro de Funcionários – CADFUNCN - a partir do processamento dos arquivos CADFUNCA e CADMOVTO, gerando relatório com as ocorrências encontradas durante a execução. Regras para o processamento Todos os registros nos arquivos CADFUNCA e CADMOVTO estão classificados em ordem ascendente pelo código do funcionário CODFUN; O campo TIPO-M, no arquivo CADMOVTO indica a operação que deverá ser realizada: TIPO-M = „A‟  Alteração de dados cadastrais; TIPO-M = „I‟  Inclusão de registro de novo funcionário; TIPO-M = „E‟  Exclusão de registro do arquivo CADFUNCA. Ler inicialmente um registro do arquivo CADFUNCA e um registro do arquivo CADMOVTO, procedendo conforme segue: 1 CODFUN-A = CODFUN-M  Alteração de dados ou exclusão de registro  Se TIPO-M = „A‟, mover os campos do registro do arquivo CADMOVTO, com conteúdo válido, para o registro do cadastro de funcionários CADFUNCA e gravar o registro atualizado no arquivo CADFUNCN. Listar o registro do arquivo CADFUNCA antes e depois da alteração com as mensagens correspondentes. CONTEÚDO VÁLIDO: campos numéricos com conteúdo > 0 e alfanuméricos com conteúdo <> de brancos.  Se TIPO-M = „E‟, não gravar o registro do arquivo CADFUNCA no arquivo CADFUNCN. Listar o registro eliminado com a mensagem correspondente.
  • 8. Direitos Autorais – Escola de Programadores 8  Se TIPO-M <> „A‟ ou „E‟, gravar o registro do arquivo CADFUNCA no arquivo CADFUNCN sem qualquer alteração. Listar o registro do arquivo CADFUNCA com a mensagem correspondente.  Ler novo registro dos arquivos CADFUNCA e CADMOVTO. CODFUN-A < CODFUN-M  Permanência (registro sem alteração)  Gravar o registro do arquivo CADFUNCA no arquivo CADFUNCN, sem qualquer alteração. Não listar o registro.  Ler novo registro do arquivo CADFUNCA. CODFUN-A > CODFUN-M  Inclusão de novo registro do Cadastro de Funcionários  Se TIPO-M = „I‟, mover os campos do registro do arquivo CADMOVTO para a nova versão do cadastro de funcionários CADFUNCN e gravar o novo registro. Listar o registro com a mensagem correspondente. IMPORTANTE: O campo TIPO-M não faz parte do registro do arquivo CADFUNCN e, portanto não deve ser movido.  Se TIPO-M <> „I‟, listar o registro do arquivo CADMOVTO com a mensagem correspondente.  Ler novo registro do arquivo CADMOVTO. Layouts dos arquivos de entrada e saída ENTRADA – CADFUNCA – REGISTRO: 80 POSIÇÕES CODFUN-A NOME-A FUNCAO-A SALARIO-A VENCTOS-A DESCTOS-A 9(04) X(35) X(20) 9(04)v99 9(04)v99 9(04)v99 X(03) ENTRADA – CADMOVTO – REGISTRO: 80 POSIÇÕES CODFUN-M NOME-M FUNCAO-M SALARIO-M VENCTOS-M DESCTOS-M TIPO-M 9(04) X(35) X(20) 9(04)v99 9(04)v99 9(04)v99 X(01) X(02) SAIDA – CADFUNCN – REGISTRO: 80 POSIÇÕES CODFUN-N NOME-N FUNCAO-N SALARIO-N VENCTOS-N DESCTOS-N 9(04) X(35) X(20) 9(04)v99 9(04)v99 9(04)v99 X(03) SAIDA – RELPAG – imprimir 50 linhas por pagina (ver anexo)
  • 9. Direitos Autorais – Escola de Programadores 9 Exercício 14: Desenvolver um programa para um batimento entre dois arquivos do contas correntes (“A” e “B”). Conforme a especificação abaixo: ROTINA PRINCIPAL Processar ROTINA INICIO Processar ROTINA PROCESSAMENTO até que seja Agência e C. Corrente do “A” seja High-values e Agência e C. Corrente do Movimento seja High-values Processar ROTINA FIM Parar o processamento ROTINA INICIO Exibir “INICIO DE PROCESSAMENTO” Abrir para leitura CONTAS CORRENTE “A” e Movimentos Abrir para escrita a CONTAS CORRENTE “B” e Listagem Processar ROTINA LER CONTAS CORRENTE “A” Processar ROTINA LER CONTAS MOVIMENTOS ROTINA PROCESSAMENTO SELECIONAR Agência e C.Corrente “A” e Agência e C.Corrente do Movimento Caso Agência e C.Corrente do “A” > Agência e C.Corrente do Movimento Processar MOVIMENTO SEM CONTAS CORRENTES Processar ROTINA LER MOVIMENTO Caso Agência e C.Corrente do “A” < Agência e C.Corrente do Movimento Mover dados do CONTAS CORRENTE do “A” para CONTAS CORRENTE do “B” Gravar CONTAS CORRENTE do “B” Processar ROTINA LER CONTAS CORRENTE “A” Caso Agência e C.Corrente do “A” = Agência e C.Corrente do Movimento Somar valor do Movimento ao Saldo do CONTAS CORRENTE do “A” Processar ROTINA LER MOVIMENTO FIM SELECIONAR ROTINA SEM CONTAS CORRENTES Processar ROTINA CABECALHO Mover dados do Movimento para DET1 Imprimir DET1. ROTINA LER CONTAS CORRENTE “A” Ler Contas corrente “A” SE Fim Mover High-values para Agência e C.Corrente do “A” FIM-SE ROTINA LER CONTAS CORRENTE “B”
  • 10. Direitos Autorais – Escola de Programadores 10 Ler Contas corrente “B” SE Fim Mover High-values para Agência e C.Corrente do “B” FIM-SE ROTINA FIM Fechar CONTAS-CORRENTES “A”, “B” e “C” Exibir “FIM DE PROCESSAMENTO” Exercício 15: Desenvolver um programa, seguindo a descrição abaixo: Gravar versão atualizada do Cadastro de Conta Corrente – CADASTRO NOVO à partir do processamento dos arquivos CADASTRO e MOVIMENTO, exibindo mensagem com registros sem correspondência. Layouts dos arquivos de entrada e saída ENTRADA – CADCCA – REGISTRO: 50 POSIÇÕES AGENCIA-CCA CONTA-CCA NOME-CCA SALDO-CCA LIMITE-CCA FILLER 9(003) 9(004) X(030) S9(007)V99 9(07)V99 X(003) CHAVEREG ENTRADA – MOVCC – REGISTRO: 20 POSIÇÕES AGENCIA-MOV CONTA-MOV LANC LANCTO-MOV TIPOL-MOV FILLER 9(003) 9(004) 9(007)V99 9(001) X(003) CHAVEREG 1 –débito 2 - crédito SAIDA – CADCCN – REGISTRO: 50 POSIÇÕES AGENCIA-CCN CONTA-CCN NOME-CCN SALDO-CCN LIMITE-CCN FILLER 9(003) 9(004) X(030) S9(007)V99 9(07)V99 X(003)
  • 11. Direitos Autorais – Escola de Programadores 11 Exercício 16: Desenvolver um programa para gerar um arquivo VSAM KSDS, à partir do arquivo de entrada abaixo. O layout do VSAM, será igual à entrada. ENTRADA: AGENCIA-CCN CONTA-CCN NOME-CCN SALDO-CCN LIMITE-CCN FILLER 9(003) 9(004) X(030) S9(007)V99 9(07)V99 X(003) SAÍDA: AGENCIA-CCN CONTA-CCN NOME-CCN SALDO-CCN LIMITE-CCN FILLER 9(003) 9(004) X(030) S9(007)V99 9(07)V99 X(003) CHAVE DO VSAM
  • 12. Direitos Autorais – Escola de Programadores 12 Exercício 17: Atualizando o cadastro de produtos (VSAM KSDS) Fluxo do processamento LxxB0070 RELATO MOVIMENTO PRODUTOS VSAM KSDS Descrição do Processamento Atualizar o cadastro de produtos – PRODUTOS – a partir das informações contidas no arquivo MOVIMENTO (já consistido) e com base no conteúdo do campo TIPO-M. Gerar relatório – conforme layout de impressão anexo - com as ocorrências encontradas durante a execução e, ao final do processamento imprimir em pagina separada com o primeiro cabeçalho, estatísticas de processamento, conforme layout de impressão anexo. IMPORTANTE: o processamento será mensal e no relatório, deverá ser colocado o mês por extenso e ano, para identificar o mês de referência. Regras para atualização O campo TIPO-M, no arquivo MOVIMENTO indica a operação que deverá ser realizada: TIPO-M = „A‟  Alteração de dados cadastrais; TIPO-M = „I‟  Inclusão de registro de novo produto; TIPO-M = „E‟  Exclusão de registro do arquivo PRODUTOS. Ler registro do arquivo MOVIMENTO e proceder conforme segue: Se TIPO-M = „A‟ – Alteração de dados  Acessar o registro correspondente no arquivo PRODUTOS, utilizando a o conteúdo do campo CODPROD-E como chave do arquivo;  Se o registro não for encontrado no arquivo PRODUTOS, imprimir o registro do arquivo MOVIMENTO com a mensagem adequada – NAO CADASTRADO, e considerá-lo como registro rejeitado;  Se o registro for encontrado, mover os campos do registro do arquivo MOVIMENTO, com conteúdo válido, para o registro do cadastro de produtos PRODUTOS e efetuar a atualização do mesmo. Listar o registro do arquivo PRODUTOS, antes e depois da alteração com as mensagens correspondentes – ANTES ALTERACAO e APOS ALTERACAO. CONTEÚDO VÁLIDO: campos numéricos com conteúdo numérico (inclusive zeros) e alfanuméricos com conteúdo diferente de brancos.
  • 13. Direitos Autorais – Escola de Programadores 13 Se TIPO-M = „I‟ – Inclusão de registro  Incluir novo registro no cadastro de produtos PRODUTOS, a partir do registro do arquivo MOVIMENTO, utilizando o conteúdo do campo CODPROD-M como chave. Listar o registro com a mensagem correspondente – INCL. EFETUADA.  Se já existir registro com mesma chave, listar o registro do arquivo MOVIMENTO com a mensagem correspondente – JA CADASTRADO, considerando-o como registro rejeitado. IMPORTANTE: O campo TIPO-M não faz parte do registro do arquivo PRODUTOS. Se TIPO-M = „E‟ – Exclusão do registro  Excluir o registro do arquivo de produtos PRODUTOS – utilizando o conteúdo do campo CODPROD-M como chave. Listar o registro eliminado com a mensagem correspondente – EXCL. EFETUADA.  Se não existir, no arquivo PRODUTOS, registro a ser excluído, listar o registro do arquivo MOVIMENTO, com a mensagem correspondente – NAO CADASTRADO., considerando-o como registro rejeitado. Se TIPO-M diferente de „A‟, „E‟ ou „I‟ listar o registro do arquivo MOVIMENTO com a mensagem correspondente - TIPO INVALIDO, considerando o registro como rejeitado. Ler novo registro do arquivo MOVIMENTO. Layouts dos arquivos de entrada e saída (acessíveis via COPY) Cadastro de Produtos – PRODUTOS – registro 65 posições CODPROD-P DESCRI-P LOCAL-P QTDEST-P QTDMIN-P QTDMAX-P PRECO-P X(06) X(35) X(06) 9(04) 9(04) 9(04) 9(04)v99 ENTRADA – MOVIMENTO – registro 66 posições CODPROD-M DESCRI-M LOCAL-M QTDEST-M QTDMIN-M QTDMAX-M PRECO-M TIPO-M X(06) X(35) X(06) 9(04) 9(04) 9(04) 9(04)v99 X(01) SAIDA – RELATO – imprimir 50 linhas por pagina 1...5...10....5...20....5...30....5...40....5...50....5...60....5...70....5...80....5...90 ATUALIZACAO DO CADASTRO DE PRODUTOS – MES BASE xxxxxxxxx/aa PAG. 99 IMAGEM DO REGISTRO OCORRENCIA x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x x................................................................x x.............x 1...5...10....5...20....5...30....5...40....5...50....5...60....5...70....5...80....5...90 ATUALIZACAO DO CADASTRO DE PRODUTOS – MES BASE xxxxxxxxx/aa PAG. 99 ESTATISTICA FINAL DE PROCESSAMENTO TOTAL DE REGISTROS ALTERADOS..... 999 TOTAL DE REGISTROS INCLUIDOS..... 999 TOTAL DE REGISTROS EXCLUIDOS..... 999 TOTAL DE REGISTROS REJEITADOS.... 999
  • 14. Direitos Autorais – Escola de Programadores 14 Exercício 18: Neste programa usaremos a cláusula OCCURS. Pesquisaremos uma tabela indexada com a instrução SEARCH ALL, isso causará uma pesquisa binária e a tabela tem que estar em ordem crescente pela chave. Veja o exemplo abaixo e desenvolva outro, usando a mesma técnica.
  • 15. Direitos Autorais – Escola de Programadores 15 Exercício 19: Desenvolver um programa usando a instrução CALL para ligarmos um programa principal a um sub-programa. As vantagens de usarmos um sub-programa é que rotinas repetitivas aos programas principais são codificadas uma única vez. Este exercício terá um programa principal que acessará uma sub-rotina para trazer os nome do mês informado, veja o fluxo abaixo.