Turlangan va turlanmagan fayllar Turlangan fayllar sonlar, belgilar va ulardan tashkil topgan strukturalarning mashinaviy tasviridan iborat. Ular ma’lumotlarni EHM xotirasida qanday saqlansa, xuddi shunday holda saqlanadi. Shuning uchun turlangan fayllar yordamida programmaning ishchi xotirasi va diskdagi ma’lumotlarni ayirboshlash mumkin, lekin to‘g‘ridan-to‘g‘ri ma’lumotlarni ekranga chiqarish mumkin emas.
Turlanmagan fayllar ham ma’lumotlarni mashinaviy tasviridan iborat. Bu faylning turlangan fayldan farqi shundan iboratki turlangan fayl oldindan e’lon qilingan turdagi berilgan bilan ishlaydi, turlanmagan fayllar esa, ma’lumotlarning tuzilishiga va mohiyatiga bog‘liq bo‘lmagan baytlar majmuasi bilan ishlaydi.
Ixtiyoriy turdagi fayl turlarda ma’lumotlarni saqlashning eng kichik birligi bayt hisoblanadi. Fayllar bilan ishlash tamoyili hamma fayllar uchun bir xil bo‘lib eng avval fayl o‘zgaruvchilarni fizik fayllar bilan bog‘lash kerak.
Programmada e’lon qilingan fayl o‘zgaruvchilar qiymat berish operatorlarida qatnashmasligi lozim.
Protsedura funksiyaning sarlavhasida ramziy parametr sifatida ishlatilayotgan ixtiyoriy turdagi fayl o‘zgaruvchilar var parametr sifatida e’lon qilinishi kerak.
Turlangan fayl sintaksisi quyidagicha aniqlanadi:
:: file of < tur>
Turlanmagan fayl sintaksisi esa quyidagicha aniqlanadi:
:: file
Turbo-Paskal tilida ixtiyoriy turdagi fayllar uchun standart protseduralar aniqlangan bo‘lib, ulardan eng ko‘p ishlatiladiganlari quyidagilardan iborat:
assign(f,s) - f faylli o‘zgaruvchini fizik fayl bilan bog‘laydi;
reset(f) - mantiqiy fayl f ni o‘qish uchun ochadi;
rewrite(f) - mantiqiy fayl f ni yozish uchun ochadi;
close(f) - mantiqiy fayl f uchun o‘qish-yozish kanalini yopadi.
Turlangan fayl ochilgandan keyin ma’lumotlarni kiritish - chiqarish quyidagi standart operatorlar yordamida amalga oshiriladi:
read(f,), write(f,).
Birinchi argument - mantiqiy faylni nomi, undan keyin esa fayl komponentasini turiga mos keluvchi o‘zgaruvchi (o‘zgaruvchilar) bo‘lib, unga o‘qish (read) paytida faylning navbatdagi qiymati yoziladi, yoki teskarisi yozish (write) paytida o‘zgaruvchi qiymati faylga yoziladi.
Turlanmagan fayllar uchun quyidagi protseduralarni ishlatish mumkin, ya’ni reset(f, buf) yoki rewrite(f, buf), bunda buf-faylga bir marta murojaat qilganda o‘qish yoki unga yozishdagi baytlar soni (blok o‘lchami). Blokning eng kichik o‘lchami 1- bayt bo‘lishi mumkin.
Turlanmagan fayllarda ma’lumotlarni o‘qish yoki unga yozish uchun quyidagi protseduralarni ishlatish kerak:
blockread(f, d, c, r) va blockwrite(f, s, c, w)
bu yerda f-fayl nomi, d-ma’lumotlar o‘qiladigan o‘zgaruvchi, s-ma’lumotlar yoziladigan o‘zgaruvchi, s-o‘qilishi kerak bo‘lgan bloklar soni, r va w o‘zgaruvchilar esa qatnashishi shart bo‘lmagan o‘zgaruvchilar bo‘lib, ular o‘qish-yozish protseduralari yordamida o‘qilgan (yozilgan) bloklar sonini bildiradi.
Do'stlaringiz bilan baham: |