Buatlah Algoritma kemudian terjemahkan ke dalam bahasa pemrograman pascal
4. Menampilkan bilangan kelipatan tiga dari angka 1 s/d 20
5. Menampilkan bilangan ganjil dari angka 1 s/d 100
6. Menampilkan bilangan genap dari angka 1 s/d 50
7. Menampilkan bilangan prima dari angka 1 s/d 20
8. Menampilkan bilangan kelipatan 3 dan kelipatan 5 dari angka 1 s/d 30
Penyelesaian
4. Algoritma untuk menampilkan bilangan kelipatan 3 dari 1 s/d 20:
- menentukan nilai awal A:=3
- untuk i:=1 sampai 6 lakukan:
- cetak A (nilai awal)
- berikutnya cetak A:=A+3 lakukan sampai i ke 6, berhenti.
listing program:
- uses crt;
- var A, i: byte;
- begin
- clrscr;
- A:=3;
- for i:=1 to 6 do
- begin
- write(A:4);
- A:=A+3;
- end;
- readln;
- end.
5. Algoritmanya untuk menampilkan bilangan ganjil dari 1 s/d 100:
- untuk a:=1 sampai 100 lakukan:
- jika a mod 2=1 maka
- cetak a
listing program:
- uses crt;
- var a: byte;
- begin
- for a:= 1 to 100 do
- begin
- if a mod 2= 1 then
- write(a:4);
- end;
- readln
- end.
6. Algoritma untuk menampilkan bilangan genap dari 1 s/d 50:
- untuk a:=1 sampai 50 lakukan:
- jika a mod 2= 0 maka
- cetak a.
listing program:
- uses crt;
- var a: byte;
- begin
- clrscr;
- for a:= 1 to 50 do
- begin
- if a mod 2= 0 then
- write(a:4);
- end;
- readln
- end.
7. Algoritma untuk menampilkan bilangan prima dari 1 s/d 20:
Cara pertama menggunakan variabel bertipe boolean (true/false):
- bilangan prima hanya akan habis bila dibagi 1 dan bilangan itu sendiri.
- sehingga pasti akan ada sisa hasil bagi (mod) jika dibagi bilangan lebih dari 1 sampai bilangan sebelum bilangan itu (x-1).
- untuk nilai x= 2 sampai 20 lakukan:
- mengeset status bilangan prima menjadi true.
- pengecekan mulai dari 2 sampai x-1.
- jika x habis dibagi bilangan yang ada antara 2 sampai x-1, berarti x bukan bilangan prima. Variabel prima yang awalnya true berubah jadi false dan pengecekan tidak perlu dilanjutkan (break).
- jika dari bilangan antara 2 sampai x-1 tak satupun yang habis dibagi, maka variabel prima yang dideklarasikan sebagai true tidak berubah nilai (tetap true). Sehingga bilangan tersebut adalah bilangan prima dan akan ditampilkan ke layar.
- ulangi lagi dari point 4 hingga nilai x = 20.
- uses crt;
- var x,y: integer;
- prima: boolean;
- begin
- clrscr;
- for x:= 2 to 20 do
- begin
- prima:= true;
- for j:= 2 to x-1 do
- begin
- if x mod y= 0 then
- begin
- prima:= false;
- break;
- end;
- end;
- if prima then write(x:4);
- end;
- readln;
- end.
Cara kedua menyeleksi jumlah nol dari sisa bagi:
- Telah kita ketahui bahwa bilangan prima hanya akan memiliki sisa bagi= 0 ketika dibagi dengan angka 1 dan bilangan itu sendiri.
- Berarti jika bilangan prima dibagi dengan bilangan berapapun hanya memiliki 2 kesempatan mendapatkan sisa bagi=0.
- Ketika jumlah sisa bagi=0 lebih dari 2 berarti bilangan tersebut bukan bilangan prima, tidak ditampilkan ke layar.
- uses crt;
- var i,j, jumlahnol: integer;
- begin
- clrscr;
- for i := 1 to 20 do
- begin
- jumlahnol:= 0;
- for j:= 1 to i do
- begin
- if i mod j = 0 then
- jumlahnol:= jumlahnol+1;
- end;
- if jumlahnol = 2 then
- write(i:4);
- end;
- readln
- end.
8. Algoritma untuk menampilkan bilangan kelipatan 3 dan kelipatan 5 dari
angka 1 s/d 30:
- Untuk i:= 1 sampai 30 lakukan:
- jika (i mod 3= 0) dan (i mod 5 =0)
- maka cetak i.
- uses crt;
- var i: byte;
- begin
- for i:= 1 to 30 do
- if (i mod 3=0) and (i mod 5=0)
- then write(i:4);
- readln
- end.
Tidak ada komentar:
Posting Komentar