Massivni Paskal klaviaturasidan saqlang. Paskal. Bir tomonlama massivlar. tushish soni sensori

Golovna / Ishni optimallashtirish

| §2.2 Raqamlarning bir dunyo massivlari

11-14-darslar
§2.2 Raqamlarning bir dunyo massivlari
Massivning tavsifi, to'ldirishi, vizualizatsiyasi
Massivdagi elementlar yig'indisini hisoblash
Massivdagi oxirgi qidiruv
Saralash massivi

Kalit so‘zlar:

massiv
massiv tavsifi
to'ldirish massivi
ko'rish massivi
ishlov berish massivi
oxirgi qidiruv
tartiblash

Dosi mi mashq qildi s oddiy turlari danich. Amaliy topshiriqlarning sodda turlaridan boyligini oshirish uchun ular ma'lumotlarning ombor turlarini, ma'lumotlar tuzilmasining darajalarini o'rnatadilar. Bunday strukturaning dumbasi bir o'lchovli massivdir.

Massiv - bu nomlar to'plamiga tayinlangan bir xil turdagi elementlarning belgilangan soni. Elementga biriktirilgan massivga kirish raqamdan (indeks) keyin tayinlanadi.

Shunga o'xshash narsalar bilan - raqamli ketma-ketliklar- Siz allaqachon bir soat matematika darslarini o'qigansiz. Masalan, arifmetik progressiyaning a'zolari quyidagicha belgilandi: a 1, a 2, a 3, ..., a n.

Massivni kengaytirish - massiv elementiga aniq kirish uchun zarur bo'lgan indekslar soni. Bir indeksli massivlar bir o'zgaruvchan deb ataladi, ikkitasi - dvovimirni va boshqalar.

Massivlarni qayta ishlash bilan bog'liq turli xil vazifalarning xilma-xilligi quyidagi odatiy algoritmlarni tanlashga asoslanadi:

Massivdagi elementlar qiymatini jamlash;
berilgan organlardan elementni qidirish;
massivni saralash.

2.2.1. Massivning tavsifi

Tanlovdan oldin dasturda massiv, massiv uchun elementlar soni va ularning turi ko'rsatilishi uchun tavsiflar massivi bo'lishi mumkin. Xotira qishlog'ini ko'rish uchun kerak zarur kengayish massivni saqlash uchun. Zagalniy bitta dunyo massivining tavsifiga qarang:

dumba

Bir qator tavsiflar va 10 ta butun qiymatlar mavjud. Operator ketgan soatda kompyuter xotirasida o'n yoki undan ortiq almashtirishni saqlash uchun joy bo'ladi.

Elementlari berilgan qiymat berilishi mumkin bo'lgan massivda doimiylarni tavsiflash uchun tavsiflar bo'lishi mumkin:

Shu tarzda, xotiraning oxirgi qatorlari ko'rinmaydi - ular darhol muhim ma'nolarga kiradi.

2.2.2. Massivni to'ldirish

Siz klaviaturadan teri elementining qiymatini kiritish yoki dastur elementlariga qiymatlar qo'shish orqali massivni saqlashingiz mumkin. Uning yordamida siz pastadirni parametr bilan yutib olishingiz mumkin.

Masalan, klaviaturadan kiritish uchun massivdagi yuqorida tavsiflangan elementlarning qiymati quyidagi parametr bilan keyingi tsiklga yoziladi:

Siz massivdagi elementlarning qiymatlarini belgilash operatori yordamida o'rnatishingiz mumkin. Masalan:

Dasturning keyingi qismida qiymatlari 0 dan 99 gacha o'zgarib turadigan o'zgaruvchan raqamlarda 10 ta elementdan iborat butun massivni to'ldirish tashkil etiladi:

2.2.3. Vizyon massivi

Boy vaziyatlarda ekranda elementlarning qiymatlarini ko'rsatish oson. Demak, massivning ma'nolari vipadkovy darajasi bilan yaratilganligi sababli, qanday vihidny massiv ekanligini bilish kerak. Shunday qilib, keyingi zodagonlar, go'yo keyingi ishlar qatoriga aylanadi.

Massivdagi elementlarning qiymatlari ularni bo'sh joy bilan ajratib, qatorga kiritilishi mumkin:

Ustundagi tushuntirishlar bilan massivdagi elementlarni ko'rsatishning keyingi variantidan boshlaylik:

Biz dumbalarga qarash asosida dastur yozamiz, bu holda biz: butun massivni to'ldiring. a 10 ta elementdan tashkil topgan, o'zgaruvchan raqamlarda, ularning qiymatlari 0 dan 99 gacha o'zgaradi; ko'rish massivi a ekranda.


2.2.4. Massivdagi elementlar yig'indisini hisoblash

dumba. Deakim mahalliylik men budinkovman. Ko'rinishidan, terini parvarish qilish markazida juda ko'p odamlar yashaydi. Biz aholi punkti aholisi soni uchun algoritmni tuzamiz.

Vihídí ma'lumotlari (meshkantsív soni) bu erda yagona dunyo massivining yordami uchun taqdim etilgan. a nima qasos olish kerak n elementlar: a - stenddagi sumkalar soni 1, a - stenddagi sumkalar soni 2, ... va [n] - stenddagi sumkalar soni n. Yovvoyi turda a [i] - n sumkalar soni, bu erda i 1 dan n gacha bo'lgan butun qiymatni oladi (yaks sxemasida qisqacha mazmunli). Robot algoritmining natijasi s bilan belgilanadi.

Massivga elementlarni qo'shish oddiy o'zgaruvchilar qiymatini yig'ish bilan bir xil printsipga asoslanadi:

1) xotira komissiyasi (almashtirish lar) vynachaetsya bo'lib, u holda yig'ish natijasi ketma-ket to'planadi;
2) 0 qiymatining boshlanishi uchun umidlarni o'zgartirish - qo'shish natijasiga hissa qo'shmaydigan raqam;
3) teri elementi uchun s o'zgarishidan massiv aniqroq hisobga olinadi, qiymat massiv elementi qiymatlariga qo'shiladi; natijani ayirish s o'zgarishiga tayinlanadi.

Jarayonning tavsifini quyidagicha tasvirlash mumkin:

Paskal tilidagi dasturimni yozamiz.

n_2 va n_3 dasturlarini tekislang. Ulardan porlayotgan bloklarni ko'rishingiz mumkin. Suverenitetni hurmat qiling.

Aholi punkti uylari to'g'risidagi arizaga kiritilgan ma'lumotlarga n_3 dasturida qaysi daraja aniqlik kiritildi?

2.2.5. Massivdagi oxirgi qidiruv

Dasturlash poshuk- raqamli bo'lmagan xarakterdagi eng keng vazifalardan biri.

Siz quyidagi so'rov turlarini ko'rishingiz mumkin:

1) massivning eng katta (eng kichik) elementini bilish;

2) qiymati berilgan qiymatga teng massiv elementini bilish.

Bunday vazifalarni hal qilish uchun dastur massivdagi elementlarni oxirgi ko'rib chiqishni va asosiy element qiymatini faol element bilan tenglashtirishni tashkil qilishi kerak.

Keling, birinchi turdagi vazifalar taqdimotini ko'rib chiqaylik: eng katta (eng kichik) elementning ahamiyati.

Siz terisida raqam yozilgan kartalar to'plamini ko'rganingizda bitta massivni ko'rishingiz mumkin. Massivdagi eng katta elementni qidirishning yana bir g'oyasi quyidagicha bo'lishi mumkin:

1) yuqori kartani oling (massivning birinchi elementi), kartadagi raqamni eslab qoling (doskaga yozing); o'ldirilgan kartani olib qo'ying;

2) qadam kartasini oling; o'zboshimchalik bilan kartalar va taxtalarda yozilgan raqamlar; agar kartochkalardagi raqam kattaroq bo'lsa, u holda do'shtda yozilgan raqam muhimroqdir va biz kartalardagi raqamni yozamiz; agar yangi raqam katta bo'lmasa, u holda doshtsida aniq yozuvni kiritish kerak; o'ldirilgan kartani olib qo'ying;

3) yuzda etishmayotgan barcha kartalar uchun 2-bandda tavsiflangan amallarni takrorlang.

Natija ko'rib chiqilgan massiv elementining eng katta qiymatiga ega bo'ladi.

Dasturlash vaqtida tsiklning invariantini tushunish uchun tsiklik algoritmlarning to'g'riligi isbotlangan.

Tsikl invariant - mantiqiy virus(Umova), ular bir xil tsiklda o'zgargan o'zgarishlar shaklida saqlanadi; bu tsiklning qulog'idan oldin va tana tsiklining teri o'tishidan keyin tanaffussiz to'g'ri.

Umov "doshtsi soniga yozilgan - dosi ko'rib chiqilganlarning eng kattasi" ko'rib chiqilayotgan algoritm uchun tsiklning invariantidir.

Massivdagi element qiymatiga kirish iogo indeksining orqasida bo'lsa-da, bir dunyo massividagi eng katta elementni qidirishni tashkil qilishda siz iogo indeksini qidirishingiz mumkin. Sezilarli hazil indeksi imax. Biz yaratgan massiv va mening Paskalim uchun algoritmning bir xil tavsiflarini quyidagicha yozish mumkin:

Agar massivda qiymatlari maksimal qiymatga teng bo'lgan bir nechta elementlar mavjud bo'lsa, unda berilgan dastur ulardan birinchisini biling (birinchi yozuv). Qolgan maksimal elementlarga ega bo'lishi uchun dasturda nimani o'zgartirishingiz kerakligini o'ylab ko'ring. Yordam uchun massivning minimal elementini bilishingiz uchun dasturni qanday qilib qayta ishlash kerak?

Boshqa turdagi vazifani (qiymati berilgan qiymatga teng bo'lgan massivga element qiymati) tayinlash natijasida quyidagilar bo'lishi mumkin:

K - massiv elementi indeksi shundayki a[k] = x de x - berilgan son;
massivdagi element oshkor etilmaganlar haqida ma'lumot.

Dastur biz yaratgan massivni so'raydi va yaxshi x qiymati quyidagicha ko'rinishi mumkin:

Bu dasturda massivning barcha elementlari ketma-ketlikda ko'rib chiqiladi. Agar ma'nosi berilgan songa teng bo'lgan elementlar massivi bo'lsa, dastur qolganlarini bilib oladi.

Boy vaziyatlarda eng muhim ma'noga ega bo'lishi mumkin bo'lgan elementlarning birinchisini bilish va massivni diqqat bilan ko'rib chiqish kerak. Buning uchun siz quyidagi dastur bo'lagini burishingiz mumkin:

Bu erda algoritm ikki usuldan biri bilan buziladi: 1) elementlarning birinchisi berilganiga yaqinroq bo'lgan massivda topiladi; 2) massivning barcha elementlari ko'rib chiqiladi.

Dasturning so'nggi matnini yozing va uni kompyuterga yuklab oling.

Ko'pincha, ongni qondiradigan bir qator elementlarni belgilash kerak. Shu tarzda, zarur element topilsa, ma'nosi bir marta oshiriladigan o'zgarish kiritiladi.

Bunday elementlarning Vyznachte kílkíst dasturning haqoratli bo'lagining yordami uchun pídrahovuêtsya.

Agar ongni qondiradigan elementlarning qiymatlari yig'indisini belgilash kerak bo'lsa, topilgan elementning qiymati massivga qo'shiladigan o'zgarishlarni kiriting.

