Presentasi "Bahasa Pemrograman Pascal. Editor Teks Bahasa.". Dasar-dasar Pemrograman Pascal Presentasi tentang Pascal

Nikolaus Wirth Tetapi salah jika berpikir bahwa Pascal adalah bahasa yang khusus untuk dipelajari. Inilah yang dikatakan N. Wirth (1984) tentang hal ini: “Telah dikemukakan bahwa Pascal dikembangkan sebagai bahasa untuk pengajaran. Meskipun pernyataan ini benar, namun penggunaannya dalam pelatihan bukanlah satu-satunya tujuan. Faktanya, saya tidak percaya pada keberhasilan menggunakan alat dan teknik seperti itu selama pelatihan yang tidak dapat digunakan dalam memecahkan beberapa masalah praktis. * *


Bahasa pemrograman Pascal Sejak saat itu, Pascal menjadi semakin populer, tidak hanya sebagai bahasa untuk mengajarkan prinsip-prinsip pemrograman, tetapi juga sebagai sarana untuk membuat program yang cukup kompleks. perangkat lunak. Dalam bentuk aslinya, Pascal memiliki kemampuan yang agak terbatas, tetapi versi lanjutan dari bahasa ini, Turbo Pascal, adalah bahasa pemrograman yang kuat.


Mengapa PASCAL? Bahasa pemrograman Pascal dinamai menurut ilmuwan Prancis Blaise Pascal, yang menemukan mesin hitung mekanis pertama pada tahun 1642. Itu adalah sistem interaksi roda gigi, yang masing-masing sesuai dengan satu digit angka desimal dan berisi angka dari 0 hingga 9. Saat roda berputar penuh, yang berikutnya bergeser satu digit. Mesin Pascal adalah mesin penjumlahan.


Informasi dasar tentang bahasa pemrograman Bahasa adalah sistem tanda. Bahasa komputer (bahasa mesin) adalah sistem tanda biner. Oleh karena itu, agar komputer dapat memahami program tertulis, program tersebut harus diterjemahkan ke dalam bahasa yang dapat dimengerti oleh komputer. Proses penerjemahan ini disebut translasi.




Lingkungan terintegrasi Turbo Pascal-7.0 Peran besar dalam distribusi massal Pascal dimainkan oleh Borland International. Dia berhasil menciptakan lingkungan pengembangan Turbo yang terkenal. Itu adalah langkah maju yang besar dalam membuat proses pemrograman lebih mudah. Mengapa turbo? Turbo dalam terjemahan dari bahasa gaul bahasa Inggris berarti akselerasi. Kompiler yang merupakan bagian dari Turbo Pascal dengan sangat cepat menerjemahkan program dari bahasa pemrograman menjadi kode mesin.




Sarana utama bahasa Simbol bahasa adalah tanda-tanda dasar yang digunakan dalam penyusunan teks. Alfabet suatu bahasa adalah sekumpulan simbol semacam itu. Alfabet Turbo Pascal 7.0 meliputi: semua huruf besar latin dan huruf kecil angka arab (0 – 9) simbol + - * / =,. ; : _ () ( ) dan kata bantu lainnya (disimpan).


Untuk merekam perintah, nama fungsi, istilah penjelas Turbo Pascal 7.0, ada sekumpulan kata yang ditentukan secara ketat, yang disebut bantu atau dicadangkan (ini adalah singkatan mnemonik bahasa Inggris). Kata-kata fungsi dibagi menjadi tiga kelompok: operator (BACA, WRITELN, dll.) Nama fungsi (SIN, COS, dll.) Kata kunci (VAR, BEGIN, END, dll.) Fitur bahasa dasar


Nama suatu nilai adalah penunjukannya, ini adalah kata dari huruf, angka, dan garis bawah, dimulai dengan huruf. Bilangan: bilangan bulat, nyata: titik tetap (-1,23; 654,2), titik mengambang (2, 437,). Enam operasi: + penjumlahan, - pengurangan, / pembagian, * perkalian, mod mencari sisa, pembagian bilangan bulat div.


Ekspresi aritmatika dibangun dari nama, angka, tanda operasi aritmatika, fungsi matematika. Tanda kurung digunakan untuk menunjukkan urutan operasi. Untuk mengkuadratkan, notasi sqr(x) digunakan. Untuk mengekstrak akar kuadrat, notasi sqrt(x) digunakan. Modul ini dilambangkan dengan abs(x).


Operator penugasan Nama variabel:= ekspresi aritmatika. x:= 3,24 atau x:= x+4. Tipe variabel 1. Jika variabel di sebelah kiri bertipe real, maka ekspresi aritmatika dapat bertipe integer atau real. 2. Jika variabel di sebelah kiri bertipe integer, maka ekspresi aritmatikanya hanya integer.


Struktur program di Pascal Bagian 1 - deskripsi data dan operator. Bagian 2 - blok program. Tampilan umum program: Program (nama program) label (daftar label) const (daftar nilai konstanta) tipe (deskripsi tipe data kompleks) var (deskripsi data program) mulai (awal blok program) (algoritma) akhir. (akhir program)


Nama program: tidak lebih dari 8 karakter, dimulai dengan huruf. diakhiri dengan titik. Bagian deskriptif terdiri dari 4 bagian: label, konstanta, nama dan jenis variabel. nama dan jenis variabel var: integer (bilangan bulat), nyata (nyata). Misalnya: var i, j: integer; x: nyata; Deskripsi setiap jenis diakhiri dengan titik koma. Blok program berisi operator yang menjelaskan algoritme untuk memecahkan masalah.


Pernyataan input dan output: baca (daftar nama) - menghentikan program dan menunggu pengguna mengetik angka pada keyboard (dipisahkan dengan spasi) dan tekan ENTER. Misalnya: baca(i, j); Setelah pengoperasian operator ini, kursor ditempatkan setelah angka terakhir tetapi tidak diterjemahkan ke baris baru. Untuk memindahkan kursor ke baris baru setelah memasukkan data, gunakan pernyataan readln(daftar nama). tulis (daftar keluaran) - Menulis data ke layar. Daftar keluaran - nama hasil perhitungan yang dipisahkan koma dan teks penjelasan dalam apostrof. Misalnya: tulis(x=, x); Nomor fixed-point akan dicetak di layar. Misalnya: tulis(x=, x:6:2); layar akan menampilkan angka 6 digit, dua di antaranya setelah titik desimal, (x =). Kursor dipindahkan ke baris baru oleh writeln operator keluaran kosong. readln operator input kosong






Bekerja di sistem Turbo Pascal Alt + F10 - menu File - New - buat file baru Enter - harus diletakkan di akhir setiap baris Ctrl + Y - hapus baris Enter - masukkan baris Untuk menjalankan program, pilih Run in menu Penerjemah - menerjemahkan program dari bahasa Pascal ke dalam bahasa mesin dan mencari kesalahan sintaks. 1. Jika kesalahan ditemukan, maka editor akan kembali, kursor akan menunjuk ke kesalahan tersebut. 2.Jika tidak ditemukan kesalahan, program dijalankan










Terkadang, setelah kata THEN dan ELSE, Anda perlu mengeksekusi bukan hanya satu, tetapi beberapa pernyataan. Kemudian operator ini diapit oleh tanda kurung operator. Tanda kurung buka adalah kata BEGIN, tanda kurung tutup adalah kata END. Tidak ada titik koma sebelum kata ELSE. Disarankan agar setiap pasangan BEGIN - END ditulis dalam satu kolom. Kondisi IF THEN mulai pernyataan 1; operator 2; pernyataan N akhir ELSE mulai pernyataan 1; operator 2; operator M akhir ;




Program E3; var a,b: bilangan bulat; mulai tulis (masukkan dua bilangan bulat yang dipisahkan oleh spasi, lalu tekan); readln(a,b); jika mod 2 = 0 maka writeln (a genap) else writeln (a ganjil); jika b mod 2 = 0 maka writeln (b - even) else writeln (b - odd); baca akhir.


3 jika a>0 6 jika a 0 6 jika a 0 6 jika a 0 6 jika a0 6 jika a title="3 jika a>0 6 jika a


Program E31; var a, y: nyata; mulai tulis (masukkan angka lalu tekan); readln(a); jika a >0 maka y:=3 selain itu y:=6; tulis(y=,y); baca akhir. 0 lalu y:=3 selain itu y:=6; tulis(y=,y); baca akhir."> 0 then y:=3 else y:=6; write (y=,y); readln end."> 0 then y:=3 else y:=6; write (y=,y); readln end." title="Program E31; var a, y: nyata; mulai tulis (masukkan angka lalu tekan); readln(a); jika a >0 maka y:=3 selain itu y:=6; tulis(y=,y); baca akhir."> title="Program E31; var a, y: nyata; mulai tulis (masukkan angka lalu tekan); readln(a); jika a >0 maka y:=3 selain itu y:=6; tulis(y=,y); baca akhir."> !}


A+b jika a>b a*b jika a b a*b jika a b a*b jika a b a*b jika ab a*b jika a title="a+b jika a>b a* b jika a


