Program iseng tahun kemarin
July 22, 2008 – 10:32 amsudah lama aq gak nyentuh programming pascal. Pas liat kerjaan tahun kemaren, waduh jadi lupa-lupa gitu. Tahun kemaren 2007, pas sy kelas 2 SMA, sy ikutan lomba yang ada di STT Telkom (ITT). yah, walaupun gagal dalam babak penyisihan, tapi tim satu lagi berhasil. Ada soal-soal ttg programming gitu. Sya dah bwat penyelesaiannya. Mudah2an bener. (ini dibuat tahun kemaren. jadi, klo ditanya sekarang, aq gak begitu hapal ttg prog ini. Maklum otaknya dah gak dipake selama satu tahun tuk ngeprogram)
1. Chess Board. Tugasnya disuruh bwat papan catur. Berikut kodenya (mudah2an ngarti) :
var a,b,x,y :integer;
begin
write('Masukkan Input : ');
readln(a);
if (a<1) or (a>20) then
writeln('Masukkan nilai dari 1-20')
else
begin
for x:=1 to a do
for y:=2 to a+1 do
begin
gotoxy(x,y);
b:=x+y;
if b mod 2 = 0 then write(' ') else write('*');
end;
end;
end.
2. Hourglass.
var
banyakAngka: integer;
bBaris, bKolom, i, j,n: integer;
begin
write('Masukkan angka: ');readln(banyakAngka);
n:=banyakAngka;
if (n<3) or (n>25) then writeln('Masukkan nilai antara 3-25 bilangan ganjil') else
if n mod 2 = 0 then writeln('Masukkan nilai ganjil') else
begin
banyakAngka:=(2*(banyakAngka-2))+1;
bKolom:=banyakAngka;
bBaris:=banyakAngka div 2 + 1;
for j:=1 to bBaris-1 do
begin
for i:=1 to bKolom do
begin
if (i<=j-1) or (i>=BKolom-(j-2)) then
begin
write(' ');
end
else
begin
write('*');
end;
end;
writeln;
end;
for j:=bBaris downto 1 do
begin
for i:=bKolom downto 1 do
begin
if (i<=j-1) or (i>=BKolom-(j-2)) then
begin
write(' ');
end
else
begin
write('*');
end;
end;
writeln;
end;
end;
end.
3.Reverse
const
inp='reverse.in';
out='reverse.out';
var
vFileInput : text;
TempLine : string ;
rText : string ;
lText,i,j,c: integer;
vTextFile : string ;
begin
writeln('file : reverse.in');
assign(vFileInput, inp);
reset(vFileInput);
if IOResult=0 then
begin
while not Eof(vFileInput) do
begin
Readln(vFileInput, TempLine);
end;
Close(vFileInput);
end;
writeln(templine);
lText:=length(templine)+1;
rText:=templine;
for i:=1 to lText do
begin
rText[i]:=templine[ltext-i];
end;
writeln('file : reverse.out');
Assign(vFileInput, out);
{$I-}
rewrite(vFileInput);
writeln(vFileInput, rText);
Close(vFileInput);
{$I+}
writeln(rText);
end.
4. Minesweeper….
type tArChar = array [1..100,1..100] of char;
tArInte = array [1..100,1..100] of integer;
const cFinp = 'mines.in';
cFout = 'mines.out';
var vFile : Text;
X,Y,i,j : integer ;
vText,z : String ;
MinChar : tArChar ;
MinInte : tArInte ;
X2,Y2 : integer ;
V : String;
begin
{Membersihkan Memori}
begin
for i:=1 to 100 do
for j:=1 to 100 do
begin
MinChar[i,j]:=' ';
MinInte[i,j]:=0;
end;
end;
{Membaca File}
begin
{Memasukkan File}
assign(vFile, cFinp);
reset(vFile);
readln(vFile, Y, X);
for j:=1 to Y do
begin
readln(vFile,vText);
for i:=1 to X do MinChar[i+1,j+1] := vText[i];
end;
close(vFile);
{Mencetak File Input}
begin
writeln('File : ',cFinp);
writeln('Ukuran : ',X,' x ',Y);
for j:=2 to Y+1 do
for i:=2 to X+1 do
if i=X+1 then writeln(MinChar[i,j]) else write(MinChar[i,j]);
end;
end;
{MemProses Data}
begin
{Mengubah Data}
begin
X2:=X+1;
Y2:=Y+1;
for j:=2 to Y2 do
begin
for i:=2 to X2 do
begin
if MinChar[i,j] = '*' then
begin
MinInte[i-1,j-1] := MinInte[i-1,j-1] +1 ;
MinInte[i-1,j ] := MinInte[i-1,j ] +1 ;
MinInte[i-1,j+1] := MinInte[i-1,j+1] +1 ;
MinInte[i, j-1] := MinInte[i, j-1] +1 ;
MinInte[i, j ] := 0 ;
MinInte[i, j+1] := MinInte[i, j+1] +1 ;
MinInte[i+1,j-1] := MinInte[i+1,j-1] +1 ;
MinInte[i+1,j ] := MinInte[i+1,j ] +1 ;
MinInte[i+1,j+1] := MinInte[i+1,j+1] +1 ;
end;
end;
end;
end;
end;
{File Output & Cetak}
begin
writeln('File output : ',cFout);
assign(vFile, cFout);
reset(vFile);
rewrite(vFile);
begin
writeln(vFile,Y,' ',X);
for j:=2 to Y2 do
begin
v:='';
for i:=2 to X2 do
begin
if MinChar[i,j] = '*' then z:=' ' else str(MinInte[i,j],z);
V:= v + z;
end;
writeln(v);
writeln(vFile,V);
end;
end;
close(vFile);
end;
{EOF}
end.



