Wednesday, October 29, 2014

[PASCAL] Kumpulan Soal dan Jawaban Perulangan LOOP [PART 1]



1.     Jika user memasukkan angka 5 Apa Output dari algoritma berikut?
ALGORITMA loop1
KAMUS DATA
I,j,n: Integer
BEGIN
Input(n)
For i :=0  to  n-1 do
                      begin
For j:=0 to n-1 do
begin
           Output(i+1)
End
          Output("\n") //ganti baris
             End
End.






2.     Jika user memasukkan angka 5 Apa Output dari algoritma berikut?

ALGORITMA loop2
KAMUS DATA
I,j,n: Integer
BEGIN
Input(n)
For i :=0 to n-1 do
                    begin
For j:=0 to n-1 do
begin
           Output(j+1)
end
          Output("\n") //ganti baris
             end
End

 

3.     Buatlah algoritma dan program untuk menampilkan angka seperti berikut:
Contoh inputan :

Jumlah angka : 5
1   5
 2 4
  3 
 2 4
1   5
Jumlah angka : 6
1    6
 2  5
  34 
  34 
 2  5
1    6
Jumlah angka : 9
1       9
 2     8
  3   7 
   4 6  
    5   
   4 6  
  3   7 
 2     8
1       9


uses crt;
var
        x, k, tin, y: integer;

begin
clrscr;
        write('Masukkan Jumlah Angka   : '); readln(x);
        k := x;
       
        for tin := 1 to x do
        begin
                                        for y := 1 to x do
                                        begin
                                         if (tin = y) or (y = k) then
                                          begin
                                                        write(y);
                                          end
                                         else
                                          begin
                                                        write(' ');
                                         end;
                                        end;
                         k := k - 1;
                         writeln(' ');
        end;      
        readln; 
end.


4.     Soal: Bintang Ketupat
Buatlah algoritma dan program untuk menampilkan bintang berbentuk belah ketupat:
Contoh inputan :
Jumlah bintang : 5
  * 
 * *
*   *
 * *
  *
Jumlah bintang : 6
  ** 
 *  *
*    *
*    *
 *  *
  **
Jumlah bintang : 9
    *   
   * *  
  *   * 
 *     *
*       *
 *     *
  *   * 
   * *  
    *
Kerjakan soal no 2 tanpa melihat jawabannya dahulu. Pastikan Anda mengerti tiap komponen dari program




5.     Soal: Buatlah algoritma dan program yang menginputkan 4 bilangan yang merupakan nilai ujian mahasiswa, serta  mencetak nilai tertinggi yang didapat mahasiswa.


uses crt;
var
                              n, max, nilai: integer;

begin
clrscr;
                              n := 0;
                              max := 0;
                              repeat
                              begin
                                 n := n + 1;
                                 write('Masukkan nilai Mahasiswa ke-', n, ' : '); readln(nilai);
                                 if nilai > max then
                                                 max := nilai;
                              end;
                              until n = 4;
                            
                              write('Nilai Tertinggi               : ', max, ' '); readln;
end.


6.       Soal: Buatlah algoritma dan program yang menginputkan 7 bilangan yang merupakan nilai ujian mahasiswa, mencetak nilai tertinggi yang didapat mahasiswa dan juga mencetak berapa orang yang mendapat nilai tertinggi tersebut.
Misal bilangan yg diinput: 72              80           80           92           95           87           95
Nilai Tertinggi: 95
Jumlah: 2


uses crt;
var
                              n, max, nilai, jml: integer;

begin
clrscr;
                              n := 0;
                              max := 0;
                              jml := 0;
                              repeat
                              begin
                                 n := n + 1;
                                 write('Masukkan nilai Mahasiswa ke-', n, ' : '); readln(nilai);
                                 if nilai = max then
                                                 begin
                                                 jml := jml + 1;
                                                 end;
                                 if nilai > max then
                                                 begin
                                                 max := nilai;
                                                 end;
                              end;
                              until n = 7;
                            
                              write('Nilai Tertinggi               : ', max, ' '); writeln;
                              write('Banyak Nilai Tertinggi        : ', jml, ' '); readln;
