nah mari kita belajar sama sama yuk tentang bahasa pemrograman pascal ini
ok lets do it
program 1
Code:
{***************************************** * Program 1.1. (PROG1-1.PAS) * * Contoh program dengan sebuah prosedur * * dan cara memanggilnya * *****************************************} program CONTOH; {* nama program *} uses crt; {* deklarasi piranti *} const Ukuran = 5; {* deklarasi konstanta *} type Tabel = array[1..Ukuran,1..Ukuran] of integer; {* Deklarasi perubah global *} var Matrix : Tabel; {* Prosedur *} procedure BACA_MATRIX (var Mat : Tabel; N : integer); var I, J : integer; {* perubah lokal *} begin {* prosedur *} for I := 1 to N do for J := 1 to N do read(Mat[I,J]) end; {* prosedur BACA_MATRIX *} {* Prosedur Lain *} procedure CETAK_MATRIX (Mat : Tabel; N : integer); var I, J : integer; {* perubah lokal *} begin {* prosedur *} for I := 1 to N do begin for J := 1 to N do write(Mat[I,J]:8); writeln; end; end; {* prosedur CETAK_MATRIX *} begin {* program utama *} {* Memanggil prosedur *} BACA_MATRIX(Matrix, Ukuran); CETAK_MATRIX(Matrix, Ukuran) end. {* program utama *}
program 1 adalah program matrik
silahkan dicoba
program ke dua :
Code:
{****************************************** * Program 2 (PROG2.PAS) * * Menyusun permutasi sekelompok karakter * * dengan cara rekursif * ******************************************} program SUSUN_PERMUTASI; uses crt; const Max = 5; type Larik = array[1..Max] of char; var A : Larik; {* larik yang akan dipermutasikan *} C_Permutasi, {* jumlah permutasi *} C_Elemen, {* cacah karakter *} I : integer; {* perubah kendali *} Lagi : char; {* perubah kendali *} {********************************* * Prosedur penyusunan permutasi * *********************************} procedure PERMUTASI (var B : integer; A : Larik; K, N : integer); var I : integer; Temp : char; begin if K = N then begin B := succ(B); write('Permutasi ke ', B:2,' : '); for I := 1 to N do write(A[i]:3); writeln; end else for I := K to N do begin Temp := A[i]; A[i] := A[K]; A[K] := Temp; PERMUTASI(B, A, K+1, N) end end; { *** prosedur PERMUTASI *** } {***************** * Program utama * *****************} begin repeat clrscr; write('Banyaknya karakter yang akan'); write(' dipermutasikan: '); repeat gotoxy(47, 1); write(' '); gotoxy(47, 1); readln(C_Elemen) until C_Elemen <= Max; {* Menyusun karakter yang akan dipermutasikan *} for I := 1 to C_Elemen do A[i] := chr(I+64); clrscr; write('MENYUSUN PERMUTASI UNTUK '); writeln(C_Elemen:2, ' KARAKTER'); writeln('------------------------------------'); writeln; {* Proses mencari permutasi *} C_Permutasi := 0; PERMUTASI(C_Permutasi, A, 1, C_Elemen); {* Mencetak hasil *} writeln; writeln('Banyaknya permutasi: ', C_Permutasi:3); writeln; write('Akan coba lagi? (Y/T): '); readln(Lagi) until not (Lagi in ['Y', 'y']) end. { *** program utama *** }
program ketiga
Code:
{********************************************** * Program 3. (PROG3.PAS) * * Penyelesaian persoalan Menara Hanoi * * Banyaknya piringan dibatasi sampai 10 buah * **********************************************} program MENARA_HANOI; uses crt; const Max = 10; {* jumlah maksimum piringan *} var Gerakan, {* banyaknya pemindahan *} Piringan : integer; {* banyaknya piringan *} {************************************ * Prosedur untuk memindah piringan * ************************************} procedure HANOI(var C_Gerak : integer; Cacah : integer; A, B, C : char); begin if Cacah > 0 then begin HANOI(C_Gerak, Cacah-1, A, C, B); C_Gerak := succ(C_Gerak); write('Langkah ke ', C_Gerak:3); write(': pindah piring nomor ', Cacah:2); write(' dari tonggak ', A); write(' ke tonggak ', C); writeln(' (', A, ' -> ', C, ')'); HANOI(C_Gerak, Cacah-1, B, A, C) end end; {* prosedur HANOI *} {***************** * Program utama * *****************} begin clrscr; Gerakan := 0; writeln('PENYELESAIAN MENARA HANOI'); write('(Piring terkecil diberi nomor 1, '); writeln('berikutnya 2 dan seterusnya)'); write('----------------------------------'); writeln('---------------------------'); writeln; {* Mengisikan banyaknya piringan *} gotoxy(1, 5); write('Banyaknya piringan (max ', Max:2, '): '); writeln; repeat gotoxy(30, 5); write(' '); gotoxy(30, 5); readln(Piringan) until Piringan <= Max; {* Proses memindah piringan *} HANOI(Gerakan, Piringan, 'A', 'B', 'C'); {* Mencetak banyaknya gerakan yang diperlukan *} write('Piringan sebanyak ', Piringan:2, ' buah'); write(' memerlukan ',Gerakan:2,' kali pemindahan'); end.
dengan menggunakan statement prosedur dan pengandaian ( if then dan else]
serta proses looping
selamat mencoba
1 komentar:
saya mau tnya,,.untuk script pascal dalam pembuatan permainan ular tangga ada ga ya??
Posting Komentar