Rumah - Antivirus
Plugin - Pascal. Pascal

Modul dalam Pascal, dalam kaitannya dengan bagian utama program, menyerupai subrutin (prosedur dan fungsi). Namun menurut definisi, mereka adalah program independen yang sumber dayanya dapat digunakan untuk program lain. Selain itu, deskripsi modul terjadi di luar aplikasi pemanggil, tetapi dalam file terpisah, sehingga modul adalah program yang dikompilasi secara terpisah. File modul yang dikompilasi (inilah yang diperlukan untuk digunakan) akan memiliki ekstensi yang disediakan oleh lingkungan pemrograman (misalnya, .tpu, .ppu, .pcu).

Modul biasanya dibuat untuk memastikan kekompakan kode, yang harus Anda jaga proyek-proyek besar. Perlu juga dicatat bahwa penggunaan modul, dalam arti tertentu, menghilangkan batasan segmentasi memori, karena kode untuk setiap modul terletak di segmen terpisah.

Struktur modul terlihat seperti ini:

Satuan<имя модуля>; Antarmuka<интерфейсная часть>Pelaksanaan<исполняемая часть>Mulai<инициализация>Akhir.

Nama satuan

Nama modul yang mengikuti kata kunci Unit harus sesuai dengan nama file (tanpa .pas) di mana kodenya berada. Juga, dengan menggunakan namanya, modul dihubungkan ke modul lain, atau ke program utama. Untuk melakukan ini, Anda perlu menentukan kata layanan Kegunaan, dan mencantumkan daftar plugin yang dipisahkan dengan koma:

Kegunaan<список имен модулей>;

Bagian antarmuka

Bagian antarmuka menjelaskan header objek yang dapat diakses oleh modul dan program lain. Ini adalah konstanta, tipe, variabel dan subrutin. Misalnya, seperti inilah tampilan bagian antarmuka modul Pencarian, yang berisi algoritma untuk mencari elemen dalam array.

Pencarian Satuan; Tipe antarmuka arr = array bilangan bulat; var s: tali; prosedur biner_pencarian(x: bilangan bulat; Ar: arr; var s: string); prosedur line_search(x: integer; Ar: arr; var s: string);

Untuk mendeklarasikan modul ini, Anda perlu menentukan namanya di program:

Setelah itu dimungkinkan untuk menggunakan semua objek yang dijelaskan di bagian antarmuka.

Pelaksanaan

Bagian ini diawali dengan kata Implementasi. Di sinilah Anda perlu mendeskripsikan subrutin yang dideklarasikan di bagian antarmuka. Pada saat yang sama, diperbolehkan untuk tidak menunjukkan parameter formal di headernya, jika tidak parameter tersebut harus sepenuhnya sesuai dengan yang ada di bagian antarmuka. Selain itu, bagian antarmuka dapat berisi objek lokal (tidak dapat diakses oleh program pemanggil) untuk modul.
Bagian permulaan

Bagian inisiasi memulai pekerjaannya sebelum pelaksanaan program utama dimulai. Ini (antara Awal dan Akhir), sebagai suatu peraturan, menggambarkan operator yang dimaksudkan untuk berbagai jenis pekerjaan tambahan. Bagian ini mungkin hilang atau tidak ada kode apa pun. Dalam kasus pertama, Anda perlu menentukan End dengan sebuah titik, dalam kasus kedua, sisakan ruang kosong di dalam Begin dan End .

Mengkompilasi modul

Anda hanya dapat menggunakan modul yang dikompilasi dalam program yang memiliki ekstensi yang disediakan oleh lingkungan pengembangan aplikasi Anda. Mari kita lihat tiga yang paling populer:

mengkompilasi modul di Turbo Pascal

Hasil kompilasi modul menjadi Turbo Pascal, akan ada file dengan ekstensi .tpu (Satuan Turbo Pascal), menyimpan kodenya.

mengkompilasi modul dalam Free Pascal

Setelah mengkompilasi modul di lingkungan Pascal Gratis, dua file dibuat dengan resolusi berbeda: .ppu Dan .Hai. Yang pertama berisi bagian antarmuka modul, dan yang kedua (diperlukan untuk menyusun program) berisi bagian implementasi.

