Cobol

72
COBOL Por Sergio Crespo - Universidade Federal Fluminense UFF - Campus Rio das Ostras [email protected] COmmon Business-Oriented Language

Transcript of Cobol

Page 1: Cobol

COBOL

Por Sergio Crespo - Universidade Federal Fluminense UFF - Campus Rio das Ostras [email protected]

COmmon Business-Oriented Language

Page 2: Cobol

2014

Page 3: Cobol
Page 4: Cobol
Page 5: Cobol
Page 6: Cobol
Page 7: Cobol
Page 8: Cobol

O inicio

Em 1959, foi tomada a decisão de criar uma fonte de linguagem apropriada para dados comerciais, em uma reunião no Pentágono em Washington, DC.

O propósito da reunião era discutir a necessidade de uma linguagem geral, direcionada para serviços dentro de dados comerciais, e a possibilidade de criar desta maneira uma linguagem. Como resultado uma comissão foi nomeada com o nome de CODASYL (Conference On Data System Languages).

Page 9: Cobol

O inicio

Embora o COBOL tenha sido desenvolvido e mantido pela CODASYL, ele foi também estabelecido como uma Linguagem Padrão pelo Instituto Americano de Padrões Nacionais (ANSI).

Page 10: Cobol

Cobol longevidade

Cobol mantém longevidade no Brasil e atrai investimentos de empresas

Estudo com 370 profissionais de TI revela que a plataforma para mainframe é a principal linguagem usada por 52% dos entrevistados e que 65% preveem escrever um aplicativo para esse ambiente nos próximos três anos

Da Redação 08 de janeiro de 2014 - 07h30

Page 11: Cobol

Cobol, você sabia?

Cobol é fácil

Aprender essa linguagem consiste em saber a língua inglesa. Para compreendê-la o programador deve conhecer sua sintaxe, verbos e sentenças da língua.

Linguagem pode ser executada em qualquer lugar

Pode ser usada virtualmente em qualquer plataforma de hardware. Com ele, as empresas conseguem reutilizar aplicações Cobol, que foram escritas há décadas, e utilizar em novas plataformas, como .NET ou JVM, por exemplo.

Page 12: Cobol

Cobol, você sabias?

Os números certos Não é surpresa que o setor financeiro é baseado em

sistemas Cobol. Bancos, seguradoras, empresas de gestão de fundos, sistemas de pensões, folha de pagamento e cartões de crédito, todos dependem dessa linguagem.

Funções de processamento numérico fazem dessa linguagem a melhor escolha para aplicações, já que um pequeno erro de arredondamento fracionário pode fazer uma diferença crucial. O sistema Cobol oferece precisão aritmética de 31 dígitos, tornando-o a melhor opção para o setor financeiro.

Page 13: Cobol

Cobol, você sabia?

Cobol com sua IDE favorito Não é preciso se preocupar em aprender como

usar novas ferramentas. É possível desenvolver aplicações em Cobol usando o Visual Studio ou Eclipse.

Economia de tempo Cobol é um auto - documento. A legibilidade do

código dessa linguagem e sua rígida estrutura hierárquica facilitam sua leitura e manutenção, poupando tempo.

Page 14: Cobol

Cobol, você sabia?

Dados rápidos A linguagem pode processar dados das mais diversas

fontes, incluindo qualquer sistema de gestão de banco de dados relacional (RDBMS), que também fornece suporte de linguagem para dados, superando processamento por milhas.

Os sistemas em Cobol usam arquivos de dados indexados que mantêm estruturas B-tree internas (o que significa que a velocidade e eficiência são características importantes), fornecendo acesso rápido aos dados, mesmo quando os armazenamentos são executados em terabytes.

Page 15: Cobol

Cobol, você sabia?

Agilidade A linguagem Cobol tem mais de 50 anos de

otimizações, o que a torna bem eficiente em processamento de dados.

Em todo lugar As aplicações em Cobol estão em todos os

lugares e é executada em mais de 70% das transações comerciais do mundo. A falta de profissionais capacitados pode ser um problema para os departamentos de TI no futuro, afetando o mundo dos negócios.

Page 16: Cobol

Cobol, você sabia?

A universidade Carnegie Mellon oferece aulas de Cobol. Ray Scott, que ensina essa linguagem aos alunos por cerca de 30 anos, e atua como diretor de sistemas e operações em supercomputador em Pittsburgh Center, considera que é importante os futuros profissionais de TI terem contato com essa tecnologia.

Page 17: Cobol

Cobol, você sabia?

As especificações do COBOL 2002 incluem suporte à programação orientada a objetos e outras características das linguagens modernas.

Page 18: Cobol

Cobol, você sabia?

Page 19: Cobol

Cobol, você sabia?

Page 20: Cobol

