Berikut ini adalah beberapa contoh soal dan jawaban dari perulangan For, Repeat, While pada Pascal.
1.
Buatlah sebuah program untuk menampilkan bilangan
kelipatan 3, dengan range berupa inputan dari user. Gunakan struktur repeat…until
Contoh inputan :
Awal : 1
Akhir
: 10
Kelipatan
3 : 3 6 9
|
Awal : 15
Akhir
: 30
Kelipatan
3 : 15 18 21 24 27 30
|
uses crt;
var
naw, nak, kel: integer;
begin
clrscr;
write('Masukkan nilai Awal : '); readln(naw);
write('Masukkan nilai Akhir : '); readln(nak);
if naw mod 3 = 0 then
naw := naw
else
repeat
begin
naw := naw + 1;
end;
until naw mod 3 = 0;
write('Kelipatan : ');
repeat
begin
write(naw, ' ');
naw := naw + 3;
end;
until naw > nak;
readln;
end.
2.
Buatlah tabel perkalian menggunakan For. Kemudian buat
juga dengan menggunakan While.
Input:
Masukkan angka untuk tabel perkalian: 5
Akan dikalikan dari 1 s.d: 20
Output
:
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
.....dst
5 * 19 = 95
5 * 20 = 100
uses crt;
var
a, n, h: integer;
begin
clrscr;
write('Masukkan angka yang ingin dikalikan : '); readln(a);
n := 1;
while n <= 20 do
begin
h := n * a;
writeln(a, ' x ', n, ' = ', h);
n := n + 1;
end;
readln;
end.
3.
Buatlah program untuk menghitung nilai faktorial suatu
bilangan yang diinputkan oleh user.
Rumus faktorial adalah sebagai berikut :
n! = n*(n-1)*(n-2)*…*(n-(n-1))
n merupakan inputan dari user.
Boleh menggunakan struktur pengulangan manapun.
Contoh inputan
Faktorial
dari : 3
3!
= 3*2*1=6
|
Faktorial
dari : 5
5!
= 5*4*3*2*1 = 120
|
uses crt;
var
n, x, j, f: integer;
begin
clrscr;
write('Masukkan nilai n : '); readln(n);
j := 1;
x := n;
write(n, '! = ');
while (x > 0) do
begin
if (x = 1) then
begin
write(x, ' = ', j);
end
else
begin
write(x, ' x ');
end;
j := j * x;
x := x - 1;
end;
readln;
end.
4.
Buatlah deret goyang beserta penjumlahannya.
Input: Masukkan angka: 10
Output: Deret goyang: 1
-2 3 -4 5 -6 7 -8 -9 -10
Jumlah deret goyang: -5
uses crt;
var
x, j, a, n: integer;
begin
clrscr;
write('Masukkan angka : '); readln(x);
a := 1;
j := 0;
n := 1;
repeat
begin
if a mod 2 = 0 then
begin
a := a * (-1);
write(a, ' ');
end
else
begin
a := a;
write(a, ' ');
end;
j := j + a;
n := n + 1;
if a < 0 then
a := a * (-1) + 1
else
a := a + 1;
end;
until n > x;
writeln;
write('Jumlah deret goyang : ', j);
readln;
end.
5.
Buatlah sebuah program untuk menghitung gaji n karyawan,
n merupakan sebuah bilangan bulat yang akan diinputkan oleh user, kemudian akan
dihitung gaji perkaryawan dengan ketentuan sebagai berikut :
Gaji per jam : Rp 10.000,-
Bila jam kerja > 7 jam, maka sisa jam kerja dihitung
sebagai lembur yg besarnya 1.5 * gaji per jam
Kemudian ditampilkan total gaji karyawan yang
harus dibayarkan oleh perusahaan.
Jumlah jam kerja tiap karyawan akan diinputkan
oleh user
Contoh inputan
Jumlah
karyawan : 3 [inputan user]
Jam
kerja karyawan 1 : 8 [inputan user]
Total
Gaji : 85000
Jam
kerja karyawan 2 : 6 [inputan user]
Total
Gaji : 60000
Jam
kerja karyawan 3 : 12 [inputan user]
Total
Gaji : 145000
Total
Gaji karyawan : 290000
|
uses crt;
var
kar, juk, jak: integer;
gaj, tob: real;
begin
clrscr;
write('Masukkan Jumlah Karyawan : '); readln(kar);
tob := 0;
juk := 1;
repeat
begin
write('Masukkan Jam Kerja Karyawan ', juk, ' : '); readln(jak);
if (jak > 7) then
begin
gaj := (((jak - 7) * 10000 * 1.5) + (7 * 10000));
end
else
begin
gaj := jak * 10000;
end;
tob := tob + gaj;
juk := juk + 1;
write('Total Gaji : ', gaj:0:0); writeln;
end;
until juk > kar;
write('Total Gaji Karyawan : ', tob:0:0); readln;
end.
6.
Buatlah program pengulangan bersarang dengan sintaks FOR
untuk menampilkan output sebagai berikut:
*
**
***
****
uses crt;
var
n, c, i: integer;
begin
clrscr;
write('Masukkan Batasan Bintang : '); readln(n);
for c := 1 to n do
begin
for i := 1 to c do
begin
write('*');
end;
writeln;
end;
readln;
end.
0 comments:
Post a Comment