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