text maarque kanan

INGATKAN DIRIMU UNTUK MENGATUR SEGALA SESUATU SUDAH DI ATUR ALLOH

salju

Selasa, 27 Desember 2011

Data dalam COBOL

Mendeklarasikan Data dalam COBOL



Pengantar
Satuan tujuan, sasaran, persyaratan dan bacaan lebih lanjut.

Kategori COBOL Data
Bagian ini memperkenalkan tiga kategori data COBOL - Literal, Variabel dan Konstanta figuratif.

Mendeklarasikan Data-Item dalam COBOL
Dalam bagian ini kita menunjukkan bagaimana variabel dideklarasikan dalam COBOL menggunakan klausa PICTURE.

Group dan Dasar Data-Item
Bagian ini menunjukkan bagaimana struktur record dapat ditentukan dengan menggunakan pengaturan yang sesuai nomor tingkat.

Pengantar

Tujuan

Tujuan dari unit ini adalah memberikan Anda pemahaman tentang berbagai kategori data yang digunakan dalam program COBOL dan untuk menunjukkan bagaimana item dari setiap kategori dapat dibuat dan digunakan.

Tujuan

Pada akhir unit ini anda harus -
  1. Tahu cara menggunakan dan menciptakan literal, variabel dan Konstanta figuratif.
  2. Memahami bagaimana cara mendeklarasikan numerik, alfabet dan alfanumerik data item.
  3. Jadilah mampu menciptakan struktur record dengan menetapkan angka tingkat yang sesuai dengan yang data-item.
  4. Memahami perbedaan antara kelompok dan data dasar item.
  5. Dapat menetapkan nilai awal untuk variabel.

Prasyarat

Pengantar COBOL.
tetapi informasi lebih lanjut tentang item data menyatakan dalam COBOL dapat ditemukan di unit meliputi
  • Diedit Gambar
  • Sequential File
  • Klausa PENGGUNAAN

Bacaan lebih lanjut

Informasi lebih lanjut tentang item data menyatakan dalam COBOL dapat ditemukan di unit meliputi -
  • Diedit Gambar
  • Sequential File
  • Klausa PENGGUNAAN

Kategori COBOL Data

Pengantar

Ada tiga kategori dari item data yang digunakan dalam program-program COBOL:
    • Variabel.
    • Literal.
    • Konstanta figuratif.

Variabel

Sebuah data-nama atau identifier adalah nama yang digunakan untuk mengidentifikasi area memori reserved untuk sebuah variabel. Sebuah variabel adalah lokasi yang disebutkan dalam memori yang program dapat memasukkan data, dan dari yang dapat mengambil data.
Setiap variabel yang digunakan dalam program COBOL harus dijelaskan dalam DIVISI DATA.
Selain data nama-, sebuah deklarasi variabel juga mendefinisikan tipe data yang akan disimpan dalam variabel. Ini dikenal sebagai tipe data variabel.

Variabel jenis data


Mencoba untuk melakukan perhitungan pada item data numerik yang mengandung non-numerik data adalah sering menyebabkan crash program untuk memulai programmer COBOL.
Beberapa bahasa seperti Modula-2, Pascal atau Ada yang digambarkan sebagai sangat diketik. Dalam bahasa ada sejumlah besar jenis data yang berbeda dan perbedaan antara mereka adalah ketat diberlakukan oleh compiler. Sebagai contoh, compiler akan menolak pernyataan yang mencoba untuk menetapkan nilai karakter ke item data integer.
Dalam COBOL, hanya ada tiga tipe data -
  • numerik
  • alfanumerik (teks / string)
  • alfabetis
Perbedaan antara tipe data adalah sedikit kabur dan hanya lemah ditegakkan oleh compiler. Sebagai contoh, adalah sangat mungkin untuk menetapkan nilai non-numerik ke item data yang telah dinyatakan numerik.
Masalah dengan pendekatan ini lemah untuk mengetik data adalah bahwa, sejak kecelakaan program COBOL (menghentikan terduga) jika mereka mencoba untuk melakukan perhitungan pada item yang mengandung non-numerik data, itu terserah kepada programmer untuk memastikan ini tidak pernah terjadi.
Programmer COBOL harus memastikan bahwa non-numerik data yang tidak pernah ditugaskan ke item numerik dimaksudkan untuk digunakan dalam perhitungan. Programmer yang menggunakan bahasa sangat diketik tidak perlu tingkat disiplin karena compiler memastikan bahwa variabel dari jenis tertentu hanya dapat diberikan nilai yang sesuai.

Literal

Sebuah literal adalah data-item yang hanya terdiri dari nilai data-item itu sendiri. Hal ini tidak dapat disebut dengan nama. Menurut definisi, literal adalah konstan data item.
Ada dua jenis literal -
  • String / alfanumerik Literal
  • Numeric Literal

