3. Fayllar
48. s nomli fayldagi simvollar sonini qaytaradigan butun tipli IntFileSize(s) funksiyasi tasvirlansin. Agar fayl mavjud bo‘lmasa funksiya 1 qiymatni qaytarsin. Bu funksiya yordamida berilgan nomdagi 3 ta fayldagi simvollar soni aniqlansin.
49. s matnli fayldagi satrlar sonini qaytaruvchi, butun tipli LineCount(s) funksiyasi tasvirlansin. Bu funksiya yordamida 3 ta matn fayllaridagi satrlar soni aniqlansin topilsin. Agar ko‘rsatilgan nomdagi matnli fayl mavjud bo‘lmasa funksiya -1 ni qaytarsin.
50. s butun tipli fayl elementlarini joylashish tartibini teskarisiga almashtiradigan InvertIntFile(s) protsedurasi tasvirlansin. 3 ta fayldagi ma`lumotlar shu protsedura yordamida qayta ishlansin. Agar fayl mavjud bo‘lmasa yoki fayldagi elementlar soni 2 tadan kam bo‘lsa, protsedura hech qanday harakat bajarmasin.
51. s nomli matnli faylning har bir satrining boshiga nomer qo‘yadigan AddLineNumbers(s, n, k, l) protsedurasi tasvirlansin, satrlar tartib nomeri quyidagicha: 1-satr n, 2-si n+1 va hokazo. Nomerlash k-chi pozitsiyadan boshlansin, satrning o‘ng tomonini to‘g‘irlagan holda nomer va satr o‘rtasida l ta bo‘sh joy tashlansin(k>0, l>0, n, k va l lardan foydalangan holda ushbu protsedurani bo‘sh bo‘lmagan fayl uchun qo‘llang).
52. AddLineNumbers(51-misoldagi parametrlar bilan berilgan) protsedurasi yordamida har bir satri nomerlangan s matn tipli fayldagi satr nomerlarini o‘chiradigan RemoveLineNumbers(s) prosedurasi tasvirlansin. Bu protsedurani berilgan nomdagi fayl uchun qo‘llang. Agar satrlar nomerlanmagan bo‘lsa protsedura hech qanday harakat bajarmasin.
53. Elementlari butun sonlardan iborat s fayldagi k ta (k≥0) elementni s1 butun tipli faylga qolgan qismini esa s2 butun tipli faylga o‘tkazuvchi SplitintFile(s0,k,s1,s2) protsedurasi tasvirlansin. Bu erda s1 va s2 fayllardan birortasi bo‘sh qolishi ham mumkin. Ko‘rsatilgan k, s1 va s2 qiymatlarda berilgan s0 nomdagi fayl uchun ushbu protsedura qo‘llanilsin.
54. s0 matn tipli fayldagi k ta (k≥0) satrni s1 matnli faylga, qolgan qismini s2 matn fayliga o‘tkazuvchi SplitText(s0,k,s1,s2) protsedurasi tasvirlansin. Ko‘rsatilgan k, s1 va s2 qiymatlarda berilgan s0 nomdagi fayl uchun ushbu protsedura qo‘llanilsin.
55. s nomli 2 lik satrlarga ega fayldagi ma`lumotlarni matn ko‘rinishiga aylan-tiruvchi StringFileToText(s) prosedurasi tasvirlansin. Bu protseduradan foydalanib, berilgan s1 va s2 satr fayllaridagi ma`lumotlar matn ko‘rinishiga o‘tkazilsin.
56. s matnli fayldagi ma`lumotlarni 2 lik satr ko‘rinishiga o‘tkazuvchi TextToStringFile(s) protsedurasi tasvirlansin. Ushbu protseduradan foydalanib, s1 va s2 matn tipli fayllardagi ma`lumotlar 2 lik satr ko‘rinishiga o‘tkazilsin.
57. s nomli matnli fayldagi ma`lumotni shifrlaydigan EncodeText(s,k) protsedurasi tasvirlansin. Shefrlash alfavitdagi harf nomeri asosida amalga oshirilsin, siljish k(0 qadam bo‘lsin. Misol uchun: k=3 bo‘lsa “a” o‘rniga “g” harfi. Alfavitga kirmaydigan simvollar o‘zgarishsiz qoldirilsin. Ushbu protseduradan foydalanib berilgan nomdagi faylni k kalit bo‘yicha shifrlansin.
58. s nomli matnli fayldagi k kalit bilan shifrlangan ma`lumotlarni o‘z holiga qaytaruvchi DecodeText(s,k) protsedurasi tasvirlansin. Ushbu protseduradan foydalanib, berilgan nomdagi matnli faylga joylashgan, k kalit bo‘yicha shifrlangan ma`lumotlar asl holiga qaytarilsin.
Do'stlaringiz bilan baham: |