Program E32; var a,b,x: nyata; mulai tulis (masukkan dua angka yang dipisahkan oleh spasi lalu tekan); readln(a); jika a >b maka x:=a+b selain itu x:=a*b; tulis(x=,x); baca akhir. b lalu x:=a+b lain x:=a*b; tulis(x=,x); baca akhir."> b then x:=a+b else x:=a*b; write (x=,x); readln end."> b then x:=a+b else x:=a*b; write (x=,x); readln end." title="Program E32; var a,b,x: nyata; mulai tulis (masukkan dua angka yang dipisahkan oleh spasi lalu tekan); readln(a); jika a >b maka x:=a+b selain itu x:=a*b; tulis(x=,x); baca akhir."> title="Program E32; var a,b,x: nyata; mulai tulis (masukkan dua angka yang dipisahkan oleh spasi lalu tekan); readln(a); jika a >b maka x:=a+b selain itu x:=a*b; tulis(x=,x); baca akhir."> !}




Organisasi loop Tindakan berulang dalam pemrograman disebut loop Operator lompatan tanpa syarat goto n, n adalah bilangan bulat (tidak lebih dari 4 karakter), sebuah label. Label diulang sebanyak 3 kali: 1. Pada bagian Label; 2.Dalam pernyataan goto; 3.Sebelum operator yang melakukan lompatan tanpa syarat.


Organisasi siklus dengan bantuan operator transisi bersyarat dan tidak bersyarat. Sebuah tugas. Temukan jumlah dari dua puluh angka pertama. (1+2+3….+20). a ………………20 S ………….


Algoritme Euclid: setiap kali kita akan mengurangi angka yang lebih besar dengan nilai yang lebih kecil hingga kedua angka menjadi sama. Contoh: Awal 1 langkah 2 langkah 3 langkah a= 25 b= gcd(a,b)=5


Program E5; var a, b: bilangan bulat; mulai tulis (gcd=,a); baca; akhir. tulis (Masukkan dua bilangan asli yang dipisahkan oleh spasi); readln(a,b); while ab do if a>b then a:=a-b else b:=b-a; b lalu a:=a-b lain b:=b-a;"> b lalu a:=a-b lain b:=b-a;"> b lalu a:=a-b lain b:=b-a;" title="Program E5 ;var a, b: integer;begin write(gcd=,a);readln;end.write(Masukkan dua bilangan asli yang dipisahkan oleh spasi);readln(a,b); while ab do if a>b then a:= a-b lain b:=b-a;"> title="Program E5; var a, b: bilangan bulat; mulai tulis (gcd=,a); baca; akhir. tulis (Masukkan dua bilangan asli yang dipisahkan oleh spasi); readln(a,b); while ab do if a>b then a:=a-b else b:=b-a;"> !}




B lalu a:=a-b; if b>a then b:=b-a tulis (Masukkan dua bilangan bulat positif yang dipisahkan oleh spasi); readln (a,b);" title="Program E6; var a, b: integer; mulai tulis (HOD=,a); readln; end. ulangi sampai a=b; jika a>b maka a :=a-b; if b>a then b:=b-a write (Masukkan dua bilangan asli yang dipisahkan oleh spasi); readln (a,b);" class="link_thumb"> 40 !} Program E6; var a, b: bilangan bulat; mulai tulis (HOD=,a); baca; akhir. ulangi sampai a=b; jika a>b maka a:=a-b; if b>a then b:=b-a tulis (Masukkan dua bilangan bulat positif yang dipisahkan oleh spasi); readln(a,b); b lalu a:=a-b; if b>a then b:=b-a tulis (Masukkan dua bilangan bulat positif yang dipisahkan oleh spasi); readln (a,b);"> b then a:=a-b; if b>a then b:=b-a write (Masukkan dua bilangan asli yang dipisahkan oleh spasi); readln (a,b);"> b lalu a:= a-b ; if b>a then b:=b-a tulis (Masukkan dua bilangan bulat positif yang dipisahkan oleh spasi); readln (a,b);" title="Program E6; var a, b: integer; mulai tulis (HOD=,a); readln; end. ulangi sampai a=b; jika a>b maka a :=a-b; if b>a then b:=b-a write (Masukkan dua bilangan asli yang dipisahkan oleh spasi); readln (a,b);"> title="Program E6; var a, b: bilangan bulat; mulai tulis (HOD=,a); baca; akhir. ulangi sampai a=b; jika a>b maka a:=a-b; if b>a then b:=b-a tulis (Masukkan dua bilangan bulat positif yang dipisahkan oleh spasi); readln(a,b);"> !}




Topik pelajaran: "Siklus (pengulangan) dalam program"

1) Ulangi dan konsolidasi pengetahuan tentang menyusun program linier dan bercabang; 2) Belajar menulis program menggunakan operator siklik - FOR i:=1 TO n DO Begin pernyataan (loop body) end ; 3) Menerapkan operator dalam memecahkan masalah tipikal. Tujuan pelajaran:

Sisipkan hilang: Program Sql; Var A, B, C, D, XI, X2: ??? ; Begin Writeln ("Masukkan koefisien persamaan kuadrat '); Readln (???); D:=B*B-4*A*C; If D

Pertanyaan kepada kelompok: 1) Apa perbedaan antara program percabangan dan program linier? 2) Dengan bantuan operator apa pilihan dibuat dalam program? 3) mulai….akhir - Apa itu? Apa aturan untuk menggunakan program?

1) Operator I/O; 2) Operator pilihan; 3) a:=a+3 - apa yang akan terjadi? 4) Daftar tipe data; 5) Hapus AND, OR, END, NOT, IF yang tidak perlu; 6); - apa artinya? 7) Bagaimana akhir program ditandai? 8) Daftar operasi aritmatika. 9) Apa itu 120 mod 65 = ? 10) Pernyataan pengulangan.

Susunlah sesuai dengan: 1. Baca 2. Selesai 3. Mulai 4. Bilangan Bulat 5. ; 6. If .. Then 7. := 8. Enter 9. End 10. Integers 11. Assign 12. Next action 13.Start 14.If..then

Apakah hasilnya kurang dari 3? a:= 7 b:= - 10 a:=a*(- 7) b:=159 a:=b+a

Temukan 5 kesalahan dalam program: Program krug ; VAR Pi, r, S: nyata; Pi:=3.14, WRITELN('vvedite radiuc r='), READ(r); S=Pi*r*r; WRITELN('Ploshad kruga S= ', S) end

lingkaran program; VAR Pi, r, S: nyata; mulai Pi:=3.14 , WRITELN('vvedite radiuc r=') , READ(r); S:=Pi*r*r; WRITELN('Ploshad kruga S= ', S) end .

Tugas №1 Diberi bilangan bulat N , tentukan apakah itu genap atau ganjil. 2, 4, 6, ... genap, karena dibagi tanpa sisa dengan 2(N mod 2 =0) 1, 3, 7, ... - ganjil, karena dibagi 2 dengan sisa 1(N mod 2 =1)

Algoritma Algoritma Chislo; var N: bilangan bulat; mulai Keluaran('vvedite chislo'); Masukan (N) ; JIKA N mod 2 =0 T O Output(N,'- chetnoe'); JIKA N mod 2 =1 T O Output(N,'- nechetnoe'); tamat.

Tugas № 2 Diberi bilangan bulat dua digit N (DE), di mana D - jumlah puluhan, E - satuan. Tentukan apakah jumlah digit dari angka ini adalah 10. Contoh: angka 28 akan memiliki jumlah S =2+8=10, tetapi angka 27 tidak akan memiliki S=2+7=9 Kita akan menghitung puluhannya: D = N div 10 , dan satuan: E= N mod 10

Algoritma Algoritma Chislo; vars N,E,D,S: bilangan bulat; mulai Keluaran('vvedite chislo'); Masukan (N) ; E:=N mod 10; D:=N div 10; S:=E+D; IF S = 10 T O Keluaran('summa= 10') Sebaliknya ('summa10'); tamat.

Definisi: Program di mana jenis tindakan yang sama diulang berkali-kali - program siklik (dengan pengulangan).

Tugas: Diberikan 100 bilangan asli dari 1 sampai 100 (1,2,3, ... 99.100) Hitung jumlah dan keluarannya ke variabel S.

Algoritma penjumlahan; Variabel i,S: bilangan bulat; Mulai S:=0; For i:=1 to 100 repeat Start S:= S + i body End; siklus Kesimpulan (S) Akhir.

jumlah program; VAR i , S: bilangan bulat; MulaiS:=0; FOR i:=1 TO 100 DO begin S:=S+i body end; loop MENULIS (S) akhir.

jumlah program; VAR i , S: bilangan bulat; MulaiS:=0; UNTUK i:=1 SAMPAI 100 LAKUKAN mulai S:=S+i ; body WRITE('S', i, '=', s) dari loop end; akhir.

Tubuh siklus adalah tindakan yang perlu diulang berkali-kali. Kami melampirkan badan siklus dalam tanda kurung operator mulai ... .. akhir;

