Anda di halaman 1dari 7

Apostilas de Eletrnica e Informtica Linguagem de Programao COBOL

LINGUAGEM DE PROGRAMAO COBOL

Pag. 01

C.O.B.O.L. - Common Business Oriente Language - Linguagem de Programao Comum Orientada neg cios! "m programa COBOL # composto de $%&uatro' di(is)es* +'I,E-.I/ICA.IO- ,I0I1IO- - di(iso &ue ser(e para identificar o programa-fonte2 dados so3re o autor2data em &ue foi escrito2o3ser(a)es so3re o &ue o programa fa42e so3re a segurana! 1inta5e* I,E-.I/ICA.IO- ,I0I1IO-! P6O76A8-I,! E9E8PLO! A".:O6! ;IL1O- PE,6O CA6LI! ,A.E-;6I..E-! <+=<>=+??@! 6E8A6A1! E1.E P6O76A8A E: "8 E9E8PLO! 1EC"6I.B! -CO E9EC".A6 1E8 .E1.A6 A-.E1! D'E-0I6O-8E-. ,I0I1IO- - esta di(iso fornece informa)es relati(as aos meios e5ternos2ou seEa2 ar&ui(os e e&uipamento!,efine os ar&ui(os a serem utili4ados no programa2a sua organi4ao2meio de acesso2cFa(es primrias e=ou secundrias! 1inta5e* E-0I6O-8E-. ,I0I1IO-! CO-/I7"6A.IO- 1EC.IO-! 1PECIAL--A8E1! ,ECI8AL-POI-. I1 CO88A! I-P".-O".P". 1EC.IO-! /ILE-CO-.6OL! 1ELEC. nome-ar&ui(o A11I7- .O G,I1A2P6I-.E6H I O67A-IJA.IO- I1 G 1EK"E-.IAL2I-,E9E,2LI-E 1EK"E-.IALH IACCE11 8O,E I1 G 1EK"E-.IAL2,B-A8ICH I 6ECO6, AEB I1 nome-cFa(e-primaria L I AL.E6-A.E 6ECO6, AEB I1 nome-cFa(e-secundaria I;I.: ,"PLICA.E1 L L I /ILE 1.A."1 I1 nome-campo-file-status L ! Para cada ar&ui(o a ser utili4ado pelo programa2 de(er Fa(er uma clusula 1ELEC.! ACCE11- define o m#todo de acesso aos registros do ar&ui(o! 1e&uentialMNleitura e gra(ao dos registros a partir do primeiro registro do ar&ui(o at# o final do mesmo! ,OnamicMN leitura2regra(ao2e5cluso2gra(ao de registros atra(#s de um cFa(e primria2 ou secundria definida dentro do laO-out do ar&ui(o! LINGUAGEM DE PROGRAMAO COBOL
Fttp*==PPP!li!facens!3r=eletronica

Pag. 0!

Apostilas de Eletrnica e Informtica Linguagem de Programao COBOL

O67A-IJA.IO-- especifica a estrutura l gica do ar&ui(o! A organi4ao do ar&ui(o # esta3elecida no momento em &ue o ar&ui(o # criado2 e no pode ser modificada su3se&uentemente!Kuando a organi4ao no # especificada2 a organi4ao se&uencial # assumida na compilao! 1EK"E-.IALMN os registros so criados atra(#s de programas co3ol e arma4enados na ordem em &ue foram gerados%disco2impressora2fita'! LI-E 1EK"E-.IAL MN os registros so criados por editor de te5to e arma4enados na ordem em &ue foram criados! I-,E9E,MN os registros so identificados pelo conteQdo dos campos denominados RcFa(esS%primria ou secundria'2 e so arma4enados em &ual&uer ordem na criao do registro2 mas na leitura2 o3edece a ordem da cFa(e e o m#todo de acesso! 6ECO6, AEB - especifica a cFa(e primria de um ar&ui(o com organi4ao inde5ada! T um campo definido no laO-out do registro do ar&ui(o e de(er ser alfanum#rica2 e pode cFegar at# DU< 3Otes! AL.E6-A.E AEB - especifica a cFa(e secundria do ar&ui(o2 &ue # opcional para os ar&ui(os com organi4ao inde5ada! T tam3#m um campo definido no laO-out do registro do ar&ui(o2 com at# DU< 3Otes alfanum#ricos2 mas tem a opo de aceitar (alores duplicados! /ILE 1.A."1 - campo alfanum#rico de D 3Otes definido na ;O6AI-7V1.O6A7E da ,A.A ,I0I1IO-2 &ue a cada operao efetuada com o ar&ui(o2 demonstra o (alor da operao efetuada! 0alor ,escrio << Comando e5ecutado com sucesso <D Comando ar&ui(o c=cFa(e duplicada e5ecutado com sucesso +< /im do ar&ui(o D+ Erro de se&uencia na gra(ao de ar&ui(o se&uencial DD CFa(e duplicada no definida! DW CFa(e no encontrada! D$ Espao em disco est cFeio W< Ar&ui(o no encontrado ?+ Erro na estrutura do ar&ui(o ?$ 6egistro ou ar&ui(o sendo utili4ado por outro programa! W' ,A.A ,I0I1IO- - arma4ena todos os dados a serem processados ou manipulados pelo programa2 durante o processamento2 podendo ser internos ou e5ternos!Pode ser di(idida em at# seis se)es2 mas usualmente so utili4adas W se)es* /ILE 1EC.IO-- seo &ue define a estrutura dos ar&ui(os de dados! Esta definio en(ol(e a descrio do ar&ui(o e seus respecti(os registros! Para cada 1ELEC. definido temos uma definio de ar&ui(o na /ILE 1EC.IO-! LINGUAGEM DE PROGRAMAO COBOL 1inta5e da /ile 1ection ,A.A ,I0I1IO-! /ILE 1EC.IO-! /, nome-ar&ui(o I 6ECO6, CO-.AI-1 nn C:A6AC.E61 L
Fttp*==PPP!li!facens!3r=eletronica

Pag. 0"

Apostilas de Eletrnica e Informtica Linguagem de Programao COBOL

I LABEL 6ECO6, I1 G O8I..E,2 1.A-,A6, H L I 0AL"E O/ /ILE-I, (alor-identificao-ar&ui(o L ! <+ nome-de-registro-ar&ui(o ! I nro-ni(el I nome-campo ou /ILLE6 L I 6E,E/I-E1 nome-de-dado L I PIC tipo%tamanFo' L I OCC"61 nro-inteiro .I8E1 L L ! 6ECO6, CO-.AI-1 MN especifica o tamanFo do registro de dados! O tamanFo do registro # determinado pelo soma do nQmero de caracteres de todos os itens elementares su3ordinados ao registro! LABEL 6ECO6,MN especifica se e5iste r tulo presente no ar&ui(o! Omitted especifica &ue no e5iste r tulo e5plXcito%ar&ui(os de impresso'! 1tandard especifica &ue e5istem r tulos e esto conforme as especifica)es do sistema operacional%disco'! 0AL"E O/ /ILE-I,MN identifica o nome do ar&ui(o no meio e5terno! -6O--I0ELMN so nQmeros entre <+ e $? &ue permitem a estruturao de um registro l gico2 pela su3di(iso deste registro! "ma (e4 &ue uma su3di(iso tenFa sido especificada%item de grupo'2 ela pode ser ainda mais su3di(idida%itens elementares'2 para permitir uma referencia mais detalFada! Item elementar # a su3di(iso fundamental de um registro2 &ue no # mais su3di(idido! "m registro pode ser constituido de uma se&uencia de itens elementares ou pode ser somente um item elementar! "m item de grupo # uma se&uencia de um ou mais itens elementares ou tam3#m de um ou mais itens de grupo!"ma descrio de um registro sempre comea pelo nQmero de nX(el <+! -O8E-CA8POMN nome definido pelo programador &ue no pode ser repetido dentro do fonte do programa2 pode ter at# W<%trinta' caracteres e no pode ser igual a alguma pala(ra reser(ada da sinta5e do COBOL! /ILLE6MN pala(ra reser(ada do COBOL &ue ser(e para reser(ar uma determinada &uantidade de 3Otes em um ar&ui(o ou na mem ria! 6E,E/I-E1MN clusula utili4ada para redefinir um item de grupo e=ou item elementar em partes menores ou em uma imagem diferente! LINGUAGEM DE PROGRAMAO COBOL Pag. 0#

OCC"61MN clusula &ue define a repetio do itens &ue esto ap s a definio da mesma! "m numero inteiro define &uantas (e4es o campo se repete contiguamente! PICMN clusula &ue define a imagem do campo &ue est sendo descrito num item elementar! Os tipos e5istentes para a descrio de dados # a seguinte* .ipo num#rico- pode conter os sXm3olos ?202 e 1! O nQmero de digitos permitidos (aria de <+ at# +>2 sem considerar o sinal e a casa decimal!O sXm3olo 0 determina a separao dos inteiros dos decimais! O sXm3olo 1 determina a presena de sinal! .ipo alfa3#tico- pode conter o sXm3olo A! 1omente para campos alfa3#ticos! .ipo Alfanum#rico- cont#m o sXm3olo 9! 1er(e para a descrio de campos &ue cont#m a com3inao de letras e nQmeros!
Fttp*==PPP!li!facens!3r=eletronica

Apostilas de Eletrnica e Informtica Linguagem de Programao COBOL

.amanFo - define &uantos 3Otes ocupa o campo definido anteriormente! 1e for do tipo num#rico poder ter no m5imo +> 3Otes! ;O6AI-7-1.O6A7E 1EC.IO- -seo &ue descre(e e arma4ena numa rea de mem ria todos os dados2informa)es2(ari(eis e constantes2 com (alores definidos ou no2 a serem manipulados pelo programa! T composta de itens de grupo e itens elementares! 1inta5e* ;O6AI-7-1.O6A7E 1EC.IO-! <+ nome-de-registro-ar&ui(o ! I nro-ni(el I nome-campo ou /ILLE6 L I 6E,E/I-E1 nome-de-dado L I PIC tipo%tamanFo' L I OCC"61 nro-inteiro .I8E1 L L ! A descrio das clusulas acima so idYnticas as descritas na /ILE 1EC.IO-! O &ue muda so os tipos de pictures2&ue em alguns casos podem ser usadas em (rias com3ina)es* Item alfanum#rico editado- os tipos podem ser A - edio s de letrasZ 9- edio de itens alfanum#ricosZ B- insere um espao no local indicadoZ < - insere um 4ero no local indicadoZ = - insere uma 3arra no localZ 2 %(Xrgula'- insere um (Xrgula no local Z ! %ponto'- insere um ponto no local Item num#rico editado J - representa nQmeros2 e insere espaos es&uerda &uando o digito conti(er 4ero! - %FXfen'- representa nQmeros com sinal es&uerda e insere espaos es&uerda &uando o digito conti(er o (alor 4ero! Outras representa)es de(em ser pes&uisadas em li(ros e=ou manuais!

LINGUAGEM DE PROGRAMAO COBOL

Pag. 0$

%CREEN %EC&ION E5tenso da ,A.A ,I0I1IO- &ue possui recursos para facilitar a formatao e descrio dos itens de tela e sua posterior manipulao na P6OCE,"6E ,I0I1IO-! 1er(e para * [ Especificar a posio e5ata na tela de determinados camposZ [ Entrar com dados digitados em posi)es especXficasZ [ 8ostrar (alores literais em posi)es predeterminadasZ [ ,efinir atri3utos de tela e controlar recursos de teclado! 'ORMA&O GERAL*
1C6EE- 1EC.IO-! <+ nome-tela! IBLA-A 1C6EE-L IBLA-A LI-EL IBELL L CA,A ,E1C6I\CO ,E .ELA ,E0E I-ICIA6 CO8 "8 -]0EL <+ E .E6 "8 -O8E E1PECI/ICA,O! O1 ,E8AI1 I.E-1 I-ICIA8 CO8 O -6O! ,E -]0EL <D A.T $?! LI8PA .O,A A .ELA E PO1ICIO-A O C"61O6 -O I-ICIO LI8PA A LI-:A ,E O-,E 1E E-CO-.6A O C"61O6 A.T O /I-AL! ,I1PA6A 1O8 ,E ALA68E ,"6A-.E O ACCEP. ,O CA8PO Fttp*==PPP!li!facens!3r=eletronica

Apostilas de Eletrnica e Informtica Linguagem de Programao COBOL IBLI-A L /AJ CO8 K"E O CO-.E^,O ,O CA8PO /IK"E PI1CA-.E I:I7:LI7:. L /AJ CO8 K"E O CO-.E^,O ,O CA8PO /IK"E B6IL:A-.E I"-,E6LI-E L /AJ CO8 K"E O CO-.E^,O ,O CA8PO APA6E\A 1"BLI-:A,O IBLA-A ;:E- JE6O L 8O0E E1PA\O1 PA6A "8 I.E8 -"8T6ICO K"A-,O O 1E" 0ALO6 /O6 I7"AL A JE6O1 I_"1. 6I7:. L 1O8E-.E PA6A I.E-1 ELE8E-.A6E1 AL/A-"8T6ICO1 -CO E,I.A,O12 POI1 P6O0OCA O ALI-:A8E-.O ,O CO-.E^,O ,O CA8PO ,A ,I6EI.A PA6A A E1K"E6,A K"A-,O O CA8PO 6ECEP.O6 /O6 8AIO6 ,O K"E O CA8PO /O-.E! K"A-,O O CA8PO 6ECEP.O6 /O6 8E-O6 .6"-CA O CA8PO E8I11O6 A E1K"E6,A! I6E0E61E-0],EO L .6OCA A CO6 ,A LE.6A PELO /"-,O ,A .ELA E 0ICE-0E61A! IA".OL .E68I-A A".O8A.ICA8E-.E "8A OPE6A\CO ,E E-.6A,A ,E ,A,O1 -A P6OCE,"6E ,I0I1IO- K"A-,O A ^L.I8A PO1I\CO ,O CA6AC.E6E T P6EE-C:I,A! I1EC"6E L I6EK"I6E, L I/"LL L -CO APA6ECE8 O1 CA6AC.E6E1 -O 8O8E-.O ,A ,I7I.A\CO OB6I7A O CA8PO A 1E6 .O.AL8E-.E P6EE-C:I,O! O I.E8 ,A .ELA ,E0E E1.A6 .O.AL8E-.E P6EE-C:I,O O" 0AJIO

ILI-E nQmero is I G PL"1H G ` H G [ H G inteiroH L L E1PECI/ICA A LI-:A ,A .ELA -A K"AL O I.E8 ,E0E6a I-ICIA6! O -^8E6O ,E LI-:A ,E0E E1.A6 1E8P6E E-.6E + E DUU! CA1O O -^8E6O 1E_A O8I.I,O 1E6a A11"8I,O O 0ALO6 ,E/A"L.M<+! PL"1 O" ` ,E/I-E A PO1I\CO CO66E-.E ,O C"61O6 AC6E1CI,O ,E :"8 O" 8AI1 K"A-,O O I-.EI6O /O6 ,E/I-I,O! 1E /O6 [ P6OCE,E A 1"B.6A\CO! ICOL"8- nQmero I1 I GPL"1H G ` H G [ H G inteiroH L L E1PECI/ICA A COL"-A ,A .ELA -A K"AL O I.E8 ,E0E6a I-ICIA6! O -^8E6O ,E0E E1.A6 1E8P6E E-.6E + E DUU! CA1O O -^8E6O 1E_A O8I.I,O 1E6a A11"8I,O O 0ALO6 ,E/A"L.M<+! PL"1 O" ` ,E/I-E A PO1I\CO CO66E-.E ,O C"61O6 AC6E1CI,O ,E :"8 O" 8AI1 K"A-,O O I-.EI6O /O6 ,E/I-I,O! 1E /O6 [ P6OCE,E A 1"B.6A\CO! I PIC I1 descrio I /6O8 G literal H GcampoH L I.O campo L I"1I-7 campoL ,escrio [ informar o tipo e tamanFo da picture na&uela posio da telaZ /6O8 [ (alor do literal ou campo # mostrado na telaZ .O [ (alor digitado ser repassado para o campo Z "1I-7 [ demonstra o (alor do campo e tam3#m atuali4a o conteQdo do mesmo ap s a digitao!

LINGUAGEM DE PROGRAMAO COBOL PROCEDURE DI)I%ION * %IN&A+E DO% COMANDO% *


ACCEP& - CO8A-,O PA6A PE7A6 A1 I-/O68A\bE1 0IA .ECLA,O ACCEP. campo /6O8 G,ABH ! /O68A.O AA,,, G,A.EH! /O68A.O AA88,, G.I8EH! /O68A.O ::8811CC ACCEP. campo!

Pag. 0(

ADD - 1O8A 0ALO6E1 A,, campo Icampo-DL I!!!L .O campo-5 I!!!L I6O"-,E,L IO- 1IJE E66O6 procedimento L ! A,, campo I!!!L 7I0I-7 campo-5 I6O"-,E,L IO- 1IJE E66O6 procedimento L ! COMPU&E - CALC"LA "8A E9P6E11CO A6I.8T.ICA CO8P".E campo I6O"-,E,L M e5presso aritm#tica! OPE6A-,O1 MN % ' PA6c-.E1E1Z ` A,I\COZ - 1"B.6A\CO d 8"L.IPLICA\CO Z = ,I0I1COZ dd E9PO-E-CIA\CO O6,E8 ,A1 OPE6A\bE1M +' E-.6E PA6c-.E1E1Z D' E9PO-E-CIA\COZ W' 8"L.IPLICA\CO E ,I0I1COZ $' A,I\CO E 1"B.6A\CO!

Fttp*==PPP!li!facens!3r=eletronica

Apostilas de Eletrnica e Informtica Linguagem de Programao COBOL DI%PLA, - ,E8O-1.6A 8E-1A7E8 E=O" CA8PO1 -O 0],EO ,I1PLAB GliteralH IcampoL I2!!!L ! DI)IDE - E9EC".A A ,I0I1CO ,E 0ALO6E1 ,I0I,E GcampoH GinteiroH I-.O campo-D I6O"-,E,L IO- 1IJE E66O6 procedimentoL ! ,I0I,E GcampoH GinteiroH BB Gcampo-DH GinteiroH 7I0I-7 campo-5 I6O"-,E,L I6E8AI-,E6 campo-restoL IO- 1IJE E66O6 procedimentoL ! I' * .E1.A CO-,I\bE1 ,E-.6O ,O P6O76A8A I/ condio GprocedimentoH .:EI-E9. 1E-.E-CEL IEL1E procedimentoL IEL1E -E9. 1E-.E-CEL ! 1I7-I/ICA,O M e&ual to %igual' e less tFan %menor do &ue' N greater tFan %maior do &ue' -O. M not e&ual to %diferente-no igual' -O. e greater tFan or e&ual to %maior ou igual' -O. N less tFan or e&ual to %menor ou igual' O6 ou A-, e

GO &O - .6A-1/E6E CO-.6OLE ,O P6O76A8A PA6A O PA6a76A/O E1PECI/ICA,O! 7O .O nome-pargrafo! MO)E * 8O0E ,A,O1 ,E "8A a6EA PA6A O".6A ,A 8E8f6IA! 8O0E GinteiroH GliteralH GcampoH .O campo Icampo-D2!!!L ! MUL&IPL, - E/E."A A 8"L.IPLICA\CO ,E 0ALO6E1! 8"L.IPLB GcampoH GinteiroH BB campo-5 I6O"-,E,L IO- 1IJE E66O6 procedimentoL! 8"L.IPLB GcampoH GintH BB campo-D 7I0I-7 campo-5 I6O"-,E,L IO- 1IJE E66O6 proc!L !

LINGUAGEM DE PROGRAMAO COBOL

Pag. 0-

PER'ORM-E9EC".A PA6.E1 1EPA6A,A1 ,O CO6PO P6I-CIPAL ,O P6O76A8A! PE6/O68 GparagrafoH GseoH I.6:" Gparag-DH Gseo-DHL PE6/O68 GparagrafoH GseoH GinteiroH GcampoH .I8E1! PE6/O68 GparagrafoH GseoH "-.IL condio! PE6/O68 GparagrafoH GseoH 0A6BI-7 GcampoH Ginde5adorH /6O8 GinteiroH Ginde5adorH GcampoH BB GinteiroH GcampoH "-.IL condio I A/.E6 0A6BI-7 Gind5H GcampoH /6O8 GintH GcampoH Gind5H BB GintH GcampoH "-.IL cond L I A/.E6 0A6BI-7 Gind5H GcampoH /6O8 GintH GcampoH Gind5H BB GintH GcampoH "-.IL cond L ! %&OP - PA6A A E9EC"\CO ,O P6O76A8A! 1.OP G6"-H finali4a a e5ecucao do programa! 1.OP G literalH para a e5ecuo e demonstra mensagem2 aguardando deciso do operador! %UB&RAC& - 1"B.6AI 0ALO6E1 1"B.6AC. GinteiroH GcampoH /6O8 campo-D I6O"-,E,L IO- 1IJE E66O6 procedimentoL ! 1"B.6AC. Gint!H GcmpH /6O8 Gint!-DH Gcmp-DH 7I0I-7 cmp-5 I6O"-,E,L IO- 1IJE E66O6 procL ! COMANDO% PARA &RA&AMEN&O DE AR.UI)O% OPEN - ABE6."6A ,E A6K"I0O ,E ACO6,O CO8 O 8O,O ,E ACE11O! OPE- GI-P". H nome-ar&ui(o I2!!!L !MN 1O LEI."6A GO".P". H MN 1O 76A0A\CO GI-O H MN LEI."6A276A0A\CO2E9CL"1CO E 6E76A0A\CO! Fttp*==PPP!li!facens!3r=eletronica

Apostilas de Eletrnica e Informtica Linguagem de Programao COBOL CLO%E - /EC:A O1 A6K"I0O1* CLO1E nome-ar&ui(o I2!!!L !

READ - P6OCE,E A LEI."6A ,O P6f9I8O 6E7I1.6O Lf7ICO ,I1PO-]0EL! A6K"I0O 1EK"E-CIAL* 6EA, ar&ui(o I-E9.L 6ECO6, IA. E-, procedimentoL ! A6K"I0O I-,E9A,O* 6EA, ar&ui(o 6ECO6, IAEB I1 nome-cFa(e-secL II-0ALI, AEB Iproc!L ! /RI&E - LIBE6A O 6E7I1.6O Lf7ICO PA6A A 76A0A\CO /]1ICA! A6K"I0O ,E I8P6E11CO ;6I.E nome-registro I/6O8 campoL IGBE/O6EH GA/.E6H A,0A-CI-7 GPA7EH GinteiroH L! A6K"I0O 1EK"E-CIAL * ;6I.E nome-registro I/6O8 campoL! A6K"I0O I-,E9A,O * ;6I.E nome-registro I/6O8 campoL II-0ALI, AEB procedimentoL! RE/RI&E - 6E76A0A O ^L.I8O 6E7I1.6O Lf7ICO LI,O! 6E;6I.E nome-registro I/6O8 campoL II-0ALI, AEB procedimentoL ! DELE&E - 6E8O0E O ^L.I8O 6E7I1.6O LI,O -O A6K"I0O! ,ELE.E nome-ar&ui(o II-0ALI, AEB procedimentoL! %&AR& - PO1ICIO-A A6K"I0O P= LEI."6A ,E ACO6,O CO8 O 0ALO6 ,A C:A0E E1PECI/ICA,A 1.A6. nome-ar&ui(o I AEB GI1 EK"AL .OH GI1 76EA.E6 .:A- H GI1 -O. LE11 .:A-H nome-cFa(e L II-0ALI, AEB procedimentoL!

Fttp*==PPP!li!facens!3r=eletronica

Anda mungkin juga menyukai