kali ini kita membahas latihan soal algoritma yang ada saat saya duduk di bangku kuliahan semester 1 tepatnya. algoritma memang menuntut kita untuk berhayal namun tetap pada koridor yang di tetapkan. karena algoritma membayangkan kita seakan akan menjadi seorang programmer yang sedang menghadapi leptop dan membuat rancangan. kali ini saya ingin menuliskan tidak hanya merancang namun juga akan disertakan soal soal menjawab algoritma yang sudah jadi. baik ga usah panjang lebar berikut contoh soal algoritma :
1. perhatikan program di bawah ini
begin
x:= 0;
for I := 3 to 5 do
for j := 4 down to 2 do
begin
x:= x+3 * I +j ;
write (x,' ');
end;
writeln;
readln;
end.
2. buatlah algoritma untuk menentukan biaya parker yang di hitung berdasarkan lama parker yang di hitung berdasarkan lama parker. biaya parker 2 jam pertama 2000 dan jam selaniutnya di tambah 500.
3. dengan menggunakan for bertingkat buat algoritma untuk mencetak
a. 55555 b. @#@#@ c. 1 d. *
4444 #@#@ 12 **
333 @#@ 123 ***
22 #@ 1234 ****
1 @ 12345 *****
4. buat algoritma untuk
a. mencetak deret 2,6,10,14......23
b. menghitung jumlah deret 5+8+11+14 sampai <= 89
jawaban
1. I = 3 | j= 4 | x= 0+3 * 3+4 = 13
| j=3 | x=13+3 * 3+3= 25
| j=2 | x=25+3 * 3+2= 36
I = 4 | j=4 | x=36+3 * 4+4 =52
| j=3 | x=52+3 * 4+3 = 67
| j=2 | x=67+3 * 4+2 = 81
I = 5 | j=4 | x= 81+3 * 5+4 = 100
| j=3 | x= 100+3 * 5+3 = 118
| j=2 | x= 118+3 * 5+2 = 135
maka yang akan di tampilkan adalah 135 kenapa karena program akan mengeksekusi for I dan for J dahulu dan yang akan di tampilkan adalah yang paling akhir yaitu 135
2. write ('masukkan lama parker :')
read (lp)
if (lp <=2) then
bayar = 2000
else
bayar = 2000 + (lp-2*500)
jawaan akan di input oleh mesinkasir berupa angka contoh kasir memasukkan 3 maka yang akan di eksekusi adalah yang else (selain) maka else dari lp <= 2 adalah lp >= 2 makanya yang akan di baca adalah rumus yang di bawah else yaitu 2000 + (3-2 *500) maka hasilnya 2500
3. a. for b = 5 down to 1 do
for k = 1 to b do
write (b)
end for
writeln
end for
maka akan di eksekusi ke bawah 5 menurun ke 1 , kemudian untuk yang ke samping 1 dan di eksekusi dari b | 55555 | setelah turun ke bawah - 1 maka |4444| mengapa ? karena down berarti -1 jika b nya 4 maka ke samping pun 4
b. for b = 1 to 5 do
for k = 1 to 5 do
if ((b+k) mod 2 :0)then
write ('@')
else
write ('#')
end if
end for
writeln
end for
'@' maka di baca @ tp jika tidak terdapat kutip maka yang di baca adalah apa yang ada di dalam @
c. for b = 1 to 5 do
for k = 1 to b do
write (k)
end for
writeln
end for
d. for b = 1 to 5 do
for k = 1 to b do
write ('*')
end for
writeln
end for
4. a. x = 2
while (x<23)
write (a)
x = x+4
end while
b. x = 5
jumlah = 0
while (a<= 89) do
jumlah = jumlah + x
a= a+3
end while
write (jumlah)
terimakasih telah berkunjung
for k = 1 to 5 do
if ((b+k) mod 2 :0)then
write ('@')
else
write ('#')
end if
end for
writeln
end for
'@' maka di baca @ tp jika tidak terdapat kutip maka yang di baca adalah apa yang ada di dalam @
c. for b = 1 to 5 do
for k = 1 to b do
write (k)
end for
writeln
end for
d. for b = 1 to 5 do
for k = 1 to b do
write ('*')
end for
writeln
end for
4. a. x = 2
while (x<23)
write (a)
x = x+4
end while
b. x = 5
jumlah = 0
while (a<= 89) do
jumlah = jumlah + x
a= a+3
end while
write (jumlah)
terimakasih telah berkunjung
0 comments:
Post a Comment