String Literal

String / alfanumerik literal diapit dalam tanda kutip dan terdiri dari karakter alfanumerik.
Sebagai contoh: "Michael Ryan", "-123", "123,45"

Numeric Literal

Literal numerik dapat terdiri dari angka, titik desimal, dan tanda plus atau minus. Numeric literal tidak tertutup dalam tanda kutip.
Sebagai contoh: 123, 123,45, -256, 2987

Figuratif Konstanta

Sebenarnya COBOL tidak memungkinkan Anda untuk mengatur karakter tunggal yang didefinisikan pengguna Konstanta figuratif. Ini dapat berguna jika Anda perlu menggunakan non-printable karakter ASCII seperti ESC atau FormFeed.
User-defined Konstanta figuratif dinyatakan dalam klausa KARAKTER SIMBOLIS dari DIVISI LINGKUNGAN.
Dalam ekstensi yang preview spesifikasi baru COBOL, NetExpress tidak memungkinkan user-defined konstanta. Ia menggunakan tingkat 78 untuk tujuan ini.
Tidak seperti kebanyakan bahasa pemrograman lain COBOL tidak menyediakan mekanisme untuk menciptakan konstanta didefinisikan pengguna tetapi tidak menyediakan satu set konstanta khusus yang disebut Konstanta figuratif.
Sebuah Konstan figuratif dapat digunakan di mana pun itu legal untuk menggunakan literal tapi tidak seperti literal, ketika Konstan kiasan ditugaskan ke item data ini mengisi seluruh item Timpa segala sesuatu di dalamnya.
Para Konstanta figuratif adalah:
SPACE atau RUANG Bertindak seperti satu atau lebih spasi
ZERO atau nol atau nol Bertindak seperti satu atau lebih angka nol
QUOTE atau KUTIPAN Digunakan sebagai pengganti tanda kutip
TINGGI-TINGGI NILAI-NILAI atau Menggunakan nilai maksimal yang mungkin
RENDAH-NILAI NILAI atau RENDAH Menggunakan nilai minimum yang mungkin
SEMUA literal Memungkinkan literal biasa untuk bertindak sebagai kiasan Konstan

Catatan figuratif Konstan
  • Ketika Konstan SEMUA kiasan yang digunakan, harus diikuti oleh satu karakter literal. Literal ditunjuk kemudian bertindak seperti Konstanta figuratif standar.
  • ZERO, nol dan nol adalah sinonim, tidak Konstanta figuratif terpisah. Hal yang sama berlaku untuk SPACE dan RUANG QUOTE dan HARGA, TINGGI-TINGGI NILAI-NILAI dan, NILAI RENDAH dan LOW-NILAI.

Menggunakan COBOLdata
------ ------ Contoh

Fragmen Program animasi di bawah ini menunjukkan bagaimana variabel-variabel, literal dan kiasan Konstanta dapat dibuat dan digunakan.
Klik untuk melihat animasi

Mendeklarasikan Data-Item dalam COBOL

Pengantar

Karena COBOL bukan bahasa mengetik seperti Modula-2 atau C itu menggunakan mekanisme yang berbeda untuk menggambarkan karakteristik data-item dalam sebuah program.
Alih-alih menggunakan jenis, karena bahasa ini lakukan, COBOL menggunakan semacam "deklarasi dengan contoh" strategi. Programmer menyediakan sistem dengan sebuah contoh, atau template, atau gambar dari penyimpanan yang diperlukan untuk item data.
Dalam COBOL, deklarasi variabel terdiri dari baris dalam DIVISI DATA yang berisi item berikut:
  • Sebuah jumlah tingkat.
  • Sebuah data-nama atau identifier.
  • Sebuah klausa Gambar.

COBOL gambar klausul

Sebenarnya ada simbol gambar lebih banyak dari ini. Sebagian besar ini akan diperkenalkan ketika kita menutupi Gambar Diedit.
Untuk menciptakan 'gambar' yang dibutuhkan programmer menggunakan satu set simbol. Simbol yang paling umum digunakan dalam klausul standar gambar:
9
Sembilan digit digunakan untuk mengindikasikan terjadinya suatu digit pada posisi yang sesuai dalam gambar.
X
X karakter digunakan untuk mengindikasikan terjadinya setiap karakter dari set karakter pada posisi yang sesuai dalam gambar.
Sebuah
Karakter A digunakan untuk mengindikasikan terjadinya dari setiap karakter alfabet (A ke Z ditambah kosong) pada posisi yang sesuai dalam gambar.
V
V karakter digunakan untuk menunjukkan posisi titik desimal dalam nilai numerik. Hal ini sering disebut sebagai "titik desimal diasumsikan". Hal ini disebut bahwa karena, meskipun titik desimal yang sebenarnya tidak disimpan, nilai-nilai diperlakukan seolah-olah mereka memiliki titik desimal dalam posisi itu.
S
Karakter S menunjukkan adanya tanda dan hanya dapat muncul pada awal gambar.

Gambar klausa catatan

Meskipun kata PICTURE dapat digunakan ketika mendefinisikan klausa gambar itu adalah normal untuk menggunakan PIC singkatan.
Berulang simbol dapat ditentukan dengan menggunakan 'mengulangi' faktor di dalam kurung. Sebagai contoh:
 PIC 9 (6) adalah setara dengan GAMBAR 999999
 PIC 9 (6) V99 adalah setara dengan PIC 999999V99
 GAMBAR X (10) adalah setara dengan PIC XXXXXXXXXX
 PIC S9 (4) V9 (4) adalah setara dengan PIC S9999V9999
 PIC 9 (18) adalah setara dengan PIC 999999999999999999 
Nilai numerik dapat memiliki maksimal 18 (delapan belas) digit.
Batas nilai string biasanya bergantung kepada sistem.

Group dan Dasar-item data yang

Pengantar

Meskipun kami dinyatakan di atas bahwa setiap deklarasi variabel terdiri dari sejumlah tingkat, nama mengidentifikasi dan klausa gambar, definisi itu hanya berlaku untuk data dasar item. Kelompok item didefinisikan hanya menggunakan tingkat-nomor dan nama yang mengidentifikasi, tidak ada klausul gambar diperlukan atau diizinkan.
Yang menimbulkan pertanyaan - apa yang item kelompok dan apa yang item dasar?

Dasar item

Sebuah deklarasi variabel juga mungkin memiliki sejumlah klausul lain seperti PENGGUNAAN atau BLANK ZERO KAPAN
Sebuah "item dasar" adalah nama yang kita gunakan dalam COBOL untuk menggambarkan data-item yang belum dibagi lagi. Bahasa lain mungkin menggambarkan variabel-variabel ini sebagai biasa.
Item SD harus memiliki klausul gambar karena mereka sebenarnya cadangan penyimpanan yang diperlukan untuk item. Jumlah penyimpanan dicadangkan ditentukan oleh klausa gambar item.
Sebuah deklarasi Item dasar terdiri dari;
  • nomor tingkat
  • nama Data
  • klausul gambar
Nilai awal dapat ditugaskan ke variabel melalui suatu perluasan ke klausa PICTURE disebut klausul NILAI.
Beberapa contoh:
 01 GrossPay PIC 9 (5) V99 NILAI nol.

 01 NetPay PIC 9 (5) V99 NILAI nol.

 01 CustomerName PIC X (20) NILAI RUANG.

 01 CustDiscount PIC V99 NILAI .25. 

Kelompok item

Kadang-kadang ketika kita sedang memanipulasi data akan lebih mudah untuk mengobati koleksi item dasar sebagai kelompok tunggal. Sebagai contoh, kita mungkin ingin ke grup YearofBirth data item, MonthofBirth, DayOfBirth bawah nama grup - dateOfBirth. Jika kita merekam informasi tentang siswa kita mungkin ingin membagi StudentName ke Nama_belakang, MiddleInitial dan Surname. Dan kita mungkin ingin menggunakan kedua kelompok ini item dan item dasar StudentId dan CourseCode dalam deskripsi catatan siswa.
Kita dapat membuat grup seperti ini dalam COBOL menggunakan item kelompok. Sebuah "item kelompok" adalah istilah yang digunakan dalam COBOL untuk menggambarkan data-item - dateOfBirth suka atau StudentName - yang telah lebih jauh lagi. Dalam bahasa lain kelompok barang dapat digambarkan sebagai "struktur".
Sebuah item kelompok terdiri dari item bawahan. Item bawahan ke item kelompok mungkin item SD atau item kelompok lain. Tetapi pada akhirnya setiap item kelompok harus didefinisikan dalam istilah item subordinat dasar.
Dalam item kelompok, hubungan hirarkis antara bawahan item berbagai kelompok dinyatakan menggunakan nomor tingkat. Semakin tinggi jumlah tingkat, semakin rendah item tersebut dalam hirarki. Dimana kelompok item adalah item tertinggi dalam hirarki data itu disebut sebagai "catatan" dan menggunakan jumlah tingkat 01.
Kelompok item dinyatakan menggunakan nomor tingkat dan nama data saja. Sebuah item kelompok tidak dapat memiliki klausul gambar karena tidak benar-benar cadangan penyimpanan apapun. Ini hanyalah sebuah nama yang diberikan untuk koleksi (akhirnya) item dasar yang melakukan penyimpanan cadangan.
Oleh karena itu, ukuran item kelompok adalah jumlah ukuran barang subordinat dasar.
Jenis barang kelompok selalu diasumsikan PIC X karena barang kelompok mungkin memiliki beberapa item data yang berbeda dan jenis bawahan untuk itu dan gambaran X adalah satu-satunya yang dapat mendukung koleksi tersebut.

