Program iseng tahun kemarin
sudah 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.
Related posts:





kayaknya familiar :-?
[Reply]
@Petra Novandi: familiar.. hehehe.. namanya juga prog iseng..
[Reply]
apah inih????….
pS. susah bgt komen disinih…error teruzz…
jadi we’ll see.. masuk nda ini komen..
Berita terakhir dari lala : Kopdar RumahBlogger – Ragunan
[Reply]
tuh kan ga masuk komennyah..
!
jgn2 dianggap spam
Berita terakhir dari lala : Kopdar RumahBlogger – Ragunan
[Reply]
@lala: masuk kok!! klo pake FireFox… harus di refreshh.. masih pake offline data kalee. :p
[Reply]
what da fuc.k? pasti inih kode buat ngebobol brankas bank yah??? ngaku!!!!!!!
[Reply]
@ichanx: hahaha.. bukan kok. nanti mo bwat ah. hahahahaha.. :D
[Reply]
LoL :D
Berita terakhir dari scratchz : Mengetahui Kecocokan Pasangan dengan True Love
[Reply]
@scratchz: komennya gak niat nih.. :p
[Reply]
Wah, ada fungsi if-nya bikin saya ingat akan RPG Maker… :D *ngawur*
Berita terakhir dari Xaliber von Reginhild : Islam dan Nazi
[Reply]
@Xaliber von Reginhild: walah.. jadi ke RPG toh.. :p
[Reply]
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!!!
[Reply]
@atrix: wahh.. VB. Pemrograman Virus tuh.. :) seringnya pake VB sih.. :P
[Reply]
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
[Reply]
@herry setyono – boelan sabit: yahh dibilang fosil.. sekarang apa? VB? C++??
[Reply]
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
[Reply]
@Eru Reed: hahaha… untungnya ga sampe koid. :D
[Reply]
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
[Reply]
koko mineweepernya g bisa dijalanin??trus blok memproses datanya itu masih kosong…
[Reply]