"Паскальдагы" массив. Паскаль тилинде массивдер үчүн программалар

Мазмуну:

"Паскальдагы" массив. Паскаль тилинде массивдер үчүн программалар
"Паскальдагы" массив. Паскаль тилинде массивдер үчүн программалар
Anonim

Жыл сайын программалоого кызыгуу өсүүдө. Ал эми программаларды жазууга адистешкен мекемелерде алар C++ сыяктуу программалоо тилине таянса, мектептерде жана техникалык окуу жайларында студенттер «Паскаль» менен таанышышат. Бул тилдин негизинде алар Delphi программасын колдонуу аркылуу программалоону түшүнө башташат. Бул программалоо тилдери, алардын элестетүү көрүнүшү үчүн зор мейкиндикти камсыз экенин дароо белгилей кетүү керек. Ал эми Паскаль тилинин жардамы менен программалоонун негизги түшүнүктөрү менен тааныша алсаңыз, Delphiде толук кандуу программа жазууга болот. Ал эми программаларды жазууда абдан маанилүү орунду кээде "Паскальда" массивдерди чечүү ээлейт.

Көптөгөн ар кандай өзгөрмөлөрдүн болушу

Паскальдагы массив
Паскальдагы массив

Программалоо тилинде бир гана маанинин болушу менен мүнөздөлгөн бир топ түрдүү өзгөрмөлөр бар. Алар белгилүү бир түргө ээ болгон бир маанини сактай алышат. Сап өзгөрмөлөрү өзгөчө болуп саналат. Аларкаармандын түрү мүнөздүү болгон маалыматтардын жыйындысы. Бирок мындай өзгөрмөлөр да адатта өзүнчө маанинин абалынан каралат.

Эч кимге жашыруун эмес, компьютердин жардамы менен чоң көлөмдөгү маалыматтарга байланыштуу белгилүү бир иштерди аткаруу убактысын бир топ кыскарта аласыз. Бирок кантип, адамдарга белгилүү болгон өзгөрмөлөрдү гана колдонууда, эстутумда иштин натыйжаларын сактоого, ошондой эле көп сандагы саптарды камтыган маалыматтарды иштетүүгө болобу? Мындай тапшырмалар иш-аракеттин бардык тармагында кеңири таралган.

Албетте, максаттарыңызга жетүү үчүн каалагандай көп өзгөрмө киргизе аласыз. Ошондой эле алар үчүн кээ бир баалуулуктарды аныктай аласыз. Бирок программанын коду мындан гана көбөйөт. Саптары көп болгон кодду окуу кыйын. Өзгөчө каталарды табуу керек болгондо.

Ошого жараша программисттер бул суроонун үстүндө ойлонушту. Мына ошондуктан ушул убакка чейин иштелип чыккан тилдерде чоң көлөмдөгү маалыматтарды сактоого мүмкүндүк берген өзгөрмөлөр бар. "Паскальдагы" массив программалоого болгон мамиледе бир топ өзгөрдү. Ошондуктан, ал программалоо тилинде маанилүү өзгөрмө болуп эсептелет.

Массивдерди колдонуу коддун өлчөмүн кескин түрдө азайтышы мүмкүн

Бул терминдин астында маалыматтардын бир түрү менен мүнөздөлгөн иреттелген ырааттуулугу жашырылган. Мындан тышкары, бул маалыматтардын бардыгы бирдей аталышка ээ. Ошондой эле керекБелгилей кетсек, реалдуу дүйнөнүн көптөгөн объектилери бул аныктамага туура келиши мүмкүн: сөздүктөр, мультфильмдер жана башкалар. Бирок, "Паскальда" массивди көрсөтүүнүн эң оңой жолу таблица түрү. Ар бир уяча бир өзгөрмө камтыйт. Координаталарды колдонуп, өзгөрмөнүн жалпы таблицада ээлеген ордун аныктай аласыз.

Бир өлчөмдүү массив эмнени билдирет?

паскальдагы массивдер
паскальдагы массивдер

Эң жөнөкөй таблица бул сызыктуу таблица. Бул массивде параметрдин ордун аныктоо үчүн бир гана санды көрсөтүү жетиштүү. Алардын негизинде татаал массивдер түзүлөт.

"Паскалда" бир өлчөмдүү массивдерди сүрөттөө үчүн төмөнкү кодду киргизиңиз: Array of.

Сандар иреттүү түргө ээ болгон өзгөрмөлөр. Диапазонду көрсөтүүдө, баштапкы сан акыркы сандан жогору болушу мүмкүн эмес экенин түшүнүү керек. Массив элементтеринин түрү эч нерсе болушу мүмкүн - стандарттуу же мурда сүрөттөлгөн. Тандоо белгилүү бир маселени чечүү зарылдыгына жараша болот.

Сызыктуу массив кантип сүрөттөлөт?