Vznachte, u bilan aql massivning elementlarini qondiradi, uning ma'nolari dasturning tajovuzkor bo'lagi yordami uchun chalkashib ketadi.

Qolgan ikkita dasturning to'liq matnlarini yozib oling va ularni kompyuterga yuklab oling.

2.2.6. Saralash massivi

Massivning saralanishi (tartibi) ostida elementlarning ma'nosini bir xil tartibda qayta ko'rib chiqing.

Massivda birinchi element eng kam qiymatga ega bo'lgan va teri qadam elementining qiymati oldingi element qiymatidan kam bo'lmagan tartib deyiladi. unutilmas.

Massivda birinchi element eng muhim bo'lgan va teri qadam elementining qiymati oldingi elementning qiymatidan katta bo'lmagan tartib deyiladi. o'smaslik.

Meta tartiblash - elementlarni qidirishni osonlashtiradi: tartiblangan massivda kerakli elementni qidirish osonroq.

Siz allaqachon ma'lumotlar bazalari bilan ishlashni saralab oldingiz. Darhol biz ulardan birini ko'rib chiqamiz mumkin bo'lgan variantlar 1 ushbu operatsiya mexanizmini amalga oshirish - tanlov bo'yicha saralash.

1 10-11-sinflarda informatika darslarida saralashning boshqa usullari bilan tanishing.


Tanlov bo'yicha saralash (masalan, bo'sh joy qoldirmaslik bo'yicha) quyidagicha amalga oshiriladi:

1) massivdan maksimal element tanlanadi;
2) maksimal va birinchi elementlar oylar bo'yicha o'zgartiriladi; birinchi element saralanishi kerak;
3) massivning tartiblanmagan qismi uchun maksimal element qayta tanlanadi; vín chínyuíêtsya místsím íz birinchi saralanmagan elementlar massivi;
4) 3-betda tasvirlangan dííí massivdagi tartiblanmagan elementlar bilan takrorlanadi, docklarda bitta saralanmagan element mavjud emas (uning qiymati minimal bo'ladi).

a = (0, 1, 9, 2, 4, 3, b, 5) massivning ko‘t qismidan tanlash bo‘yicha saralash jarayonini ko‘rib chiqamiz.

8 ta elementdan iborat ushbu massivda maksimal elementni tanlash operatsiyasi 7 marta bajarilgan. n ta elementdan iborat massiv uchun bu amal n - 1 marta bajariladi. Sababini tushuntiring.

Biz algoritm tavsiflarini amalga oshiradigan dasturning bir qismini yo'naltiramiz:

Bu erda biz ikkinchisining o'rtasidan bir tsiklni vikoristali qilamiz. Bunday konstruktsiyaga o'rnatilgan pastadir deyiladi.

Dasturning so'nggi matnini yozing va ilovada ko'rib chiqilgan massiv uchun kompyuterga vv-ni yuklab oling.

2.2.7. Boshqa ma'lumotlar tuzilmalari

Hozirgi qo'shimchalar ko'p (dialog, merezhevy, instrumental tizimlari, operatsion tizimlari va boshqalar) dannym bilan ishlatiladi, majburiy bunday uzoq oyoq obmezheniya qo'shiq hajmi bo'lishi mumkin emas. Qabul qilinadi, buyuk o'sib bormoqda dasturiy kompleks, bunday a ning ishi bilan operativ xotira massivlar shaklida taqdim etilgan ko'p sonli turli xil ma'lumotlarni saqlash uchun. Teri qatoriga kiritilgan xotira maydoni uzluksiz; viloyatlararo píd soat vykonannya dasturlari suvoro sobit. Shunday qilib, obsyag dannyh zazdalegíd nevydomy sifatida, dasturchilar g'olib bo'lgan massivlarni kengaytirish uchun imkon qadar ko'proq o'rganishlari kerak bo'ladi. Axir, barcha mumkin bo'lgan ma'lumotlarni saqlash uchun etarli darajada mavjud bo'lmagan xotira paydo bo'lishi mumkin. Amaliyot haqida gap ketganda, holatlar kamdan-kam tilga olinadi, agar teri massivi zahiralarga to'la bo'lsa, ularning ba'zilari saqlangan xotirasining bir qismini yo'qotadi. Zhorstkí kordoni ba'zi massivlarning bo'sh maydonini boshqalarning bepushtligiga qayta taqsimlash mumkin emas. Natijada - operativ xotiradan samarasiz foydalanish. Ushbu holat natijasida dasturlarni loyihalashda ba'zi massivlar ro'yxatlar bo'yicha almashtiriladi, chunki ular xotira xotirasini egallaydi, malakalar bir vaqtning o'zida samarali kerak bo'ladi va yillik zaxiralarni yaratmaydi.

Ro'yxat shaxsiy bo'lmagan elementlar bo'lib, ular tarqalib ketishi mumkin operatsion tizim har doimgidek operativ xotiradan. Ro'yxatdagi elementlarni chaqirish ro'yxatda qaysi element mavjudligini hisobga olishga asoslanadi.

Chiziqli bir bo'g'inli ro'yxat - chiziqli bog'langan elementlarning ketma-ketligi, ular uchun har qanday elementning ushbu ro'yxatiga element qo'shishga ruxsat beriladi.

Teri elementining chiziqli ro'yxatida birinchi navbatda krem, ê old element; teri elementi uchun qolgan qismining kremi tajovuzkor element hisoblanadi. Ushbu tartibda ro'yxat elementlari tartiblanadi (2.3-rasm).

Guruch. 2.3. Qator ro'yxati


Chiziqli ro'yxatda barcha elementlarni aylanib o'tish, birinchisidan boshlab, oqim elementidan bosqichga ketma-ket tushish mumkin. i elementiga to'g'ridan-to'g'ri kirish mumkin emas; ro'yxat - ketma-ket kirishga ega tuzilma. Ro'yxatdagi ko'rinishda etarli kirish huquqiga ega strukturaga ega massiv.

NAYGOLOVNISHE

massiv- nomga berilgan bir xil turdagi elementlarning qat'iy miqdorining yig'indisi. Elementga biriktirilgan massivga kirish raqamdan (indeks) keyin tayinlanadi.

Iqtiboslardan oldin dasturda bir qator tavsiflar bo'lishi mumkin. Zagalniy bitta dunyo massivining tavsifiga qarang:

Siz klaviaturadan teri elementining qiymatini kiritish yoki dastur elementlariga qiymatlar qo'shish orqali massivni saqlashingiz mumkin. Bir soat davomida massiv yuklanadi va tasvir parametrli tsikl bilan ekranda ko'rsatiladi.

Qachon rozv'yazanny raznomanytnyh zavdan, pov'yazanih yz obrobka massivlar, algoritmlar bunday turdagi vikoristovuyutsya, kabi: pídsumovuvannya elementív massivi; berilgan organlardan elementni qidirish; massivni saralash.

So'rov va topshiriq

1. Yoritilishi kerak bo'lgan paragrafgacha taqdimot materiallari bilan tanishing elektron qo'shimcha yordamchiga. Taqdimotni yakunlash uchun qanday slaydlardan foydalanishingiz mumkin?

2. Bir massiv bir vaqtning o'zida místiti cílí bu nutq ma'nosini qanday anglatishi mumkin?

3. Massiv tavsifi nima uchun kerak?

4. Hujum darajasidagi massiv, shakllanishlar haqida nima deya olasiz?

a) uchun i:=l uchun 10 qil a[i]:=tasodifiy(101)-50;
b) uchun i:=l uchun 20 qil a[i]:=i;
ichida) uchun i:=l uchun 5 qil a[i]:=2*i-l;

