Pascal Örnekleri 14 (Diziler)

DİZİ (ARRAY)

Girilen 4 sayıdan büyük olanı ve küçük olanı bulan program

Uses Crt;
Var
i,buyuk,kucuk:integer;sayi:array[0..15] of integer;
Begin clrscr;
for i:=0 to 3 do
Begin
write(i+1,’. Sayıyı giriniz:’); readln(sayi[i]);
end;
buyuk:=sayi[0]; kucuk:=sayi[0];
for i:=1 to 3 do
Begin
if buyuk<sayi[i] then
buyuk:=sayi[i];
if kucuk>sayi[i] then
kucuk:=sayi[i];
end;
writeln(‘Büyük sayı ==>’,buyuk);
writeln(‘Küçük sayı ==>’,kucuk);
readln;
end.

Random olarak 10 farklı sayıyı dizi ye atamak

uses crt;
var
sayi:array[1..10] of integer;
i:integer;
begin
randomize;
clrscr;
for i:=1 to 10 do begin
sayi[i]:=random(100);
write(sayi[i]:5);
end;
readln;
end.

Girilen 10 ismi 10. kayıttan 1. kayda doru sıralama

uses crt;
var
i:integer;
ilk:array[1..10] of string;
son:array[1..10] of string;
begin
clrscr;
for i:=1 to 10 do
begin
textcolor(white);
Write(i,’.’,’İsmi giriniz:’);readln(ilk[i]);
son[10+1-i]:=ilk[i];
end;
clrscr;
textcolor(green);
Writeln(‘*****Normal_Dizi*****’);
for i:=1 to 10 do
begin
Writeln(i,’:’,ilk[i]);
end;
textcolor(red);
Writeln(‘*****Ters_Dizi*****’);
for i:=1 to 10 do
begin
Writeln(i,’:’,son[i]);
end;
readln;
end.

Öğrencinin ad, soyad, no, 1. 2. 3. yazılı ve temrin notları girilerek; ortalaması, sınıf not ortalaması, en yüksek ve en düşük ortalaması ve geçen öğrenci sayısını belirleyen program.

uses crt;
type
ogrenci=record
isim:string[20];
soyad:string[20];
numara:string[4];
sinav1:byte;
sinav2:byte;
sinav3:byte;
temrin:byte;
ort:byte;
durum:string;
end;
var
b,tort,i,toplam,enyuk,endus,sayac:integer;
ogr:array[1..3] of ogrenci;
begin
clrscr;
for i:=1 to 3 do
begin
clrscr;
write(‘Adını giriniz:’);readln(ogr[i].isim);
write(‘Soyadını giriniz:’);readln(ogr[i].soyad);
write(‘Numarasını giriniz:’);readln(ogr[i].numara);
write(‘1. Sınav notunu giriniz:’);readln(ogr[i].sinav1);
write(‘2. Sınav notunu giriniz:’);readln(ogr[i].sinav2);
write(‘3. Sınav notunu giriniz:’);readln(ogr[i].sinav3);
write(‘Temrin notunu giriniz:’);readln(ogr[i].temrin);
end; clrscr;
for i:=1 to 3 do
begin
toplam:=ogr[i].sinav1+ogr[i].sinav2+ogr[i].sinav3+ogr[i].temrin;
ogr[i].ort:=toplam div 4;
end;
for i:=1 to 3 do
begin
if ogr[i].ort<45 then
ogr[i].durum:=’kaldı’
else if ogr[i].ort>45 then begin
sayac:=sayac+1;
ogr[i].durum:=’geçti’;
end;
end;
writeln(‘NUMARA     ADI     SOYADI     1.SINAV 2.SINAV 3.SINAV TEMRİN ORTALAMA  SONUÇ’);
write(‘****************************************************************************’);
for i:=1 to 3 do begin
gotoxy(11,i+2);
writeln(ogr[i].isim);
gotoxy(20,i+2);
writeln(ogr[i].soyad);
gotoxy(3,i+2);
writeln(ogr[i].numara);
gotoxy(33,i+2);
writeln(ogr[i].sinav1);
gotoxy(43,i+2);
writeln(ogr[i].sinav2);
gotoxy(51,i+2);
writeln(ogr[i].sinav3);
gotoxy(58,i+2);
writeln(ogr[i].temrin);
gotoxy(65,i+2);
writeln(ogr[i].ort);
gotoxy(72,i+2);
writeln(ogr[i].durum);
end;
writeln;
enyuk:=1;
endus:=1;
for i:=1 to 16 do
begin
if ogr[i].ort>enyuk then begin
enyuk:=ogr[i].ort;
end;
if ogr[i].ort<endus then begin
endus:=ogr[i].ort;
end;
b:=b+ogr[i].ort;
end;
tort:=b div 16;
writeln(‘Sınıf not ortalaması:’,tort);
writeln(‘En yüksek ortalama:’,enyuk);
writeln(‘En düşük ortalama:’,endus);
writeln(‘Geçen öğrenci sayısı:’,sayac);
readln;
end.

