Ö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.