Бир өлчөмдүү массивдерди "Паскальда" дароо сүрөттөөгө болот. Бул атайын жол-жобосу үчүн зарыл болгон атайын бөлүмдө жасалышы керек. Төмөнкү кодду киргизишиңиз керек болот: Var: Array Of.

Сиз массивди Паскальда кантип сүрөттөөгө болорун түшүнүү үчүн төмөнкү кодду киргизишиңиз керек:

- Var

- S, VV: Array[5..50] Of Real;

- K: Массив[‘C’.. ‘R’] Of Integer;

- Z: Массив [-10..10] Word;

- E: Массив [3..30] Чыныгы.

Бул мисалда S, VV жана T өзгөрмөлөрү реалдуу болгон сандардын массивдери. К өзгөрмөсү символдун түрүн жана ошол элементтерди жашырат. Кайсы бүтүн сандар. Z массивинде түрү Word болгон сандар сакталат.

Массив менен иштөөдө колдонула турган бардык аракеттердин ичинен тапшырманы айырмалоого болот. Бүткүл стол ага дуушар болушу мүмкүн. Мисалы, S:=VV. Бирок дайындоо операциялары "Паскалдагы" белгилүү бир типтеги массивге гана дуушар болушу мүмкүн экенин түшүнүү керек.

Бардык массивде бир эле учурда аткарыла турган операциялар жок. Бирок, сиз элементтер менен белгилүү бир түргө ээ болгон башка жай сандар сыяктуу эле иштей аласыз. Жеке параметрге кайрылуу үчүн массивдин атын көрсөтүшүңүз керек. Чарчы кашааларды колдонуу менен сиз каалаган элементке мүнөздүү болгон индексти аныкташыңыз керек. Мисалы: K[12].

Массивдер менен башка өзгөрмөлөр ортосундагы негизги айырмачылыктар

Паскаль массивдери
Паскаль массивдери

Таблица компоненттеринин жөнөкөй өзгөрмөлөрдөн негизги айырмасы кашаага индекстин маанисин гана эмес, ошондой эле керектүү мааниге алып келе турган туюнтманы да коюуга болот. Кыйыр даректин мисалы: V[K]. Бул учурда К өзгөрмөсү белгилүү бир маанини алат. Мынданмассивди толтурууда, иштетүүдө жана басып чыгарууда циклди колдонсоңуз болот.

Уюштуруунун бул формасы касиеттери боюнча Char тибиндеги массивдерге жетиштүү жакын болгон сап өзгөрмөлөрүндө пайда болушу мүмкүн. Бирок айырмачылыктар да бар. Алар төмөнкүдөй:

  1. Сап өзгөрмөлөрүн ар дайым клавиатурадан киргизүүгө жана экранга басып чыгарууга болот.
  2. Сап өзгөрмөлөрүнүн узундугу чектелген. Сиз эң көп 255 белги киргизе аласыз. Массивдин критикалык өлчөмү 64 кб.

Экранда массив маалыматтарын көрсөтүү үчүн кандай ыкмаларды колдонсо болот?

Сиз массивдин мазмунун көрсөтүү ыкмасына көңүл бурушуңуз керек. Бир нечеси бар.

  1. Жазылган (A[1], A[2], A[3]). Мындай мисал, примитивдүү болсо да, таблицага мүнөздүү ар бир жеке элементке кантип түздөн-түз кире ала турганыңызды көрсөтө алат. Бирок, Паскаль массивдеринин жөнөкөй өзгөрмөлөргө караганда айрым артыкчылыктары бул жерде көрүнбөйт.
  2. Program A1;

    Var B: Массив [1..10] Of Integer;

    K: Integer;

    Begin

    К үчүн:=1 10 Do {Бул буйрук }

    Readln(A[K]) параметри менен циклделет; {A[I] клавиатура аркылуу киргизилип жатат }

    К үчүн:=10 1 Downto {Таблица тескери тартипте басылып жатат}

    Write(A[K], 'VVV') Аягы.

"Паскальдагы" массивдер үчүн программанын окшош коду клавиатура аркылуу 10 санды кантип киргизип, аларды басып чыгарып, маанилерди тескери тартипте иретке келтире ала турганыңызды көрсөтөт. Эгерде ошол эле программадан кайра жазылсамассивдин ордуна көп сандагы өзгөрмөлөрдү колдонуу, анда код бир топ көбөйөт. Бул программаны окуу процессин бир топ кыйындатат.

Массивдерди колдонуу аркылуу мүмкүнчүлүктөрдү көбөйтүү

Паскаль тилиндеги массив программасы
Паскаль тилиндеги массив программасы

Таблицаларды элементтин индекстеринин квадратына барабар болгон маанилер менен толтурууга да болот. Ошондой эле «Паскальда» саптардын мындай массивин түзүүгө болот, бул бардык сандарды автоматтык түрдө киргизүүгө мүмкүндүк берет. Көрүнүп тургандай, массивди колдонуу Паскаль программалоо тилинин мүмкүнчүлүктөрүн абдан жакшыртат.

