SlideShare una empresa de Scribd logo
1 de 72
Descargar para leer sin conexión
COBOL
Por Sergio Crespo - Universidade Federal
Fluminense UFF - Campus Rio das Ostras
Crespo.sergio@gmail.com
COmmon Business-Oriented Language
2014
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).
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).
Cobol longevidade
Cobol mantém longevidade no Brasil e atrai
investimentos de empresas
 Estudo com 370 profissionais deTI 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
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.
Cobol, você sabias?
Os números certos
 Não é surpresa que o setor financeiro é baseado em
sistemasCobol. 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.
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.
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.
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 deTI no futuro, afetando
o mundo dos negócios.
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 deTI terem contato com essa
tecnologia.
Cobol, você sabia?
 As especificações do COBOL 2002 incluem
suporte à programação orientada a
objetos e outras características das
linguagens modernas.
Cobol, você sabia?
Cobol, você sabia?
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 deTI 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.
Compiladores Cobol - Windows
 A Fujitsu, distribui o NetCOBOL forWindows – tido como o
mais rápido compilador no ambienteWindows com a
confiança do desenvolvimentoCOBOL. 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 ambienteVisual Studio .NET.”
Possui a vantagem de utilizar todas as classes da estrutura
.NET, além da criação de Web Services.
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 comoVisual 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 indexadoVISION.
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.
OVisual 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.
COBOL
PROGRAMANDO
Molezinha!
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.
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.
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.
Cobol
1º programa 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.
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.
WORKING-STORAGE SECTION
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.
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.
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.
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
Comando IF
Comando IF
Comando EVALUATE
Comando EVALUATE
Comando EVALUATE
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
Comando ADD
© http://www.cadcobol.com/procedur.htm
Comando ADD
© http://www.cadcobol.com/procedur.htm
Comando ADD
© http://www.cadcobol.com/procedur.htm
Comando ADD
© http://www.cadcobol.com/procedur.htm
Comando SUBTRACT
© http://www.cadcobol.com/procedur.htm
Comando SUBTRACT
© http://www.cadcobol.com/procedur.htm
Comando SUBTRACT
© http://www.cadcobol.com/procedur.htm
Comando MULTIPLY
© http://www.cadcobol.com/procedur.htm
Comando DIVIDE
© http://www.cadcobol.com/procedur.htm
Comando COMPUTE
© http://www.cadcobol.com/procedur.htm
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áusulaON
SIZE ERROR como a última instrução.
© http://www.cadcobol.com/procedur.htm
Comando MOVE
 Esta declaração permite a movimentação de campos
remetentes (identificador-1) para campos receptores
(identificador-2).
Comando MOVE
Comando MOVE
Laços em COBOL
Comando PERFORM
Comando PERFORM
Comando PERFORM UNTIL
Comando STOP RUN
Manipulando arquivos
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.
Dentro da Procedure Division
Para Ler dados de um arquivo
 Usa-se o verbo READ
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.
E
AGORA?
Cobol

Más contenido relacionado

La actualidad más candente

Plano de aula - POO - IFS
Plano de aula - POO - IFSPlano de aula - POO - IFS
Plano de aula - POO - IFSDiego Armando
 
Apresentação abnt citações
Apresentação abnt citaçõesApresentação abnt citações
Apresentação abnt citaçõesDiogo Maxwell
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação Marcos Gregorio
 
Relatório técnico científico - citações
Relatório técnico científico - citaçõesRelatório técnico científico - citações
Relatório técnico científico - citaçõesBeatriz Gaydeczka
 
ABNT 1063 - NORMAS PARA A PADRONIZAÇÃO DE TRABALHOS ACADÊMICOS
ABNT 1063 - NORMAS PARA A PADRONIZAÇÃO DE TRABALHOS ACADÊMICOSABNT 1063 - NORMAS PARA A PADRONIZAÇÃO DE TRABALHOS ACADÊMICOS
ABNT 1063 - NORMAS PARA A PADRONIZAÇÃO DE TRABALHOS ACADÊMICOSaparadoxo
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
 
desenho aula 5
desenho aula 5desenho aula 5
desenho aula 5bluesky659
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareRobson Silva Espig
 
Modelo relatorio
Modelo relatorioModelo relatorio
Modelo relatoriorsaloes
 
Trabalho OO clinica veterinária
Trabalho OO clinica veterináriaTrabalho OO clinica veterinária
Trabalho OO clinica veterináriaValdir Junior
 
Projeto I sarau da eja
Projeto I sarau da ejaProjeto I sarau da eja
Projeto I sarau da ejaJeca Tatu
 