Cobol, você sabia?

“Estudantes, dediquem-se mais ao COBOL” , palavras de um gerente da IBM Pedro Britto diz que os mainframes são realidade em grandes empresas. “Parte significativa do desenvolvimento de TI em grandes empresas ainda é feita para mainframe e em COBOL. O estudante multitarefa não está disposto a trocar a sua realidade por uma tela verde.” De acordo com Britto, antes existia propriamente uma barreira de linguagem — é difícil aprender COBOL; essa reclamação é constante. “Existe um preconceito no mercado”, diz. COBOL: vai encarar? O executivo ressalta que ao longo dos anos companhias como a IBM produziram soluções para facilitar essa aproximação com a linguagem. Por exemplo, o ambiente Eclipse facilita o desenvolvimento tanto para COBOL como para Java.

Page 21: Cobol

Compiladores Cobol - Windows

A Fujitsu, distribui o NetCOBOL for Windows – tido como o mais rápido compilador no ambiente Windows com a confiança do desenvolvimento COBOL. Explora todas as funções do sistema operacional e integra o COBOL de forma transparente com as ferramentas de desenvolvimento visuais da Microsoft e seus ambientes de execução.

Também pela Fujitsu, há o NetCOBOL for .NET– “é o primeiro COBOL a ser integrado totalmente na estrutura .NET da Microsoft e no ambiente Visual Studio .NET.” Possui a vantagem de utilizar todas as classes da estrutura .NET, além da criação de Web Services.

Page 22: Cobol

Compiladores Cobol - Windows

A Micro Focus, é comercializado o Net Express –segundo a DTS Consulting (2005), seu desenvolvimento é baseado no compilador Micro Focus COBOL 32 Bits / 64 Bits e possui um ambiente completo para desenvolvi mento em plataformas Windows.

A Micro Focus comercializa também o Net Express with .NET– possui uma poderosa integração como Visual Studio e com o .NET Framework. Tem conectividade com J2EE e provê um ambiente completo para desenvolvimento e modernização das aplicações em COBOL.

Acucorp (empresa incorporada pela Micro Focus), o AcuCOBOL-GT – compatível com ANSI e é composto pelo seu compilador, executável, depurador, utilitário de suporte e sistemas de arquivos indexado VISION.

Page 23: Cobol

Cobol da Micro Focus

Visual Cobol R3, uma ferramenta que facilita a portabilidade das aplicações

Cobol em plataformas Windows, .NET, Unix, Linux, JVM e na cloud.

O Visual Cobol R3 oferece aos programadores a liberdade de alargarem o Cobol a plataformas mais modernas e aos diferentes tipos de desenvolvimento de aplicações, sem necessidade de rescrever o código, facilitando o processo de modernização de aplicações e a sua migração em qualquer tipo de plataforma.

Page 24: Cobol

COBOL

PROGRAMANDO

Page 25: Cobol

Molezinha!

Page 26: Cobol

Cobol divisões O COBOL consiste basicamente em quatro divisões separadas: IDENTIFICATION DIVISISION A IDENTIFICATION DIVISION possui informações documentais, como nome do programa, quem o codificou e quando essa codificação foi realizada. ENVIRONMENT DIVISION A ENVIRONMENT DIVISION descreve o computador e os periféricos que serão utilizados pelo programa.

Page 27: Cobol

Cobol divisões

DATA DIVISION

Divisão voltada única e exclusivamente à definição de estruturas de registros, variáveis e constantes do programa, ou seja, uma área de alocação de memória para todo o espaço necessário ao seu programa.

Esta divisão possui a Working-Storage Section. Esta seção da Data Division é voltada para a declaração das variáveis e constantes do programa.

Page 28: Cobol

Cobol divisões

PROCEDURE DIVISION

A PROCEDURE DIVISION contém o código que irá manipular os dados descritos na DATA DIVISION. É nesta divisão que o desenvolvedor descreverá o algoritmo do programa.

Page 29: Cobol

Cobol

Page 30: Cobol

1º programa COBOL

Page 31: Cobol

Tabela de formatos

Assim, podemos declarar uma variável qualquer como “PIC 999”, indicando que a variável em questão irá conter um valor de 3 dígitos quaisquer ou “PIC X(8)” indicando que a variável receberá qualquer string de até 8 caracteres.

Page 32: Cobol

WORKING-STORAGE SECTION

FILLER: palavra reservada do COBOL que serve para reservar uma determinada quantidade de bytes em um arquivo ou na memória. REDEFINES: cláusula utilizada para redefinir um item de grupo e/ou item elementar em partes menores ou em uma imagem diferente.

Page 33: Cobol

WORKING-STORAGE SECTION

Page 34: Cobol

Comando display

display erase

