Şu an Algoritma derslerinde Pascal dilini öğreniyoruz.
Biraz ısınma turlarından sonra Python ve Ruby için de yazılarım olacak.
21 Aralık 2009 Pazartesi
2_tahmin_oyunu
Klasik sayı tahmini .
İçinde 0 ve aynı sayılar olmayan 4 rakamlı sayıyı bulmaya çalışıyorsunuz.
Basamak yerleri doğru her rakam için " + " sayısını ,
Basamak yerleri hatalı her rakam için " - " sayısını üretiyor.
not : Kodu yazdıktan sonra bilg. tuttuğu sayıyı gizlemesi için
writeln('rnd'); satırını silin.
uses crt;
var
r1,r2,r3,r4,my1,my2,my3,my4:real;
mynum,rnd,arti,eksi,j:integer;
k:char;
label
basla,sayi,bitti;
begin
r1:=0;
r2:=0;
r3:=0;
r4:=0;
arti:=0;
eksi:=0;
basla:
rnd:=1;
randomize;
rnd:=random(9876);
clrscr;
writeln(rnd);
r1:=rnd div 1000;
r2:=(rnd div 100)-(r1*10);
r3:=(rnd div 10)-((rnd div 100) *10);
r4:=rnd-((rnd div 10) *10);
if rnd<1234
then
goto basla;
if(r1=0) or (r2=0)or(r3=0)or(r4=0)or(r2=r1)or(r3=r1)or(r4=r1)or(r2=r3)or(r2=r4)or(r3=r4)
then
goto basla;
j:=0;
writeln;
writeln('icinde 0 ve ayni sayi olmayan 4 basamakli bir sayi tahmin ediniz ');
writeln('herhangibir anda oyundan cikmak icin " 1 " e bas');
sayi:
j:=j+1;
arti:=0;
eksi:=0;
writeln;
writeln(j,' nci tahmin sayinizi giriniz');
writeln;
readln(mynum);
if mynum=1
then goto bitti;
my1:=mynum div 1000;
my2:=(mynum div 100)-(my1*10);
my3:=(mynum div 10)-((mynum div 100) *10);
my4:=mynum-((mynum div 10) *10);
if (mynum<1234) or (mynum>9876)
then
goto sayi;
if(my1=0) or (my2=0)or(my3=0)or(my4=0)or(my2=my1)or(my3=my1)or(my4=my1)or(my2=my3)or(my2=my4)or(my3=my4)
then
{writeln(rnd);}
goto sayi;
{writeln(rnd);}
{writeln(mynum);}
if my1=r1
then arti:=arti+1;
if my2=r2
then arti:=arti+1;
if my3 = r3
then arti:=arti+1;
if my4 = r4
then arti:=arti+1;
if my1=r2
then eksi:=eksi+1;
if my1=r3
then eksi:=eksi+1;
if my1=r4
then eksi:=eksi+1;
if my2=r1
then eksi:=eksi+1;
if my2=r3
then eksi:=eksi+1;
if my2=r4
then eksi:=eksi+1;
if my3=r1
then eksi:=eksi+1;
if my3=r2
then eksi:=eksi+1;
if my3=r4
then eksi:=eksi+1;
if my4=r1
then eksi:=eksi+1;
if my4=r2
then eksi:=eksi+1;
if my4=r3
then eksi:=eksi+1;
writeln;
writeln(arti,' arti.....',eksi,' eksi.....');
if mynum<>rnd
then goto sayi;
writeln;
writeln(arti,' arti.....',eksi,' eksi.....',' **** tebrikler sayiyi ',j,' tahminde buldunuz ***' );
writeln;
writeln('tamam mi ? // devam mi? =====> E / H ');
writeln;
readln(k);
if (k='E') or (k='e')
then
goto basla;
bitti:
writeln('game over...ENTER');
readln;
end.
İçinde 0 ve aynı sayılar olmayan 4 rakamlı sayıyı bulmaya çalışıyorsunuz.
Basamak yerleri doğru her rakam için " + " sayısını ,
Basamak yerleri hatalı her rakam için " - " sayısını üretiyor.
not : Kodu yazdıktan sonra bilg. tuttuğu sayıyı gizlemesi için
writeln('rnd'); satırını silin.
uses crt;
var
r1,r2,r3,r4,my1,my2,my3,my4:real;
mynum,rnd,arti,eksi,j:integer;
k:char;
label
basla,sayi,bitti;
begin
r1:=0;
r2:=0;
r3:=0;
r4:=0;
arti:=0;
eksi:=0;
basla:
rnd:=1;
randomize;
rnd:=random(9876);
clrscr;
writeln(rnd);
r1:=rnd div 1000;
r2:=(rnd div 100)-(r1*10);
r3:=(rnd div 10)-((rnd div 100) *10);
r4:=rnd-((rnd div 10) *10);
if rnd<1234
then
goto basla;
if(r1=0) or (r2=0)or(r3=0)or(r4=0)or(r2=r1)or(r3=r1)or(r4=r1)or(r2=r3)or(r2=r4)or(r3=r4)
then
goto basla;
j:=0;
writeln;
writeln('icinde 0 ve ayni sayi olmayan 4 basamakli bir sayi tahmin ediniz ');
writeln('herhangibir anda oyundan cikmak icin " 1 " e bas');
sayi:
j:=j+1;
arti:=0;
eksi:=0;
writeln;
writeln(j,' nci tahmin sayinizi giriniz');
writeln;
readln(mynum);
if mynum=1
then goto bitti;
my1:=mynum div 1000;
my2:=(mynum div 100)-(my1*10);
my3:=(mynum div 10)-((mynum div 100) *10);
my4:=mynum-((mynum div 10) *10);
if (mynum<1234) or (mynum>9876)
then
goto sayi;
if(my1=0) or (my2=0)or(my3=0)or(my4=0)or(my2=my1)or(my3=my1)or(my4=my1)or(my2=my3)or(my2=my4)or(my3=my4)
then
{writeln(rnd);}
goto sayi;
{writeln(rnd);}
{writeln(mynum);}
if my1=r1
then arti:=arti+1;
if my2=r2
then arti:=arti+1;
if my3 = r3
then arti:=arti+1;
if my4 = r4
then arti:=arti+1;
if my1=r2
then eksi:=eksi+1;
if my1=r3
then eksi:=eksi+1;
if my1=r4
then eksi:=eksi+1;
if my2=r1
then eksi:=eksi+1;
if my2=r3
then eksi:=eksi+1;
if my2=r4
then eksi:=eksi+1;
if my3=r1
then eksi:=eksi+1;
if my3=r2
then eksi:=eksi+1;
if my3=r4
then eksi:=eksi+1;
if my4=r1
then eksi:=eksi+1;
if my4=r2
then eksi:=eksi+1;
if my4=r3
then eksi:=eksi+1;
writeln;
writeln(arti,' arti.....',eksi,' eksi.....');
if mynum<>rnd
then goto sayi;
writeln;
writeln(arti,' arti.....',eksi,' eksi.....',' **** tebrikler sayiyi ',j,' tahminde buldunuz ***' );
writeln;
writeln('tamam mi ? // devam mi? =====> E / H ');
writeln;
readln(k);
if (k='E') or (k='e')
then
goto basla;
bitti:
writeln('game over...ENTER');
readln;
end.
20 Aralık 2009 Pazar
1_sayi_tahmin
aşağıdaki kod tam olarak çalışmıyor. birden fazla aynı sayıları rastgele alıyor.
sorun halledilince buraya cevabı yazılacak.
program tahmin;
uses crt;
var
i,j,k:integer;
label
basla;
begin
basla:
i:=0;
j:=0;
{writeln(i,' ',j);}
randomize;
i:=random(15);
{randomize;}
j:=random(10);
k:=i+j;
writeln('i = ',i,' j = ',j,' k= ', k );
if k<14 then
goto basla;
writeln('i = ',i,' j = ',j,' ===TAMAMDIR===');
readln;
end.
sorun halledilince buraya cevabı yazılacak.
program tahmin;
uses crt;
var
i,j,k:integer;
label
basla;
begin
basla:
i:=0;
j:=0;
{writeln(i,' ',j);}
randomize;
i:=random(15);
{randomize;}
j:=random(10);
k:=i+j;
writeln('i = ',i,' j = ',j,' k= ', k );
if k<14 then
goto basla;
writeln('i = ',i,' j = ',j,' ===TAMAMDIR===');
readln;
end.
arabada fren ne işe yarar ?
bir çok kişiye bunu sorduklarında durmak için cevabı vermişlerdir.
ama hızı 150 - 300 km olan formula pilotu için fren o hızda durmak için olamaz.
zaten verdikleri cevapta ; güvenli ve kontrollü sürüş için demişlerdir.
ama hızı 150 - 300 km olan formula pilotu için fren o hızda durmak için olamaz.
zaten verdikleri cevapta ; güvenli ve kontrollü sürüş için demişlerdir.
Kaydol:
Kayıtlar (Atom)