Tuesday 2 June 2009

TANPA MENULIS DAN DENGAN PROGAMMING

hari-hari yang melelahkan dan menegangkan. Sebentar lagi OSP( oimpiade sains provinsi) dimulai tepatnya tanggal 9-10 Juni 2009. makin deg-degan, makin nggak karuan dan justru malah ngerasa nggak siap. Ya gimana ya, semakin hari kok saya malah mikir saya makin bego aja..

pertama sih masih oke-oke aja. Waktu dikasih tugas yang sederhana masih bisa dikerjain tapi makin hari kok makin susah. Salah satu tugas yang belum selesai sampai saya posting tulisan ini adalah tugas obat nyamuk. Jadi gini, saya nulis suatu kata nanti outputnya muter dalam bentuk obat nyamuk.

Contoh

Input

Nada haroen

Output

_ad

hnan

aroe

huruf yang saya bold itu adalah huruf awal terus muternya ke kanan, ke atas ke kiri, ke bawah terus ke kanan lagi.

Mumet saya bikin programnya pake pascal..

Sejauh ini saya udah bikin kaya gini

uses crt;

var

kata:string;

n,m,x,y,midx,midy,i,j:integer;

arr:array [1..10,1..10] of string;

begin

clrscr;

readln(kata);

n:=length(kata);

m:=trunc(sqrt(n))+1;

if m mod 2=0 then

begin

midx:=m div 2+1;

midy:=m div 2;

end else

if m mod 2=1 then

begin

midx:=m div 2+1;

midy:=midx;

end;

x:=midx;

y:=midy;

for i:=1 to n do

begin

if (x>=midx) and (y<=midy) then

begin

if arr[x,y]='' then

begin

arr[x,y]:=kata[i];

end else

if arr[x,y+1]='' then

begin

arr[x,y+1]:=kata[i];

inc(y);

end else

if arr[x+1,y]='' then

begin

arr[x+1,y]:=kata[i];

inc(x);

end;

end

else if (x>=midx) and (y>midy) then

begin

if arr[x,y]='' then

begin

arr[x,y]:=kata[i];

end else

if arr[x,y-1]='' then

begin

arr[x,y-1]:=kata[i];

dec(y);

end else

if arr[x-1,y]='' then

begin

arr[x-1,y]:=kata[i];

dec(x);

end else

if arr[x,y+1]='' then

begin

arr[x,y+1]:=kata[i];

inc(y);

end;

end

else if (x=midy) then

begin

if arr[x,y]='' then

begin

arr[x,y]:=kata[i];

end else

if arr[x,y-1]='' then

begin

arr[x,y-1]:=kata[i];

dec(y);

end else

if arr[x-1,y]='' then

begin

arr[x-1,y]:=kata[i];

inc(x);

end;

end

else if (x<=midy) then

begin

if arr[x,y]='' then

begin

arr[x,y]:=kata[i];

end else

if arr[x,y+1]=''then

begin

arr[x,y+1]:=kata[i];

inc(y);

end else

if arr[x+1,y]='' then

begin

arr[x+1,y]:=kata[i];

inc(x);

end;

end;

end;

for i:=1 to m+1 do

for j:=1 to m+1 do

begin

if arr[i,j]<>' ' then

begin

if j=m+1 then writeln(arr[i,j]) else write(arr[i,j]);

end else write('_');

end;

readln;

end.

Bingung??

Saya juga. Itu aja masih bermasalah..T.T..

Ada dua tugas lagi yang saya masih belum bisa juga. Makin sedih deh.. temen saya, viko, udah berhasil bikin 2 program saya satu aja belum beres. Sedih deh..

Saya ngerasa agak minder gitu deh sekarang. Padahal waktu yang tersisa tinggal seminggu. Apa emang otak cewek dibawah otak cowok ya? Nggak tahu deh..

Yang saya tahu sebenarnya bidang saya itu di nulis. Suruh saya bikin cerpen 10 halaman, jadi! Tapi kalau progamming?!!! Hopeless deh..T.T..

Gara-gara sibuk persiapan buat lomba ini, saya jadi nggak sempet nulis, puisi aja nggak sempet. Padahal, buat saya sehari tanpa nulis rasanya hampa. Seminggu lebih ini saya udah nggak nulis. Saya kangen bermesraan dengan kata, bercumbu dengan diksi dan metafora. Saya rindu berimaji, saya rindu menulis lagi.

Sekedar informasi, buat olimpiade sains provinsi bidang komputer yang dipakai untuk progamming itu free pascal.

Free Pascal (FPC) adalah kompilator Pascal sumber terbuka dengan dua fitur utama: kompatibilitas Delphi tingkat tinggi dan ketersediaan berbagai platform, termasuk Windows, Mac OS X, dan Linux. Kompatibilitas Free Pascal dengan Delphi termasuk tidak hanya dukungan yang sama untuk bahasa pemrograman Object Pascal yang digunakan Delphi, tapi juga untuk banyak librari atas rutin bertenaga dan kelas yang baru dikenal Delphi. Ini termasuk unit familier seperti System, SysUtils, StrUtils, DateUtils, Classes, Variants, Math, IniFiles dan Registry, yang disertakan dengan Free Pascal pada semua platform yang didukung. Free Pascal juga menyertakan unit seperti Windows, ShellAPI, BaseUnix, Unix dan DynLibs untuk mengakses spesifik fitur ke sistem operasi. Ada lusinan unit yang menjadi inti dari apa yang biasanya dirujuk sebagai Free Pascal run-time library (RTL). saya ambil definisi dari sini.


pusing nggak baca definisi diatas?

say pusing pas pertama kali ketemu, apalagi tampilannya nggak banget. kaya gini ini.


oke deh, udah soal pascalnya. saya lagi pengen melampiaskan kenangan dengan kata dan makna. rindu saya bermain dengan mereka.


ah, semoga ini segera selesai dan saya bisa mendapat hasil yang terbaik. doakan ya!




1 comment:

jangan cuma baca, tapi komen juga ya