mengkompilasi modul dalam Pascal ABC.NET

Pascal ABC.Net tidak menghasilkan kode bahasa mesin selama kompilasi modul. Jika kompilasi berhasil, kode disimpan dalam file dengan izin.pcu.

Ada tiga mode kompilasi untuk lingkungan pemrograman Turbo Pascal dan Free Pascal: Kompilasi, Pembuatan, dan Pembuatan. Dalam mode Kompilasi, semua modul yang digunakan dalam program harus dikompilasi terlebih dahulu. Aplikasi dalam mode kompilasi Make memeriksa semua modul yang terhubung untuk mengetahui keberadaan file dengan resolusi yang sesuai untuk lingkungan pemrograman (.tpu atau .o). Jika salah satu tidak ditemukan, maka dicari file dengan nama modul yang tidak ditemukan dan berekstensi .pas. Mode yang paling dapat diandalkan adalah Build. Cari dan kompilasi file (dengan ekstensi .pas) ke dalam modus ini terjadi bahkan ketika file modular sudah ada.

Contoh: mari kita buat modul kecil yang berisi prosedur pencarian biner dan linier elemen dalam array. Kode modul:

Pencarian Satuan; Tipe antarmuka arr = array bilangan bulat;<=b do begin c:=a+(b-a) div 2; if (xvar s: tali;

prosedur biner_pencarian(x: bilangan bulat; Ar: arr; var s: string);

prosedur line_search(x: integer; Ar: arr; var s: string); Implementasi var a, b, c, i: integer;

prosedur biner_pencarian(x: bilangan bulat; Ar: arr; var s: string); mulai a:=1; b:=5; s:="TIDAK";

sementara a

Modul Ar[c]) lalu a:=c+1 lain mulai s:="YES"; merusak; akhir; akhir; akhir; prosedur line_search(x: integer; Ar: arr; var s: string); mulai s:="TIDAK";

untuk i:=1 sampai 5 mulai jika (Ar[i]=x) lalu mulai s:="YES"; merusak; akhir; akhir; akhir; akhir.

Semua kode ini harus berada dalam file terpisah. Sekarang mari kita tulis program utama di mana kita akan menghubungkan modul Pencarian kita.

Modul program_pencarian;

menggunakan Crt, Cari; var mas: array bilangan bulat;

Bagian antarmuka dari bahasa Pascal dimulai dengan kata khusus INTERFACE. Berfungsi untuk menghubungkan modul dengan program utama atau modul lainnya. Bagian antarmuka berisi deklarasi semua objek global modul. Pertama-tama, subrutin, dan juga tipe dan variabel global dideklarasikan. Jika suatu objek dideklarasikan secara global, maka objek tersebut dapat digunakan dalam program dan modul pemanggil tanpa deklarasi khusus.

Satuan Wodmass;

ANTARMUKA

MENGGUNAKAN Tipe Saya;

[nama_tipe]:[tipe];

[daftar_global_variabel]:[ketik];

Di bagian antarmuka, subrutin dideklarasikan berdasarkan headernya, yang menyertakan nama subrutin dan daftar parameter formal.

Bagian yang dapat dieksekusi dari bahasa Pascal dimulai dengan kata layanan IMPLEMENTASI dan berisi deskripsi subrutin yang dideklarasikan di bagian antarmuka; selain itu, objek lokal ke modul (variabel, konstanta) dapat dideklarasikan di bagian yang dapat dieksekusi. Deskripsi subrutin di bagian yang dapat dieksekusi harus dimulai dengan judul subrutin, dan daftar parameter formal dihilangkan.

Bagian awal Pascal mengakhiri modul, dan bagian ini mungkin hilang atau kosong. Tidak disarankan untuk melakukan bagian awal, karena situasi beku dapat terjadi. Ini berisi pernyataan yang dapat dieksekusi, menetapkan nilai awal variabel global, membuka file yang diperlukan, dan membuat koneksi dengan file lain.

Mengkompilasi modul dalam Pascal