5. 2.2.4-bandga ilovada muhokama qilingan vazifalarni hal qilish dasturini kompyuterga yuklab oling. 50 dan 200 gacha bo'lgan holatlar soniga sumkalar sonini va uylar sonini n = 30 kiriting.

6. Sizga ikkita mushukni bilishni buyurdi. Persha olma bilan to'ldirilgan turli xil kengaytmalar, do'st - bo'sh.

Krok 1. Siz birinchi mushukdan olma kabi olib, oldingizda stolga yoga qo'yasiz.

Krok 2. Siz birinchi mushukdan qadam olmani olib tashlaysiz va siz chiziqni yutib olasiz:

Agar qo'lingizda kattaroq olma bo'lsa, stolda olma bo'lsa, unda siz olmani xuddi qo'lingizda, boshqa mushukda tushirasiz;
- agar sizning qo'lingizdagi olma stoldagi olmadan kichikroq bo'lsa, siz olmani stolga qo'yasiz va olma xuddi stolda bo'lgani kabi, uni boshqa mushukka o'tkazadi.

Krok 2 ni keyingi bayramga qadar, birinchi mushuk bo'sh qolguncha takrorlaysiz.

Masalan, stolga suyanadigan olma haqida nima deyish mumkin? Induktsiyalangan algoritmda halqa o'zgarmasligi nima ekanligini shakllantirishga harakat qiling. Ushbu paragrafda muhokama qilingan eng keng tarqalgan atamalardan aqliy vazifani tuzing.

7. Bir kunlik o'rtacha haroratni hisoblash dasturini yozing. Pochta ma'lumotlari klaviaturadan kiritiladi.

8. O'nta butun sonli Daniya massivi. Massivdagi maksimal qiymatga ega bo'lishi mumkin bo'lgan elementlar sonining dasturini yozing.

9. Sinfda 20 nafar o‘quvchi rus tilidan diktant yozdi. Diktant uchun otrimanih, ikki barobar, uchlik, to'rtlik va beshlik bir qator kabi dastur yozing.

10. O'rta maktab basketbol jamoasiga ovoz berdi. Vídomy rostannya dermal z n uchnív, yaky bazhayut jamoa tartibiga qadar ichdi. Ariza beruvchilar sonining algoritmini tuzing, shunda siz jamoaga qo'shilish imkoniyatiga ega bo'lasiz, shunda jamoaning kattaligi 170 sm dan kam bo'lmasligi mumkin.Paskal tilida dastur tuzing. Ariza beruvchining balandligini 150 dan 200 sm gacha bo'lgan vertikal raqam bilan jamoaga kiriting va ariza beruvchilar soni n = 50.

11. Katta a va b massivlarda o‘nta to‘g‘ri kesilgan trikoning qo‘sh oyoqlari (a[i] – birinchi oyog‘ining uzunligi, b[i] – i-ro trikosining ikkinchi oyog‘ining uzunligi) mavjud. . Dasturni yozing, qanday qilib eng katta hududdan tricoutnik belgilash va vede yogo raqami, dozhini katetív o'sha hudud. Perebachte vipadok, agar shunday tricoutniks ê kilka bo'lsa.

12. n (kray nomi), k (aholi soni), s (kray hududi) qatoriga o'nta Yevropa krai haqida ma'lumot kiriting. Aholining sonini oshirish uchun mamlakatni qanday nomlash kerakligi haqida dastur yozing.

13. Stack va cherga kabi ro'yxatga tushadigan bunday okremílar haqida ma'lumot toping. Qisqa kirishni tayyorlang.

1 yo'l (klaviaturadan almashtirish. Dinamikkirishdanih)

M: butun sonlar massivi;

Men uchun:=1 dan 10 gacha Boshlang

Write("Enter",I,"qiymat");

2 yo'l (vipadkoe raqamlar ishlab chiqaruvchi vikilardan)

M: butun sonlar massivi;

Men uchun:=1 dan 25 gacha Boshlang

