Program Code_of_Char;
{Dastur klaviaturadan belgini o`qiydi va ekranga bu belgini va unga tegishli bo`lgan ichki kodni chiqaradi}
var
ch:Char; {bu o`zgaruvchida belgi o`qiladi}
begin
Write (¢ixtiyoriy belgini kiring:¢);
ReadLn (ch); {bitta belgi o`qiladi}
WriteLn (ch, ¢= ¢, ord (ch)); {u butun songa o`zgartiriladi va ekranga chiqariladi}
end.
WriteLn (ch, ¢= ¢, ord (ch)),
deb chaqirilganda, murojaatning uchinchi parametrida ord (ch) funktsiyani chaqirish ko`rsatilgan. Bu til nuqtai nazaridan ifoda bo`ladi.
Ko`p hollarda protsedura va funktsiyalarni chaqirishda chaqirish parametri sifatida faqat o`zgaruvchi yoki o`zgarmaslarni emas, balki ular ishtirokidagi ifodalarni ham ko`rsatish mumkinligini biz keyinroq (VIII bobda) ko`ramiz.
Zarur bo`lishiga qarab, ma`lumotlar turini o`zgartirishning boshqa funktsiyalari bilan ham tanishib boramiz. endi har xil turdagi ma`lumotlar ustida amallar bajarish bilan tanishamiz.
Turbo Paskalda REAL va INTEGER o`zgaruvchilari ustida, albatta, hamma to`rtta arifmetik amal bor:
+ - qo`shish;
- - ayirish;
* - ko`paytirish;
/ - haqiqiy sonli bo`lish;
div – butun sonli bo`lish.
Turbo Paskalda ikkita bo`lish amalining mavjudligi, kompilyatorning turlarni almashtirishga tayyorligini ko`rsatishdir. Masalan, agar Fortran tilida N butun son, x – haqiqiy son bo`lsa,
N = 1/2 va X=1/2
amallardan keyin N = 0 qiymatni, X=0.5 qiymatni o`zlashtiradi. Turbo Paskalda esa bunday ikki ma`nolilik yo`q: ½ ifoda hamma vaqt 0,5 qiymatga ega. Shuning uchun
var
N: Integer;
begin
N:=1/2;
bo`lishi mumkin emas. Bu hol Turbo Paskalda quyidagicha bayon etiladi:
var
X: Real;
begin
X:=1 div 2;
div natijaning kasr qismini tashlaydi.
INTEGER turidagi ma`lumotlar uchun Turbo Paskalda yana bitta MOD, butun sonli bo`lishda qoldiq hosil qilish, amali bor. Masalan:
5 mod 2 = 1
31 mod 16 = 15
18 mod 3 = 0
Turbo Paskalda darajaga ko`tarish amali yo`q, bu hisoblashlarda ba`zi bir noqulayliklarni keltirib chiqaradi. SQR funktsiyaning mavjudligi esa bu holatni oz bo`lsa ham engillashtirishga yordam beradi, bu funktsiya parametr qiymatining kvadratini topishga imkon beradi, bunda natija turi parametr turi bilan aniqlanadi.
Turbo Paskalning kamchiliklardan yana biri shuki, unda mavhum (kompleks) tur va ular ustida tegishli amallar yo`q. Umuman, har xil hisoblash jarayonlarini amalga oshirishda Turbo Paskal ba`zi bir dasturlash tillariga, jumladan, Fortranga yon bosadi. Xususan, unda o`rnatilgan («vstroennie») funktsiyalar to`plami ancha kam.
Butun sonlar bilan ishlashda ikkita protsedura foydali bo`lishi mumkin.
DEC (X [,N]) – (kvadrat qavslar ichida shart bo`lmagan parametrlar yoziladi) – X o`zgaruvchi qiymatini N ifoda qiymatiga kamaytiradi (agar N berilmagan bo`lsa, 1ga); bu erda X o`zgaruvchi va N ifoda qiymatlari INTEGER
INC (X [,N]) - X ning qiymatini N ga (agar u berilmagan bo`lsa, 1ga) oshiradi.
Belgilar va satrlar ustida yagona amal – ikki satrni ulash – aniqlangan. Masalan,
Do'stlaringiz bilan baham: |