Tingkat Angka

Meskipun jumlah tingkat menentukan hirarki data aktual yang harus anda gunakan indentasi untuk memberikan representasi grafis dari itu. Ini akan membuat program Anda lebih mudah untuk dibaca. Sebagai contoh, indentasi membuat jelas bahwa DayOfBirth, MonthOfBirth dan YearOfBirth adalah barang bawahan dateOfBirth, sementara CourseCode tidak.
Tingkat angka digunakan untuk menyatakan hirarki data. Semakin tinggi jumlah tingkat, semakin rendah item tersebut dalam hirarki. Pada tingkat terendah data benar-benar atom.
Yang penting dalam struktur didefinisikan dengan nomor tingkat adalah hubungan angka tingkat satu sama lain, bukan pada angka tingkat aktual yang digunakan. Misalnya, deskripsi catatan di bawah ini adalah ekuivalen.
Rekam-A
 01 StudentDetails.
    02 StudentId PIC 9 (7). 
    02 StudentName. 
       03 FirstName PIC X (10).
       03 MiddleInitial PIC X. 
       03 Nama asli PIC X (15).
    02 dateOfBirth.
       03 DayOfBirth PIC 99.
       03 MonthOfBirth PIC 99.
       03 YearOfBirth PIC 9 (4).
    02 CourseCode PIC X (4).
Rekam-B
 01 StudentDetails.
    05 StudentId PIC 9 (7). 
    05 StudentName. 
       07 FirstName PIC X (10).
       07 MiddleInitial PIC X. 
       07 Nama asli PIC X (15).
    05 dateOfBirth.
       07 DayOfBirth PIC 99.
       07 MonthOfBirth PIC 99.
       07 YearOfBirth PIC 9 (4).
    05 CourseCode PIC X (4).

Beberapa pengamatan pada Rekam-A

Hal ini berguna untuk memeriksa Rekam-A di atas dan untuk menjawab pertanyaan-pertanyaan berikut:
Q1. Berapa ukuran (dalam karakter) Record-A?
Q2. Apa ukuran StudentName Data-item?
Q3. Apa ukuran dateOfBirth?
Q4. Apa jenis data dateOfBirth? Apakah numerik, alfabet atau alfanumerik.


A1. Ukuran Record-A adalah jumlah ukuran semua item SD bawahan untuk itu (7 +10 +1 +15 +2 +2 +4 +4 = 45 karakter).
A2. Ukuran StudentName adalah jumlah ukuran FirstName, MiddleInitial dan Surname. Jadi StudentName adalah 26 karakter dalam ukuran (10 +1 +15).
A3. DateOfBirth adalah 8 karakter dalam ukuran (2 +2 +4).
A4. Tipe data dari dateOfBirth adalah alfanumerik (yaitu PIC X) meskipun semua item di bawahnya adalah numerik karena jenis barang kelompok selalu alfanumerik.

Tingkat sejumlah catatan

Nomor tingkat 01 sampai 49 adalah nomor tingkat umum, tetapi ada juga nomor tingkat khusus seperti 66, 77 dan 88.
  • Level 77 hanya dapat digunakan untuk menentukan item dasar individu. Penggunaan yang 77 dilarang di beberapa toko yang mengambil pandangan bahwa alih-alih menyatakan sejumlah besar dari 77 dibedakan yang lebih baik untuk mengumpulkan barang-barang pribadi ke dalam kelompok.
  • Tingkat 88 yang digunakan untuk mendefinisikan Nama Kondisi.
  • Level 66 itu (mengganti nama klausa) yang digunakan untuk menerapkan suatu nama baru untuk identifier atau kelompok pengidentifikasi. Hal ini tidak umum digunakan dalam program COBOL modern.

Membangun struktur record

Dalam animasi di bawah ini kami menunjukkan bagaimana tingkat nomor dapat digunakan untuk menentukan struktur hirarki catatan sebagai data-item.
Klik untuk melihat animasi



Hak Cipta

Bahan-bahan kursus COBOL adalah milik hak cipta dari Michael Coughlan.
All rights reserved. Tidak ada bagian dari bahan-bahan ini tentu saja dapat direproduksi dalam bentuk apapun atau dengan cara apapun - grafis, elektronik, mekanik, fotokopi, percetakan, merekam, merekam atau disimpan dalam penyimpanan informasi dan sistem pengambilan - tanpa izin tertulis dari penulis.
(C) Michael Coughlan

Terakhir diperbarui: Maret 1999
e-mail: CSISwebeditor@ul.ie

Tidak ada komentar:

Posting Komentar