M[I]:=Tasodifiy(50);

3 yo'l (Ma'lumotlarning statik kiritilishi)

M: butun sonlar massivi = (31,28,31,30,31,30,31,31,30,31,30,31);

Men uchun:=1 dan 9 gacha

1.4 Vazifalarni taqsimlashni qo'llang

1. Massiv elementlariga berilgan qiymatni izlash algoritmlari

1. Qayta ishlash dasturini klaviaturadan kiritilgan butun sonlar bilan to'ldirilgan n kengaytmali massivga katlayın. Massivdagi musbat elementlarning indeksi va qiymatini kiriting.

A: ARRAY OF INTEGER;

(Toʻldirish massivi)

I UCHUN:=1 TO N DO BUGUN

Write("Enter ",I," massiv elementi "); ReadLn(A[I]);

(Masivdagi elementlarni qayta ishlash)

I UCHUN:=1 TO N QILISH

IF A[I]>0 THEN WriteLn("Ijobiy element = ",A[I]," th indeks = ",I);

2. Y=sin(x-1)/2x funksiyaning qiymatini hisoblash dasturini qo‘shing. 6 ta elementdan tashkil topgan X massivni o'rnatish uchun argumentlar qiymati. Funksiya qiymatini yozish massivi Y.

X,Y:REAL MASSIYASI;

MEN UCHUN:=1 dan 6 gacha QILING

Write("Enter ",I," argument qiymati "); ReadLn(X[I]);

MEN UCHUN:=1 dan 6 gacha QILING

Y[I]:=SIN(X[I]-1)/(2*X[I]);

WriteLn("X=",X[I]:4:1,"Y=",Y[I]:5:2);

3. 30 ta elementdan tashkil topgan Daniya massivi M. Massivning elementlari to'liq raqamlardir. Siz ekranda ushbu ijobiy elementning beshinchi terisining ma'nosini ko'rishingiz mumkin. Siz qatordagi elementlarni ko'rishingiz mumkin.

M: ARRAY OF INTEGER;

ClrScr; tasodifiy qilish;

WriteLn("Masivdagi elementlarning qiymati");

MEN UCHUN:=1 dan 30 gacha

M[I]:=Tasodifiy(20)-4; Write(M[I]:3);

WriteLn("Masivdagi musbat element terisining beshdan bir qismining qiymati");

Men esa<=30 DO Begin

AGAR M[I] > 0 bo'lsa Write(M[I]:3);

Mustaqil ko'rish uchun murojaat qiling:

    Daniya bir o'lchovli massiv 10 ga kengaytirilgan, klaviaturadan kiritilgan butun sonlar bilan to'ldirilgan va N qiymati. Salbiy elementlarni N bilan almashtiring. Massivni bir qatorda ekranga o'zgartiring.

    Sizga -15 dan 20 gacha bo'lgan oraliqda manfiy raqamlar bilan to'ldirilgan N qiymatlar sonining bir o'lchovli massivi beriladi. Ekranga massivdagi elementlarning qiymatlarini, mutlaq qiymatini kiriting. bu > 10.

    Sizga N sonining bir o'lchovli massivi beriladi, bunda dispersiya sonini to'ldiradi. Massivning uchinchi elementini kvadratga aylantiring, chunki element salbiy. Ekranda ko'rsatish uchun massivni o'zgartiring.

    Y=(sinx+1)cos4x funksiyaning qiymatini hisoblash va hisoblash dasturini qo'shing. 10 ta elementdan iborat X massivda berilgan argumentlarning qiymati. Funksiya qiymatini yozish massivi Y.

    25 ta elementdan tashkil topgan A massivining elementlaridan qoida bo'yicha D tíêí̈ w kengayish massivi hosil bo'ladi: dastlabki 10 ta element Di=Ai+i formulasi uchun, ínchi - Di=Ai formulasi uchun perebuvayut. -i.

Massiv haqida tushunchalarni bilish, massivlarni algoritm va dasturlarda tashkil qilish usullari, massivlarni to‘ldirish usullari, massivlarning turlari va kengayishi. Vchimosya vyrishuvati nay oddiy zavdannya, elementlarni qidirish bo'yicha vazifalar, scho vypovídat aql.

meta dars: massiv haqida tushuncha berish, massivlarni algoritm va dasturlarda tashkil qilish usullari, massivlarni toʻldirish usullari, massivlarning turlari va saralash, oddiy topshiriqlarni yechish usullarini oʻrganish, aql-idrokni koʻrsatadigan elementlarni qidirish boʻyicha topshiriqlar, saralash masalalari yechimini koʻrsatish. massivlar.

Darsni yashirish:

1. Yangi materialni tushuntirish:

EOMda ma'lumotlarni to'plash va qayta ishlashni yakunlash uchun operativ xotirada yoki axborotning magnit tashuvchilarida joylashtirilgan ma'lumotlarning massivi va ketma-ketligi muhim rol o'ynaydi.

Massiv - bu qo'shiq turidagi ma'lumotlarning sukupnosti ajratilishi mumkin bo'lgan xotira maydoni.

Massivlardagi elementlar sonini aniqlash uchun indeksni ko'rsatish kerak.

Massivlarning tavsifi:

  • Tur (o'zgarish turlarini takrorlash, massivlar bilan o'xshashlik: nutq, cilium %, belgi $, mantiqiy)
  • Kengaytirilgan massivlar (bir chiziqli, ikki o'lchovli to'rtburchaklar va boshqalar)

Massivlarning parchalari ma'lumotlarni yig'ish orqali saqlanadi, ularni qayta ishlash qo'shimcha tsikllar bilan amalga oshiriladi.

alg"Ko'p jadval"
poch
ko'rinish K=1 oldin 9 tsikl
ko'rinish L=1 oldin 9 tsikl
T=K*L
kcycle
kcycle
qarindosh