Saat bekerja dengan modul, Anda harus mengkompilasi modul itu sendiri dan mengkompilasi program yang menggunakan modul tersebut. Seperti yang Anda ketahui, di lingkungan Borland Pascal terdapat tiga mode kompilasi (Compile, Build, Make). Saat mengkompilasi modul itu sendiri, mode Kompilasi biasanya digunakan, meskipun mode lain juga dimungkinkan jika modul menggunakan modul lain. Saat mengkompilasi modul, program yang dapat dieksekusi tidak dibuat, tetapi file khusus dari modul yang dikompilasi dengan ekstensi .tpw dibuat. File modul yang dikompilasi ditempatkan di direktori, biasanya diberi nama Unit (diatur dalam pengaturan lingkungan). Saat mengkompilasi program yang berisi modul, ketiga mode kompilasi dapat digunakan. Kompilasi dalam mode berbeda berbeda dalam durasi dan keandalan.

Mode Menyusun- sederhana dan tercepat. Dalam mode ini, kompiler memeriksa keberadaan modul plug-in di bagian Penggunaan dan mengkompilasi program jika ada. Jika modul hilang, kompilasi berhenti dan pesan yang menunjukkan bahwa modul hilang ditampilkan.

Dalam modus Membuat kompiler memeriksa keberadaan plug-in dan jika beberapa modul tidak ditemukan, kompiler mencari teks modul dengan ekstensi .pas, mengkompilasi modul dan kemudian mengkompilasi program. Selain itu, kompiler memeriksa tanggal pembuatan modul .tpw dan .pas. Jika mendeteksi bahwa tanggal pembuatan file .pas lebih lambat dari file .tpw, ia menyimpulkan bahwa perubahan telah dilakukan pada teks modul dan mengkompilasi ulang modul lagi. Hal ini membuatnya lebih dapat diandalkan.

Dalam modus Membangun semua file .tpw diabaikan, compiler akan mengkompilasi ulang semua modul yang digunakan dalam program utama dan mengkompilasi program. Ini adalah mode yang paling dapat diandalkan, tetapi sekaligus paling lama.

Modul dalam Pascal dalam kaitannya dengan bagian utama program, mereka menyerupai subrutin (prosedur dan fungsi). Namun menurut definisi, mereka adalah program independen yang sumber dayanya dapat digunakan untuk program lain. Selain itu, deskripsi modul terjadi di luar aplikasi pemanggil, tetapi dalam file terpisah, sehingga modul adalah program yang dikompilasi secara terpisah. File modul yang dikompilasi (inilah yang diperlukan untuk digunakan) akan memiliki ekstensi yang disediakan oleh lingkungan pemrograman (misalnya, .tpu, .ppu, .pcu).

Modul biasanya dibuat untuk memastikan kekompakan kode, yang harus dikhawatirkan oleh proyek besar. Perlu juga dicatat bahwa penggunaan modul, dalam arti tertentu, menghilangkan batasan segmentasi memori, karena kode untuk setiap modul terletak di segmen terpisah.

Struktur modul terlihat seperti ini:

Satuan<имя модуля>;
Antarmuka
<интерфейсная часть>
Pelaksanaan
<исполняемая часть>
Mulai
<инициализация>
Akhir.

Nama satuan

Nama modul mengikuti kata kunci Satuan, harus sesuai dengan nama file (tanpa .pas) tempat kodenya berada. Juga, dengan menggunakan namanya, modul dihubungkan ke modul lain, atau ke program utama. Untuk melakukan ini, Anda perlu menentukan kata layanan Kegunaan, dan daftarkan daftar plugin yang dipisahkan dengan koma:

Kegunaan<список имен модулей>;

Bagian antarmuka

Bagian antarmuka menjelaskan header objek yang dapat diakses oleh modul dan program lain. Ini adalah konstanta, tipe, variabel dan subrutin. Misalnya, seperti inilah tampilan bagian antarmuka modul Pencarian, yang berisi algoritma untuk mencari elemen dalam array.

Abs di Pascal, mengembalikan nilai absolut suatu variabel. Hasil yang dikembalikan oleh fungsi Abs sama dengan argumen - parameter yang diteruskan ke fungsi tersebut. Parameter ini dapat berupa tipe data numerik apa pun.