18 Responses to “Program iseng tahun kemarin”
1. Komentar Petra Novandi pada Jul 22, 2008
kayaknya familiar
2. Komentar t4rum4 pada Jul 22, 2008
@Petra Novandi: familiar.. hehehe.. namanya juga prog iseng..
3. Komentar lala pada Jul 22, 2008
apah inih????….
pS. susah bgt komen disinih…error teruzz…
jadi we’ll see.. masuk nda ini komen..
Berita terakhir dari lala : Kopdar RumahBlogger - Ragunan
4. Komentar lala pada Jul 22, 2008
tuh kan ga masuk komennyah..
!
jgn2 dianggap spam
Berita terakhir dari lala : Kopdar RumahBlogger - Ragunan
5. Komentar t4rum4 pada Jul 22, 2008
@lala: masuk kok!! klo pake FireFox… harus di refreshh.. masih pake offline data kalee. :p
6. Komentar ichanx pada Jul 23, 2008
what da fuc.k? pasti inih kode buat ngebobol brankas bank yah??? ngaku!!!!!!!
7. Komentar t4rum4 pada Jul 23, 2008
@ichanx: hahaha.. bukan kok. nanti mo bwat ah. hahahahaha..
8. Komentar scratchz pada Jul 23, 2008
LoL
Berita terakhir dari scratchz : Mengetahui Kecocokan Pasangan dengan True Love
9. Komentar t4rum4 pada Jul 23, 2008
@scratchz: komennya gak niat nih.. :p
10. Komentar Xaliber von Reginhild pada Jul 23, 2008
Wah, ada fungsi if-nya bikin saya ingat akan RPG Maker…
*ngawur*
Berita terakhir dari Xaliber von Reginhild : Islam dan Nazi
11. Komentar t4rum4 pada Jul 23, 2008
@Xaliber von Reginhild: walah.. jadi ke RPG toh.. :p
12. Komentar atrix pada Jul 24, 2008
wew… bingung kalo liat rumus2 kek gitu… mengingatkan aku pada pelajaran kelas 2 sma yaitu visual basic, soalnya biasanya nilai kompie w selalu diatas *narsis* 85 ato A, tapi kalo visual basic, saya selalu dapat 60 ato 65 aja… ato C+
Berita terakhir dari atrix : Rossi Menang!!!
13. Komentar t4rum4 pada Jul 24, 2008
@atrix: wahh.. VB. Pemrograman Virus tuh..
seringnya pake VB sih.. 
14. Komentar herry setyono - boelansabit pada Jul 25, 2008
pascal? itu mah bahasa fosil
tp walaupun fosil, tuh bahasa mmg bagus untuk jd media belajar programming. hehe…
salut…kecil2 dah jago nih
Berita terakhir dari herry setyono - boelansabit : Potong Rambut
15. Komentar t4rum4 pada Jul 25, 2008
@herry setyono - boelan sabit: yahh dibilang fosil.. sekarang apa? VB? C++??
16. Komentar Eru Reed pada Jul 25, 2008
Haha soal begituan..
jadi inget waktu IOI nasional di jogja
dari mulai classic traveling salesman, life-game, sampe catur 8 ratu itu
Pusing ampe mabok wk wk wk
17. Komentar t4rum4 pada Jul 25, 2008
@Eru Reed: hahaha… untungnya ga sampe koid.
18. Komentar iing pada Aug 20, 2008
Wah, ini sih bahasa pascal, tapi terlihat di poin ke nomor 3. itu bahasa pascal dengan compiler Delphi. Apalagi terlihat dari caraa membaca datanya. ini bukan penyelesaian menggunakan pascal opensource lagi. udah pake delphi sih. Jadi inget skripsi saya 2tahun yang lalu. pusing di tulis dan baca filenya. Jangan2 kamu nyontek punya saya ya? atau ngulik sendiri? ahh, pasti sempet liat source saya ya? beneran nggaaa?? ah, yang bener? *maksa tea* wkwkwkwk. Udah gitu saya merasa terganggu ama yang ngomong pascal itu fosil. bahasa pascal, C++, fortran, basic dll juga fosil (malah pascal ad asetelah C). cuma sekarnag udah ada compiler yang baru. harap diingat programming language, algorithm, dan compiler itu sesuatu yang berbeda. hho. wah, jadi ingin ngulik assembler uyyy… keinginan tak tercapai dari SMA. hahahaha