ALT + F9 - perbaiki kesalahan CTRL + F9 - jalankan program ALT + F5 - lihat hasilnya

Tugas: 1) Tampilkan kolom tabel perkalian bilangan bulat N dengan angka dari 1 sampai 10. Contoh: N = 5, maka kolomnya akan seperti ini - 1*5=5 2*5=10 3*5= 15 i * N = P , dimana i berubah dari …… .. 1…10 10*5=50

Pekerjaan rumah: mengomentari program untuk tugas "Tentang kolom tabel perkalian"

TERIMA KASIH ATAS PERHATIAN ANDA!

  1. 1 Paskal
  2. 2. Pascal Pascal dikembangkan oleh ilmuwan Swiss Niklaus Wirth. Pascal dianggap sebagai alat yang paling penting untuk mengajarkan metode pemrograman terstruktur dan sejak tahun 1983 telah diperkenalkan ke dalam kurikulum di sekolah untuk siswa yang berspesialisasi dalam ilmu komputer. Di masa mendatang, bahasa Pascal diperbaiki dan memperoleh properti baru yang berbeda dari versi pembuatnya.
  3. 3. Pascal relatif mudah dipelajari, cukup jelas dan logis, dan menjadi bahasa pemrograman pertama yang dipelajari, mengajarkan gaya yang baik.
  4. 4. Seperti bahasa alami, setiap bahasa pemrograman memiliki gaya dan aturannya sendiri. Sintaks bahasa pemrograman adalah seperangkat aturan yang menentukan cara membuat program yang benar dari karakter alfabet.
  5. 5. Alfabet Pascal 26 huruf latin kecil dan 26 huruf latin besar : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z garis bawah _ 10 digit : 0 1 2 3 4 5 6 7 8 9 tanda operasi : + - * / =<> < > <= >= := @ pembatas (pemisah): . , " () (. .) ( ) (* *) .. : ; penentu: ^ # $
  6. 6. Struktur program (1. tajuk program) nama_program program; (2. bagian untuk menentukan modul yang digunakan) menggunakan List_of_Used_Modules; (3. Bagian Deskripsi) label Label_Deskripsi; const Descriptions_Consts; ketik TypeDescriptions; var Variable_Descriptions; procedure Descriptions_of_procedures_and_functions; fungsi ekspor Deskripsi dari_Exported_Names; (4. Bagian Pernyataan) mulai Pernyataan berakhir.
  7. 7. Struktur program yang disederhanakan (1. header program) nama_program program; (2. bagian untuk menentukan modul yang digunakan) menggunakan List_of_Used_Modules; (3. Bagian Deskripsi) const Descriptions_Consts; var Variable_Descriptions; (4. Bagian pernyataan) mulai Pernyataan program berakhir.
  8. 8. Perintah bahasa pemrograman disebut operator Pemisah operator dalam Pascal adalah; (titik koma)
  9. 9. Komentar adalah bagian dari teks program yang dibatasi oleh simbol ( ). Komentar dalam program menjalankan fungsi informasional. (Program pertama saya) program dulu; mulai writeln('Halo, Dunia!') akhir.
  10. 10. Contoh: program keliling persegi panjang keliling; (header program) menggunakan crt; (crt - diperlukan untuk membersihkan layar) var a,b:integer; (deklarasi variabel) P:integer; Mulai (mulai program) clrscr; (hapus layar) a:=12; (kami menetapkan nilai 12 ke variabel a) b:=7; (kami menetapkan nilai 7 ke variabel b) P:=2*(a+b); (nilai ekspresi diberikan ke P) write("P = ",P); (menampilkan nilai P) akhir. (akhir program)
  11. 11. Program dalam pekerjaannya berhubungan dengan data. Beberapa data disetel sebelum program dimulai, dan setelah dimulai, nilainya tetap tidak berubah selama durasi program. Ini adalah konstanta. Data lain dapat berubah selama eksekusi program. Mereka disebut variabel.
  12. 12.  Perbedaan antara variabel dan konstanta cukup jelas: selama eksekusi program, nilai variabel dapat diubah, tetapi nilai konstanta tidak. vadatadata
  13. 13. Yang kami maksud dengan variabel adalah sel (“kotak”) tempat komputer dapat menulis (“menambahkan”) data. Yang kami maksud dengan sel adalah "sepotong memori" yang menyimpan informasi. Untuk menggunakan informasi yang disimpan dalam sel, setiap sel harus memiliki namanya sendiri atau, seperti yang sering dikatakan, pengenal. ab jumlah 5 3 8
  14. 14. Pengidentifikasi. Nama (pengidentifikasi) adalah elemen bahasa - konstanta, label, tipe, variabel, prosedur, fungsi, modul, objek.  Identifier adalah urutan huruf, angka, dan garis bawah yang dimulai dengan huruf atau garis bawah dan tidak mengandung spasi.
  15. 15. Nama dapat berisi sejumlah karakter, tetapi 63 karakter adalah signifikan.  Tidak diperbolehkan menggunakan kata fungsi dan nama standar sebagai nama dalam bahasa PASCAL, yang digunakan untuk memberi nama konstanta standar, tipe, prosedur, fungsi dan file.  Contoh nama bahasa PASCAL : A b12 r1m SIGMA gamma I80_86
  16. 16. Pada Pascal, perbedaan antara huruf kecil dan huruf besar diabaikan, sehingga nama NaMe dan nama sama.
  17. 17. Kata Fungsional adalah kata yang dalam bahasa PASCAL mempunyai arti semantik tertentu yang tidak dapat diubah. Kadang-kadang disebut kata kunci.
  18. 18. Service (reserved) words: ABSOLUTE EXPORTS LIBRARY SET ASSEMBLER EXTERNAL MOD SHL AND FAR NAME SHR ARRAY FILE NIL STRING ASM FOR DEKAT MAKA ASSEMBLER MAJU BUKAN UNTUK MEMULAI FUNGSI OBJECT TYPE CASE GOTO DARI UNIT CONST IF ATAU UNTIL CONSTRUCTOR IMPLEMENTATION PACKED MENGGUNAKAN DESTRUCTOR IN PRIVATE VAR DIV INDEX PROCEDURE VIRTUAL DO INHERITED PROGRAM WHILE DOWNTO INLINE PUBLIC WITH ELSE INTERFACE RECORD XOR END INTERRUPT REPEAT EXPORT LABEL RESIDEN
  19. 19. Spasi tidak dapat digunakan di dalam karakter ganda dan kata khusus. Ada nama yang disebut standar. sin cos real true Tidak seperti kata fungsi, arti nama standar dapat didefinisikan ulang oleh pemrogram.
  20. 20. Ini merupakan indikasi kepada kompiler berapa banyak memori yang akan dicadangkan untuk variabel program kita.  Dalam program yang dikompilasi, semua variabel dialokasikan ruang dalam memori, dan semua variabel diberi nilai nol. Semua variabel yang digunakan dalam program harus dideklarasikan di bagian deklarasi variabel setelah kata khusus var. Mendeklarasikan Variabel
  21. 21. Ada berbagai jenis data...
  22. 22. Tipe data Nama tipe standar adalah pengidentifikasi yang telah ditentukan sebelumnya dan valid di setiap titik dalam program. Mereka dijelaskan dalam modul Sistem standar, yang termasuk dalam daftar modul yang digunakan secara default. Tipe yang ditentukan pengguna adalah tipe tambahan (sederhana dan terstruktur) yang dideklarasikan oleh pengguna.
  23. 23. Tipe data standar 1. kelompok tipe integer (Shortint, Integer, Longint, Byte, Word); 2. kelompok tipe real (Single, Real, Double, Extended, Comp); 3. logis (tipe Boolean) (Boolean, ByteBool, WordBool, LongBool); 4. karakter (Char); 5. tali (Tali); 6. indeks (Penunjuk); 7. jenis teks (Teks).
  24. 24. Grup tipe bilangan bulat Nama jenis Jenis rentang nilai memori yang diperlukan Ditandatangani bilangan bulat pendek Shortint -128 .. 127 1 byte Ditandatangani bilangan bulat Integer -32768 .. 32767 2 byte Ditandatangani bilangan bulat panjang Longint -2147483648 .. 2147483647 4 byte Tidak ditandatangani pendek integer Byte 0 .. 255 1 byte Unsigned integer Word 0 .. 65535 2 byte
  25. 25 Kata kunci: byte; summa, hitung: bilangan bulat; Mendeklarasikan variabel tipe integer summa:= -365; Menggunakan
  26. 26. Angka dalam PASCAL biasanya ditulis dalam notasi desimal. Tanda positif dari angka tersebut dapat dihilangkan. Bilangan bulat ditulis dalam bentuk tanpa titik desimal, contoh: 217 -45 8954 +483
  27. 27. Kelompok tipe real mendefinisikan data yang diimplementasikan oleh subset bilangan real. Var A: nyata; mulai ... A:=0,65; … akhir.
  28. 28. Nama jenis Jenis Rentang nilai Jumlah digit mantissa Ukuran (byte) Jumlah real presisi tunggal Real 2.9e-39 .. 1.7e+38 11 6 Bilangan real Single 1.5e-45 .. 3.4e+ 38 7 4 Bilangan riil presisi ganda Ganda 5.0e-324 .. 1.7e+308 15 8 Bilangan Riil Presisi Diperpanjang Diperpanjang 3.4e-4932 .. 1.1e+4932 19 10 Comp Real Integer -9.2e+18 .. 9.2e +18 19 8
  29. 29. Bilangan riil ditulis dalam bentuk dengan titik desimal atau dalam bentuk dengan menggunakan urutan desimal yang dilambangkan dengan huruf E : 28.6 0.65 -0.018 4.0 5E12 -1.72E9 73.1E-16
  30. 30. Tipe data Boolean sesuai dengan pengenal Boolean. Variabel Boolean memiliki ukuran 1 byte dan dapat berisi nilai BENAR atau SALAH. Nilai FALSE sesuai dengan 0, angka apa pun selain nol dianggap BENAR. tombol Var, bendera: boolean; Tombol mulai:=benar;
  31. 31. Jenis karakter sesuai dengan pengidentifikasi standar Char. Variabel dan konstanta bertipe karakter dapat mengambil nilai dari sekumpulan karakter kode ASCII. Simbol var, bukva, z: char; Mendeklarasikan Variabel Simbolik
  32. 32. Jenis string sesuai dengan String pengidentifikasi standar. VarS: Tali; (string dari 0 sampai 255 karakter) S2: String; (rangkaian 5 karakter)
  33. 33. String karakter adalah rangkaian karakter dari rangkaian karakter ASCII yang dilampirkan dalam tanda kutip tunggal. String dalam PASCAL adalah urutan karakter yang ditulis di antara apostrof. Jika perlu menggunakan apostrof itu sendiri sebagai karakter yang bermakna dalam sebuah string, maka dua apostrof harus ditulis. Contoh string: "STRING" "STRING" "AD" "UTANT"
  34. Tipe karakter, serta tipe integer dan Boolean, disebut sebagai tipe ordinal.  Himpunan nilai yang valid dari tipe ordinal apa pun adalah urutan terurut, yang setiap elemennya memiliki nomor urutnya sendiri (mulai dari 0).
  35. 35. Fungsi Ord mengembalikan nomor urut dari nilai ini dalam deklarasi tipe. Ord(2)=2, Ord('0')=48 Writeln(ord('e')); WriteIn(ord('9'));
  36. 36. Tabel pengkodean ASCII ASCII (American Standard Code for Information Interchange; diucapkan "asci") adalah pengkodean komputer untuk mewakili alfabet Latin, angka Arab, beberapa tanda baca, dan karakter kontrol. Itu diperkenalkan oleh American Standards Institute ANSI.

