Pascal Örnekleri 11 ( Karma örnekler)

85)Procedure ile kullanılan klavyeden girilen koordinatlara göre şekli çizen pogram.
Çöz:85)uses crt;
var
a,b,c,d,i:integer;
procedure sekil;begin
clrscr;
for i:=a to c do
begin
gotoxy(i,b);write(‘*’); gotoxy(i,d);write(‘*’);
end;
for i:=b to d do
begin
gotoxy(a,i);write(‘*’);
gotoxy(c,i);write(‘*’);
end;
end;
begin
clrscr;
writeln(‘a sütun koordinatını gir’);readln(a);
writeln(‘b satir koordinatını gir’);readln(b);
writeln(‘c sütun koordinatını gir’);readln(c);
writeln(‘d satır koordinatını gir’);readln(d);
sekil;
readln;
end.
86)Ekranda yıldızlı çerçeve yapan program.
Çöz:86)uses crt;
var
i:integer;
begin
clrscr;
for i:=1 to 79 do
begin
gotoxy(i,1);write(‘*’);
gotoxy(i,24);write(‘*’);
end;
for i:=1 to 24 do
begin
gotoxy(1,i);write(‘*’);
gotoxy(79,i);write(‘*’);
end;
readln;
end.

87)Ekranın kenarlarında yıldızdan çerçeve bulunan ve klavyeden girilen sayının tek mi, çift mi, asal mı olduğunu bulan program.
Çöz:87)uses crt;
var
i,sayi,a,b:integer;
tus:char;
begin
clrscr;
for i:=1 to 79 do begin
gotoxy(i,1);write(‘*’);
gotoxy(i,24);write(‘*’);
end;
for i:=1 to 24 do
begin
gotoxy(1,i);write(‘*’);
gotoxy(79,i);write(‘*’);
end;
gotoxy(2,2);write(‘sayı    tek    çift    asal’);
gotoxy(2,3);write(‘*****************’);
tus:=’e’;
i:=3;
while tus=’e’ do begin
i:=i+1;
gotoxy(‘2,i);readl(sayi);
if ((sayi mod 2)=0) then begin
gotoxy(18,i);write(‘x’);end
else begin
gotoxy(10,i);write(‘x’);end;
for b:=2 to sayi-1 do begin
if ((sayi mod b)=0) then break
else if (b=sayi-1) then begin
gotoxy(25,i);write(‘x’);end;end;
gotoxy(30,i)write(‘devam etmek istiyor musunuz e/h’);
tus:=readkey;
if (tus=’h’) or (tus=’H’) then halt;
end;
readln;
end.

88) n! işlemini hesaplayan programa girmek için kalvyeden şifre girilecektir. Şifre doğru girilene kadar şifre girmesi istenecek. Şifre her 3 kez yanlış girilince programdan çıkmak istiyor musunuz: ‘E’,’e’ şeklinde uyarı verecektir. Kullanıcı ‘e’ yada ‘E’ harfine bastığında programdan çıkacak aksi halde şifreyi girmeye devam eden program.
Çöz:88) uses crt;
var
fak,n,a,i,sifre:integer;
devam:char;
begin
clrscr;
fak:=1;
a:=1;
devam:=’e’;
while (devam=’e’) do begin
writeln(‘3 rakamlı şifreyi giriniz:’);readln(sifre); if(sifre=123)then begin
writeln(‘doğru şifre’);break;end
else
writeln(‘şifreniz yanlış lütfen doğru şifreyi giriniz:’); a:=a+1;
if(a>3)then begin
writeln(‘devam etmek ister misiniz:’);
devam:=readkey;
if(devam=’h’)or(devam=’H’)then halt;end;end;
writeln(‘n değerini gir:’);readln(n);
for i:=2 to n do
fak:=fak*i;
writeln(fak);
readln;
end.

89)Aşağıdaki gibi 1 ile 99 arasında rastgele sayı bulan programı yazınız. Alt alta kaç satır sayı bulunacağını kullanıcı tarafından girilecektir. Sütunlar arasında 5 er karakterlik boşluk olan program.
Çöz:89) uses crt;
var
sutun,satir,a,i,x:integer;
begin
randomize;
clrscr;
writeln(‘sütun sayısını gir:’);readln(sutun);
writeln(‘satır sayısını gir:’);readln(satir);
clrscr;
for i:=1 to satir do begin
for x:=1 to sutun do begin
gotoxy(5*i,3*x);
a:=random(99);
writeln(a);
end;
end;
readln;
end.

