Pascal Örnekleri 1 (Karar verme oparatörleri)
Önceki makalemizde pascal ın temellerini örneklerle anlattık. Bu makalemizde programların vazgeçilmezi karar verme oparatörlerinden if, if else if, ve case of ile ilgili örnekleri anlatıcaz. Hemen örneklerimizden başlayalım:
11)Klavyeden girilen sayının çift mi tek mi olduğunu bulan program.
Çöz:11)uses crt;
var
sayi:integer;
begin
write(‘sayıyı giriniz:’);readln(sayi);
if(sayi mod 2=0) then
writeln(‘çift sayı’)
else
writeln(‘tek sayı’);
readln;
end.
12)Klavyeden notu girilen öğrencinin dersden geçti veya kaldı hesaplamasını yapan program.
Çöz:12)uses crt;
var
sayi:integer;
write(‘notunuzu girin:’);readln(sayi);
if(sayi<0) then
writeln(‘eksi sayı girdiniz’)
else
if (sayi<=25)then
writeln(‘0 Kaldınız’);
else if(sayi<=44) then
writeln(‘1 Kaldınız’)
else if(sayi<=54) then
writeln(‘2 Geçtiniz’)
else if(sayi<=69) then
writeln(‘3 Geçtiniz’)
else if(sayi<=84) then
writeln(‘3 Geçtiniz’)
else if(sayi<=100) then
writeln(‘5 Geçtiniz’)
else writeln(‘fazla sayı girdiniz’);
readln;
end.
13)Klavyeden kenarlar sayıları girilen üçgenin çeşidini yazan program.
Çöz:13)uses crt;
var
a,b,c:integer;
begin
writeln(‘1.kenari_giriniz:’);readln(a); writeln(‘2.kenari_giriniz:’);readln(b); writeln(‘3.kenari_giriniz:’);readln(c); if(a=b)and(b=c)then
writeln(‘eskenar’)
else if(a<>b)and(b<>c)and(a<>c)then
writeln(‘cesitkenar’)
else
writeln(‘ikizkenar’);
readln;
end.
14)Klavyeden çocuk sayısı ve maas miktarı girilen işçinin toplam maaşı yazan program
1 çocuğu varsa maaş+ %5
2 çocuğu varsa maaş+ %10
3 çocuğu varsa maaş+ %15
Çöz:14)uses crt;
var
cocuk,maas:real;
begin
write(‘çocuk sayısını gir:’);readln(cocuk);
write(‘maaş miktarını gir’);readln(maas);
if(cocuk=1) then
maas:=maas+(maas*0.5);
if(cocuk=2) then
maas:=maas+(maas*0.10);
if(cocuk=3) then
maas:=maas(maas*0.15);
writeln(‘maas’,maas:10:2);
readln;
end.
15) Klavyeden kenarlar sayıları girilen üçgenin çeşidini yazan program.
Çöz:15)uses crt;
var
a,b,c:integer;
begin
write(‘1. kenarı gir:’);readln(a);
write(‘2. kenarı gir:’);readln(b);
write(‘3. kenarı gir:’);readln(c);
if(a=b) and (b<>c) then
writeln(‘ikiz kenar’);
else if(a=c) and (a<>b) then
writeln(‘ikiz kenar’)
else if(b=c) and (b<>a) then
writeln(‘ilikz kenar’)
else if(a=b) and (b=c) then
writeln(‘eş kenar’)
else writeln(‘Çeşit kenar’);
readln;
end.
16)Klavyeden seçime bağlı olarak bilgisayar, matematik, elektronik kitabı seçimleri girilerek sayısına göre indirim uygulayan program.
Bilgisayar Kitabı:%10 indirim
50:%20 indirim
100:%25 indirim
Matematik Kitabı:%5 indirim
50:%15 indirim
100:%20 indirim
Elektronik Kitabı:%8 indirim
50:%18 indirim
100:%22 indirim
Çöz:16)uses crt;
var
sec,sayisi:integer;
fiyat:real;
begin
writeln(‘MENU’);
writeln(‘1-Bilgisayar Kitabı’);
writeln(‘2-Matematik Kitabı’);
writeln(‘3-Elektronik Kitabı’);
writeln(‘seçiminizi yapınız:’);readln(sec);
writeln(‘fiyatını giriniz:’);readln(fiyat);
writeln(‘sayısını giriniz:’9;readln(sayisi);
if (sec=1) then
fiyat:=fiyat-(fiyat*0.10);
if (sayisi=50) then
fiyat:=fiyat-(fiyat*0.20);
if (sayisi=100) then
fiyat:=fiyat-(fiyat*0.25);
if (sec=2) then
fiyat:=fiyat-(fiyat*0.05);
if (sayisi=50) then
fiyat:=fiyat-(fiyat*15);
if (sayisi=100) then
fiyat:=fiyat-(fiyat*0.20);
if (sec=3) then
fiyat:=fiyat-(fiyat*0.08);
if (sayisi=50) then
fiyat:=fiyat-(fiyat*0.18);
if (sayisi=100) then
fiyat:=fiyat-(fiyat*0.22);
if (sec>3) and (sec<1) then
writeln(‘yanlış seçim’);
writeln(‘fiyatı:’,fiyat:0:2);
readln;
end.
17)Klavyeden girilen üç adet sayının en büyük, ortada, en küçük olmak üzere sıraya koyan program.
Çöz:17);uses crt;
var
sayi1,sayi2,sayi3:integer;
begin
write(‘1.sayıyı giriniz:’);readln(sayi1);
write(‘2.sayıyı giriniz:’);readln(sayi2);
write(‘3.sayıyı giriniz:’);readln(sayi3); if(sayi1>sayi2)and(sayi1>sayi3)and(sayi2>sayi3)then
begin
writeln(‘1.büyük sayı:’,sayi1);
writeln(‘2.büyük sayı:’,sayi2);
writeln(‘3.büyük sayı:’,sayi3);
end;
if(sayi1>sayi2)and(sayi1>sayi3)and(sayi3>sayi2)then
begin
writeln(‘1.büyük sayı:’,sayi1);
writeln(‘2.büyük sayı:’,sayi3);
writeln(‘3.büyük sayı:’,sayi2);
end;
if(sayi2>sayi1)and(sayi2>sayi3)and(sayi1>sayi3)then
begin
writeln(‘1.büyük sayı:’,sayi2);
writeln(‘2.büyük say:’,sayi1);
writeln(‘3.büyük sayı:’,sayi3)
end;
if(sayi2>sayi1)and(sayi2>sayi3)and(sayi3>sayi1)then
begin
writeln(‘1.büyük sayı:’,sayi2);
writeln(‘2.büyük sayı:’,sayi3);
writeln(‘3.büyük sayı:’,sayi1);
end;
if(sayi3>sayi1)and(sayi3>sayi2)and(sayi2>sayi1)then begin
writeln(‘1.büyük sayı:’,sayi3);
writeln(‘2.büyük sayı:’,sayi2);
writeln(‘3.büyük sayı:’,sayi1);
end;
if(sayi3>sayi1)and(sayi3>sayi2)and(sayi1>sayi2)then
begin
writeln(‘1.büyük sayı:’,sayi3);
writeln(‘2.büyük sayı:’,sayi1);
writeln(‘3.büyük sayı:’,sayi2);
end;
readln;
end.
18)Klavyeden girilen ilk ve son sayacın hesaplayan program.
Çöz:18)uses crt;
var
sonsayac,ilksayac:integer;
elk:real;
begin
write(‘ilk sayacı giriniz:’);readln(ilksayac);
write(‘son saycı giriniz:’);readln(sonsayac);
elk:=sonsayac-ilksayac;
if (elk>150) then begin
elk:=elk-15;
elk:=elk*1.5;
elk:=elk+150;
elk:=elk*1.18*15;
writeln(‘Fatura tutarı:’,elk);
end
else if (elk<=150) then begin
elk:=elk*1.18*15;
writeln(‘Fatura tutarı:’,elk);
end;
readln;
end.
19)Bir öğrencinin bir ders olarak Birinci dönem notu ve İkinci dönem notu girilerek ortalamasıyla yapılan Kaldı, Geçti durumunu yapan program.
Çöz:19)uses crt;
var
ilkdonem,ikincidonem:integer;
ortalama:real;
begin
write(‘ilk dönem notunuzu giriniz:’);readln(ilkdonem);
write(‘ikinci döenm notunuzu giriniz:’);readln(ikincidonem);
ortalama:=(ilkdonem+ikincidonem)/2;
writeln(‘ortalama:’,ortalama);
if (ikincidonem<2) then
writeln(‘kaldınız’)
else
if (ortalama>1.5) then
writeln(‘geçtiniz’);
if (ortalama<1.5) then
writeln(‘kaldınız’);
readln;
end.
20)Klavyeden kitap fiyatı girilip sayısına göre indirim yapan program.
Çöz:20) uses crt;
var
sayisi:integer;
fiyat:real;
begin
writeln(‘kitabin_sayisini_giriniz:’);readln(sayisi); writeln(‘kitabin_fiyatini_giriniz:’);readln(fiyat); if(sayisi<10)then
begin
fiyat:=sayisi*fiyat;
writeln(‘fiyati:’,fiyat,’YTL’);
end
else
if(sayisi>=10)and(sayisi<50)then
begin
fiyat:=fiyat-(fiyat*0.10);
writeln(‘fiyati:’,fiyat);
end
else
if(sayisi>=50)then
begin
fiyat:=fiyat-(fiyat*0.20);
writeln(‘fiyati:’,fiyat,’YTL’);
end;
readln;
end.
21)Klavyeden girilen dört kenara göre dikdörtgen mi? Kare mi? Paralel kenar mı? Yamuk mu? olduğunu bulan program.
Çöz:21)uses crt;
var
a,b,c,d,aci:integer;
begin
write(‘birinci kenarı giriniz:’);readln(a);
write(‘ikinci kenarı giriniz:’);readln(b);
write(‘üçüncü kenarı giriniz:’);readln(c);
write(‘dördüncü kenarı giriniz:’);readln(d);
if (a=b) and (b=c) and (c=d) then
writeln(‘kare’)
else if (a<>b) and (a<>c) and (a<>d) and (b<>c) and (b<>d) and (c<>d) then
writeln(‘yamuk’)
else if (a=c) and (b=d) then
begin
writeln(‘bu dikdörtgen yada paralel kenar olabilir bir iç açı giriniz:’);
readln(aci);
if (aci=90) then
writeln(‘dikdörtgen’)
else
writeln(‘paralel kenardır’);end
else
write(‘öyle bir dörtgen yoktur’);
readln;
end.
22)Klavyeden girilen notu beşlik sisteme çeviren program.
Çöz:22)uses crt;
var
sayi:integer;
begin
write(‘notunuzu girin:’);readln(sayi);
case sayi of
0..24:writeln(‘0 ile kaldınız’);
25..44:writeln(‘1 ile kaldınız’);
45..54:writeln(‘2 ile geçtiniz’);
55..69:writeln(‘3 ile geçtiniz’);
70..84:writeln(‘4 ile geçtiniz’);
85..100:writeln(‘5 ile geçtiniz’)
else
writeln(‘notunuzu 0-100 arasında giriniz’);
end;
readln;
end.
23)Klavyeden girilen kenar uzunluğuna göre üçgen olup olmadığını bulan program.
Çöz:23)uses crt;
var
a,b,c:integer;
begin
write(‘birinci kenarı gir:’);readln(a);
write(‘ikinci kenarı gir:’);readln(b);
write(‘üçüncü kenarı gir:’);readln(c);
if((a+b)>c) and ((a+c)>b) and ((b+c)>a) then
writeln(‘bu bir üçgendir’)
else
writeln(‘üçgen değildir’);
readln;
end.