Sintaks fungsi abs untuk bilangan bulat:

fungsi Abs(L: PanjangInt) : PanjangInt;

fungsi Abs(I: Int64) : Int64;

Opsi terakhir hanya mungkin untuk dan , karena Pascal klasik tidak memiliki tipe data Int64.

Sintaks fungsi abs untuk bilangan real:

fungsi Abs(D: ValReal) : ValReal;

ValReal adalah tipe data nyata dengan nilai terbesar yang tersedia dalam suatu data tertentu sistem operasi. Sebenarnya, ini adalah alias (alias) dari salah satu tipe Extended atau Double.

Dan sekarang contoh penggunaannya:

Program tidak berfungsi; varx: bilangan bulat = -100;

kamu: bilangan bulat; mulai y:= Abs(x); //y = 100 WriteLn("Ab(-100) = ",y); //Menghasilkan 100 ReadLn; akhir.

Disini kita mendeklarasikan terlebih dahulu variabel dengan nilai awal -100 (angka negatif).

Dan pada programnya kita menggunakan fungsi Abs dan hasilnya variabel y akan sama dengan 100 (angka positif).

Apa yang dihitung oleh fungsi Abs?

Secara umum, Abs adalah kependekan dari Absolute. Seperti yang Anda duga, kata ini diterjemahkan sebagai “mutlak, murni, tidak diragukan lagi.”

Anda harus ingat dari pelajaran matematika sekolah Anda bahwa bilangan mutlak, yaitu nilai mutlak atau modulus suatu bilangan x, adalah bilangan non-negatif yang definisinya bergantung pada jenis bilangan x.

Dalam matematika, modulus suatu bilangan x dinotasikan sebagai berikut: |x|.

Jadi, kita dapat mengatakan bahwa fungsi Abs(x) menghitung modulus bilangan x. Artinya, Abs(x) dalam Pascal sama dengan |x| dalam matematika.

Dan terakhir, mari buat analogi fungsi kita sendiri yang mengembalikan modulus suatu bilangan. Jadi fungsinya akan menjadi seperti ini:

Fungsi MyAbs(iNum: bilangan bulat) : bilangan bulat; mulai jika iNum

Di sini kita meneruskan bilangan bulat ke fungsi tersebut, yang dapat berupa negatif atau positif. Dalam fungsi tersebut kami memeriksa nilai angka ini. Jika bilangannya negatif, maka kita kalikan dengan -1, sehingga diperoleh bilangan positif. Jika angkanya positif, maka kita tidak melakukan apa pun - kita cukup mengembalikan angka yang diterima melalui parameter iNum.

Seperti yang Anda lihat, algoritmanya cukup sederhana.

Benar, fungsi kami hanya dapat bekerja dengan bilangan bulat. Tapi ini hal sepele...

Modul tidak mewakili program yang dapat dieksekusi, tetapi hanya berisi seperangkat alat untuk digunakan dalam program yang dapat dieksekusi: tipe data, variabel, prosedur, dan fungsi. Teks sumber modul memiliki ekstensi .pas. Modul dikompilasi secara terpisah dari program utama; modul yang dikompilasi memiliki ekstensi .tpu ( Turbo Pascal satuan). Modul kompilasi yang telah selesai dapat digunakan dalam program utama menggunakan klausa penggunaan, yang ditulis tepat setelah nama program.

Turbo Pascal memiliki modul standar: DOS, CRT (Cathode Ray Tube), Printer, Grafik, Sistem dan lainnya. Mereka tidak perlu dijelaskan, tetapi dapat langsung dimasukkan ke dalam program dengan klausa penggunaan. Modul Sistem digunakan di semua program, jadi pengecualian telah dibuat untuknya; tidak perlu disertakan dalam klausa penggunaan, modul akan disertakan secara otomatis. Modul lain memerlukan penyertaan dalam klausa penggunaan jika program menggunakan sumber daya modul, seperti prosedur dan fungsi.

Struktur modul