T-ikki dunyo massivi (y tsikli)
L shaklidagi qatorlar-ichki sikl
Qator indeksini o'zgartirish uchun

alg"Ko'paytma jadvallarini ko'rish"
poch
ko'rinish K=1 oldin 9 tsikl
ko'rinish L=1 oldin 9 tsikl
Visnovok T
Kcycle
Visnovok (yangi qator)
kcycle
qarindosh

ichki tsikl qatorlarning ko'rinishini tashkil qiladi
tashqi shakl jadvali (stovptsy)

Massivlarni to'ldirish usullari

  1. klaviaturadan
  2. MHD da to'plangan ma'lumotlarni qayta yozish
  3. formula
  4. Sensor vipadik raqamlar
  5. ma'lumotlar, o'qing

Jadval qiymatlari

Tarjima uchun bir dunyo massivi, jadvallar uchun ikki dunyo massivi ishlatiladi. Avvalo, dasturda g'alaba qozoning, mashinani ko'rsatish kerak, shunda u joyni ancha oldinga olib chiqadi.

Dim (o'lcham-o'lchov)

Xira(8) Xira(8, 15)

Noldan Vidlik rozmírností ide.

Dim dasturning boshiga qo'ydi.

Massivlarni to'ldirish usullari

1. klaviaturadan

dimA(3,4)
I=1 dan 3 gacha
j=1 dan 4 gacha
kirishA(I,J)
keyingi J, I

2. formula

dimA(3)
I=1 dan 3 gacha
A(I)=cos(I)
keyingi I

3. raqamni tushirish sensori

dimB(7)
I=0 dan 7 gacha
A(I)=int(rnd(1)*100+1)
keyingi I

4. ma'lumotlar, o'qing

dimA$(4)
I=1 dan 4 gacha
o'qish A$(I)
? A$(I)
keyingi I
ma'lumotlar Olena, Olya, Katya, Kolya

d/h: tezislar

Dasturlash massiviê bir xil turdagi (bir xil turdagi) elementlar to'plami.

Massivlar turlarining spratlarini farqlash - bir dunyo(vektor) ta boy.

Massivdagi elementlar nomlari va seriya raqamlari - indekslari bilan tavsiflanadi.

Indeks - massivdagi elementning tartib raqami.

Paskalda teri elementiga bir yoki bir nechta indekslar beriladi, ular elementning massivdagi holatini tavsiflaydi.

Yagona dunyo massivi

Paskal massivining sintaksisi:

Var a: array Of integer ;
De:
1 - pastki indeks
10 - yuqori indeks
A - massivni o'zgartiraman
- Qiymat diapazoni
Integer - ma'lumotlar turi
A[ i ] – Paskal massividagi elementga qaytish

Massiv elementi turi har qanday to'g'ri Paskal tipi, krem ​​fayllari (navigatsiya massivi) bo'lishi mumkin.

Butt massivi: A = (1,-5,230,55,-88,0,100)

Agar massiv tasvirlangan bo'lsa, u holda yuqori indeksni aniq belgilash mumkin.

Massivni tavsiflashda men xotirani berdim va kompilyator massiv tavsiflarini ko'rish uchun qancha xotira kerakligini bilishda aybdor.

Paskal massividagi indekslar soni ajratilmagan. Biroq, massivning o'zi 65537 baytdan pastroq bo'lganligi uchun aybdor emas.

Massivni turlarning tavsifidan ham tushunish mumkin:

Tip massa = massiv Of real; Var a, b, c: massa;
Massiv elementlariga kirish tsikl bilan cheklangan.

Paskal massivida elementlarni qayta ishlashning eng oqilona usuli bu parametrli sikl operatoridir.

Nima deb o'ylaysiz? Biz massivda juda ko'p elementlarni ko'radigan narsa.

Paskalda massivni to'ldirish algoritmlari

  1. Bunday dizaynning yordami uchun kompyuterning yordami uchun massivga elementlarni kiritish zarur:

    i uchun:= 1 dan 10 gacha Do read(A[i]);

  2. Zavdannya massivi vipadkovo.

    Massiv vertikal qiymatlarning yordamchi sensori orqasida vertikal darajaga o'rnatilishi mumkin.

    Paskal ochiladigan sensorni ishga tushirish uchun siz maxsus dizayn yozishingiz kerak - Tasodifiylashtirish;

    Yangi qiymatlar Random(n) yordamchi funksiyasi yordamida yaratiladi, bunda n butun sondir. Bu vaqt 0 dan n gacha bo'lgan raqamni hosil qiladi.

    K:=Tasodifiy(100);
    Agar Tasodifiy funksiya parametrsiz ishlasa, u 0 oralig'ida nutq raqamini (haqiqiy turdagi) hosil qiladi.< X < 1

    X:=Tasodifiy;

Massivni vipadkovy darajasi bilan to'ldirish

Berilgan Paskal konstruktsiyasi moslashtirilgan massivni amalga oshiradi.

tasodifiy qilish; i uchun:= 1 dan 10 gacha Boshlang A[i] := tasodifiy*100-70 ; yozish(A[i]:6:2); oxiri;

Dosi mi oddiy ma'lumotlar turlari bilan ishlagan - mantiqiy (boolean), silium (integer, word, bayt, longint), nutq (real), xarakter (char). Har qanday algoritmni ba'zi asosiy turlarning yordami uchun dasturlash mumkinmi. Ale turli xil real dunyo haqida ma'lumot to'plash uchun ma'lumotlarga muhtoj bo'lib, bu hayotni katlamali qiladi. Eng oddiy skalyar turlarga asoslangan bunday katlama konstruksiyalar konstruksiyalar deyiladi. Struktura - ma'lumotlarni saqlash turi, asosiy skalyarlardan qo'shimchalar. Agar struktura o'z mavjudligini o'zgartirmasa va dastur tomonidan tasvirlangan bo'lsa, u tasvirlangan bo'lsa, unda bunday struktura statik deyiladi.