Rastgele 10 sayıyı büyükten küçüğe doğru sıralayan program

uses crt;
var
sayilar:array[1..10] of integer;
degisken,i,j:integer;
begin clrscr;
randomize;
for i:=1 to 10 do
sayilar[i]:=random(100);
for i:=1 to 9 do
for j:=i+1 to 10 do
begin
if sayilar[i]<sayilar[j] then begin
degisken:=sayilar[i];
sayilar[i]:=sayilar[j];
sayilar[j]:=degisken;
end;
end;
for i:=1 to 10 do
write(‘  >   ‘,sayilar[i]);
gotoxy(25,3);
writeln(‘Büyükten küçüğe doğru sayılar’);
readln;
end.

Sayısal loto programı

uses crt;
var
loto:array[1..8,1..6] of integer;
i,j:byte;
begin clrscr;
randomize;
for i:=1 to 8 do begin
for j:=1 to 6 do begin
loto[i,j]:=random(48);
write(loto[i,j]:5);
end;
writeln(”);
end;
readln;
end.

Makine adı ve fiyatı giriliyo sonra bunları büyükten küçüğe doğru sıralıyo.

uses crt;
type
makine=record
madi:string;
fyt:byte;
end;
var
i,j:integer;
kayit:array[1..20] of makine;
deg:array[1..20] of makine;
begin clrscr;
for i:=1 to 3 do
begin
write(‘Makina adını giriniz:’);readln(kayit[i].madi);
write(‘Fiyatı gir:’);readln(kayit[i].fyt);
end;
for i:=1 to 15 do
for j:=i+1 to 16 do
if kayit[i].fyt<kayit[j].fyt then
begin
deg[i]:=kayit[i];
kayit[i]:=kayit[j];
kayit[j]:=deg[i];
end;
for i:=1 to 3 do begin
writeln(‘Makinanın adı ==>’,kayit[i].madi);
writeln(‘Fiyatı ==>’,kayit[i].fyt);
end;
readln;
end.

Şehir adı ve nüfusu girildikten sonra bunlardan en büyük ve en küçük nüfuslu olan şehirleri ekrana yazdıran program.

uses crt;
var
buyuk,kucuk:string;
enaz,enfazla:integer;
i:integer;
nufus:array[0..9] of integer;
sehir:array[0..9] of string;
begin
clrscr;
for i:=0 to 4 do
begin
write(‘Şehir adını giriniz:’); readln(sehir[i]);
write(sehir[i],’nin nüfusunu giriniz:’); readln(nufus[i]);
end;
buyuk:=sehir[0]; kucuk:=sehir[0];
enaz:=nufus[0]; enfazla:=nufus[0];

for i:=1 to 4 do
begin

