Har yili dasturlashga qiziqish ortib bormoqda. Va agar dasturlar yozishga ixtisoslashgan muassasalarda ular C ++ kabi dasturlash tiliga tayansa, maktablar va texnik maktablarda talabalar "Paskal" bilan tanishadilar. Va allaqachon ushbu til asosida ular Delphi dasturidan foydalanish orqali dasturlashni tushunishni boshlaydilar. Darhol shuni ta'kidlash kerakki, ushbu dasturlash tillari o'z tasavvurlarini namoyon qilish uchun juda katta maydonni taqdim etadi. Va agar Paskal tili yordamida dasturlashning asosiy tushunchalari bilan tanishishingiz mumkin bo'lsa, Delphida siz allaqachon to'liq huquqli dastur yozishingiz mumkin. Dastur yozishda esa ba'zan massivlarni "Paskal"da yechish juda muhim o'rin tutadi.
Koʻp sonli juda xilma-xil oʻzgaruvchilar mavjudligi
Dasturlash tilida juda koʻp turli xil oʻzgaruvchilar mavjud boʻlib, ular faqat bitta qiymat mavjudligi bilan tavsiflanadi. Ular ma'lum bir turga ega bo'lgan yagona qiymatni saqlashga qodir. String o'zgaruvchilari bundan mustasno. Ularbelgilar turi xarakterli bo'lgan ma'lumotlar to'plamidir. Ammo bunday o'zgaruvchilar odatda alohida qiymat pozitsiyasidan ko'rib chiqiladi.
Hech kimga sir emaski, kompyuter yordamida siz katta hajmdagi ma'lumotlar bilan bog'liq muayyan ishlarni bajarish vaqtini sezilarli darajada qisqartirishingiz mumkin. Qanday qilib faqat odamlarga ma'lum bo'lgan o'zgaruvchilardan foydalanilganda, ish natijalarini xotirada saqlash, shuningdek, ko'p sonli qatorlarni o'z ichiga olgan ma'lumotlarni qayta ishlash mumkinmi? Bunday vazifalar har qanday faoliyat sohasida juda keng tarqalgan.
Albatta, maqsadlaringizga erishish uchun xohlagancha koʻp oʻzgaruvchini kiritishingiz mumkin. Shuningdek, ular uchun ba'zi qiymatlarni belgilashingiz mumkin. Ammo dasturning kodi bundan faqat ortadi. Ko'p qatorli kodni o'qish qiyin. Ayniqsa, xatolarni topish zarur bo'lganda.
Shunga koʻra, dasturchilar bu savol ustida oʻylashgan. Shuning uchun hozirgacha ishlab chiqilgan tillar o'zlarida juda katta hajmdagi ma'lumotlarni saqlashga imkon beradigan o'zgaruvchilarga ega. "Paskal" dagi massiv dasturlashga yondashishda ancha o'zgardi. Shuning uchun u dasturlash tilida muhim oʻzgaruvchi hisoblanadi.
Masivlardan foydalanish kod hajmini keskin kamaytirishi mumkin
Ushbu atama ostida bir turdagi ma'lumotlarning tartiblangan ketma-ketligi yashiringan. Bundan tashqari, ushbu ma'lumotlarning barchasi bir xil nomga ega. Bundan tashqari, kerakShuni ta'kidlash kerakki, haqiqiy dunyoning ko'plab ob'ektlari ushbu ta'rifga mos kelishi mumkin: lug'atlar, multfilmlar va boshqalar. Biroq, "Paskal"da massivni taqdim etishning eng oson usuli - bu jadvalning bir turi. Har bir alohida hujayra bitta o'zgaruvchini o'z ichiga oladi. Koordinatalardan foydalanib, o'zgaruvchining umumiy jadvaldagi o'rnini aniqlashingiz mumkin.
Bir oʻlchovli massiv nimani anglatadi?
Eng oddiy jadval chiziqli jadvaldir. Ushbu massivda parametrning joylashishini aniqlash uchun faqat bitta raqamni ko'rsatish kifoya. Ular asosida yanada murakkab massivlar yaratilgan.
"Paskal"da bir o'lchovli massivlarni tavsiflash uchun quyidagi kodni kiritish kifoya: Array of.
Raqamlar tartibli turga ega boʻlishi mumkin boʻlgan oʻzgaruvchilardir. Diapazonni ko'rsatayotganda, dastlabki raqam oxirgi raqamdan yuqori bo'lishi mumkin emasligini tushunish kerak. Massiv elementlarining turi mutlaqo har qanday bo'lishi mumkin - standart yoki ilgari tasvirlangan. Tanlov muayyan muammoni hal qilish zarurligiga bog'liq bo'ladi.
Chiziqli massiv qanday tasvirlangan?
“Paskal”da bir o’lchovli massivlarni darhol tasvirlash mumkin. Buni ushbu maxsus protsedura uchun zarur bo'lgan maxsus bo'limda qilish kerak. Siz quyidagi kodni kiritishingiz kerak: Var: Massiv Of.
“Paskal”da massivni qanday tasvirlash mumkinligini tushunish uchun quyidagi kodni kiritish kerak:
- Var
- S, VV: Massiv[5..50] Real;
- K: Massiv[‘C’.. ‘R’] Butun son;
- Z: massiv [-10..10] Word;
- E: massiv [3..30] Real.
Ushbu misolda S, VV va T oʻzgaruvchilari haqiqiy sonlar massividir. K o'zgaruvchisi belgilar turini va bu elementlarni yashiradi. Qaysi butun sonlar. Z massivi Word formatidagi raqamlarni saqlaydi.
Masiv bilan ishlashda ishlatilishi mumkin boʻlgan barcha amallar orasida topshiriqni ajratib koʻrsatish mumkin. Butun stol unga tobe bo'lishi mumkin. Masalan, S:=VV. Ammo shuni tushunish kerakki, tayinlash operatsiyalari faqat ma'lum bir turga ega bo'lgan "Paskal" massivida bajarilishi mumkin.
Bir vaqtning oʻzida butun massivda bajarilishi mumkin boʻlgan boshqa amallar yoʻq. Biroq, ma'lum bir turga ega bo'lgan boshqa tub sonlar bilan bir xil tarzda elementlar bilan ishlashingiz mumkin. Shaxsiy parametrga murojaat qilish uchun siz massiv nomini ko'rsatishingiz kerak. Kvadrat qavslardan foydalanib, kerakli elementga xos bo'lgan indeksni aniqlashingiz kerak. Masalan: K[12].
Masivlar va boshqa oʻzgaruvchilar oʻrtasidagi asosiy farqlar
Jadval komponentlari va oddiy oʻzgaruvchilar oʻrtasidagi asosiy farq shundan iboratki, qavs ichiga nafaqat indeks qiymatini, balki kerakli qiymatga olib keladigan bunday ifodani ham qoʻyish mumkin. Bilvosita adreslash misoli bo'lishi mumkin: V[K]. Bunda K o'zgaruvchisi ma'lum bir qiymatni oladi. Bundanshundan kelib chiqadiki, siz massivni toʻldirish, qayta ishlash va chop etishda tsikldan foydalanishingiz mumkin.
Ushbu tashkilot shakli oʻz xossalari boʻyicha Char tipidagi massivlarga yetarlicha yaqin boʻlgan qator oʻzgaruvchilari holatlarida yuzaga kelishi mumkin. Ammo farqlar ham bor. Ular quyidagilar:
- String oʻzgaruvchilari har doim klaviaturadan kiritilishi va ekranda chop etilishi mumkin.
- String oʻzgaruvchilar uzunligi cheklangan. Siz maksimal 255 ta belgi kiritishingiz mumkin. Massivning kritik hajmi 64 kb.
Masiv ma'lumotlarini ekranda ko'rsatish uchun qanday usullardan foydalanish mumkin?
Masiv mazmuni qanday koʻrsatilishiga eʼtibor berishingiz kerak. Bir nechta bor.
- Yozma (A[1], A[2], A[3]). Bunday misol, garchi ibtidoiy bo'lsa ham, jadvalga xos bo'lgan har bir alohida elementga to'g'ridan-to'g'ri qanday qilib kirishingiz mumkinligini ko'rsatishga qodir. Biroq, Paskal massivlarining oddiy o‘zgaruvchilarga nisbatan ba’zi afzalliklari bu yerda ko‘rinmaydi.
-
Dastur A1;
Var B: Massiv [1..10] Butun son;
K: Integer;
Begin
K uchun:=1 dan 10 gacha Do {Bu buyruq }
Readln(A[K]) parametri bilan ishlaydi; {A[I] klaviatura yordamida kiritilmoqda }
K uchun:=10 Pastga 1 Do {Jadval teskari tartibda chop etilmoqda}
Write(A[K], 'VVV') Oxir.
"Paskal" tilidagi massivlar uchun dasturning shunga o'xshash kodi klaviatura yordamida qanday qilib 10 ta raqamni kiritishingiz, ularni chop etishingiz va qiymatlarni teskari tartibda o'zgartirishingiz mumkinligini ko'rsatadi. Xuddi shu dastur dan qayta yozilsamassiv o'rniga ko'p sonli o'zgaruvchilardan foydalanish, keyin kod sezilarli darajada oshadi. Bu esa dasturni oʻqish jarayonini ancha murakkablashtiradi.
Masivlardan foydalanish orqali imkoniyatlarni oshirish
Jadvallarni element indekslari kvadratiga teng qiymatlar bilan toʻldirish ham mumkin. “Paskal”da shunday qatorlar massivini yaratish ham mumkin, bu esa barcha raqamlarni avtomatik ravishda kiritish imkonini beradi. Ko'rib turganingizdek, massivdan foydalanish Paskal dasturlash tilining imkoniyatlarini sezilarli darajada oshiradi.
Chiziqli massivlarni qayta ishlash turli vazifalarda juda keng tarqalgan. Shuning uchun ularni institut va maktablarda o'rganishda g'alati narsa yo'q. Bundan tashqari, massivlar olib yuradigan imkoniyatlar juda keng.
Ikki oʻlchovli massivlar ostida nima yashiringan?
Siz bir vaqtning oʻzida bir nechta qatorlardan iborat jadvalni tasavvur qilishingiz mumkin. Har bir alohida qatorda bir nechta katakchalar mavjud. Bunday holatda, kataklarning o'rnini aniq aniqlash uchun chiziqli massivlarda bo'lgani kabi bitta indeksni emas, balki satr va ustunga xos bo'lgan ikkita raqamni belgilash kerak. "Paskal" tilidagi ikki o'lchovli massivlar o'xshash tasvir bilan tavsiflanadi.
Bunday turdagi jadvallarni qanday tasvirlash mumkin?
Bunday jadval qiymatlarini saqlash uchun Paskal tilida mavjud ma'lumotlar strukturasiikki o'lchovli massivning nomi. Bunday massivni tavsiflash ikki usul yordamida darhol mumkin.
- Var B: Massiv[1..15] Massiv [1..30] Butun son;
- Var B: Massiv [1..15, 1..30] Butun son.
Bu barcha holatlarda 15 qator va 30 ustundan iborat ikki oʻlchovli massiv tasvirlangan. Yuqorida keltirilgan tavsiflar mutlaqo ekvivalentdir. Har qanday element bilan ishlashni boshlash uchun ikkita indeksni ajratish kerak. Masalan, A[6][5] yoki A[6, 5].
Ekranga chiqish deyarli bir oʻlchovli massivdagi kabi boʻladi. Siz faqat ikkita indeksni ko'rsatishingiz kerak. Boshqa barcha jihatlarda farqlar yo'q, shuning uchun bu haqda uzoq vaqt gapirishning hojati yo'q.
Saralashning birinchi usuli
Ba'zan ma'lumotlarni saralash kerak bo'ladi. Buning uchun tilda tegishli buyruqlar mavjud. Paskalda massivni saralashning ikkita algoritmi mavjud. To'g'ridan-to'g'ri tanlash usulining ma'nosi shundan iboratki, tsiklni joylashtirish orqali mutlaqo har bir jadval o'zgaruvchisi boshqa qiymatlar bilan taqqoslanadi. Boshqacha qilib aytganda, agar 15 ta raqamdan iborat massiv bo'lsa, birinchi raqam 1 boshqa raqamlar bilan taqqoslanadi. Bu, masalan, birinchi raqamdan kattaroq element topilmaguncha sodir bo'ladi. Keyinchalik, taqqoslash aynan shu ko'rsatkich bo'lib o'tadi. Bu eng katta topilmaguncha takrorlanadi.barcha taklif qilingan element. Bu usul tilda endigina ish boshlagan dasturchilar uchun juda oddiy.
Ikkinchi massivni saralash usuli
Ikkinchi usul - pufakcha. Ushbu texnikaning mohiyati qo'shni elementlarning juftlik bilan taqqoslanishidadir. Masalan, 1 va 2, 2 va 3, 3 va 4 va hokazo. Agar topilgan qiymat saralash shartlariga toʻliq mos keladigan boʻlsa, u butun massivning oxiriga koʻchiriladi, yaʼni u oyna sifatida ochiladi. "qabariq". Ushbu algoritmni eslab qolish eng qiyin. Biroq, siz uni maydalashingiz shart emas. Asosiysi, kodning butun tuzilishini tushunish. Va faqat shu holatda dasturlashda katta cho'qqilarni zabt etishga da'vo qilish mumkin.
Xulosa
Masivlar nima ekanligini va muayyan qiymatni topish yoki aniq maqsadga erishish uchun qanday saralashni tushunasiz degan umiddamiz. Agar siz massivlar muhim o'rin egallagan ma'lum bir muammoni hal qilish uchun "Paskal" ni tanlagan bo'lsangiz, unda siz ularni o'rganishga har tomonlama yondashishingiz kerak bo'ladi. Bunga butun kodni soddalashtirish uchun ma'lum holatlarda ishlatiladigan etarlicha katta miqdordagi o'zgaruvchilarning tilida mavjudligi kabi omil ta'sir qiladi. Massivlar haqli ravishda asosiy miqdorlar hisoblanib, ularni o'rganish majburiy ravishda amalga oshirilishi kerak.