Uploaded by User765

Programlama Temelleri-12 Aralık (1)

advertisement
ÖDEVen büyük, en küçük kaç kere tekrar etmiş ve yerleri
Güzel Ödevüretilen her sayı kaç kere tekrar etmiş
Üretilmeyenler için değer yazılmayacak.
17 2kez üretildi
25 8 kez üretildi
En GÜZEL ÖDEVSAYISAL LOTO İpucu Repeat yada While
Süper loto
En GÜZEL SoruSAYISAL LOTO
İpucu Repeat yada While
1 ile 49 arasında tekrar etmeyen 6 sayı üretilecek.
7,12,7,7,39,12,4,7
7
12
39
program Project1;
var
dizi:array [1..6] of integer;
sayi,adet,i:integer;
kontrol:boolean; //false yok, true var
begin
randomize;
dizi[1]:=1+random(49);
adet:=1;
repeat
kontrol:=false;
sayi:=1+random(49);
for i:=1 to adet do
if sayi=dizi[i] then
kontrol:=true;
if kontrol=false then
begin
adet:=adet+1;
dizi[adet]:=sayi;
end;
until adet=6;
for i:=1 to 6 do
writeln(dizi[i]);
readln;
end.
program Project1;
var
dizi:array [1..6] of integer;
sayi,adet,i:integer;
kontrol:boolean; //kontrolün başlangıçtaki değeri
falsedir. (integer değerlerin 0 defaultuyla
başlaması gibi)
begin
randomize;
adet:=0;
repeat
kontrol:=false;
sayi:=1+random(49);
for i:=1 to adet do //benzersiz üretilen değer
sayısı kadar dönen bir döngü her birini kontrol
etmek için
if sayi=dizi[i] then
kontrol:=true; //sayi dizide mevcut ise kontrol
değeri true olacak. bu sayının dizide zaten
bulunduğu, yani eklenmeye uygun olmadığı
anlamına geliyor
if kontrol=false then //kontrol değeri hala false
ise üretilen sayı diziye eklenmeye uygundur.
öyleyse..
begin
adet:=adet+1; //doğru üretilen sayı adedini bir
arttır.
dizi[adet]:=sayi; //üretilmiş olan sayiyi diziye
ekle.
end;
until adet=6; //6 doğru değer üretildiğinde adet 6
ya eşit olacak ve bu durumda döngü sonlanacak.
for i:=1 to 6 do
writeln(dizi[i]);
readln;
end.
Download