Kumpulan Soal dan Jawaban Perulangan LOOP (Sesi 2)

http://imronkom.blogspot.co.id/search/label/soal%20Pilgan%20Pascal


11. Buat algoritma dan program yang menentukan apakah sebuah bilangan genap atau ganjil. Bilangan diinputkan oleh user. Jika genap maka cetak perkataan “Even”, jika ganjil maka cetak perkataan “Odd”. Lakukan pendeteksian genap ganjil tidak menggunakan Mod tetapi menggunakan loop
uses crt;
var
         ang: integer;
begin
clrscr;
         write('Masukkan sebuah angka   : '); readln(ang);
       
         repeat
         begin
                         ang := ang - 2;
         end;
         until ang <= 1;
       
         if ang = 0 then
                         write('Even')
         else
                         write('Odd');
                       
         readln;
end.

12. Buat algoritma dan program yang inputannya sebuah bilangan. Kemudian menentukan apakah bilangan tersebut adalah bilangan prima atau bukan. Gunakan mekanisme loop untuk pendeteksian bilangan prima.
13. Buat Algoritma dan program yang menginput sebuah bilangan bulat yang menyatakan waktu dalam detik. Kemudian konversikan dan cetak waktu itu dalam satuan Jam, Menit, Detik. 
Cth:
Input: 7405
Output: 2 Jam, 3 Menit, 25 Detik
Note:
Gunakan mekanisme loop untuk menentukan jam dan menit. Untuk mendapatkan jam kurangi terus menerus detik dengan 3600, sampai nilainya < 3600. Setiap detik dikurangi 3600 maka Jam bertambah 1. Untuk mendapatkan menit kurangi terus detik dengan 60, sampai nilainya < 60. Setiap detik dikurangi 60 menitnya ditambah 1.
uses crt;
var
       deb, jam, men, det, njam, nmen: integer;
begin
clrscr;
       write('Masukkan Waktu dalam Detik   : '); readln(deb);
       
       jam := 0;
       men := 0;
       det := 0;
       
       njam := deb;
       nmen := deb;
       
       repeat
       begin
                   njam:= njam - 3600;
                   jam := jam + 1;
       end;
       until njam < 3600;
       
       repeat
       begin
                   nmen := nmen - 60;
                   men := men + 1;
                   
                   if (men > 60) then
                               men := men - 60;
       end;
       until nmen < 60;
       
       write(jam, ' Jam, ', men, ' Menit, ', nmen, ' Detik '); readln;
end.

14. Buat algoritma dan program yang menampilkan deret: 1 2 3 5 8 13 21....
uses crt;
var
       bat, x, y: integer;
begin
clrscr;
       write('Masukkan Batas deret   : '); readln(bat);
       
       x:= 1;
       y:= 1;
                   
       write(x, ' ');
                   
       while (x <= bat) or (y <= bat) do
       begin
                   x:= x + y;
                   y:= y + x;
                   
                   if (x <= bat) then
                   write(x, ' ');
                   if (y <= bat) then
                   write(y, ' ');
       end;
       readln;
end.

15. Dalam sebuah kandang ada 1000 bebek. Setiap akhir bulan bebek tersebut serempak melahirkan satu bebek baru. Namun sebelum melahirkan, 20% dari bebek tersebut mati. Susun algoritma dan program untuk menghitung dan mencetak jumlah bebek setelah 10 bulan.
uses crt;
var
       bul, beb: integer;
begin
clrscr;
       write('Jumlah bebek sekarang 1000 bebek'); writeln;
       write('Masukkan berapa bulan kedepan   : '); readln(bul);
     
       beb:= 1000;
     
       for bul := 1 to bul do
                   begin
                   beb:= (beb * 20 div 100) + 1;
                   end;
                 
       write('Jumlah bebek setelah ', bul, ' Bulan kedepan   : ', beb);
       readln;
end.

16. Sebuah truk bergerak dari Kota Malang ke Pulau Sempu. Pada Km pertama ia menghabiskan 10kg bahan bakar. Pada Km ke 2 ia menghabiskan 8kg bahan bakar (atau 80% dibanding Km pertama). Demikian seterusnya setiap Km sebelumnya. Susun algoritma dan program untuk menghitung dan mencetak total bahan bakar yang dihabiskan setelah mencapai 100km.
17. Seseorang menyimpan uang 1.000.000 di bank dengan bunga 2% perbulan. Jadi setelah satu bulan uangnya menjadi 1.020.000. satu bulan berikutnya uang 1.020.000 ini mendapat bunga lagi 2% sehingga setelah 2 bulan uangnya menjadi 1.020.000 + 20.400 = 1.040.400. Buat algoritma dan program untuk menghitung dan mencetak jumlah uang setelah 10bulan.
uses crt;
var
       uan, bun: real;
       bul: integer;
begin
clrscr;
       write('Masukkan Jumlah Uang            : '); readln(uan);
       write('Masukkan Berapa bulan kedepan   : '); readln(bul);
       
       for bul := 1 to bul do
       begin
                   bun := uan * 0.02;
                   uan := uan + bun;
       end;
       
       write('Jumlah Uang setelah ', bul, ' bulan, adalah ', uan:0:0); readln;
end.

18. Seseorang mengendarai mobil dengan kecepatan tetap. Tepat pukul 08:25:10 pagi kecepatannya masih tetap 5 m/detik. Tetapi sepuluh menit kemudian, kecepatannya dinaikkan 1 m/detik sehingga kecepatannya menjadi tetap 6 m/detik. Demikian 10 menit berikutnya kecepatannya selalu dinaikkan 1 m/detik. susun algoritma dan program untuk menghitung jarak yang ditempuhnya sejak pukul 08:25:10 sampai jam tepat menunjukkan 10:00:00 pagi pada hari yang sama.
19. Elon Musk berangkat dari New York menuju Amsterdam tepat pukul 08:00 dengan kecepatan tetap 5 m/detik. Jack Ma juga berangkat dari New York menuju titik Amsterdam tepat pukul 09:00 dengan kecepatan tetap 8 m/detik. Buat algoritma dan program untuk menghitung dan mencetak pada pukul berapa Elon Musk dan Jack Ma tepat berada pada titik yang sama dimana Jack Ma mulai akan mendahului Elon Musk.
20. Prof. Carol Dweck berangkat dari titik A menuju titik B yang berjarak 100km dengan kecepatan tetap 10 m/detik. Tetapi setelah 10menit kemudian, kecepatannya menjadi 11 m/detik. Demikian setelah 10 menit berikutnya kecepatan konstan dengan lebih cepat 1 m/detik dibandingkan 10 menit sebelumnya. Buat algoritma dan program yang menghitung dan mencetak berapa lama Prof. Carol Dweck menempuh perjalanan (dalam Jam, Menit dan Detik) dari titik A sampai titik B.

0 Response to "Kumpulan Soal dan Jawaban Perulangan LOOP (Sesi 2)"

Post a Comment