La actualidad más candente (20)

Projetos - Justificativa
Projetos - JustificativaProjetos - Justificativa
Projetos - Justificativa
 
Licenças de software
Licenças de softwareLicenças de software
Licenças de software
 
Plano de aula - POO - IFS
Plano de aula - POO - IFSPlano de aula - POO - IFS
Plano de aula - POO - IFS
 
Apresentação abnt citações
Apresentação abnt citaçõesApresentação abnt citações
Apresentação abnt citações
 
Meios didacticos iv
Meios didacticos   ivMeios didacticos   iv
Meios didacticos iv
 
O RelatóRio
O RelatóRioO RelatóRio
O RelatóRio
 
Slide relatório (estrutura)
Slide relatório (estrutura)Slide relatório (estrutura)
Slide relatório (estrutura)
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
Modelo pre projeto- tcc-
Modelo pre projeto- tcc-Modelo pre projeto- tcc-
Modelo pre projeto- tcc-
 
Relatório técnico científico - citações
Relatório técnico científico - citaçõesRelatório técnico científico - citações
Relatório técnico científico - citações
 
ABNT 1063 - NORMAS PARA A PADRONIZAÇÃO DE TRABALHOS ACADÊMICOS
ABNT 1063 - NORMAS PARA A PADRONIZAÇÃO DE TRABALHOS ACADÊMICOSABNT 1063 - NORMAS PARA A PADRONIZAÇÃO DE TRABALHOS ACADÊMICOS
ABNT 1063 - NORMAS PARA A PADRONIZAÇÃO DE TRABALHOS ACADÊMICOS
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
desenho aula 5
desenho aula 5desenho aula 5
desenho aula 5
 
Modelo de projeto copia
Modelo de projeto   copiaModelo de projeto   copia
Modelo de projeto copia
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de Software
 
Modelo relatorio
Modelo relatorioModelo relatorio
Modelo relatorio
 
Trabalho OO clinica veterinária
Trabalho OO clinica veterináriaTrabalho OO clinica veterinária
Trabalho OO clinica veterinária
 
Projeto I sarau da eja
Projeto I sarau da ejaProjeto I sarau da eja
Projeto I sarau da eja
 
Tipos de dados em MySQL
Tipos de dados em MySQLTipos de dados em MySQL
Tipos de dados em MySQL
 

Destacado

Apresentação linguagem cobol
Apresentação linguagem cobolApresentação linguagem cobol
Apresentação linguagem cobolLorranna Machado
 
TRABALHO PARADIGMAS - COBOL
TRABALHO PARADIGMAS - COBOLTRABALHO PARADIGMAS - COBOL
TRABALHO PARADIGMAS - COBOLEllen Diana
 
Grande porte cobol level 1 - versão 2.3.5
Grande porte   cobol level 1 - versão 2.3.5Grande porte   cobol level 1 - versão 2.3.5
Grande porte cobol level 1 - versão 2.3.5Jeison Barros
 
Trabalho cobol e basic
Trabalho cobol e basicTrabalho cobol e basic
Trabalho cobol e basicDaniel Carrara
 
Executive Report 3CON_ Seguranca Mainframe
Executive Report 3CON_ Seguranca MainframeExecutive Report 3CON_ Seguranca Mainframe
Executive Report 3CON_ Seguranca MainframeMarcos Carvalho
 
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çãoPedro Barros
 
Aula de-introducao-z os
Aula de-introducao-z osAula de-introducao-z os
Aula de-introducao-z osIvan Sanches
 
Semana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetoresSemana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetoresPedro Valente
 
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)Marcio Sfalsin
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programaçãoessa
 
CakePHP com sotaque brasileiro
CakePHP com sotaque brasileiroCakePHP com sotaque brasileiro
CakePHP com sotaque brasileiroJuan Basso
 
C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem Claudson Oliveira
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 
Assembly para pc-25paginas
Assembly para pc-25paginasAssembly para pc-25paginas
Assembly para pc-25paginasMikeNandes
 

Destacado (20)

Apresentação linguagem cobol
Apresentação linguagem cobolApresentação linguagem cobol
Apresentação linguagem cobol
 
TRABALHO PARADIGMAS - COBOL
TRABALHO PARADIGMAS - COBOLTRABALHO PARADIGMAS - COBOL
TRABALHO PARADIGMAS - COBOL
 
Seminário: COBOL
Seminário: COBOLSeminário: COBOL
Seminário: COBOL
 