1 slide

PELAJARAN “KENAL DENGAN BAHASA PASCAL” TEMA: Guru matematika dan ilmu komputer, MBO USOSh No. 2, Kalach-on-Don, wilayah Volgograd Anisimova N.A.

2 slide

TUJUAN PELAJARAN: untuk mengetahui struktur program, operator, aturan format dan tanda baca dari bahasa Turbo Pascal.

3 slide

Sistem pemrograman TURBO PASCAL. Pascal adalah bahasa pemrograman universal yang memungkinkan Anda memecahkan berbagai macam masalah pemrosesan informasi.

4 slide

1) bahasa pemrograman Turbo Pascal; 2) lingkungan pemrograman terintegrasi (kompiler: menerjemahkan program menjadi kode mesin dan juru bahasa: mengeksekusi perintah) KOMPOSISI SISTEM PEMROGRAMAN TR:

5 slide

1) huruf latin - besar dan kecil; 2) huruf alfabet Rusia - besar dan kecil; 3) angka - dari 0 hingga 9; 4) tanda operasi - +, -, /, *, =, =; 5) memisahkan karakter - () ( ) ; . , ‘ _% & # dll. Alfabet bahasa pemrograman TURBO PASCAL

6 slide

7 slide

Header program Bagian deklarasi variabel Bagian pernyataan (badan utama)

8 slide

Bagian deklarasi variabel dimulai dengan kata Var diikuti dengan daftar nama variabel yang dipisahkan koma dengan tipe yang sama. Ada dua jenis angka dalam Pascal: Real dan Integer. Nama variabel terdiri dari huruf Latin dan angka, dengan karakter pertama adalah huruf. Daftar variabel VAR dengan tipe yang sama: INTEGER; daftar variabel serupa:REAL;

9 slide

Bagian operator adalah bagian utama dari program ini. Awal dan akhir bagian ditandai dengan kata layanan BEGIN dan END , yang merupakan tanda kurung operator. Di antara kata-kata ini, ditempatkan semua perintah algoritme yang ditulis dalam Pascal (operator). Pemisah operator adalah titik koma. Sebuah titik ditempatkan di akhir program. MULAI BACA (daftar masukan); READLN(daftar masukan); variabel:=ekspresi aritmatika; MENULIS (daftar keluaran); WRITELN(daftar keluaran); AKHIR.

10 slide

Input data awal dari keyboard terjadi pada operator READ atau READLN (baca). Pernyataan READLN berbeda dari READ hanya setelah memasukkan data, kursor berpindah ke awal garis baru. variabel:=ekspresi aritmatika; MENULIS (daftar keluaran); WRITELN(daftar keluaran); AKHIR. BACA (daftar masukan); READLN(daftar masukan);

11 meluncur

variabel:=ekspresi aritmatika; Operator penugasan aritmatika: di sebelah kiri adalah variabel, di sebelah kanan adalah ekspresi aritmatika yang akan dievaluasi. Karakter majemuk:= dibaca sebagai "assign". Pertama, ekspresi aritmatika dievaluasi, kemudian nilai yang dihasilkan diberikan ke variabel Contoh: a:= sqr (x) + sin (y) / (12*z + 5)

12 slide

mod div / * - + SIN (x) COS (x) SQR (x) SQRT (x) ABS (x) Sin x Cos x x 2 |x| x penjumlahan pengurangan perkalian pembagian bilangan bulat pembagian sisa pembagian

13 meluncur

Aturan penulisan ekspresi aritmatika Ekspresi aritmatika ditulis dalam string Anda tidak dapat meletakkan dua tanda operasi aritmatika dalam satu baris Anda tidak dapat menghilangkan tanda perkalian antar faktor Hanya tanda kurung yang digunakan Urutan operasi ditentukan oleh prioritasnya () F(x ) * / + - mod div

14 slide

Output dari hasil terjadi oleh WRITE atau WRITELN (write). Hasilnya ditampilkan sesuai urutan daftarnya. Perbedaan antara eksekusi pernyataan WRITE dan WRITELN adalah bahwa setelah operasi keluaran dilakukan pada pernyataan WRITELN, kursor berpindah ke awal baris baru. MENULIS (daftar keluaran); WRITELN(daftar keluaran);

15 slide

Tugas 1: AXby 6) TU154 2) R&B 3) Roda 4 4) Vasya 5) “PesBarbos” 7) 8) _ABBA 9) A+B

16 meluncur

tugas program1; var a, b: bilangan bulat; x, y: nyata; mulai a:= 5; 10:=x; y:= 7,8; b:= 2,5; x:= 2*(a + y); a:= b + x; akhir. nama variabel harus di sebelah kiri tanda:= bagian bilangan bulat dan pecahan dipisahkan oleh koma dan jenis ketidaksesuaian Jenis ketidaksesuaian TUGAS 2: Menemukan kesalahan dalam entri program.

PASCAL PENGANTAR BAHASA PEMROGRAMAN 2006 STRUKTUR KURSUS Antarmuka dan definisi utama; struktur program; menampilkan informasi teks; masukan papan ketik; koneksi dan penggunaan modul sistem; bekerja dengan tipe data dasar (integer, real, string, array, file);bekerja dengan grafik; penggunaan subrutin (prosedur dan fungsi); penggunaan modul. 2 ANTARMUKA LINGKUNGAN PASCAL Bahasa pemrograman Turbo Pascal 7.0 diapit oleh sebuah tool shell. Ini termasuk: editor teks multi-jendela; penghubung program; debugger program; sistem bantuan; penyusun. 3 ANTARMUKA LINGKUNGAN PASCAL 4 Daftar file yang terbuka: Alt + 0 Akses cepat untuk membuka file: Alt +<№ окна> DEFINISI DASAR Kata khusus adalah kata khusus yang digunakan oleh bahasa pemrograman untuk memisahkan area logis dari suatu program. Operator adalah perintah bahasa yang melakukan beberapa tindakan (memeriksa kondisi, mengatur loop, dll.) Pengidentifikasi adalah nama yang dipilih secara bebas oleh programmer untuk elemen program. Tipe data adalah karakteristik dari pengenal yang menentukan kumpulan nilai yang dapat diambilnya (bilangan bulat atau pecahan, string karakter, ekspresi logis, dll.). 5 STRUKTUR UMUM PROGRAM Program_name; Menggunakan bagian plugin; Bagian deskripsi label dari label; bagian Const dari deklarasi konstanta; Jenis bagian yang menjelaskan tipe data asli; bagian deklarasi variabel var; Mulailah Bagian utama dari program; akhir. Kode minimum: 6 SCREEN OUTPUT Untuk menampilkan informasi di layar, digunakan operator berikut: Write atau Writeln. F9 - Kompilasi + Verifikasi Ctrl+F9 - Jalankan F9 → Ctrl+F9 - Hindari Error Menampilkan hasil eksekusi program 7 SCREEN OUTPUT Hasil pernyataan: WRITE "Empty" Pernyataan WRITELN menambahkan string kosong WRITELN 8 LATIHAN Menampilkan informasi di layar seperti yang ditunjukkan di bawah Halo! Senang bertemu Anda! panggil aku komputer Bahan yang digunakan: Pernyataan keluaran: Write, WriteLn "Empty" operator WriteLn; menyisipkan string kosong. 9 MENGHUBUNGKAN MODUL TAMBAHAN Modul tambahan memperluas kemampuan program Anda dengan memperkenalkan operator tambahan. Modul terhubung di bagian Penggunaan. ProgramSaya; Menggunakan Module1, Module2 ; ______________________________________ ________________________ ____________________________ ________________________ MODUL 1 Resource Set 1 … MODUL N Modules: System Own Resource Set N Menghapus layar teks Menunggu penekanan tombol Modul yang terhubung bernama CRT 10 RANDOM SCREEN OUTPUT GotoXY (X, Y: Integer) Di mana X, Y – keakraban koordinat di layar. X dapat mengambil nilai dari 1 hingga 80, dan Y dari 1 hingga 25. Misalnya: Program My_program; (Koneksi modul) Menggunakan Crt; Mulai (Bersihkan layar) ClrScr; (keluaran data) GotoXY(1, 1); tulis("▒"); GotoXY(80, 1); tulis("▒"); GotoXY(1, 25); tulis("▒"); GotoXY(80, 25); tulis("▒"); (penundaan layar) ReadKey; akhir. Program menampilkan simbol “▒” (kode 177) di sudut layar. 11 OUTPUT DALAM WARNA TextColor (Warna); Menentukan warna karakter. TextBackground(Warna); Menentukan warna keakraban. ProgramSayaProgram; Menggunakan crt; Mulai TextColor (Merah); TextBackGround(Biru); Write("Di luar"); TextColor(Putih); Write("rumput, "); TextColor(Hijau); TextBackGround(Kuning); Write("di rumput"); TextBackGround(Magenta); Tulis("kayu bakar. Selesai. lilac - coklat - abu-abu muda - abu-abu tua - biru - hijau muda - cyan muda - merah muda - ungu muda - kuning - putih NILAI Operasi Data IDENTIFIKASI Istilah identifier berlaku untuk konstanta, variabel, fungsi, prosedur, komponen, dan lainnya yang ditentukan pengguna objek Karakter yang diperbolehkan: Huruf latin, angka, garis bawah Pembatasan: Tidak boleh dimulai dengan angka, tetapi boleh dimulai dengan garis bawah Tidak boleh beberapa kata Tidak boleh cocok dengan kata kunci mana pun Pengidentifikasi tidak peka huruf besar/kecil . Pengidentifikasi salah: Data Nama saya 2Array Var ( ( ( ( karakter Rusia digunakan ) Ada spasi ) Mulai dengan angka ) Cocok dengan kata kunci ) angka, string karakter, ekspresi logis, dll.). 16 JENIS DATA INTEGER 17 Himpunan terbatas dari nilai yang mungkin tipe byte shortint word integer longint range 0..255 -128..127 0..65535 -32768..32767 -2147483648..2147483647 ! Di luar jangkauan menghasilkan kesalahan! size DEKLARASI VARIABEL Variabel adalah pengenal yang mampu menyimpan beberapa nilai (angka, string, dll.) dan mengubahnya selama operasi program. Sintaks: Var<имя переменной> : <тип переменной>; nama_program program; Menggunakan bagian plugin; bagian deklarasi variabel var; Mulailah Bagian utama dari program; akhir. Ruang yang dicadangkan dalam memori komputer untuk 3 variabel 18 MENGATUR NILAI KE VARIABEL Untuk mengatur nilai variabel, Anda harus menggunakan operator penugasan:= Sintaks rekam:<Переменная> := <Значение>; Nilai 3 dimasukkan ke dalam variabel (integer) bernama A 19 OPERASI DENGAN VARIABEL INTEGER 20 Operasi aritmatika: + - * / Operasi standar: div | modern | sqr Tidak dapat digunakan dengan tipe integer Variabel bernama S diset ke jumlah nilai yang disimpan dalam variabel X dan Y Nilai yang disimpan dalam variabel bernama S ditampilkan di layar LATIHAN 21 1. Tulis program yang menampilkan hasil perkalian bilangan 15 dan 20 2. Tulislah program yang menampilkan nilai fungsi f 2 x 3 y , ketika x=11, y=3 Bahan yang digunakan : Variabel dideklarasikan pada bagian Var Tipe integer disebut Integer Sintaks untuk menetapkan nilai ke variabel adalah:<Переменная> := <Значение> ; Sebuah tanda ditempatkan setelah setiap operator; (kecuali awal dan akhir terakhir) TIPE DATA NYATA Set nilai √ √ Tipe ordinal Tipe nyata Kompatibilitas satu arah: Bilangan Bulat Nyata Nyata! Di luar jangkauan dan ketidakpatuhan terhadap aturan kompatibilitas menyebabkan kesalahan! 22 OPERASI DENGAN VARIABEL NYATA 23 Operasi standar: pi | Kotak | dosa | Karena | perut | exp | Putaran Ln | Trunc (nyata → bilangan bulat) Misalnya (X, S – Tipe nyata): X:= pi/3; S:= Sin(X) * 100; Tulis(Bulat(S)); Rasio nilai yang disimpan dalam variabel X dan Y dimasukkan ke dalam variabel bernama S. Posisi angka dan jumlah karakter di bagian pecahan angka E menunjukkan kekuatan angka. 5.6E-5 = 5.6·10-5 STRING DATA TYPE 24 String adalah kumpulan karakter yang terurut. String diapit oleh apostrof. String tidak kompatibel dengan tipe integer dan real. Ketik Rentang String 255 karakter ( Operator string dasar ) + ( Rangkaian ) Panjang (S); ( panjang string ) Contoh: X:= 'Vasya'; Write('Dalam nama Anda', Panjang(X), 'menyala.'); S:=X; X:=S; LATIHAN Tulislah program yang menampilkan hasil pembagian bilangan 12,89 dan 0,22 dengan hanya tiga angka penting setelah titik desimal, dengan format sebagai berikut: bilangan pertama dibagi bilangan kedua = hasil Tulis (X:1:3, 'razdelit na' , y:1 :3, ' = ' z:1:3) Bahan yang digunakan: Jenis string disebut String String diapit oleh postrophes String digabungkan dengan tanda + Pada pernyataan tampilan, tipe yang berbeda dipisahkan oleh koma 25 KEYBOARD INPUT 26 Untuk memasukkan informasi dari keyboard, Anda harus menggunakan operator input: Read atau ReadLn. Sintaks: Baca (N1, N2, ... Nn); Di mana N1, N2, ... Nn adalah variabel (integer, real, string) Di variabel X, nilai yang dimasukkan dari keyboard dimasukkan. Setelah memasukkan nilai, Anda harus menekan tombol Enter. Jika ada beberapa variabel di dalamnya operator, mereka dimasukkan dipisahkan oleh spasi atau dengan menekan tombol Enter LATIHAN 27 1. Tulis program kalkulator mini yang menghitung jumlah dua angka yang dimasukkan dari keyboard. 2. Tulis program yang menanyakan nama Anda, dan setelah Anda menulis nama Anda menampilkan salam. Misalnya, jika Anda memasukkan nama Vanya, maka program akan menampilkan frasa: Halo, Vanya!!! Bahan yang digunakan: Pernyataan input: Baca, Baca OPERATOR OPERATOR KONDISI 29 Operator kondisional mengimplementasikan “pencabangan”, yaitu mengubah urutan eksekusi operator tergantung pada benar atau salahnya suatu kondisi. Kondisi cek NO Tindakan 1 Saya akan pergi ke pantai Hujan YA Tindakan 2 Saya akan membawa payung Tindakan 3 Saya akan pergi ke bioskop PERIKSA KONDISI Operasi perbandingan: > - more< - меньше = - равно >= - lebih besar dari atau sama<= - меньше или равно <>- tidak sama dengan 30 Operasi logis: Tidak Dan Atau - Tidak -Dan - Atau Misalnya: Jika tinggi badan saya > tinggi Petya, Maka saya lebih tinggi dari Petya Jika (hujan) Atau (turun salju), Maka saya akan tinggal di rumah Jika Tidak ((hujan ) Dan (angin)), maka saya akan jalan-jalan Saat menggunakan operasi logis, kondisi diapit tanda kurung SINTAKS PERNYATAAN KONDISI Bentuk singkat: If<условие>kemudian<оператор>; Misalnya, jika nilai pada variabel X kurang dari 0, maka nilai 1 dituliskan pada variabel yang sama: Jika X<0 Then X:= 1; Полная форма: If <условие>kemudian<оператор_1>kalau tidak<оператор_2>; Contoh: Jika X>5 Maka X:= X - 1 Else X:= X + 1; Hanya satu operator yang dapat digunakan setelah kata Then dan Else Sebelum kata Else, tanda; hilang 31 LATIHAN 32 1. Tulis program yang menerima jumlah input dalam dolar dan jumlah dalam euro, dan kemudian menampilkan dalam mata uang mana jumlahnya lebih besar (1 dolar = 28 rubel, 1 euro = 35 rubel) 2. Tulis program , yang mengambil tiga angka sebagai input, dan kemudian menampilkan jumlah maksimumnya. Bahan yang digunakan: Bentuk operator kondisional: Jika<условие>Kemudian<оператор>; Jika<условие>Kemudian<оператор_1>Kalau tidak<оператор_2>; Tanda Sebelum Lain; tidak diatur Operasi perbandingan: >< = <> >= <= Логические операции: Not Or And ОПЕРАТОРНЫЕ СКОБКИ Если после слов Then или Else необходимо записать несколько операторов, то их заключают в операторные скобки (составной оператор). Операторные скобки начинаются словом Begin, а заканчиваются словом End; Например: If Z >0 Lalu Mulai X:= 1; Y:= -1; WriteLn('Informasi diterima'); End Else WriteLn('Kesalahan'); 33 OPERATOR PILIH KASUS Pernyataan pilihan digunakan untuk menggantikan konstruksi pernyataan bersyarat bersarang. Sintaks notasi kasus<порядковая_переменная>dari<значение_1> : <оператор_1> ; <значение_2> : <оператор_2> ; ……… <значение_N> : <оператор_N>Kalau tidak<оператор_N+1>; akhir; Anda dapat menggunakan tanda kurung dalam pernyataan pilih String opsional 34 PILIH PERNYATAAN KASUS Kasus Tinggi siswa 16..30: Anda adalah siswa sekolah dasar; 31,32,33 : Kamu kelas 5-6; 34..50: Anda adalah siswa sekolah menengah Koma digunakan untuk mencantumkan nilai, titik dua digunakan untuk memilih rentang Lain Anda jelas bukan siswa; akhir; Kasus x dari -128..-1: writeln('Negatif'); 0: writeln('Nihil'); 1..127: writeln('Positive') Else WriteLn('Out of range'); akhir; 35 LATIHAN Tulislah sebuah program yang, diberi nomor, menampilkan hari yang sesuai dalam seminggu. Misalnya, masukkan angka 2, program harus menampilkan 'Tuesday'. Jika angkanya di luar 1..7, maka harus ditampilkan pesan bahwa tidak ada hari seperti itu. Bahan yang digunakan: Operator seleksi: Kasus<порядковая_переменная>dari<значение_1> : <оператор_1> ; ……… <значение_N> : <оператор_N>; Kalau tidak<оператор_N+1>; akhir; 36 SIKLUS 37 Algoritma disebut siklik, di mana eksekusi beberapa operator dilakukan berulang kali dengan data modifikasi yang sama (misalnya, prosedur untuk mengalikan angka melalui penjumlahan bergandanya). Ada tiga pernyataan loop dalam Pascal: For (loop dengan parameter atau untuk jumlah pengulangan yang ditentukan) While (WHILE loop) Repeat (BEFORE loop) Jika jumlah pengulangan diketahui, maka lebih baik menggunakan operator loop dengan sebuah parameter. LOOP WITH PARAMETER 38 Loop untuk jumlah pengulangan tertentu dengan menaikkan atau menurunkan nilai parameter For (param) := (start_value) To (end_value) Do (operator) ; Loop body Keterangan Parameter adalah tipe bilangan bulat; Anda dapat menggunakan tanda kurung operator dalam satu lingkaran; Anda tidak dapat mengubah parameter loop di badan loop; Parameter siklus bertambah satu; Nilai awal > nilai akhir, jika tidak, badan loop akan diabaikan; Untuk mengurangi parameter, sebagai ganti To, gunakan DownTo. LOOP DENGAN PARAMETER 39 Tulislah program yang meminta bilangan bulat (a,b), dimana a := <нач_зн>Ke<кон_зн>Mengerjakan<оператор>; Parameternya adalah tipe integer (biasanya Integer); Anda dapat menggunakan tanda kurung operator dalam satu lingkaran; Parameter loop bertambah satu 40 WHILE LOOP Perulangan While pertama-tama menguji kondisi, dan hanya jika true akan mengeksekusi badan perulangan. while (kondisi) do (pernyataan); Di badan kode yang ditulis di bawah ini, loop tidak akan pernah dieksekusi: x:=1; Sementara x>1 lakukan x:=x-1; Anda bisa mendapatkan loop tak terbatas. Misalnya: x:=1 While x>0 do x:=x+1; 41 WHILE LOOP Program yang menampilkan penjumlahan bilangan dari a sampai b. Meskipun tidak ditekan, lakukan begin Delay(2000); akhir; Putaran berjalan hingga variabel perubahan f menjadi lebih besar dari nilai b 42 LATIHAN 43 1. Para astronot memutuskan untuk menanam pohon birch di bulan, dan setiap tahun untuk menggandakan jumlah pohon birch, pada tahun pertama mereka menanam 3 pohon birch. Cetak di layar dalam berapa tahun jumlah pohon birch akan melebihi 10.000 2. Tulis program yang menentukan jumlah maksimum angka yang dimasukkan dari keyboard (masukan angka diakhiri dengan angka 0). Di bawah ini adalah tata letak layar yang disarankan: Masukkan angka. Masukkan 0 untuk melengkapi entri 89 15 0 Jumlah maksimal adalah 89. Material yang Digunakan: While Loop Statement: While<условие>melakukan<оператор>; Perulangan While pertama-tama menguji kondisi, dan hanya jika itu benar akan mengeksekusi bagian utama perulangan. REPEAT LOOP 44 Repeat loop pertama-tama mengeksekusi loop body dan baru kemudian memeriksa kondisinya Repeat (loop_body) Hingga (kondisi); Tidak perlu menggunakan pernyataan majemuk di loop Ulangi, karena konstruksi ini menyediakan eksekusi bukan hanya satu, tetapi beberapa pernyataan yang dilampirkan di antara kata Ulangi dan Sampai. REPEAT LOOP ("Sampai nanti") Program yang menampilkan jumlah angka dari a sampai b. Loop berjalan hingga variabel yang berubah f menjadi lebih besar dari nilai b 45 PERBANDINGAN LOOP Untuk While Repeat 46 Pilihan model loop hanya bergantung pada kenyamanan penggunaannya dalam situasi tertentu. Kita hampir selalu dapat menggunakan jenis perulangan lain, bukan satu LATIHAN Hitunglah nilai fungsi y x 3 x 2 16 x 43 untuk x bervariasi dalam rentang dari -4 hingga 4 inklusif dengan langkah 0,5. Materi yang digunakan: Loop statement Ulangi: Ulangi<тело_цикла>Sampai<условие>Perulangan Pengulangan pertama-tama mengeksekusi badan perulangan, dan baru kemudian memeriksa kondisi 47 GANGGUAN SIKLUS 48 Prosedur digunakan untuk kontrol fleksibel operator siklik: Putus - keluar dari perulangan; Lanjutkan - penyelesaian siklus berikutnya; Contoh: Temukan angka minimum i yang jumlah angka dari 1 sampai i lebih besar dari 100. Begitu s (jumlah angka dari 1 sampai i) menjadi lebih besar dari 100, pernyataan break dipicu dan loop keluar . s:=0; for I:= 1 to 100 do begin if s>100 then break; s:= s + i; akhir; Writeln('bilangan minimum i sehingga (1+2+..+i)>100 sama dengan ',i); 10 angka dimasukkan dari keyboard dan jumlah angka positif saja yang dianggap dalam lingkaran. Jika angkanya negatif, maka pernyataan continue dieksekusi, yang memulai pengulangan berikutnya. s:=0; untuk I:= 1 sampai 10 lakukan begin Readln(k); jika k<0 then Сontinue; s:= s + k; end; Writeln (‘Сумма положительных чисел равна ’,s); МАССИВЫ МАССИВЫ 50 Простые типы: одна переменная – одно значение Структурированные типы: одна переменная – несколько значений Массив – это фиксированное количество значений одного типа. Доступ к конкретному значению осуществляется через индекс. Переменная массива Структура массива: A= Доступ к массиву: 0 1 2 3 Индекс 9 7 0 0 Значения <Имя массива> [ <Индекс>] A := 7; ARRAY Sebuah array dideklarasikan di bagian Var: (Name) : Array [ (start_value) .. (end_value) ] of (type) ; Contoh deklarasi array: Var A: Array of String; B: Susunan Nyata; C: Larik Bilangan Bulat; Contoh pengisian array dengan nilai: A:='Vasya'; A:='Petya'; A:='Masha'; A:='Olesya'; Menulis sebuah); Untuk f:=1 hingga 10 lakukan C[f] := f*2; Untuk f:=1 hingga 10 lakukan WriteLn(C[f]); 51 LATIHAN 52 Tulis sebuah program yang meminta pengguna untuk 7 bilangan bulat dan menyimpannya dalam sebuah array. Array berisi elemen maksimum dan ditampilkan di layar. Contoh: Masukkan angka ke-1: 4 Masukkan angka ke-2: 8 Masukkan angka ke-3: 9 Masukkan angka ke-4: 2 Masukkan angka ke-5: 4 Masukkan angka ke-6: 5 Masukkan angka ke-7: 0 Jumlah maksimum: 9 Material yang digunakan: Deklarasi array:<Имя>:Himpunan[<нач_зн> … <кон_зн>] dari<тип>; Akses larik:<Имя массива> [ <Индекс>] RANDOM NUMBER GENERATOR (RNG) Untuk menghasilkan angka acak dalam program, digunakan operator berikut: Randomize – Inisialisasi RNG. Itu dideklarasikan hanya di awal program; Acak - menghasilkan angka acak dari 0 hingga 1 (tipe nyata); Acak (N) - menghasilkan angka acak dari 0 hingga N-1 (tipe bilangan bulat); 53 MULTIDIMENSIONAL ARRAY 54 Daftar interval untuk setiap dimensi array (Name) : Array [ (start_value) .. (end_value) , (start_value) .. (end_value) , (etc) ] of (type) ; Contoh mendeklarasikan array dua dimensi (matriks, tabel) dengan 4 baris dan 6 kolom: Var A: Array of Integer; Contoh pengisian array: For i:=1 to 4 do For j:=1 to 6 do A := i+j; Ai , j 2 3 4 5 3 4 5 6 4 5 6 7 5 6 7 8 6 7 8 9 7 8 9 10 LATIHAN Tulis program yang mengisi larik dua dimensi dengan bilangan acak dari -10 hingga 20 dan mencetak hasil penjumlahannya dari elemen yang terletak di sepanjang diagonal tabel. Bahan yang digunakan: RNG initialization: Randomize Random number from 0 to N-1: Random (N) 55 WORKING WITH FILES WORKING WITH FILES 57 [email dilindungi]$ku⌂|"Hd9v*9(L*M=BYGRMxduB █ 8e*BOtCDrTVzHGJ1aBD>@B\(r8sE) █ :wcJvAmRa"v/.Wai;$`SWI=y2]suB █ ?Hq>vF(LmBcV^Adz4P4 .6b]o(QkВ8 █ cu<6`8Z":M^1;:8ANwak;,b2-4…u5 █ 2]suB?Hq>vF(LmBcAdz4wcP]o(QkВ █ 8c8df]e"v,su>+),VAEFБjFV,W$Q- █ y0G1GjN$-eБ|sqZ0`QnВ%\BD%y █ █ █ - terminator baris █ - file terminator Variabel Membuat, membaca, menulis, menutup BEKERJA DENGAN FILE Urutan tindakan saat bekerja dengan file: 1. Mendeklarasikan variabel file (FP); 2. Mengaitkan FP dengan file; 3. Membuka file untuk membaca/menulis; 4. Operasi dengan file; 5. Menutup file (koneksi antara file dan FP juga terputus); 1. Deklarasi FP<Имя>: File dari<тип> ; <Имя>:teks; Varf: Teks; h: File bilangan bulat; 2. Asosiasi FP dengan file Assign (<ФП>, <имя файла>); Assign (f, 'c:\my\Data.ghm') 58 BEKERJA DENGAN FILE 3. Membuka file untuk membaca/menulis Reset (<ФП>); - membuka file untuk membaca Rewrite (<ФП>); - membuka file untuk menulis 4. Operasi dengan file Baca (<ФП>, <П1> , <П2>, …); - membaca ke dalam variabel<П1>, <П2>dll. satu elemen pada posisi penunjuk. Menulis(<ФП> , <П1> , <П2>, …); - menulis nilai variabel ke file<П1>, <П2>dll. satu elemen pada posisi penunjuk. Eoln(<ФП>); - mengembalikan True jika akhir string telah tercapai. EoF(<ФП>); - mengembalikan True jika akhir file telah tercapai. 5. Menutup file Tutup (<ФП>); 59 BEKERJA DENGAN FILE Sederhanakan program jika diketahui bahwa matriksnya adalah 5x5 (gunakan perulangan For) 60 LATIHAN 61 Tulis program "DOM-3". File pertama berisi nama-nama peserta dalam kasus nominatif. Yang kedua, nama yang sama, tetapi dalam akusatif. Yang ketiga - daftar ekspresi perasaan atau semacam tindakan (mencintai, tidak mencintai, mencium, ingin menggigit, mencintai, menghormati, membenci, ingin melihat, berpelukan). Program harus secara acak mengambil informasi dari file-file ini dan membuat yang baru sesuai dengan prinsip berikut:<имя в им. пад> <чувство/действие> <имя в вин. пад> Olga mencintai Sergey Oleg ingin melihat Roman Katya menghormati Nastya Dll. Materi yang digunakan : Nama operator : Assign, Rewrite, Reset, Write, Read, Close. GRAFIS GRAFIS Untuk bekerja dengan grafis di Pascal, diperlukan dua file - modul graph.tpu dan driver adaptor grafis egavga.bgi. Yang pertama ada di direktori \UNITS dan yang kedua ada di direktori \BGI. ! driver egavga.bgi. Diperlukan saat menjalankan file exe! Untuk menggambar, Anda perlu: 1. menghubungkan modul GRAPH (di bagian Penggunaan); 2. menginisialisasi grafik (InitGraph); 3. menggambar sesuatu; 4. tutup mode grafis (CloseGraph) 63 GRAPHICS Inisialisasi mode grafis Buat garis. Pena berpindah dari titik (0,0) ke titik (639, 479). PROGRAM Primer_1; Gunakan Grafik, crt; VarGd,Gm: Integer; MULAI Gd:=0; InitGraph (Gd,Gm,'d:\BP\bgi"); Line (0,0,639,479); ReadKey; CloseGraph; END. 639 px. Sistem koordinat 479 px. segitiga 2. Gambar persegi panjang di tengah layar dengan sisi dua kali lebih kecil dari sisi yang sesuai pada layar Bahan yang digunakan: Modul grafis: Grafik Inisialisasi Grafik: InitGraph Menutup mode grafik: CloseGraph;GRAPHICS + COLOR SetColor(Warna: kata);Mengatur warna pena GetColor: kata; Mengembalikan warna pena SetBkColor(warna: kata); Mengatur warna latar belakang GetBkColor: kata; Mengembalikan warna latar belakang Warna Hitam Biru Hijau Cyan Merah Magenta Brown LightGray DarkGray LightBlue LightGreen LightCyan LightRed LightMagenta Yellow White 66 - hitam - biru - hijau - cyan – merah – ungu – coklat – abu-abu muda – abu-abu tua – biru langit – hijau muda – cyan muda – merah muda – ungu muda – kuning – putih PRIMITIES GRAFIS Garis (x, y); Menarik garis dari koordinat pena saat ini ke koordinat (x,y). Pindah Ke(x, y); Setel pena ke koordinat (x,y). PutPixel(x, y, Warna); Menggambar titik pada koordinat (x,y) dengan Warna. GetPixel(x,y): kata; Mengembalikan warna titik pada koordinat (x,y). Persegi Panjang (x1, y1, x2, y2); Menggambar garis luar persegi panjang. Lingkaran (x, y, r); Menggambar lingkaran dengan pusat di (x,y) dan jari-jari r. SetLineStyle (Ln, 0, T) Mengubah parameter garis luar. Ln - gaya garis (0..3): 67 x1, y1 T - ketebalan garis: 1 = normal; 3 = tebal. FillEllipse(x, y, xr, th); Menggambar elips terisi yang berpusat di (x,y) dengan jari-jari Xr dan Yr. SetFillStyle(Tipe, Warna); Mengatur tipe (0..11) dan warna penetasan dari bentuk tertutup ClearDevice; Membersihkan layar grafik dengan mengecatnya dengan warna latar belakang saat ini x2, y2 GRAPHIC PRIMITIES 68 LATIHAN 69 1. Tulis program yang menggambar rumah di layar monitor; 2. Tulis program yang menggambar langit berbintang di layar monitor dengan bintang dengan radius acak (dari 1 hingga 5 piksel) dan lokasi acak. Warnanya juga acak (putih, abu muda, abu tua); Bahan yang digunakan: SetColor(Warna: kata); - Mengatur warna gambar SetBkColor (warna: kata); - Mengatur warna latar belakang saat ini. baris(x, y); - Menarik garis dari koordinat pena saat ini ke koordinat (x,y). Pindah Ke(x, y); - Mengatur pena ke koordinat (x,y). PutPixel(x, y, Warna); - Menggambar titik dengan koordinat (x,y) dengan Warna. Persegi Panjang (x1, y1, x2, y2); - Membangun garis persegi panjang dari garis warna saat ini. Lingkaran (x, y, r); - Menggambar lingkaran dengan pusat di (x,y) dan jari-jari r. FillEllipse(x, y, xr, th); - Menggambar elips terisi yang berpusat di (x,y) dengan jari-jari Xr dan Yr. GRAFIS + ANIMASI Jeda dalam mdetik. 70 SUBPROGRAM SUBPROGRAM Subrutin memungkinkan Anda memilih bagian berulang dari kode ke dalam fragmen terpisah dan memasukkannya ke tempat yang diperlukan dalam program. Fungsi, tidak seperti prosedur, mengembalikan hasil panggilan. Prosedur Fungsi Subrutin: ditulis antara kata kunci Mulai Akhir; diidentifikasi dengan nama, yang ditulis sesuai dengan aturan untuk menentukan pengidentifikasi; dapat memiliki parameter input dan output; ulangi sepenuhnya struktur program utama. 72 Program Saya; Subrutin 1 [Kode subrutin 1] Subrutin 2 [Kode subrutin 2] Mulai Subrutin 2 Subrutin 1 Contoh rutinitas sistem: Write("OK"); ClrScr; Panjang (S); acak; // // // // prosedur dengan satu parameter prosedur tanpa parameter fungsi dengan satu parameter fungsi tanpa parameter Subrutin 2 Akhir. SUBPROGRAM (SPR) Penyusunan subprogram Program Subprogram 1 Subprogram 3 Subprogram 4 Subprogram 2 . Nama variabel yang dijelaskan dalam DEP mungkin sama dengan nama variabel dari DEP lain (variabel yang sama dapat dideklarasikan di setiap DEP). Nama variabel yang dijelaskan dalam PPR melindungi variabel dengan nama yang sama dari PPR yang menyertakan variabel yang diberikan (jika variabel yang sama dideklarasikan dalam PPR1 dan PPR3, maka variabel ini akan menjadi unik di setiap PPR). Variabel program disebut global, dan variabel subprogram disebut lokal. PROSEDUR TANPA PARAMETER Rekam sintaks: Prosedur (nama prosedur); (Bagian variabel, konstanta, tipe, label, modul) Begin (Prosedur tubuh); akhir; Contoh penggunaan prosedur tanpa parameter: 74 PROSEDUR TANPA PARAMETER Contoh variabel keluar dengan nama yang sama: Program My_program; Menggunakan crt; varA:string; // Deskripsi prosedur Prosedur_Prosedur Saya; varA:string; Mulai A:= "Subrutin"; WriteIn(A); akhir; Mulai A:= "Tubuh"; WriteIn(A); prosedur_saya; WriteIn(A); akhir. // Pemanggilan prosedur 75 PROSEDUR DENGAN PARAMETER 76 Untuk membuat subrutin lebih universal, digunakan mekanisme khusus untuk pertukaran data antara program dan subrutinnya. Prosedur sistem dengan parameter: SetColor (Merah); ( Prosedur dengan Rectangle (0, 0, 639, 479); ( Prosedur dengan InitGraph (Gd,Gm,'d:\BP\bgi"); ( Prosedur dengan ( parameter satu parameter ) beberapa parameter ) beberapa tipe berbeda ) ) Perekaman prosedur sintaks dengan parameter Prosedur (Nama) ((Area variabel input) Var (Area variabel output (setiap variabel memiliki Var sendiri))); Struktur area: Variabel_1, Variabel_2, … : Jenis; .. ......... ............. Variable_N-1, Variable_N, ... : Type; Setiap daerah mungkin tidak ada PROSEDUR DENGAN PARAMETER Menggunakan parameter input Prosedur untuk menggambar persegi panjang yang membatasi layar, warna yang ditentukan Tanpa parameter Dengan parameter Prosedur Cir; Begin SetColor (i); SetBkColor (b); Rectangle (0, 0, 639, 479); End; Prosedur Cir (i, b:Integer); Begin SetColor (i); SetBkColor (b); Rectangle (0, 0, 639, 479); End; Memanggil prosedur dalam program: Memanggil prosedur dalam program: i:=6; b:=12; Cir; Cir (6, 12);77 PROSEDUR DENGAN PARAMETER Menggunakan parameter output dari Prosedur ra mengubah sudut dari derajat ke radian. PROGRAM EX_26_3; VAR x,a: nyata; PROSEDUR Rad(alfa: nyata; var betta: nyata); (variabel keluaran) BEGIN Betta:= pi*alfa/180; AKHIR; BEGIN Write("Masukkan sudut dalam derajat: "); readln(x); Rad(x, a); (Pemanggilan prosedur) Writeln("Dia sama dengan sudut dalam radian = ",a:6:4); AKHIR. 78 LATIHAN 79 1. Tulis prosedur menggambar segitiga dengan format berikut: Segitiga (x1,y1, x2,y2, x3,y3, Warna) 2. Tulis prosedur menghitung luas persegi panjang berikut ini format: SRect (a, b, S) dimana, S adalah parameter output dari prosedur. Bahan yang digunakan: Prosedur (Nama) ((Area variabel input) Var (Area variabel output)); Struktur area: Variable_1, Variable_2, … : Type; ........................ Variable_N-1, Variable_N, … : Type; FUNGSI 80 Sintaks fungsi Fungsi ((Area variabel input) Var (Area variabel output)): (Tipe) ; Desain prosedur Desain fungsi Prosedur S(a,b:nyata; var s:nyata); Mulai s:= a+b; akhir; Fungsi Jumlah(a,b: nyata): nyata; Jumlah Awal:= a+b; akhir; Pemanggilan prosedur Pemanggilan fungsi S(10, 20, A); Menulis sebuah); J:= S(10, 20); WriteLN(A); WriteLN (S(20, 30)); Dianjurkan untuk merancang beberapa subrutin sebagai fungsi hanya jika beberapa hasil pekerjaannya diharapkan. Jika subrutin difokuskan hanya untuk melakukan urutan tindakan tertentu (menampilkan, menggambar, dll.), Lebih baik menuliskannya sebagai prosedur. LATIHAN Tulis fungsi untuk menghitung luas persegi panjang dengan format berikut: SRect (a,b) Bahan yang digunakan: Fungsi (Nama) ((Input variabel luas) Var (Output variabel luas)): (Tipe) ; Struktur area: Variable_1, Variable_2, … : Type; ........................ Variable_N-1, Variable_N, … : Type; 81 MODUL MODUL 83 Unit (UNIT) adalah unit program independen yang sumber dayanya (prosedur dan fungsi) dapat digunakan oleh program lain. ProgramMy1; Menggunakan Module1, Module2 ; ________________________________________ __________________________ ________________________________ __________________ MODUL 1 Resource Kit 1 … Program My2; Menggunakan Module1, Module2 ; ________________________________________ __________________________ ________________________________ __________________ MODUL N Resource set N Modul terhubung ke program melalui bagian USES MODULES. STRUKTUR 84 Modul ini terdiri dari bagian-bagian berikut: 1. Header modul. 2. Bagian antarmuka. (deskripsi objek yang terlihat) 3. Bagian Implementasi. (deskripsi objek tersembunyi) 4. Bagian inisialisasi (opsional). Satuan (nama Modul); Antarmuka ( Bagian variabel global, konstanta, tipe) ( Modul ) ( Daftar header prosedur dan fungsi ) Implementasi ( Bagian variabel lokal, konstanta, tipe) ( Implementasi prosedur dan fungsi ) Mulai ( Bagian inisialisasi ) Akhir. ! Nama header modul harus cocok dengan nama file modul! MODUL Contoh modul: Unit My_Unit; Varms Antarmuka: Array Nyata; ( Array global ) Fungsi Cub(x:integer):Integer; ( Fungsi Cub = x^3 ) Fungsi ext4(x:integer):Integer; ( Fungsi ext4 = x^4 ) Fungsi Implementasi Cub(x:integer):Integer; ( Implementasi fungsi Cub ) Begin Cub:= x*x*x; akhir; Fungsi Ext4(x:bilangan bulat):Bilangan bulat; ( Implementasi fungsi ext4 ) Begin Ext4:= x*x*x*x; akhir; akhir. 85 LATIHAN 86 Menulis modul dengan satu fungsi dan satu prosedur: ( Perhitungan fungsi X1=1/x ) X1(a:real):real; ( Tata cara mencetak kata S pada layar, pada posisi X, Y WriteXY(S: String; X, Y: Iteger); Bahan yang digunakan (struktur modul): Unit (Nama modul); Antarmuka ( Bagian dari variabel global, konstanta, tipe) (modul) (Daftar tajuk prosedur dan fungsi) Implementasi (Bagian variabel lokal, konstanta, tipe) (Implementasi prosedur dan fungsi) Mulai (Bagian inisialisasi) Akhir.)