90)Kullanıcın girdiği para birimini Banknotuna çeviren program.
Çöz:90)uses crt;
var
a,b,c,d,e,f,g,h,m,para:integer;
begin clrscr;
writeln(‘Lütfen bir para birimi giriniz’);readln(para); clrscr;
a:=para div 100;
b:=para mod 100;
c:=b div 50;
e:=b mod 50;
d:=e div 10;
f:=e mod 10;
g:=f div 5;
h:=f mod 5;
m:=h div 1;
writeln(para ,’  YTL’,’ *** Bu Paranın Banknotu ***!!!’);
writeln(100,’ YTL’,’=’,a,’ tane var ‘);
writeln(50,’ YTL’,’=’,c,’ tane var ‘);
writeln(10,’ YTL’,’=’,d,’ tane var ‘);
writeln(5,’ YTL’,’=’,g,’ tane var ‘);
writeln(1,’ YTL’,’=’,m,’ tane var ‘);
readln;
end.

91)Kar gibi yağan program.
Çöz:91)uses crt;
var
i,x,y:integer;
begin
clrscr;
randomize;
textbackground(0);
for i:=1 to 100 do begin
insline;
x:=random(78);
y:=random(24);
gotoxy(x,y);
textcolor(15);
write(‘*’);
delay(25);
end;
readln;
end.

92)Klavyeden girilen kullanıcı adı ve şifresi doğru oluncaya kadar şifre isteyen program.
Çöz:92)uses crt;
var
a,b,sifre:integer;
ad:string;
begin
clrscr;
repeat
gotoxy(25,10);
write(‘Kullanıcı_adını_girin:’);readln(ad);
gotoxy(25,11);
delay(1000);
writeln(‘!!!Yanlış kullanıcı!!!’);
gotoxy(47,10);
until ad=’sonnur’;
gotoxy(25,11);
delline;
repeat
gotoxy(25,11);
write(‘sifre:’);readln(sifre);
gotoxy(25,12);
delay(1000);
writeln(‘!!!Yanlış Sifre!!!’);
gotoxy(31,11);
until sifre=123;
gotoxy(25,12);
delline;
if(sifre=123)then
gotoxy(27,14);
write(‘hoşgeldin’);
readln;
end.

93)Onaltılık Sayı sistemini onluğa çeviren program.
Çöz:93)uses crt;
var
sayi,b:string;
x,i:integer;
sayii:real;
begin
writeln(‘sayıyı gir’);readln(sayi);
x:=length(sayi);
for i:=0 to x-1 do begin
b:=copy(sayi,x-i,1);
write(b,’=’);
if (b=’0′)then
sayii:=0;
if (b=’1′) then sayii:=1*exp(i*Ln(16));
if (b=’2′) then sayii:=2*exp(i*Ln(16));
if (b=’3′) then sayii:=3*exp(i*Ln(16));
if (b=’4′) then sayii:=4*exp(i*Ln(16));
if (b=’5′) then sayii:=5*exp(i*Ln(16));
if (b=’6′) then sayii:=6*exp(i*Ln(16));
if (b=’7′) then sayii:=7*exp(i*Ln(16));
if (b=’8′) then sayii:=8*exp(i*Ln(16));
if (b=’9′) then sayii:=9*exp(i*Ln(16));
if (b=’A’) then sayii:=10*exp(i*Ln(16));
if (b=’B’) then sayii:=11*exp(i*Ln(16));
if (b=’C’) then sayii:=12*exp(i*Ln(16));
if (b=’D’) then sayii:=13*exp(i*Ln(16));
if (b=’E’) then sayii:=14*exp(i*Ln(16));
if (b=’F’) then sayii:=15*exp(i*Ln(16));
end;
write(sayii:0:0);
readln;
end.

94)Onluk Sayı sistemini ikilik sayı sistemine çevirip sondan başlayarak yazan program.
Çöz:94)uses crt;
var
i,sayi,sayi1:integer;
son:string;
begin
clrscr;
write(‘sayıyı gir:’);readln(sayi);
for i:=1 to sayi do begin
sayi1:=sayi mod 2;
if (sayi1=0) then
son:=’0’+son
else son:=’1’+son;
sayi:=sayi div 2;
if (sayi=1) then begin
son:=’1’+son;
break;end;end;
writeln(son);
readln;
end.