Massiv - bu elementlarning bir xil to'plami

Amalda amalga oshirilgan eng keng tuzilma barcha dasturlash tillaridan oshib ketadi, bu massivdir.

Masivi yig'iladi obezzhennyy raqam komponent, bundan tashqari, massivning barcha komponentlari bir xil turdagi bo'lishi mumkin, sarlavhalar asosiy. Massivning tuzilishi har doim bir xil bo'ladi. Massiv butun son, real yoki char tipidagi elementlardan yoki bir xil turdagi boshqa elementlardan iborat bo'lishi mumkin. To'g'ri, massiv komponentlari skalyar tipdan ham ko'proq bo'lishi mumkin bo'lgan mo'ylovlar ishining izi bor.

Massivning yana bir o'ziga xos xususiyati shundaki, boshqa komponentlardan oldin siz munosib daraja olishingiz mumkin. Bu nima degani? Dastur seriya raqamidan (indeks) keyin kerakli elementni darhol olishi mumkin.

Massiv indeksi

Massiv elementi raqami chaqiriladi indeks. Indeks - deb tayinlangan tartib turining qiymati indeks turi bu massiv. Ko'pincha, butun son turi (butun son, so'z yoki bayt) yoki mantiqiy va ramziy bo'lishi mumkin.

Paskalda massivning tavsifi. Paskal filmi uchun massivning turi maxsus so'zning variantiga beriladi massiv(inglizcha - massiv), dasturning ovozi quyidagicha ko'rinadi:

turi< имя _ типа >= T massivi[I];

de I – massiv indeksining turi, T – iogo elementlarining turi.

Ta'riflay olasizmi? turini o'zgartirish massiv, tobto. o‘zgarishlar tavsifini berdi:

Var a, b: massiv [I] ning T;

Indeks turi har qanday tartibli turdagi qiymatlar diapazoni bilan tavsiflanadi: I 1 .. I n . Masalan, indekslar 1..20 yoki "a.."n" oralig'ida o'zgarishi mumkin.

Bu vaqtda Paskal massivi viraz bilan tavsiflanadi:

ord (I n)- ord (I 1)+1.

Masalan, eksa ikki turga ega: Paskalning 10 ta butun sonli massivni ko'rish uchun vektor va 256 belgidan iborat massivni ko'rish uchun satr:

turi
Vektor=butun sonlar massivi;
string = char massivi;

Massiv indeksiga yordam berish uchun siz keyingi bir necha elementlarga o'tishingiz mumkin, u massiv bo'ladimi, eng katta o'zgarishlarga qadar: siz ushbu elementning qiymatini olishingiz, unga to'liq qiymat berishingiz mumkin, vikoristovuvat yogo in. virazah.

Keling, vektor va satr turlarini qanday o'zgartirishni tasvirlab beraylik:

Paskal massivi indeksini hisoblash

Paskalda massiv indeksi aniq ko'rsatilishi shart emas. Massivning indeksi sifatida siz indeks turiga mos keladigan o'zgarishlarni yoki virazni tanlashingiz mumkin. Aks holda, indeksga qarab, uni hisoblashingiz mumkin.

Ushbu mexanizmni dasturlash qiyinroq. Ale vín porodzhuê kengroq kechirim: hisoblash natijasi indeks uchun ruxsat etilgan qiymatlar oralig'idan tashqarida paydo bo'lishi mumkin, shunda namuna mavjud bo'lmagan elementga qaytariladi. qia odatiy kechirim"massivning o'rtasidan" deb nomlanadi.

Paskal massivini kechirish bilan dastur ko'rinishi

Dastur primeri _error;
turi
vektor=so'z massivi;
var
n: butun son
a: vektor;
boshlanishi
n:=45;
a:=25;
oxiri.

Agar dastur filmning sintaksisini takrorlamoqchi bo'lsa va tarjimon "o'tkazib yuboradi" y, matn terish bosqichida Paskal massividan tashqariga chiqish uchun kechirim bo'ladi. n =45 n *2=90 bo'lganda, kompyuter a massiv elementini topishga harakat qiladi, lekin bunday element yo'q, massiv tavsiflarining bo'laklari 80 ga teng.

Azizim, nima Garna dasturi Vaqti-vaqti bilan eslashni oldindan ko'rishingiz mumkin, hayvonni massivning noma'lum elementlariga sinab ko'ring. Biz uni qabul qilmaymiz mumkin bo'lgan chiqish qonunga kelsak, massiv orasidagi chap uchun, agar u qo'shilmagan bo'lsa ham, qiymatni hisoblash natijasida Paskal massivining chegarasi uchun ko'proq topilgan sonni ko'ramiz.

Nima uchun indekslarni o'stirish kerak: dasturchi massiv indekslari bilan ishlashda ehtiyotkorroq bo'lishi kerak.

Paskal massivlari bilan asosiy vazifalar

Ko'rinib turibdiki, ma'lumotlar turiga tayinlangan deb EOMda ichki e'lon qilingan ruxsat etilgan qiymatlar maydonining kichik to'plami, shuningdek ushbu turdagi ma'lumotlar bo'yicha ruxsat etilgan operatsiyalar to'plami tushuniladi. Biz ma'lumotlar turini Paskal massivi sifatida belgilab oldik. Ushbu turdagi ma'lumotlarga qanday operatsiyalar tayinlangan? Bir kuni siz massivlarni bir butun sifatida yutib olishingiz mumkin, bundan tashqari, bu massivlar bir xil turdagi - jalb qilinmaydigan aql uchun kamroq. Xuddi shu turdagi ikkita o'zgarish tasvirlangan dastur kabi, masalan,