Modul ini memiliki struktur berikut:
Satuan< имя >;
Antarmuka
< интерфейсная часть >
Pelaksanaan
< исполняемая часть >
[Mulai< инициирующая часть > ]
Akhir.

Di Sini:
Satuan- kata kode (modul bahasa Inggris); judul modul awal;
<имя> - nama modul (pengidentifikasi yang benar);
Antarmuka- kata kode yang mengawali bagian antarmuka modul;
Pelaksanaan- kata kode (implementasi bahasa Inggris); memulai bagian yang dapat dieksekusi;
Mulai- kata kode yang mengawali bagian awal;
(bagian dari modul Mulai< инициирующая часть >opsional);
Akhir.- tanda akhir modul.

Jadi, sebuah modul terdiri dari header dan tiga komponen, yang mana pun boleh kosong.

Bagian antarmuka dibuka dengan kata kode Antarmuka. Bagian ini berisi deklarasi semua objek global modul (tipe, konstanta, variabel, dan subrutin) yang harus tersedia untuk program utama dan/atau modul lainnya.

Perlu dicatat bahwa semua konstanta dan variabel yang dideklarasikan di bagian antarmuka modul, serta objek global dari program utama, ditempatkan oleh kompiler Turbo-Pascal dalam segmen data yang besar (panjang segmen maksimum 65521 byte).

Urutan kemunculan berbagai bagian iklan dan jumlahnya bisa berubah-ubah.

Anda tidak dapat menggunakan deskripsi penerusan di bagian antarmuka modul.

Bagian yang dapat dieksekusi

Bagian yang dapat dieksekusi dimulai dengan kata kode Pelaksanaan dan berisi kumpulan prosedur dan fungsi yang dideklarasikan di bagian antarmuka. Bagian ini juga dapat mendeklarasikan objek lokal pada modul: tipe tambahan, konstanta, variabel dan blok, serta label jika digunakan pada bagian awal. Prosedur dan fungsi global yang sebelumnya dideklarasikan di bagian antarmuka harus dijelaskan dalam urutan yang sama dengan headernya yang muncul di bagian antarmuka. Deskripsi blok global di bagian yang dapat dieksekusi harus didahului dengan header yang diperbolehkan untuk menghilangkan daftar variabel formal (dan tipe hasil untuk fungsi tersebut), karena sudah dijelaskan di bagian antarmuka.

Tetapi jika header blok diberikan secara lengkap, mis. dengan daftar parameter formal dan deklarasi hasil, itu harus cocok dengan header yang dideklarasikan di front-end.

Variabel dan konstanta lokal, serta semuanya kode program, yang dihasilkan selama kompilasi modul, ditempatkan di segmen memori bersama.

Mengkompilasi modul

Lingkungan Turbo Pascal mencakup alat yang mengontrol bagaimana modul dikompilasi dan memfasilitasi pengembangan proyek perangkat lunak besar. Secara khusus, tiga mode kompilasi didefinisikan: Kompilasi, Buat, dan Bangun. Mode tersebut hanya berbeda dalam cara modul dikompilasi atau program utama yang dikompilasi dikaitkan dengan modul lain yang dideklarasikan dalam klausa Uses.

Saat mengkompilasi modul atau program utama dalam mode Kompilasi, semua modul yang disebutkan dalam klausa Penggunaan harus dikompilasi terlebih dahulu dan hasil kompilasinya harus ditempatkan dalam file dengan nama yang sama dengan ekstensi .TPU. Misalnya, jika suatu program (modul) memiliki klausa Uses Global, maka file GLOBAL.TPU seharusnya sudah ditempatkan pada disk di direktori yang dideklarasikan oleh opsi Unit direktori. File dengan ekstensi .TPU (dari Bahasa Inggris Turbo-Pascal Unit) dibuat sebagai hasil kompilasi modul.

Dalam mode MAKE, kompiler memeriksa keberadaan file TPU untuk setiap modul yang dideklarasikan. Jika salah satu file tidak ditemukan, sistem akan mencoba mencari file dengan nama yang sama dengan ekstensi .PAS, mis. file dengan kode sumber modul, dan, jika file PAS ditemukan, mulailah mengkompilasinya. Selain itu, dalam hal ini, sistem memantau kemungkinan perubahan pada kode sumber modul apa pun yang digunakan. Jika ada perubahan yang dilakukan pada file PAS (kode sumber modul), maka terlepas dari apakah file TPU yang sesuai sudah ada di direktori atau belum, sistem akan mengkompilasinya sebelum mengkompilasi program utama.

Selain itu, jika ada perubahan pada bagian antarmuka suatu modul, maka semua modul lain yang mengaksesnya juga akan dikompilasi ulang. Mode Make sangat menyederhanakan proses pengembangan program besar dengan banyak modul: programmer dibebaskan dari kebutuhan untuk memantau korespondensi file TPU yang ada dan teks sumbernya, karena sistem melakukan ini secara otomatis.

Dalam mode Build, file TPU yang ada diabaikan dan sistem berupaya menemukan (dan mengkompilasi) file PAS yang sesuai untuk setiap modul yang dideklarasikan dalam Penggunaan. Setelah kompilasi dalam mode Build, programmer dapat yakin bahwa semua perubahan yang dia buat di salah satu modul telah diperhitungkan.

Koneksi modul ke program utama dan kemungkinan kompilasinya dilakukan sesuai urutan deklarasinya di klausa Penggunaan. Saat berpindah ke modul berikutnya, sistem terlebih dahulu mencari semua modul yang dirujuknya. Tautan modul satu sama lain dapat membentuk struktur pohon dengan kompleksitas apa pun, tetapi referensi eksplisit atau tidak langsung dari modul ke modul itu sendiri dilarang.

Pertanyaan 6

Modul CRT adalah perpustakaan prosedur dan deskripsi yang memperluas kemampuan pengguna saat bekerja dengan teks, layar teks, dan keyboard. Mari kita lihat beberapa di antaranya.

1). TextMode(mode: integer) - memilih mode teks yang ditentukan Mode CRT:

2).TextBackground (warna: byte) - Memilih warna latar belakang.

Parameter warna adalah ekspresi bertipe integer, misalnya:

  • 0- hitam
  • 1-biru
  • 2-hijau
  • 3-biru

3). ClrScr - Pembersihan layar. Semua posisi karakter diisi dengan spasi. Ini menggunakan warna latar belakang saat ini yang ditentukan dalam prosedur TextBackGround.

4). TextColor (warna:byte) - Mengatur warna karakter. (konstanta untuk mengatur warna)

5). Window(x1,y1,x2,y2) - Mendefinisikan jendela teks di layar. Parameter x1,y1 adalah koordinat pojok kiri atas jendela, parameter x2,y2 adalah koordinat pojok kanan bawah. Ukuran minimumnya adalah satu kolom per baris. Maksimum - X=80, Y=25. Jika koordinatnya tidak valid, maka panggilan ke prosedur Window diabaikan. Secara default, jendela diatur untuk memenuhi seluruh layar.

6).GoToXY(x,y: byte) - Memposisikan kursor. Kursor berpindah ke posisi di dalam jendela saat ini, yang ditentukan oleh koordinat x dan y (x - menentukan kolom, y - menentukan baris). Jendela(1,10,60,20); GoToXY(1,1); Hal ini akan menyebabkan kursor berpindah ke titik dengan koordinat absolut (1,10).

7).WhereX dan WhereY masing-masing mengembalikan koordinat X dan Y untuk posisi kursor saat ini relatif terhadap jendela saat ini. Jenis hasil Byte.

8).Delay(ms:word) - Melakukan penundaan selama jumlah milidetik yang ditentukan. Parameter msec menentukan jumlah milidetik untuk menunggu. Namun prosedur ini hanya perkiraan, sehingga periode penundaan tidak akan sama persis dengan jumlah milidetik yang ditentukan.

9).READKey - Membaca karakter dari keyboard.

10).Suara - adalah prosedur yang mencakup pembicara dalam; Deskripsi: Suara (hertz: kata); dimana parameter “hertz” menentukan frekuensi sinyal yang dihasilkan dalam hertz. Suara akan berbunyi hingga dimatikan dengan memanggil prosedur NoSound;

11).NoSound - Mematikan speaker internal.

Contoh penggunaan Suara, Penundaan, Tanpa Suara

Suara (220); (nyalakan suara)

Penundaan (300); (tunggu 300 ms)

Tidak Ada Suara; (bisu)

Pertanyaan 7

Modul grafik

TP memiliki alat yang cukup beragam untuk bekerja dengan layar VGA standar.

Adaptor VGA memiliki resolusi 640x480 piksel (titik (0,0) di pojok kiri atas layar), 16 warna.

Sebelum Anda mulai bekerja dengan grafik, Anda perlu menginisialisasinya, dan setelah selesai, “tutup”. Semua prosedur dan fungsi grafis terletak di modul Graph, sehingga koneksinya juga diperlukan.

Struktur umum program grafis:

Menggunakan crt, grafik;
var Gd, Gm: Bilangan bulat;
mulai
Tuhan:= Deteksi;
InitGraph(Gd, Gm, "c:\bp\bgi");
...
(Berikut adalah konstruksi gambarnya)
...
Kunci Baca;
TutupGrafik;
akhir.

Jalur c:\bp\bgi menentukan lokasi file egavga.bgi (driver grafis). Pada komputer yang berbeda jalur ini mungkin berbeda-beda. Jika file egavga.bgi ditempatkan di direktori dengan program, maka jalurnya tidak perlu ditentukan.

Prosedur dan fungsi grafis dasar:

Membangun angka

MasukkanPixel(x,y,c)
- menampilkan titik di layar dengan koordinat (x,y) dan warna c

Garis(x1,y1,x2,y2)
- menarik garis yang berawal di titik (x1,y1) dan berakhir di (x2,y2)

Persegi Panjang(x1,y1,x2,y2)
- menggambar garis luar persegi panjang dengan diagonal (x1,y1) - (x2,y2)

Batang(x1,y1,x2,y2)
- menggambar persegi panjang terisi dengan diagonal (x1,y1) - (x2,y2)

Lingkaran(x,y,r)
- menggambar lingkaran dengan pusat (x,y) dan jari-jari r

Elips(x,y,ba,ea,xr,yr)
- menggambar busur elips dengan pusat di (x,y), radius horizontal dan vertikal xr dan yr, serta sudut awal dan akhir ba dan ea

IsiEllipse(x,y,xr,thn)
- menggambar elips terisi dengan pusat di (x,y), radius horizontal dan vertikal xr dan tahun

1
2
3
4
5
6

Pencarian satuan;
Antarmuka

var s: tali ;

Untuk pengumuman dari modul ini, Anda perlu menentukan namanya di program:

Setelah itu dimungkinkan untuk menggunakan semua objek yang dijelaskan di bagian antarmuka.

Pelaksanaan

Bagian ini dimulai dengan kata Pelaksanaan(pelaksanaan). Di sinilah Anda perlu mendeskripsikan subrutin yang dideklarasikan di bagian antarmuka. Pada saat yang sama, diperbolehkan untuk tidak menunjukkan parameter formal di headernya, jika tidak parameter tersebut harus sepenuhnya sesuai dengan yang ada di bagian antarmuka. Selain itu, bagian antarmuka dapat berisi objek lokal (tidak dapat diakses oleh program pemanggil) untuk modul.

Bagian permulaan

Bagian inisiasi memulai pekerjaannya sebelum pelaksanaan program utama dimulai. Ini (antara Awal dan Akhir), sebagai suatu peraturan, menggambarkan operator yang dimaksudkan untuk berbagai jenis pekerjaan tambahan. Bagian ini mungkin hilang atau tidak ada kode apa pun. Dalam kasus pertama, Anda perlu menentukan Akhir dengan sebuah titik, dalam kasus kedua, sisakan ruang kosong di dalam Mulai dan Akhir.

Mengkompilasi modul

Anda hanya dapat menggunakan modul yang dikompilasi dalam program yang memiliki ekstensi yang disediakan oleh lingkungan pengembangan aplikasi Anda. Mari kita lihat tiga yang paling populer:

Turbo Pascal