95)Klavyeden saat ve dakika girildiğinde toplam dakikayı bulan program.
Çöz:95)uses crt;
var
saat,dakika,islem,islem2:integer;
begin
clrscr;
write(‘saati gir:’);readln(saat);
write(‘dakikayı gir:’);readln(dakika);
islem:=saat*60;
islem2:=islem+dakika;
writeln(‘islem2’);
readln;
end.

96) -20 ile +20 arası celcius ve fahrenheit’e dönüştürüp ekrana yazdıran program.
Çöz:96)uses crt;
var
a,fahrenheit:real; x:integer;
begin
clrscr;
x:=1;
a:=-21;
while a<1 do begin
a:=a+1;
x:=x+1;
gotoxy(1,1); writeln(‘celcius’);
gotoxy(15,1); writeln(‘fahrenheit’);
gotoxy(1,x); write(a:3:0);
gotoxy(15,x); fahrenheit:=(9/5*a)+32; writeln(fahrenheit:3:1); end;
readln;
end.

97)3 kere yanlış şifre girilince devam etmek ister msiniz? diye soran program.
Çöz:97)uses crt;
var
i,sifre:integer;
devam:string;
begin
clrscr;
i:=1;
devam:=’e’;
while (devam=’e’) do begin
i:=i+1;
writeln(‘şifreyi girin:’);readln(sifre);
if(sifre=123)then  begin
write(‘Hoşgeldin’);break;end
else
writeln(‘tekrar dene’);
if(i>3)then begin
writeln(‘devam etmek istermisiniz:e/h’);
devam:=readkey;
if(devam=’h’)then halt; i:=1; end;
end;
readln;
end.

98)100-150 arasındaki
a)Tek sayıların toplamını
b)Çift sayıların toplamını
c)Asal sayıların toplamını
d)Tüm sayıların toplamını bulan program.
Çöz:98)uses crt;
var
asal,k,a,b,c,i,j:integer;
begin
clrscr;
for i:=100 to 150 do begin
a:=a+i;
if (i mod 2 =0) then
b:=b+i
else
c:=c+i;
for j:=1 to i do begin
if (i mod j=0) then
asal:=asal+1;
if asal=3 then
break;
end;
if asal=2 then    begin
k:=k+1;
gotoxy(54,k+5);
writeln(i);
end;
asal:=0;
end;
gotoxy(5,1);
writeln( ‘Tek sayıların toplamı : ‘,c);
gotoxy(5,3);
writeln( ‘Çift sayıların toplamı: ‘,b);
gotoxy(5,5);
writeln( ‘Tüm sayıların toplamı : ‘,a);
gotoxy(40,5);
writeln(‘ *********Asal Sayılar******** ‘);
readkey;
end.
99)Direnç değeri girilip rengini veren program.
Çöz:99)uses crt;
var
x,c:integer;
a,b,kod:string;
begin
clrscr;
writeln(‘direnç kodunu gir:’);readln(kod);
x:=length(kod);
a:=copy(kod,1,1);
b:=copy(kod,2,1);
c:=length(kod)-2;
if(a=’0′)then write(‘siyah’);
if(a=’1′)then write(‘kahverengi’);
if(a=’2′)then write(‘kırmızı’);
if(a=’3′)then write(‘turuncu’);
if(a=’4′)then write(‘sarı’);
if(a=’5′)then write(‘yeşil’);
if(a=’6′)then write(‘mavi’);
if(a=’7′)then write(‘mor’);
if(a=’8′)then write(‘gri’);
if(a=’9′)then write(‘beyaz’);
if(b=’0′)then write(‘ siyah’);
if(b=’1′)then write(‘ kahverengi’);
if(b=’2′)then write(‘ kırmızı’);
if(b=’3′)then write(‘ turuncu’);
if(b=’4′)then write(‘ sarı’);
if(b=’5′)then write(‘ yeşil’);
if(b=’6′)then write(‘ mavi’);
if(b=’7′)then write(‘ mor’);
if(b=’8′)then write(‘ gri’);
if(b=’9′)then write(‘ beyaz’);
if(c=0)then write(‘ siyah’);
if(c=1)then write(‘ kahverengi’);
if(c=2)then write(‘ kırmızı’);
if(c=3)then write(‘ turuncu’);
if(c=4)then write(‘ sarı’);
if(c=5)then write(‘ yeşil’);
if(c=6)then write(‘ mavi’);
if(c=7)then write(‘ mor’);
if(c=8)then write(‘  gri’);
if(c=9)then write(‘ beyaz’)
else
writeln(”);
textcolor(yellow);
write(‘ <<<9 adet sıfırdan fazla değer giremezsiniz>>>’); readln;
end.