end.



7.     Soal: Buatlah algoritma dan program yang menginputkan 10 bilangan yang merupakan nilai ujian mahasiswa, kemudian mencetak nilai tertinggi dan nilai terendahnya.
        Misal bilangan yg diinput:  72              80           80           92           95           87           95
 Nilai Tertinggi: 95
Nilai Terendah: 72


uses crt;
var
                                    n, max, nilai, min: integer;

begin
clrscr;
                                    n := 0;
                                    max := 0;
                                    min := 100;
                                    repeat
                                    begin
                                        n := n + 1;
                                        write('Masukkan nilai Mahasiswa ke-', n, ' : '); readln(nilai);
                                        if nilai < min then
                                                        begin
                                                        min := nilai;
                                                        end;
                                        if nilai > max then
                                                        begin
                                                        max := nilai;
                                                        end;
                                    end;
                                    until n = 10;
                                  
                                    write('Nilai Tertinggi               : ', max, ' '); writeln;
                                    write('Nilai Terendah                : ', min, ' '); readln;
end.


8.     Soal: Buatlah algoritma dan program yang menginputkan sebuah bilangan bulat yang merupakan nilai ujian. Apabila nilai yang diinput < 0 atau > 100 maka cetak perkataan “Data salah, silahkan ulangi lagi” dan ulangi menginput data. Bila nilainya >= 60 maka cetak perkataan “LULUS”, selainnya cetak perkataan “COBA LAGI TAHUN DEPAN”. Gunakan format Do While


uses crt;
var
             nilai: integer;

begin
clrscr;
             write('Masukkan Nilai Mahasiswa    : '); readln(nilai);
             
             while (nilai < 0) or (nilai > 100) do
             begin
                         write('Data salah, Silahkan Ulangi lagi    : '); readln(nilai);
             end;
             writeln;
             
             if (nilai >= 60) then
                         write('Lulus!')
             else
                         write('Coba Lagi Tahun Depan'); readln;
                         
end.


9.     Soal: Dalam lembar dokumen tersedia banyak sekProf. Carol Dweck data berupa bilangan-bilangan integer. Buat algoritma dan program untuk menginput data-data tersebut dan menjumlahkannya. Kondisi berhenti adalah ketika jumlah dari data tersebut sudah melebihi 1000. Cetak berapa banyak bilangan yang diinputkan.
Cth:
Data Input: 300, 300, 500
Output: banyak data 3, jumlah 1100

Data Input: 200, 400, 100, 200,100,1
Output: banyak data 6 , jumlah 1001



uses crt;
var
        n, jml, ang: integer;

begin
clrscr;
        n := 0;
        jml := 0;
       
        repeat
        begin
                         write('Masukkan Data   : '); readln(ang);
                         jml := jml + ang;
                         n := n + 1;
        end;
        until jml > 1000;
         writeln;
         write('Banyak data ', n, ' Jumlah nya ', jml); readln;
end.



10. Soal: Buat algoritma dan program untuk menghitung rata-rata nilai mahasiswa. Berapa banyak nilai mahasiswa tidak diketahui. Kondisi berhenti adalah ketika diinputkan nilai 999 yang pasti bukan merupakan nilai ujian.
Misal data yang diinputkan : 60, 50, 999, 65, 75, 999
Output: rata-ratanya: (60+50+70+65+75) / 5 = 64
Note: banyaknya data bisa berupa n bilangan (n tidak diketahui)


uses crt;
var
        n, jml, rat, nilai: integer;

begin
clrscr;
        n := 0;
        jml := 0;
        rat := 0;
      
        write('Masukkan nilai Mahasiswa   : '); readln(nilai);
      
        while nilai <= 100 do
                        begin
                                        jml := jml + nilai;
                                        n := n + 1;
                                        rat := jml div n;
                                        write('Masukkan nilai Mahasiswa   : '); readln(nilai);
                        end;
                      
        write('Rata - ratanya   : ', jml, ' / ', n, ' : ', rat); readln;
end.

0 comments:

Post a Comment

Twitter Delicious Facebook Digg Stumbleupon Favorites More