tekadang kita membutuhkan suatu mesin pencari karakter yang dapat mencari karakter yang kita inginkan. atau ingin menghitung berapa banyak karakter a atau karakter b dalam sebuah teks. ini adalah contoh program untuk mencari karakter 'NG' pada sebuah string berbentuk array
program karakterNG;
uses wincrt;
const
L: array [1..11] of char = ('N','A','N','G','K','A',' ','A','N','G','#');
var
a,n : integer;
begin
write (L);
n:=0;
a:=1;
while (L[a] <> '#') do
begin
if (L[a] = 'N') and (L[a+1]='G') then
begin n:=n+1;
end;
L[a]:=L[a+1];
a:= a+1;
end;
writeln;
write('jumlah karakter NG : ',n,' buah');
end.
OUTPUT : jumlah karakter NG : 2 buah
penjelasan : pertama kita membuat sebuah konstanta L/larik dimana isinya adalah kumpulan dari karakter. dari karakter tersebut akan dicari apakah ada huruf NG, jika ada maka pada output akan ditampilkan berapa banyak huruf N yang berdampingan dengan G.
kemudian kita tulis kata yang ada di dalam larik/array L write(L);
setelah itu beri nilai n dan a untuk indeks pada larik.
kemudian cek apakah karakter merupakan # ? kalau iya berarti pencarian dihentikan.
kalau tidak, dicek lagi apakah isi karakter merupakan huruf 'N' dan karakter selanjutnya adalah 'G' jika iya maka nilai n (variabel yang menampung jumlah karakter NG) ditambah 1.
guna
L[a]:=L[a+1];
a:= a+1;
adalah untuk melakukan pencarian berikutnya. larik yang selanjutnya.
menghitung banyak kata
untuk menghitung banyak kata hanya perlu mengganti kondisi
if (L[a] = 'N') and (L[a+1]='G') then
begin n:=n+1;
end;
menjadi if (L[a] <> ' ') and (L[a+1]=' ') then
dan ganti n:=0 menjadi n:=1
menjadi
program karakterNG;
uses wincrt;
const
L: array [1..11] of char = ('N','A','N','G','K','A',' ','A','N','G','#');
var
a,n : integer;
begin
write (L);
n:=1;
a:=1;
while (L[a] <> '#') do
begin
if (L[a] <> ' ') and (L[a+1]=' ') then
begin n:=n+1;
end;
L[a]:=L[a+1];
a:= a+1;
end;
writeln;
write('jumlah kata pada teks adalah : ',n,' buah');
end.
0 comments:
Post a Comment