Var
a, b: real massiv;

keyin o'zgartirishingiz mumkin a o'zgartirish qiymatini belgilang b(a:=b). Qaysi teri elementi massivi bilan a massivdan boshqa qiymat tayinlanadi b. Paskal massivlarida boshqa barcha amallar elementma-element bajariladi (bu muhim!) .

Paskal massiviga kirish

Massivdagi elementlarning qiymatlarini kiritish uchun indeks qiymatlarini birinchidan oxirgisiga ketma-ket o'zgartirish va ikkinchi elementni kiritish kerak. Ushbu jarayonlarni amalga oshirish uchun tsiklni ma'lum miqdordagi takroriy takrorlashdan qo'lda aylantiring, tobto. oddiy arifmetik sikl, bunda siklning parametri o'zgaruvchan o'zgarish - Paskal massivining indeksi. Elementlarning qiymatlari klaviaturadan kiritilishi yoki tayinlash operatori tomonidan tayinlanishi mumkin.

Paskal massivini kirituvchi dastur fragmentiga misol

Var
A: butun sonlar massivi;
Boshlanishi
i uchun:=1 dan 10 gacha
readln(a[i]); (i-elementni kiritish klaviaturadan amalga oshiriladi)

Endi naqshni ko'rib chiqamiz, agar Paskal massivi avtomatik ravishda naqsh raqamlari bilan to'ldirilgan bo'lsa, buning uchun funksiyadan foydalanishimiz mumkin. tasodifiy (N).

Paskal massivini vipad raqamlari bilan to'ldirish dasturining fragmentiga misol

Var
I: bayt; (I o'zgartirish massiv indeksi sifatida kiritilgan)
Boshlanishi
i uchun:=1 dan 10 gacha
A[i]:=tasodifiy(10); (Masivning i-elementi 0 dan 10 gacha bo'lgan oraliqda "vipadik" raqamga ega bo'lishi kerak)

Paskal massivining ko'rinishi

Paskal massivini ko'rish ham elementma-element bo'lib, siklda amalga oshiriladi, bunda massiv indeksi parametr sifatida ishlatiladi va birinchidan oxirgigacha barcha qiymatlarni ketma-ket qabul qiladi.

Paskal massivini ko'rish uchun dasturning bir qismi

Var
A: butun sonlar massivi;
I: bayt; (I o'zgartirish massiv indeksi sifatida kiritilgan)
Boshlanishi
i uchun:=1 dan 10 gacha
Write(a[i], ""); (Masivni ko'rish teri elementi buzilganidan keyin ketma-ket tartibga solinadi)

Visnovokni tayinlangan indeksdan ustunga qo'shish mumkin. Ammo bunday ruhiy holatda yolg'on gapirish kerak, massivning katta kengayishi bilan barcha elementlar ekranga sig'maydi va aylantirish talab qilinadi, ya'ni. ekranning barcha qatorlarini yopayotganda yuqori element almashtiriladi va yuqori element ekran orqasiga o'tkaziladi.

Paskal massivini stendda ko'rish uchun dastur

Var
A: butun sonlar massivi;
I: bayt; (I o'zgartirish massiv indeksi sifatida kiritilgan)
Boshlanishi
i uchun:=1 dan 10 gacha
WriteIn("a[", i,"]=", a[i]); (stekdagi massivdagi elementlarni ko'rish)

Ekranda biz, masalan, quyidagi ma'nolarni ko'ramiz:

a=2
a=4
a = 1 va boshqalar

Paskal massivlarini tanlash masalalarini yechish misoli

Menejer: ikkita n-uchdan bir vektor berilgan. Ushbu vektorlarning yig'indisini bilib oling.

Vazifalarni hal qilish:

  • Ikkita bir dunyo massivlari bu davlat rahbariga kirish bo'ladi. Rozmír tsikh masivív that, mozhlivo dovílnim, ale pevni. Tobto. Biz Svidomo-ning katta qatorini tasvirlashimiz mumkin va dasturlar qancha elementlarning haqiqatan ham g'alaba qozonishini aniqlaydi. Ushbu massivlarning elementlari katta bo'lishi mumkin. Ta'rif quyidagicha ko'rinadi:

    var a, b: butun sonlar massivi;

  • Chiqish hosil bo'lgan massivning c deb nomlangan elementlari bo'ladi. Olingan massivning turini ham qilim qilib belgilash mumkin.
  • Biz uchta massiv sonini o'zgartirishimiz kerak - sikl parametri va massiv indeksi, i i deb ataladi, shuningdek teri massividagi elementlar sonini aniqlash uchun n ni o'zgartirishimiz kerak.

Topshiriq boshlig'i:

  • massivlar elementlari soni (o'lchami) muhim, n qiymati kiritiladi;
  • a massivni kiriting;
  • b massivni kiriting;
  • siklda, i indeksining qiymatlarini 1 dan n gacha saralab, biz c massivdagi elementlarning qiymatlarini quyidagi formula bo'yicha hisoblab chiqamiz:

    c[i] = a[i] + b[i];

  • massivni ekranda ko'rsatamiz.

Dastur matni:

Dastur p_dsumovuvannya vektor_v ko't

dastur summasi;
Var
a, b, c: butun sonlar massivi;
I, n: bayt;
Boshlanishi
Write ("massiv hajmini kiriting:");
readln(n);
i:=1 uchun n qilish
readln(a[i]); (a massivi bilan tanishish)
i:=1 uchun n qilish
readln(b[i]); (b massivi bilan tanishtirish)
i:=1 uchun n qilish
C[i]:=a[i]+b[i]; (massivlarning hisoblangan yig'indisi)
i:=1 uchun n qilish
yozish (c[i]," "); (h massivini ko'rish)
oxiri.

© 2022 androidas.ru - Android haqida hamma narsa