INSTITUT SAINS
& TEKNOLOGI AKPRIND YOGYAKARTA
FAKULTAS TEKNOLOGI
INDUSTRI
JURUSAN
TEKNIK INFORMATIKA
PROGRAM
STUDI TEKNIK INFORMATIKA
UJIAN TENGAH SEMESTER 2012/2013
MATA KULIAH : PEMROGRAMAN DASAR / S1
Hari/Tanggal Ujian : KAMIS/ 23 NOPEMBER 2012
WAKTU :
120 menit
SIFAT UJIAN : BUKU TERBUKA
DOSEN PENGAJAR : Erna Kumalasari Nurnawati, ST, MT
Soal :
1. Perhatikan program
berikut dan analisis keluaran dari program tersebut. Perhatikan format tampilan
yang muncul dalam program (poin 20)
program soal_no_1;
uses wincrt;
var a,b: integer;
begin
a:=50;
while a>=10 do
begin
if (a mod 5=0) then
begin
b:=a+10;
writeln('a= ',a,' b=
',b);
end;
dec(a);
end;
end.
2. Suatu
deret mempunyai rumus S= (a+N)+ (a+(N-1)) + (a+(N-2))+….+a dengan masukan a dan
N. Gunakan loop untuk menyelesaikan soal tersebut. Cetaklah a, N dan S.
(poin 40)
3. Dengan menggunakan
loop nested, buatlah program yang dapat membuat tampilan sebagai berikut:
Berapa jumlah
deret? 5
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
Masukan dari program adalah jumlah
deret. Gunakan loop nested untuk menyelesaikan persoalan
di atas (POIN 40)
Good Luck
Jawaban Mid.
No 1. Untuk soal no
1, maka outputnya adalah sbb:
Soal no 2.
Untuk soal nomor 2,
merupakan deret descending (turun) yang cacah tergantung N nya. Misal N=5, dan
a=10, maka deret yang harus dicetak adalah
a+n a+(n-1) a+(n-2)
a+(n-3) a+(n-4) a+(n-5) atau
15 14 13 12 11 10
Sedangkan S adalah
jumlah semua deret, unk kasus di atas S=15+14=13+12+11+10
Sehingga anda harus
menggunakan loop turun. Berikut adalah programnya:
program
soal_no_2;
uses
wincrt;
var
i,n:byte;
a,deret:integer;
S:longint;
begin
writeln('mencetak
dan menjumlah deret');
write('masukkan
a= ');readln(a);
write('masukkan
n= ');readln(n);
writeln('Inilah
deret dengan rumus a+n a+(n-1) a+(n-2)...., a');
writeln('Dengan
a= ',a,' dan cacah deret ',n+1);
for
i:=n downto 0 do
begin
deret:=a+i;write(deret:5);
S:=S+deret;
end;
writeln;
writeln('Jumlah
ke ',n+1,' deret tersebut adalah ',S);
end.
jika di lakukan
running maka hasilnya:
Soal no 3. Untuk
soal nomor 3, secara logika sangat sederhana. Ini merupakan deret multiple yang
masing2 baris berjumlah sama dengan angkanya. Anda membutuhkan dua buah loop,
loop luar digunakan untuk menentukan jumlah baris, dan loop dalam untuk
mencetak angka dalam deret sebanyak angka tersebut. Adapun programnya adalah
sbb:
program soal_no_3 ;
uses wincrt;
var i,j,n: integer;
begin
write('tinggi segitiga yang diinginkan ?
');readln(n);
for i:=1 to n do
begin
for j:=1 to i do write(i:4);
writeln;
end;
end.
Adapun outputnya jika di run adalah sbb:
Selama yach.. sukses selalu
ReplyDelete