Grande porte cobol level 1 - versão 2.3.5
Grande porte   cobol level 1 - versão 2.3.5Grande porte   cobol level 1 - versão 2.3.5
Grande porte cobol level 1 - versão 2.3.5
 
COBOL
COBOLCOBOL
COBOL
 
Trabalho cobol e basic
Trabalho cobol e basicTrabalho cobol e basic
Trabalho cobol e basic
 
Formação cobol
Formação cobolFormação cobol
Formação cobol
 
Executive Report 3CON_ Seguranca Mainframe
Executive Report 3CON_ Seguranca MainframeExecutive Report 3CON_ Seguranca Mainframe
Executive Report 3CON_ Seguranca Mainframe
 
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
 
Aula de-introducao-z os
Aula de-introducao-z osAula de-introducao-z os
Aula de-introducao-z os
 
Semana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetoresSemana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetores
 
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)
 
Cobol
CobolCobol
Cobol
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Funções em C
Funções em CFunções em C
Funções em C
 
CakePHP com sotaque brasileiro
CakePHP com sotaque brasileiroCakePHP com sotaque brasileiro
CakePHP com sotaque brasileiro
 
C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Assembly para pc-25paginas
Assembly para pc-25paginasAssembly para pc-25paginas
Assembly para pc-25paginas
 
PROGRAMAS QBASIC
PROGRAMAS QBASICPROGRAMAS QBASIC
PROGRAMAS QBASIC
 

Similar a Cobol (20)

O novo IBM COBOL ENTERPRISE V5/V6 para zOS e o IBM ABO
O novo IBM COBOL ENTERPRISE V5/V6 para zOS e o IBM ABOO novo IBM COBOL ENTERPRISE V5/V6 para zOS e o IBM ABO
O novo IBM COBOL ENTERPRISE V5/V6 para zOS e o IBM ABO
 
EVOLUÇÃO DA LINGUAGEM DELPHI - ARTIGO
EVOLUÇÃO DA LINGUAGEM DELPHI - ARTIGOEVOLUÇÃO DA LINGUAGEM DELPHI - ARTIGO
EVOLUÇÃO DA LINGUAGEM DELPHI - ARTIGO
 
Aula de C para Linux
Aula de C para LinuxAula de C para Linux
Aula de C para Linux
 
Corbawebserves
CorbawebservesCorbawebserves
Corbawebserves
 
02 - Introdução a linguagem C# v1.0
02 - Introdução a linguagem C# v1.002 - Introdução a linguagem C# v1.0
02 - Introdução a linguagem C# v1.0
 
Desenvolvedor cobol
Desenvolvedor cobolDesenvolvedor cobol
Desenvolvedor cobol
 
Apresentação linguagem cobol
Apresentação linguagem cobolApresentação linguagem cobol
Apresentação linguagem cobol
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
apostila-desenvolvimento-asp-net
 apostila-desenvolvimento-asp-net apostila-desenvolvimento-asp-net
apostila-desenvolvimento-asp-net
 
Introdução a Arquitetura Android
Introdução a Arquitetura AndroidIntrodução a Arquitetura Android
Introdução a Arquitetura Android
 
Delphi6bd
Delphi6bdDelphi6bd
Delphi6bd
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
apostila de dev.pdf
apostila de dev.pdfapostila de dev.pdf
apostila de dev.pdf
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012
 
Gt 10 FCSI- ambiente de desenvolvimento
Gt 10  FCSI- ambiente de desenvolvimentoGt 10  FCSI- ambiente de desenvolvimento
Gt 10 FCSI- ambiente de desenvolvimento
 
Apostila chardwere
Apostila chardwereApostila chardwere
Apostila chardwere
 
C hardware
C hardwareC hardware
C hardware
 

Más de sergiocrespo

Introduçãso a linguagem c
Introduçãso a linguagem cIntroduçãso a linguagem c
Introduçãso a linguagem csergiocrespo
 
Engenharia de software aplicada ao software educacional: desafios, problemas ...
Engenharia de software aplicada ao software educacional: desafios, problemas ...Engenharia de software aplicada ao software educacional: desafios, problemas ...
Engenharia de software aplicada ao software educacional: desafios, problemas ...sergiocrespo
 
Novas tecnologias no ensino!
Novas tecnologias no ensino!Novas tecnologias no ensino!
Novas tecnologias no ensino!sergiocrespo
 
Internet Das coisa
Internet Das coisaInternet Das coisa
Internet Das coisasergiocrespo
 
Web Semântica: Conceitos e Tecnologias
Web Semântica: Conceitos e TecnologiasWeb Semântica: Conceitos e Tecnologias
Web Semântica: Conceitos e Tecnologiassergiocrespo
 