O comando display é utilizado para exibir informações na tela em ambientes caracteres. A palavra reservada erase é utilizada em conjunto com display para limpar a tela.

display "Calculo de área (Quadrados/Retangulos)" at 0521

Esta forma de utilização do display irá exibir na tela a cadeia de caracteres entre as aspas (“ “) na posição especificada por at 0521, ou seja, linha 5 e coluna 21 que são compreendidas entre linhas de 1 a 25 e colunas de 1 a 80.

Page 35: Cobol

Comando accept

accept largura at 1019

Este comando é utilizado para aceitarmos alguma informação, neste caso estaremos esperando que usuário informe algo na posição 1019 (Seguem as mesmas regras do comando display), o usuário indica para a aplicação que terminou de fornecer estar informações pressionando a tecla ENTER.

Page 36: Cobol

Comando multiplay

multiply largura by altura giving area-result

O comando multiply é um dos comandos aritméticos da linguagem, ele é utilizado para funções de multiplicação, neste caso ele irá multiplicar o conteúdo numérico da variável largura por altura movendo o resultado para a variável área-result.

Page 37: Cobol
Page 38: Cobol

Comandos condicionais

Os programas sempre necessitam tomar decisões sobre que rumo tomar em certas circunstâncias. Para que o programa possa fazer isto existem dois comandos

condicionais: o IF e o EVALUATE

Page 39: Cobol

Comando IF

Page 40: Cobol

Comando IF

Page 41: Cobol

Comando EVALUATE

Page 42: Cobol

Comando EVALUATE

Page 43: Cobol

Comando EVALUATE

Page 44: Cobol

Comandos aritméticos

A linguagem Cobol possui rotinas que auxiliam o programador a efetuar cálculos aritméticos, são eles:

ADD

SUBTRACT

MULTIPLY

DIVIDE

COMPUTE

© http://www.cadcobol.com/procedur.htm

Page 45: Cobol

Comando ADD

© http://www.cadcobol.com/procedur.htm

Page 46: Cobol

Comando ADD

© http://www.cadcobol.com/procedur.htm

Page 47: Cobol

Comando ADD

© http://www.cadcobol.com/procedur.htm

Page 48: Cobol

Comando ADD

© http://www.cadcobol.com/procedur.htm

Page 49: Cobol

Comando SUBTRACT

© http://www.cadcobol.com/procedur.htm

Page 50: Cobol

Comando SUBTRACT

© http://www.cadcobol.com/procedur.htm

Page 51: Cobol

Comando SUBTRACT

© http://www.cadcobol.com/procedur.htm

Page 52: Cobol

Comando MULTIPLY © http://www.cadcobol.com/procedur.htm

Page 53: Cobol

Comando DIVIDE © http://www.cadcobol.com/procedur.htm

Page 54: Cobol

Comando COMPUTE © http://www.cadcobol.com/procedur.htm

Page 55: Cobol

Comando COMPUTE

Para arredondar o resultado de um comando COMPUTE, usamos a opção ROUNDED diretamente após o campo receptor. Se for necessário verificar uma condição de erro, devemos usar a cláusula ON SIZE ERROR como a última instrução.

© http://www.cadcobol.com/procedur.htm

Page 56: Cobol

Comando MOVE

Esta declaração permite a movimentação de campos remetentes (identificador-1) para campos receptores (identificador-2).

Page 57: Cobol

Comando MOVE

Page 58: Cobol

Comando MOVE

Page 59: Cobol

Laços em COBOL

Page 60: Cobol

Comando PERFORM

Page 61: Cobol

Comando PERFORM

Page 62: Cobol

Comando PERFORM UNTIL

Page 63: Cobol

Comando STOP RUN

Page 64: Cobol

Manipulando arquivos

Page 65: Cobol
Page 66: Cobol
Page 67: Cobol

Abrindo um arquivo em COBOL

Para abrir ficheiros em COBOL usa-se o verbo OPEN, e existem quatro modos de abertura de arquivo:

INPUT - O arquivo é aberto apenas para leitura. OUTPUT - O arquivo é aberto para escrita,

sendo previamente eliminados todos os seus registos.

I-O - O arquivo é aberto para leitura, mas os registos podem ser rescritos.

EXTEND - O arquivo é aberto para escrita de registos após os nele existentes.

Page 68: Cobol

Dentro da Procedure Division

Page 69: Cobol

Para Ler dados de um arquivo

Usa-se o verbo READ

Page 70: Cobol

Lendo arquivos indexados Por vezes é conveniente ler vários registos de um arquivo

indexado, em vez de apenas um. Para tal, é necessário usar o verbo START. Este verbo posiciona-nos (não lê) no primeiro registo do arquivo que obedece às condições por nós indicadas.

Page 71: Cobol

E AGORA?

Page 72: Cobol