Сызыктуу массивдерди иштетүү ар кандай тапшырмаларда кеңири таралган. Демек, алардын институттарда, окуу жайларда окушунун эч кандай таң калычтуу жери жок. Кошумчалай кетсек, массивдердин мүмкүнчүлүктөрү абдан кенен.

Эки өлчөмдүү массивдердин астында эмне жашырылган?

Сиз бир эле учурда бир нече катардан турган таблицаны элестете аласыз. Ар бир жеке катар бир нече клеткаларды камтыйт. Мындай кырдаалда уячалардын абалын так аныктоо үчүн сызыктуу массивдердегидей бир индексти эмес, сап жана мамычага мүнөздүү болгон эки санды белгилөө зарыл. "Паскалдагы" эки өлчөмдүү массивдер окшош көрсөтүү менен мүнөздөлөт.

Ушундай таблицаларды кантип сүрөттөсө болот?

Паскалдык массивдердин тапшырмалары
Паскалдык массивдердин тапшырмалары

Мындай таблицанын маанилерин сактоо үчүн Паскаль тилиндеги маалымат структурасыэки өлчөмдүү массивдин аты. Мындай массивди сыпаттоо эки ыкманы колдонуу менен дароо мүмкүн болот.

  1. Var B: Массив[1..15] Массивден [1..30] бүтүн сандан;
  2. Var B: Массив [1..15, 1..30] бүтүн сандан.

Бул бардык учурларда 15 сап жана 30 тилкеден турган эки өлчөмдүү массив сүрөттөлөт. Жогоруда келтирилген сыпаттамалар толугу менен эквиваленттүү. Элементтердин кайсынысы менен болбосун иштей баштоо үчүн эки индексти бөлүштүрүү керек. Мисалы, A[6][5] же A[6, 5].

Экранга чыгуу дээрлик бир өлчөмдүү массивдегидей болот. Сиз болгону эки индексти көрсөтүшүңүз керек. Башка баардык жагынан эч кандай айырмачылыктар жок, андыктан бул тууралуу көпкө сөз кылуунун кереги жок.

Биринчи сорттоо жолу

Паскальдагы бир өлчөмдүү массивдер
Паскальдагы бир өлчөмдүү массивдер

Кээде берилиштерди иреттөө керек болуп калат. Бул үчүн тилде тиешелүү буйруктар бар. Паскальда массивди иреттөө үчүн эки алгоритм бар. Түздөн-түз тандоо ыкмасынын мааниси циклди уюп коюу менен ар бир таблица өзгөрмөлөрү башка маанилер менен салыштырыла тургандыгында турат. Башкача айтканда, 15 сандан турган массив бар болсо, анда биринчи саны 1 башка сандар менен салыштырылат. Бул, мисалы, биринчи сандан чоңураак элемент табылганга чейин болот. Андан кийин, салыштыруу дал ушул көрсөткүч менен ишке ашат. Бул эң чоңу табылганга чейин кайталанат.бардык сунуш кылынган элемент. Бул ыкма тилде жаңыдан иштей баштаган программисттер үчүн абдан жөнөкөй.

Экинчи массив сорттоо ыкмасы

Экинчи жол - көбүк. Бул техниканын маңызы кошуна элементтер жуп менен салыштырылат. Мисалы, 1 жана 2, 2 жана 3, 3 жана 4, ж.б.. Табылган маани сорттоо шарттарына толугу менен туура келген учурда, ал бүт массивдин аягына жылдырылат, б.а. "көбүктүн". Бул алгоритмди эстеп калуу эң кыйын. Бирок, аны майдалоонун кереги жок. Эң негизгиси - коддун бүт структурасын түшүнүү. Жана ушундай учурда гана программалоодо чоң бийиктиктерге жетишүүгө болот.

Тыянак

Паскальда массивдерди чечүү
Паскальда массивдерди чечүү

Сиз массивдер эмне экенин жана белгилүү бир маанини табуу же белгилүү бир максатка жетүү үчүн кантип сорттоого болорун түшүндүңүз деп үмүттөнөбүз. Эгерде сиз массивдер маанилүү орунду ээлеген белгилүү бир маселени чечүү үчүн "Паскалды" тандап алган болсоңуз, анда сиз аларды изилдөөгө кылдат мамиле жасашыңыз керек болот. Бул бүтүндөй кодду жөнөкөйлөтүү үчүн белгилүү бир кырдаалдарда колдонулуучу жетиштүү сандагы өзгөрмөлөрдүн тилинде болушу сыяктуу фактордун таасиринде. Массивдер негиздүү чоңдуктар болуп эсептелет, аларды изилдөө сөзсүз жүргүзүлүшү керек.

Сунушталууда: