O iki grafinės aplinkos mokėmės pagrindus: sąlygos (if), ciklų (for, while, repeat) sakiniai.
Iš mokyklos laikų savo programų neturiu.
Po mokyklos kartkartėmis parašydavau primityvių programėlių. Pavyzdžiui, prisimenant ciklus ir pnš., parašydavau faktorialo programėlę ar kažką tokio.
Žaisdamas travianą, vietoje ėjimo į specialų puslapį, kuris turėdavo suskaičiuoti karių judėjimo laiką iš įvestų koordinačių, parašiau "traveltime5" programą, nes puslapyje esanti skaičiuoklė kiek pamenu darydavo klaidas (nesu tikras), kuomet buvo įvedami kiek didesni skaičiai. Štai programos kodas (~2008 metai):
program traveltime5;
uses crt;
var a,b,c,d,e,f,g,h,i,j,k,l:integer;
m,n,o,p,r,s:real;
begin
clrscr;
readln(b);
readln(c);
readln(l);
readln(k);
r:=sqrt(c*c+b*b);
if r<=30 then
begin
n:=r/l;
m:=trunc(n);
o:=trunc((n-trunc(n))*60);
p:=(n*60-trunc(n*60))*60;
write(m:2:0,':',o:2:0,':',p:2:0);
end
else
begin
n:=30/l+(r-30)/(l*(1+0.1*k));
m:=trunc(n);
o:=trunc((n-trunc(n))*60);
p:=(n*60-trunc(n*60))*60;
write(m:2:0,':',o:2:0,':',p:2:0);
end;
readkey;
end.
[į programą įvedami: miestų koordinačių (x ir y) skirtumai, kario vieneto greitis, arenos lygis]
, ir analogiška programa "traveltime3", kuri išmeta lentelę atsakymų, tačiau nėra patogi, kuomet reikia skaičiuoti didelius atstumus:
program traveltime3;
uses crt;
var a,b,c,d,e,f,g,h,i,j,k,l:integer;
m,n,o,p,r,s:real;
begin
clrscr;
randomize;
l:=1;
repeat
readln(l);
clrscr;
c:=0;
repeat
c:=c+1;
b:=0;
repeat
b:=b+1;
n:=sqrt(c*c+b*b)/l;
m:=trunc(n);
o:=trunc((n-trunc(n))*60);
p:=(n*60-trunc(n*60))*60;
write(m:2:0,':',o:2:0,':',p:2:0);
until b=10;
until c=20;
until l<1;
readkey;
end.
[įvedamas kario greitis; įvedus 7 (vienas iš dažniausių travian armijų greičių), kaip screenshot'e matosi, mums parodo lentelę, kurioje atsirinkę reikiamą nenulinį stulpelį (1-8) ir nenulinę eilutę (1-20), susirandame karių judėjimo trukmę]

Faktorialo programėlė, parašyta ~2009 metais:
program faktorialas;
uses crt;
var a,b,c,d,e,f,g,h,i,j:longint;
a1:byte;
begin
clrscr;
read(a);
if a>12 then
begin
a:=12;
textcolor(green);
writeln('longint reiksme mazesne uz 13!, todel pateikiama');
writeln('eilute tik faktorialu iki 12!');
textcolor(white);
end;
b:=0;
c:=1;
while b
begin
b:=b+1;
c:=c*b;
write(' ',c);
end;
readkey;
end.

Komentarų nėra:
Rašyti komentarą