if (enfazla<nufus[i]) then
begin
buyuk:=sehir[i];
enfazla:=nufus[i];
end;
if (enaz>nufus[i]) then
begin
kucuk:=sehir[i];
enaz:=nufus[i];
end;
end;
writeln(‘En fazla ‘,buyuk,’ nüfuslu il ‘,enfazla);
writeln(‘En az ‘,kucuk,’ nüfuslu il ‘,enaz);

readln;
end.

Rasgele tutulan sayılar ve bunların; ortalaması, ortalamadan büyük sayılar ve ortalamadan küçük sayıları ekrana yazdıran program.

uses crt;
var
sayilar:array[1..10] of integer;
a,buyuk,kucuk,i:integer;
ort:real;
begin clrscr;
randomize;
a:=0;
writeln(‘Ratgele tutulan sayılar’);
for i:=1 to 10 do begin
sayilar[i]:=random(100);
write(‘ ‘,sayilar[i]);
a:=a+sayilar[i];
end;
writeln;
ort:=a div 10;
writeln(‘Sayıların ortalaması:’,ort:0:0);
buyuk:=sayilar[1];
kucuk:=sayilar[1];
for i:=2 to 10 do begin
if sayilar[i]>buyuk then
buyuk:=sayilar[i];
if sayilar[i]<kucuk then
kucuk:=sayilar[i];
end;
writeln(‘Ortalamadan büyük sayılar’);
for i:=1 to 10 do begin
if sayilar[i]>ort then
writeln(‘ ‘,sayilar[i]);
end;
writeln(‘Ortalamadan küçük sayılar’);
for i:=1 to 10 do begin
if sayilar[i]<ort then
writeln(‘ ‘,sayilar[i]);
end;
readln;
end.

Öğrencinin adı soyadı, vize ve final notları girilen öğrencinin ortalamasını ve sınıf ortalamasını hesaplayan program

uses crt;
type
isimkay=record
isim:string[15];
soyad:string[15];
vize,final:byte;
end;
var
i:integeR;
ortalama:real;
org:array[1..10] of isimkay;
begin     clrscr;
for i:=1 to 10 do
begin
write(i,’ inci öğrencinin adını ve soyadını giriniz:’);readln(org[i].isim);
write(i,’ inci öğrencinin vize notunu giriniz:’);readln(org[i].vize);
write(i,’ inci öğrencinin final notunu giriniz:’);readln(org[i].final);
ortalama:=(org[i].vize* 0.4 + org[i].final*0.6);
if ortalama<60 then begin
writeln(‘kaldı’);
writeln(org[i].isim,’ ortalaması ‘,ortalama:0:2);
end
else if ortalama>60 then begin
writeln(‘geçti’);
writeln(org[i].isim,’ ortalaması ‘,ortalama:0:2);
end;
end;
readln;
end.

Yazar: kacarozgur

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

Share
  • ismail

    Selam arkadaşlar, hayirli akşamlar. Ya arkadaşlar ben burada girilen 4 sayıdan en büyük ve küçüğünü bulan programın mantığını çözemedim. Bir zahmet anlatsanız. Acil lazım lütfen

    • Mantık genelde şöyle çalışıyor:
      buyuk adında bir değişken tanımlarız ve dizideki ilk sayı en büyük olarak kabul ederiz, sonra ikinci dizi değeri ile 1. diz değerini kıyaslarız. eğer 1 büyükse “buyuk” değişkenini değiştirmeyiz, ama 2 büyükse “buyuk” değişkenine 2. değeri atarız.
      sonra 2. değer ile 3. değer,
      sonra 3. değer ile 4. değer kıyaslanır…
      böylece en büyük bulunmuş olur.
      küçük sayı bulmak içinde tam tersi yapılır
      umarım faydalı olmuşuzdur

  • webmaster

    DİZİ (ARRAY) Yazılıda 20 SAYIDAN En küçük sayıyı veren diye uyguladım ve Çalıştı ama Hoca derSde işlemdik diye puan kırdı…Bugün sizde şahit oldunuz Mustafa Hocam …ATL 10/A