SOA e Web Services
SOA e Web ServicesSOA e Web Services
SOA e Web Servicessergiocrespo
 
Arquitetura de Software Visão Geral
Arquitetura de Software Visão GeralArquitetura de Software Visão Geral
Arquitetura de Software Visão Geralsergiocrespo
 
Redes sociales y su uso en la internet y en la Ing. de Soft.
Redes sociales y su uso en la internet y en la Ing. de Soft. Redes sociales y su uso en la internet y en la Ing. de Soft.
Redes sociales y su uso en la internet y en la Ing. de Soft. sergiocrespo
 
Pedro II RJ Semana Acadêmica
Pedro II RJ Semana AcadêmicaPedro II RJ Semana Acadêmica
Pedro II RJ Semana Acadêmicasergiocrespo
 

Más de sergiocrespo (10)

Introduçãso a linguagem c
Introduçãso a linguagem cIntroduçãso a linguagem c
Introduçãso a linguagem c
 
Engenharia de software aplicada ao software educacional: desafios, problemas ...
Engenharia de software aplicada ao software educacional: desafios, problemas ...Engenharia de software aplicada ao software educacional: desafios, problemas ...
Engenharia de software aplicada ao software educacional: desafios, problemas ...
 
Novas tecnologias no ensino!
Novas tecnologias no ensino!Novas tecnologias no ensino!
Novas tecnologias no ensino!
 
Internet Das coisa
Internet Das coisaInternet Das coisa
Internet Das coisa
 
Web Semântica: Conceitos e Tecnologias
Web Semântica: Conceitos e TecnologiasWeb Semântica: Conceitos e Tecnologias
Web Semântica: Conceitos e Tecnologias
 
SOA e Web Services
SOA e Web ServicesSOA e Web Services
SOA e Web Services
 
Arquitetura de Software Visão Geral
Arquitetura de Software Visão GeralArquitetura de Software Visão Geral
Arquitetura de Software Visão Geral
 
Redes sociales y su uso en la internet y en la Ing. de Soft.
Redes sociales y su uso en la internet y en la Ing. de Soft. Redes sociales y su uso en la internet y en la Ing. de Soft.
Redes sociales y su uso en la internet y en la Ing. de Soft.
 
Eatis2010
Eatis2010Eatis2010
Eatis2010
 
Pedro II RJ Semana Acadêmica
Pedro II RJ Semana AcadêmicaPedro II RJ Semana Acadêmica
Pedro II RJ Semana Acadêmica
 

Cobol

  • 1. COBOL Por Sergio Crespo - Universidade Federal Fluminense UFF - Campus Rio das Ostras Crespo.sergio@gmail.com COmmon Business-Oriented Language
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. 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).
  • 9. 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).
  • 10. Cobol longevidade Cobol mantém longevidade no Brasil e atrai investimentos de empresas  Estudo com 370 profissionais deTI 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
  • 11. 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.
  • 12. Cobol, você sabias? Os números certos  Não é surpresa que o setor financeiro é baseado em sistemasCobol. 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.
  • 13. 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.
  • 14. 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.
  • 15. 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 deTI no futuro, afetando o mundo dos negócios.
  • 16. 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 deTI terem contato com essa tecnologia.
  • 17. Cobol, você sabia?  As especificações do COBOL 2002 incluem suporte à programação orientada a objetos e outras características das linguagens modernas.
  • 20. 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 deTI 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.
  • 21. Compiladores Cobol - Windows  A Fujitsu, distribui o NetCOBOL forWindows – tido como o mais rápido compilador no ambienteWindows com a confiança do desenvolvimentoCOBOL. 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 ambienteVisual Studio .NET.” Possui a vantagem de utilizar todas as classes da estrutura .NET, além da criação de Web Services.
  • 22. 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 comoVisual 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 indexadoVISION.
  • 23. 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. OVisual 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.
  • 26. 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.
  • 27. 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.
  • 28. 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.
  • 29. Cobol
  • 31. 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.
  • 32. 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.
  • 34. 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.
  • 35. 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.
  • 36. 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.
  • 37.
  • 38. 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
  • 44. 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
  • 55. 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áusulaON SIZE ERROR como a última instrução. © http://www.cadcobol.com/procedur.htm
  • 56. Comando MOVE  Esta declaração permite a movimentação de campos remetentes (identificador-1) para campos receptores (identificador-2).
  • 65.
  • 66.
  • 67. 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.
  • 69. Para Ler dados de um arquivo  Usa-se o verbo READ
  • 70. 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.