SOAL-SOAL ALGORITMA BESERTA JAWABAN PASCALNYA
Rabu, 29 Oktober 2014
Minggu, 19 Oktober 2014
8 SOAL PENGULANGAN DARI PAK DOSEN
program ripit_ganjil;
uses crt;
var
n,a, akhir : integer;
begin
clrscr;
write('awal: '); readln(n);
write('akhir: '); readln(akhir);
write('kelipatan: ');
a := n;
repeat
begin
if (a mod 3 = 0) then
write(a,' ');
a := a + 1;
end;
until (a > akhir);
readln();
end.
uses crt;
var
n,a, akhir : integer;
begin
clrscr;
write('awal: '); readln(n);
write('akhir: '); readln(akhir);
write('kelipatan: ');
a := n;
repeat
begin
if (a mod 3 = 0) then
write(a,' ');
a := a + 1;
end;
until (a > akhir);
readln();
end.
program whilee_perkalian;
uses crt;var
a, b, perkalian: integer;
begin
clrscr;
write('perkalian: '); readln(perkalian);
write('sampai perkalian: '); readln(b);
a := 1;
while a <= b do
begin
writeln(perkalian,' * ', a ,' = ',perkalian * a);
a := a + 1;
end;
readln();
end.
DAN MENGGUNAKAN FOR
program perxan_dgnfor;
uses crt;var
perkalian, a, b : integer;
begin
clrscr;
write('perkalian: '); readln(perkalian);
write(' akan dikalikan sampai? '); readln(b);
for a := 1 to b do
begin
writeln(perkalian,' * ', a ,' = ',perkalian * a,' ');
end;
readln();
end.
program faktorial_pengulangan;
uses crt;var
akhir, awal, i : integer;
begin
clrscr;
writeln('faktorial (!)');
write('faktorial dari: '); readln(akhir);
awal := 1;
i := 1;
write(akhir,' != ');
write(akhir);
while ( i <= akhir - 1) do
begin
write(' * ',akhir - i);
awal := awal * i;
i := i + 1;
end;
write(' = ',awal * akhir);
readln();
end.
program deret_goyang;
uses crt;
var
n, a, total : integer;
begin
clrscr;
write('masukan anga: '); readln(n);
write('deret goyang: ');
total := 0;
for a := 1 to n do
begin
if (a mod 2 = 0) then
begin
a := (a * -1);
total := total + a;
write(a,' ');
a := (a * -1);
end
else
begin
write(a,' ');
total := total + a;
end;
end;
writeln('jumlah deret goyang ',total);
readln();
end.
uses crt;
var
n, a, total : integer;
begin
clrscr;
write('masukan anga: '); readln(n);
write('deret goyang: ');
total := 0;
for a := 1 to n do
begin
if (a mod 2 = 0) then
begin
a := (a * -1);
total := total + a;
write(a,' ');
a := (a * -1);
end
else
begin
write(a,' ');
total := total + a;
end;
end;
writeln('jumlah deret goyang ',total);
readln();
end.
program karyawan;
uses crt;
var
total, jjk, gaji : real;
i,n : integer;
begin
clrscr;
write('masukan jumlah karyawan: '); readln(n);
total := 0;
for i := 1 to n do
begin
write('jam kerja karyawan ' , i , ' : ' ); readln(jjk);
if (jjk > 7) then
begin
gaji := 7 * 10000 + ((jjk - 7) * (3 * 10000) / 2);
end
else
begin
gaji := jjk * 10000;
end;
writeln('total gaji: ',gaji:0:0);
total := total + gaji;
end;
writeln();
writeln('total gaji karyawan: ',total:0:0);
readln();
end.
uses crt;
var
total, jjk, gaji : real;
i,n : integer;
begin
clrscr;
write('masukan jumlah karyawan: '); readln(n);
total := 0;
for i := 1 to n do
begin
write('jam kerja karyawan ' , i , ' : ' ); readln(jjk);
if (jjk > 7) then
begin
gaji := 7 * 10000 + ((jjk - 7) * (3 * 10000) / 2);
end
else
begin
gaji := jjk * 10000;
end;
writeln('total gaji: ',gaji:0:0);
total := total + gaji;
end;
writeln();
writeln('total gaji karyawan: ',total:0:0);
readln();
end.
program game_bintang;
uses crt;var
i,j,k : integer;
begin
clrscr;
for i := 1 to 4 do
begin
for j := 1 to i do
begin
write(' * ');
end;
writeln;
end;
readln();
end.
program game_angka;
uses crt;
{game membentuk bintang dengan angka}
var
i, j, n : integer;
begin
clrscr;
write('jumlah angka: '); readln(n);
for i := 1 to n do
begin
for j := 1 to n do
begin
if (i=j) or ((i+j)=(n+1))then
write(i,' ')
else
write(' ')
end;
writeln;
writeln;
end;
readln();
end.
uses crt;
{game membentuk bintang dengan angka}
var
i, j, n : integer;
begin
clrscr;
write('jumlah angka: '); readln(n);
for i := 1 to n do
begin
for j := 1 to n do
begin
if (i=j) or ((i+j)=(n+1))then
write(i,' ')
else
write(' ')
end;
writeln;
writeln;
end;
readln();
end.
program belahketupat;
uses crt;
var
i,j,n,d,e : integer;
begin
clrscr;
write('jumlah bintang: '); readln(n);
d := ( n div 2 )+ 1;
e := n div 2;
if (n mod 2 <> 0)then
begin
for i :=1 to d do
begin
if i > 1 then
for j := 1 to n do
begin
if(j-1=(n/2)+1-i)or ((j+1)=(n/2)+1+i) then
write(' * ')
else
write(' ');
end
else
for j := 1 to n do
begin
if (j=(n/2)+1)then
write(' * ')
else
write(' ');
end;
writeln;
end;
for i:=n div 2 downto 1 do
begin
if i > 1 then
for j := 1 to n do
begin
if(j-1=(n/2)+1-i)or ((j+1)=(n/2)+1+i)then
write(' * ')
else
write(' ');
end
else
for j :=1 to n do
begin
if (j=(n/2)+1)then
write(' * ')
else
write(' ');
end;
end;
end
else
begin
for i := 1 to e do
begin
if i > 1then
for j := 1 to n do
begin
if(j-1=(n/2)-i)or ((j+1)=(n/2)+1+i)then
write(' * ')
else
write(' ')
end
else
for j :=1 to n do
begin
if (j=(n/2)) or (j=(n/2)+1)then
write(' * ')
else
write(' ');
end;
writeln;
end;
for i:=n div 2 downto 1 do
begin
if i > 1 then
for j := 1 to n do
begin
if(j-1=(n/2)-i)or ((j+1)=(n/2)+1+i)then
write(' * ')
else
write(' ');
end
else
for j:=1 to n do
begin
if (j=(n/2)) or (j=(n/2)+1)then
write(' * ')
else
write(' ');
end;
writeln;
end;
end;
readln();
end.
uses crt;
var
i,j,n,d,e : integer;
begin
clrscr;
write('jumlah bintang: '); readln(n);
d := ( n div 2 )+ 1;
e := n div 2;
if (n mod 2 <> 0)then
begin
for i :=1 to d do
begin
if i > 1 then
for j := 1 to n do
begin
if(j-1=(n/2)+1-i)or ((j+1)=(n/2)+1+i) then
write(' * ')
else
write(' ');
end
else
for j := 1 to n do
begin
if (j=(n/2)+1)then
write(' * ')
else
write(' ');
end;
writeln;
end;
for i:=n div 2 downto 1 do
begin
if i > 1 then
for j := 1 to n do
begin
if(j-1=(n/2)+1-i)or ((j+1)=(n/2)+1+i)then
write(' * ')
else
write(' ');
end
else
for j :=1 to n do
begin
if (j=(n/2)+1)then
write(' * ')
else
write(' ');
end;
end;
end
else
begin
for i := 1 to e do
begin
if i > 1then
for j := 1 to n do
begin
if(j-1=(n/2)-i)or ((j+1)=(n/2)+1+i)then
write(' * ')
else
write(' ')
end
else
for j :=1 to n do
begin
if (j=(n/2)) or (j=(n/2)+1)then
write(' * ')
else
write(' ');
end;
writeln;
end;
for i:=n div 2 downto 1 do
begin
if i > 1 then
for j := 1 to n do
begin
if(j-1=(n/2)-i)or ((j+1)=(n/2)+1+i)then
write(' * ')
else
write(' ');
end
else
for j:=1 to n do
begin
if (j=(n/2)) or (j=(n/2)+1)then
write(' * ')
else
write(' ');
end;
writeln;
end;
end;
readln();
end.
Langganan:
Postingan (Atom)