2011 m. balandžio 13 d., trečiadienis

"Priešistorė", II dalis

Čia pateikiu 2008-10-11 programą, kuri verčia jūsų įrašytą šešioliktainės skaičiavimo sistemos skaičių į visas kitas skaičiavimo sistemas nuo 2 iki 15.
Šešioliktainį skaičių reikia rašyti priekyje jo rašant dolerio ženklą. Galima pabandyti įrašyti, pvz. $10 ar $f (programa realizuota mažosioms raidėms).













program skaic_sis;

uses crt;

var a,b,c,d,e,f,g,h,i,j:longint;
k,l,m,n,o,p,r:real;

begin
clrscr;

writeln('2008-10-11');
writeln('iveskite 16-aini skaiciu c (pries skaiciu rasomas "$" zenklas)');
readln(c);
e:=1;
repeat
e:=e+1;
f:=$1;
b:=$0;
g:=$0;
d:=$1;
while d<>$0 do
begin
g:=g+$1;
h:=$1;
d:=c;
while h<>g do
begin
h:=h+$1;
d:=d div e;
end;
a:=d mod e;
b:=b+a*f;
f:=f*10;
end;
writeln('b=',b);
until e=$F;

readkey;
end.


O čia tą pačią dieną parašyta "Matmintinio" tipo programėlė, kuri prašo sudėti random du skaičius, o sudėjus penketą tokių iš eilės teisingai, pereinama į "antrą lygį", kur jau duodama skaičius sudauginti. Ir tt.. Dar norėjau kažką su kodais sugalvoti, bet nieko logiško, kaip programoje matyti, neišėjo...

program matm1;
uses crt;
label 001,002,003,004,005,006,007,01,02,03,04;

const c1=2;

var a,b,c,d,e,f,g,h,i:real;
a1,a2,a3,a4,a5,a6,b1,b2,b3:integer;

begin
clrscr;
randomize;

writeln('iv pass');

read(a);
b:=1;

while b<5 do
begin
b:=b+1;
c:=a/sqrt(b);

d:=c;

while d>-0.00005 do
begin
d:=d-1;
if d<0.00005 then if d>-0.00005 then
begin
if b=2 then goto 002;
if b=3 then goto 003;

{end
else if d>-0.0005 then
begin
if b=2 then goto 002;
if b=3 then goto 003;}

end;
end;

end;


begin
writeln('1 laiptas. sudekite skaicius: ');
b1:=0;
while b1<5 do
begin
b2:=1000*(b1+1);
a1:=random(b2);
a2:=random(b2);
writeln(a1);
writeln(a2);
a3:=a1+a2;
readln(a4);
writeln(a3,' -teisinga suma');
if a4=a3 then
begin
b1:=b1+1;
writeln;
if b1=5 then
begin
e:=random(20)*sqrt(2);
writeln(e:8:6,' -jusu kodas 2 laiptui');
readkey;
end
end
else goto 01;
end;
end;

002:;
begin
writeln;
writeln('2 laiptas. sudauginkite skaicius: ');
b1:=0;
b2:=15;
b3:=3;
while b1<5 do
begin
b2:=b2+(b1+1);
{writeln(b2,' -b2');}
a1:=random(b2)+b3;
a2:=random(b2)+b3;
writeln(a1);
writeln(a2);
a3:=a1*a2;
readln(a4);
writeln(a3,' -teisinga sandauga');
if a4 = a3 then
begin
b1:=b1+1;
writeln;
if b1=5 then
begin
e:=random(20)*sqrt(3);
writeln(e:8:6,' -jusu kodas 3 laiptui');
readkey;
end;
end
else goto 01;
end;

end;
003:;
begin
writeln;
writeln ('3 laiptas. palyginkite skaicius: ');
b1:=0;
while b1<5 do
begin
b2:=1000*(b1+1);
a1:=random(b2);
a2:=random(b2);
if a1=a2 then a1:=a1+1;
write(a1,' ',a2);
writeln('spauskite: 1-daugiau,3-maziau ');
a3:=a1-a2;
writeln;
readln(a4);
if a4=1 then
begin
if a3>0 then
begin
b1:=b1+1;
if b1=5 then
begin
writeln('TU NUGALEJAI!');
goto 01;
end;
end
else goto 01;
end;
if a4=3 then
begin
if a3<0 then
begin
b1:=b1+1;
if b1=5 then
begin
writeln('TU LAIMEJAI!');
goto 01;
end;
end
else goto 01;
end;
end;
end;
01:;
writeln('zaidimo pabaiga');
writeln('2008-10-11');
readkey;
end.

[beje, čia programinau su LABEL'ais. Tiesiog neteko su jais anksčiau programinti, tai kai išmokau, pabandžiau, nors tik vėliau sužinojau, kad juos naudot - bloga programavimo maniera..]

Komentarų nėra:

Rašyti komentarą