Sunday, January 7, 2018

2-dars: O‘zgaruvchilar (Variables)


O‘zgaruvchilar (variables) o‘zida ma’lumot jamlovchilar. Masalan, biz x = 5 desak, x o‘zgaruvchi bo‘ladi va u 5 qiymatiga ega.
Object Pascal mustahkam til hisoblanadi. O‘zgaruvchiga qiymat qo‘yishdan oldin uning turini ko‘rsatishimiz lozim. Agar biz x ni butun son (integer) deb hisoblasak, x ni dasturdagi amal qilish muddatida biz faqat butun sonni ko‘rsatishimiz kerak.
O‘zgaruvchilardan foydalanish va e’lon qilish uchun namunalar

Dastur natijasida 10 javobini olamiz.
Diqqat qiling, biz Var zaxiradagi so‘zidan foydalandik. U quyidagi qatorlarni o‘zgaruvchan (variable) deb e’lon qiladi.
x: Integer;
 Bu ikki xil ma’noni bildiriadi.
1. O‘zgaruvchining nomi x; va
2. O‘zgaruvchining turi butun son (Integer). Unda butun sonni ko‘rsatish kerak va u kasr son bo‘lmasligi kerak. Musbat va manfiy butun sonlarni ko‘rsatish mumkin.
Ushbu ifoda
 x:= 5;
x o‘zgaruvchiga 5 qiymati qo‘yilganligini bildiradi.
 Keyingi namunada biz y o‘zgaruvchini qo‘shdik.

var
  x,y: Integer;
begin
x:=5;
y:=10;
Writeln(x*y);
Writeln('Yopish uchun Enter tugmasini bosing');
Readln;
end.    
Ushbu dasturning natijasi:
50
Yopish uchun Enter tugmasini bosing
 50 - formulaning natijasi (x*y).

Keyingi namunada biz character deb nomlanadigan ma’lumot turini tushuntiramiz:

var
c: Char;
begin
c:= 'M';
Writeln('Mening birinchi harfim: ', c);
Writeln('Yopish uchun Enter tugmasini bosing');
Readln;
end.
 Bu ma’lumot turida faqatgina bitta harf yoki harf-raqam shaklidagi raqamni ko‘rsatish mumkin. Qiymat ko‘rsatilmaydi.

Keyingi namunada esa biz real raqam, ya’ni kasr son turini tushuntiramiz:
 var
x: Single;
begin
x:= 1.8;
Writeln('Mashinamning motori sig‘imi: ', x, ' liter');
Writeln('Yopish uchun Enter tugmasini bosing');
Readln;
end.

 Yanada interaktiv va mukammalroq dasturlarni tuzish uchun dasturga foydalanuvchi ma’lumot kiritadigan qilishimiz kerak. Masalan, biz foydalanuvchidan raqam kiritishni so‘rashimiz mumkin. Keyin esa Readln ifodasi/jarayoni yordamida bu raqamdan foydalanishimiz mumkin.
var
x: Integer;
begin
Write('Birorta raqamni kiriting:');
Readln(x);
Writeln('Siz kiritgan raqam: ', x);
Writeln('Yopish uchun Enter tugmasini bosing');
Readln;
end.
 Bu namunada biz x qiymatini klaviatura yordamida kiritiladigan qildik. Oldingi dasturlarimizni esa muntazam bir qiymatni o‘zimiz dasturning ichida kiritib ketgan edik.
Quyidagi namunada esa foydalanuvchi kiritgan raqam asosida ko‘paytirish jadvalini ko‘rsatamiz:
program MultTable;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ you can add units after this };
var
x: Integer;
begin
Write('Birorta raqamni kiriting:');
Readln(x);
Writeln(x, ' * 1 = ', x * 1);
Writeln(x, ' * 2 = ', x * 2);
Writeln(x, ' * 3 = ', x * 3);
Writeln(x, ' * 4 = ', x * 4);
Writeln(x, ' * 5 = ', x * 5);
Writeln(x, ' * 6 = ', x * 6);
Writeln(x, ' * 7 = ', x * 7);
Writeln(x, ' * 8 = ', x * 8);
Writeln(x, ' * 9 = ', x * 9);
Writeln(x, ' * 10 = ', x * 10);
Writeln(x, ' * 11 = ', x * 11);
Writeln(x, ' * 12 = ', x * 12);
Writeln('Press enter key to close');Readln;
end.
Yuqoridagi ushbu namunada e’tibor bergan bo‘lsangiz, barcha matn yakka qo‘shtirnoq ichida qanday ko‘ringan bo‘lsa, terminalda ham shunday ko‘rinmoqda.
Yakka qo‘shtirnoq ichida yozilmgan o‘zgaruvchi va ifodalar hisoblanadi va qiymatlar kabi yoziladi.
Quyidagi ikki ifoda o‘rtasidagi farqga e’tibor bering:
Writeln('5 * 3');
Writeln(5 * 3);
Birinchi ifoda natijasi:
5 * 3
Ikkinchi ifoda natijasi esa quyidagicha ko‘rinadi:
15
Keyingi namunada esa ikki raqam (x, y) bilan matematik jarayonni amalga oshiramiz va natijani esa uchinchi o‘zgaruvchi (Res) sifatida belgilaymiz:
var
x, y: Integer;
Res: Single;
begin
Write('Raqam kiriting: ');
Readln(x);
Write('Endi esa boshqa raqamni kiriting: ');
Readln(y);
Res:= x / y;
Writeln(x, ' / ', y, ' = ', Res);
Writeln('Yopish uchun Enter tugmasini bosing');
Readln;
end.

Agar bo‘linadigan jarayon amalga oshsa natija, kasr son bo‘lishi mumkin. Shu sababli biz o‘zgaruvchi natijani (Res) real raqam (Single) deb ko‘rsatdik.

No comments: