Nazorat uchun savollar
Sharti oldin tekshiriladigan takrorlanuvchi algoritmlar
Sharti keyin tekshiriladigan takrorlanuvchi algoritmlar
Parametrli takrorlanuvchi algoritmlar
Ichma-ich joylashgan takrorlanuvchi algoritmlar
14-Mavzu: O‘qish-yozish operatorlari
Reja:
Kiritish standart protseduralariga murojaat qilish.
Chiqarish standart protseduralariga murojaat qilish.
Paskal-programma EHM ning operatsion sistemasining kengaytirilgan muhitida bajariladi. Operatsion sistema ramziy ravishda input va output deb nomlanuvchi standart matnli fayllar orqali programmani EHMning o‘qish-yozish qurilmalari bilan bog‘laydi.
Asosan, ma’lumotlarni kiritish uchun terminal klaviaturasi yoki disklardan (egiluvchan, qattiq, lazerli) va boshqalardan foydalaniladi. Ma’lumotlarni chiqarish uchun esa displey ekranidan, printerdan va boshqa qurilmalardan foydalaniladi.
Masalan, operatsion sistema input standart matnli faylni terminal klaviaturasi bilan bog‘ladi. Umumiy holda kiritish standart protseduralariga murojaat qilish quyidagicha yoziladi:
read(x1,x2,. . . ,xn);
readln(x1,x2,. . . ,xn);
bu yerda xi - kiritilayotganlar ro‘yxatidagi element. Kiritilayotganlar ro‘yxatidagi element sifatida faqat o‘zgaruvchi ishlatish mumkin. Kiritilayotgan qiymatlar sifatida esa char, real, integer turdagi qiymatlar ishlatish mumkin. Paskalda ma’lumotlarni kiritishda quyidagicha kelishilgan:
a) kiritilayotgan qiymatning turi read protsedurasining faktik parametri sifatida ishlatilgan o‘zgaruvchining turi bilan mos kelishi kerak;
b) agar bitta read kiritish protsedurada parametrlar sifatida bir nechta o‘zgaruvchi yozilsa, u holda bir qancha qiyinchiliklar paydo bo‘ladi. Bu qiyinchiliklar kiritilayotgan qiymatlar bir-biridan qandaydir ajratuvchilar yordamida ajratilishlari kerak bo‘lgani bilan bog‘liq. Bu ajratuvchilar sifatida ishlatilayotgan belgilarning ko‘rinishi operatsion sistema va algoritmik tilning amalga oshirishiga bog‘liq. Asosan, sonli qiymatlarni kiritishda, ularni bir biridan ajratish uchun "probel" ishlatiladi. Read kiritish protsedurasidagi o‘zgaruvchilarning turi biri sonli (real yoki integer), boshqasi belgi bo‘lsa, u holda tushinmovchilik tug‘iladi. Bu holda EHM "probel"-ni ajratuvchi yoki belgi sifatida tushunishi mumkin.
v) input standart fayldan faqat char, integer, real turdagi qiymatlarni kiritish mumkin. Boshqa turdagi qiymatlarni(boolean ham) programma tuzish yo‘li bilan kiritiladi.
1-misol:
var A,B,C: real;
K,N: byte;
...
Read(A,B,C,K,N);{0.5 1.6 -19.1 6 4}
Kiritish protsedurasi mantiqiy tipga tegishli Eoln funksiyasi bilan bog‘langan: Ma’lumki, Eoln funksiya satr elementlarini kiritish tugaganda true, aks holda false qiymatini qabul qiladi.
2-misol:
Var K,I: integer;
...
Readln; I:=0;
while not Eoln do
begin
Read(K);
I:=I+1
end;
K ga butun qiymatlar kiritiladi va ularning soni hisoblanadi. Bu sikl satrning oxiri Enter klavishasi uchraguncha davom ettiriladi.
Masalan: 4 5 13 14 Enter
Output standart matnli fayliga chiqarish write, writeln chiqarish protseduralari yordamida bajariladi.
write(x1,x2,. . . ,xn) ko‘rinishidagi operator quyidagi operatorlar ketma-ketligiga ekvivalent
write(x1), write(x2),. . . ,write(xn);
bu yerda har bir operatorda faqat bitta element chiqarilayapti. Shuning uchun, biz faqat write(x) ko‘rinishidagi operatorni ko‘ramiz.
Chiqarilayotgan element quyidagi uch ko‘rinishdan bittasi bo‘lishi mumkin:
e
e:m
e:m:n
bu yerda e - ifoda (char, real, integer yoki boolean turdagi), satrli o‘zgarmas yoki satrli o‘zgaruvchi, m va n esa musbat butun qiymat qabul qiladigan ifodalar.
Ma’lumotlarni satrlar bo‘yicha joylashtirish uchun writeln(yangi satrga o‘tish) yoki writeln(x1, x2,...,xn) (chiqarish va yangi satrga o‘tish) protseduralardan foydalanamiz.
3-misol:
var A, B: real;
I, N: integer;
C: char;
...
I: =0; N: =I+1;
A: =0.25; B: =Sqrt(A); C: =’#’;
Writeln(I,’ ’,N); { 0 1}
Writeln(A,B); { 2.5000000000E-01 5.0000000000E-01}
Writeln(A,Sqrt(A)); { 2.5000000000E-01 5.0000000000E-01}
Writeln(N+5,C); { 6#}
Write(MaxInt);{32767- integer turidagi maksimal butun son }
Do'stlaringiz bilan baham: |