100)Direnç koduna göre rengini veren program(kısaltılmış).
Çöz:100)uses crt;
var
y,i:integer;
x,renk,r1,r2,r3:string;
begin
clrscr;
writeln(‘direnç kodunu gir:’);readln(x);
r1:=copy(x,1,1);
r2:=copy(x,2,1);
str(length(x)-2,r3);
i:=0;
while i<3 do begin
i:=i+1;
case i of
1:renk:=r1;
2:renk:=r2;
3:renk:=r3;
end;
if(renk=’0′)then write(‘ siyah’);
if(renk=’1′)then write(‘ kahverengi’);
if(renk=’2′)then write(‘ kırmızı’);
if(renk=’3′)then write(‘ turuncu’);
if(renk=’4′)then write(‘ sarı’);
if(renk=’5′)then write(‘ yeşil’);
if(renk=’6′)then write(‘ mavi’);
if(renk=’7′)then write(‘ mor’);
if(renk=’8′)then write(‘ gri’);
if(renk=’9′)then write(‘ beyaz’);
end;
readln;
end.

101) 4’e bölünemeyen iki basamaklı en küçük 38. sayı kaç olduğunu yazan program.
Çöz:101)uses crt;
var
x,y:integer;
begin
clrscr;
for x:=10 to 99 do begin
if ((x mod 4)<>0)then
y:=y+1;
if y=38 then begin
writeln(x);break;end;    end;
readln;
end.

102) 4’e bölünemeyen kaç tane iki basamaklı sayı olduğunu yazan program.
Çöz:102)uses crt;
var
x,y:integer;
begin
clrscr;
for x:=10 to 99 do begin
if ((x mod 4)<>0) then
y:=y+1;
end;
write(y);
readln;
end.

103) 4’e bölünemeyen iki basamaklı tüm sayıları yan yana aralarında ikişer boşluk bırakarak yazan program.
Çöz:103)uses crt;
var
x,y:integer;
begin
for x:=10 to 99 do begin
if ((x mod 4)<>0) then
write(x,’  ‘);
end;
readln;
end.

104)Klavyeden girilecek şekilde n basamaklı x’e bölünemeyen y. sayıyı yazan program.
Çöz:104)uses crt;
var
son,ilk,i,b:real;
sayac,n,x,y:integer;
begin
clrscr;
write(‘basamak sayısını gir:’);readln(n);
write(‘bölüm sayısını gir:’);readln(x);
write(‘kaçıncı sayı:’);readln(y);
son:=exp(n*ln(10)-1);
ilk:=exp((n-1)*ln(10));
sayac:=0;
i:=ilk;
while i<son do begin
b:=i;
while b>=x do
b:=b-x;
if (b>=1) then
sayac:=sayac+1;
if (sayac=y) then begin
writeln(i:0:0);break;end;
i:=i+1;end;
readln;
end.

Yazar: kacarozgur

Özgür Kaçar sitemizde 38 yazı eklemiş...

Share
  • nuran

    ogrenci.dat
    bolum.dat
    dersler.dat
    notlar.dat <<<< bu dosyalar oluşturuluyor ve

    1. ogrenci ekle
    2. bölüm-program ekle
    3. ders ekle
    4. not ekle
    5. derse göre sınıf not listesi
    6. erkek öğrencilerin ve bayan öğrencilerin sayısı
    7. seçilen bir derse göre erkek öğrencilerin tüm öğrencilere göre başarı not durumu<<<<<<<< diye de ayrı bir dosya olusturulup birleştiriliyor
    ben yukarıda oluşturdğum dosyaları bu şekilde birleştiren bir proğram hazırlıyorum bu konuda yardımcı olabilir misiniz
    cok önemli ve acil…….!!!!!!!!??????????????