Hasil kompilasi modul di Turbo Pascal akan berupa file berekstensi .tpu (Satuan Turbo Pascal), menyimpan kodenya.

Pascal Gratis

Setelah mengkompilasi modul di Free Pascal, dua file dibuat dengan resolusi berbeda: .ppu Dan .Hai. Yang pertama berisi bagian antarmuka modul, dan yang kedua (diperlukan untuk menyusun program) berisi bagian implementasi.

Pascal ABC.NET

Pascal ABC.Net tidak menghasilkan kode bahasa mesin selama kompilasi modul. Jika kompilasi berhasil, kode disimpan dalam file dengan izin .pcu.

Ada tiga mode kompilasi untuk lingkungan pemrograman Turbo Pascal dan Free Pascal: Kompilasi, Buat, dan Bangun. Dalam mode Kompilasi, semua modul yang digunakan dalam program harus dikompilasi terlebih dahulu. Aplikasi dalam mode kompilasi Make memeriksa semua modul yang terhubung untuk mengetahui keberadaan file dengan resolusi yang sesuai untuk lingkungan pemrograman (.tpu atau .o). Jika salah satu tidak ditemukan, maka dicari file dengan nama modul yang tidak ditemukan dan berekstensi .pas. Mode yang paling dapat diandalkan adalah Build. Pencarian dan kompilasi file (dengan ekstensi .pas) dalam mode ini terjadi bahkan ketika file modular sudah ada.

Contoh

Mari kita membuat modul kecil yang berisi prosedur pencarian biner dan linier elemen dalam array. Kode modul:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

Pencarian satuan;
Antarmuka
ketik arr = array [1 ..5] bilangan bulat;
var s: tali ;
prosedur biner_pencarian(x: integer ; Ar: arr; var s: string ) ;
prosedur line_search(x: integer ; Ar: arr; var s: string ) ;
Pelaksanaan
var a,b,c,i: bilangan bulat;
prosedur biner_pencarian(x: integer ; Ar: arr; var s: string ) ;
mulai
sebuah:= 1 ; b:= 5 ; s:= 'TIDAK' ;
sementara a<= b do
mulai
c:= a+ (b— a) div 2 ;
jika(x b:= c— 1
lain jika (x>Ar[ c] ) maka
sebuah:= c+ 1
kalau tidak
mulai s:= 'YA' ; merusak ; akhir ;
akhir ;
akhir ;
prosedur line_search(x: integer ; Ar: arr; var s: string ) ;
mulai
s:= 'TIDAK' ;
untuk i:= 1 sampai 5 lakukan
mulai
jika (Ar[ i] = x) maka
mulai
s:= 'YA' ; merusak ;
akhir ;
akhir ;
akhir ;
akhir.

Semua kode ini harus berada dalam file terpisah. Sekarang mari kita tulis program utama di mana kita akan menghubungkan modul Pencarian kita.



 


Membaca:



Menggunakan gaya di Excel Cara membuat gaya baru Anda sendiri

Menggunakan gaya di Excel Cara membuat gaya baru Anda sendiri

Jika Anda secara konsisten menggunakan opsi yang sama untuk memformat sel lembar kerja di spreadsheet Anda, mungkin ada baiknya Anda membuat gaya pemformatan...

Kesalahan apa yang terjadi saat instalasi?

Kesalahan apa yang terjadi saat instalasi?

Catatan: Program AutoLISP hanya dapat dijalankan pada AutoCAD versi lengkap, tidak dapat dijalankan pada AutoCAD LT. (tidak termasuk kasus pemuatan...

Status sosial seseorang dalam masyarakat

Status sosial seseorang dalam masyarakat

Sarankan apa yang menentukan pilihan seseorang terhadap status utamanya. Dengan menggunakan teks dan fakta kehidupan sosial, buatlah dua asumsi dan...

Interpretasi penuh atas kesalahan

Interpretasi penuh atas kesalahan

Tak sedikit pengguna yang menjumpai fenomena blue screen of death. Apa yang harus dilakukan (Windows 7 paling sering rentan terhadap masalah ini)...

gambar umpan RSS