ҮүсэхКоллеж, их сургуулиуд

"Паскалийн" -д массив. массивын тухай хөтөлбөр "Паскаль"

програмчлалд хүү жил бүр нэмэгдэж байгаа нь. Мөн та бичих хөтөлбөр мөрий байгууллагууд сургууль, коллежид, C ++ зэрэг програмчлалын хэл дээр хийж байгаа мэргэшсэн бол оюутнууд "Паскалийн" гэж танилцуулсан байна. Тэгээд хэл ойлгох үндсэн дээр програм хангамжийн Delphi-ийн програм хангамж ашиглах замаар програмчлалын эхэлнэ. Энэ нь нэн даруй мэдээлэл програмчлалын хэл нь түүний төсөөллийн илрэл нь асар их орон зайг өгөх гэдгийг тэмдэглэх нь зүйтэй. Мөн хэрэв хэл "Паскаль" ашиглан програмчлалын үндсэн ойлголттой байгаа бол, дараа нь Delphi аль хэдийн байж болох бүрэн эрхт програм бичих явдал юм. Тэгээд бичих хөтөлбөрт маш чухал үүрэг заримдаа шийдвэр массивууд "Паскаль" авдаг.

байх нь маш олон тооны өөр өөр хувьсагч

програмчлалын хэл өөр өөр хувьсагч, зөвхөн нэг л утга байлцуулан тодорхойлогддог байгаа нь маш их. Тэд тодорхой төрлийн байх нь нэг утга хадгалах чадвартай байдаг. Нэг бус мөр хувьсагч юм. Тэд мэдээлэл, нь тэмдэгт төрөл шинж цуглуулга юм. Гэвч эдгээр хувьсагчид нь ихэвчлэн албан тушаал нь тус тусад нь үнэ цэнэ гэж үзэж байна.

Энэ нь компьютерийг ашиглан, та ихээхэн мэдээлэл их хэмжээний холбоотой тодорхой ажил гүйцэтгэх хугацааг багасгах ямар ч нууц юм. Гэхдээ хүн бүрийн хувьд мэдсэн зөвхөн хувьсагчуудыг ашиглан та санах таны ажлыг аварч, эгнээ нь олон тооны агуулсан мэдээллийг зохицуулах вэ? Зорилт үйл ажиллагааны аль нэг салбарт нь маш элбэг байдаг.

Мэдээж, энэ нь та өөрийн зорилгодоо хүрэхийн тулд хүсэж байгаа хувьсагчийн тооны нэвтрүүлэх боломж үргэлж байдаг. Энэ нь тэднийг зарим нэг утгыг тодорхойлох нь бас боломжтой байдаг. Гэвч хөтөлбөрийн код нь зөвхөн нэмэгдэх болно. Энэ кодыг байдаг уншихад хэцүү байдаг нь олон тооны эгнээ байна. Ялангуяа та алдааг олох хэрэгтэй үед.

Иймээс програмчид ийм асуулт гэж бодож байна. Өнөөг хүртэл боловсруулагдсан тэдгээр хэл дээр, өөрөө өгөгдлийг асар их хэмжээний хадгалах чадварыг хангах хувьсагч байдаг байгаа юм. "Pascal" маш их массив программчлал хийх арга барил нь өөрчлөгдсөн байна. Тиймийн тул, энэ нь програмчлалын хэл нь чухал хувьсагч гэж үзэж байна.

массивууд ашиглах кодын хэмжээг ихээхэн багасгах боломжтой

Энэ хугацааны өгөгдөл нь захиалсан дарааллыг нуудаг ямар шинж нэг төрөл юм. Үүнээс гадна, эдгээр мэдээлэл нь нэг нэр юм. толь бичиг, хүүхэлдэйн кино, илүү: Энэ нь бас энэ тодорхойлолт нь бодит ертөнц олон обьектуудыг тохирсон болно гэдгийг тэмдэглэх нь зүйтэй. Гэхдээ "Паскалийн" руу хамгийн энгийн массив нь ширээн дээр нь ямар байдлаар илэрхийлэгдэх. хувь хүн гар тус бүр нэг хувьсагч юм. координат ашиглан хувьсах байр суурь, энэ нь нийт хүснэгтийг авч тодорхойлж болно.

Ямар нэг хэмжээст массив хамт өгүүлнэ вэ?

энгийн шугаман нь нэг ширээ байна. Энэ массив дахь, байршил параметрийг тодорхойлохын тулд зөвхөн нэг тоог зааж хангалттай байдаг. Илүү төвөгтэй массив нь тэдний үндсэн дээр бий болж байна.

нэг-хэмжээст массивууд тодорхойлох зорилгоор "Паскалийн" ердөө л дараах кодыг оруулна уу: Санал <нэр төрөл> Array [<тоо хэмжээ>] <элемент Төрөл> байна.

тоо зэрэг дэс төрөл байж болно хувьсагч юм. хүрээг харуулж, энэ нь үрийн дээд зэрэглэлийн байж болохгүй гэдгийг ойлгох нь чухал юм. Санал, массив элементүүд нь үнэхээр ямар ч байж болно байх - стандарт буюу өмнө нь тайлбарласан ч. сонголт нь тухайн асуудлыг шийдэхийн тулд шаардлагатай хамаарна.

Хэрхэн шугаман массив тодорхойлолт вэ?

Энэ нь шууд "Паскалийн" -д нэг хэмжээст массивууд тайлбарлах боломжтой юм. Энэ нь тусгай хэсэгт энэ тодорхой горимын дагуу шаардагдах юм хийж байх ёстой. Array [<тоо хэмжээ>] <төрөл сонгосон зүйлийн> нь: <хувьсагчийн> VAR: Та дараах кодыг оруулах шаардлагатай.

тулд тулд "Паскаль" дараах кодыг оруулна массивыг хэрхэн тайлбарлах ойлгох нь:

- Var

- S, В.В.: Array [5..50] Real нь;

- K: Array [ 'C' .. 'R'] бүхэл тоо нь;

- Z: Array [-10..10] үг,

- E: Array [3..30] жинхэнэ нь.

Энэ жишээн дээр, хувьсагч S, В.В. Т эдгээр тоо, бодит байгаа нь массив юм. хувьсах тэмдэгт төрөл, элемент дор нуугдаж байна. Аль бүхэл тоо байдаг. массив Z хадгалагдаж тоо, төрөл нь Word байна.

массив ажиллаж байхдаа ашиглаж болно үйл ажиллагааны дунд, та даалгавраа сонгож болно. Тэр бүхэлд нь бүхэлд нь ширээн дээр тавьж болно. Жишээ нь, S: = В.В.. Гэхдээ энэ даалгавар нь үйл ажиллагаа нь зөвхөн массив нь "Паскалийн", тодорхой төрлийг байна өртөж болно гэдгийг ойлгох нь чухал юм.

нэг дор бүхэлд нь массивыг илчилж чадах ямар ч илүү үйл ажиллагаа. Гэсэн хэдий ч, та бусад ижил зарчмаар элементийн хамтран ажиллах болно Ерөнхий тоо тодорхой төрлийг байх. Тухайн параметрийн давж заалдах тулд, энэ нь массивт нэрийг зааж өгөх шаардлагатай байдаг. ашиглах замаар дөрвөлжин хаалтанд-ийн индекс, хүссэн зүйлийн шинж юм тодорхойлох шаардлагатай байна. Жишээ нь: K [12].

бусад хувьсагчдын массиваас гол ялгаа

хүснэгтийн бүрэлдэхүүн хэсгүүдийн хоорондын үндсэн ялгаа нь хаалтанд энэ индекс нь зөвхөн үнэ, гэхдээ бас илэрхийлэх, хүссэн үнэ хүргэнэ хүргэх боломжтой гэдгийг энгийн хувьсагч гэж үзэж болно. шийдвэрлэхэд шууд бус байдлаар байж болох жишээг дараахаас: V [K]. ийн хувьсагч K тодорхой утга авдаг. Эндээс та дүүргэлт мөчлөг, үйл явцыг ашиглан массивыг хэвлэж болно гэсэн үг юм.

зохион байгуулалтын энэ хэлбэр нь олон нийтийн шинж хангалттай ойрхон байна мөр хувьсагч, төрөл нуураас тохиолдолд олж болно. Гэхдээ ялгаатай байдаг. Үунд:

  1. Мөр хувьсагч үргэлж дэлгэц, хэвлэмэл дээр гар нь орж болно.
  2. Мөр хувьсагч урттай хязгаарлагдмал байна. Та 255 тэмдэгт дээд тал нь оруулж болно. Энэ нь маш чухал ном массив нь 64 KB гэж үзэж байна.

ямар ч арга ашиглан дэлгэцэн дээр массив мэдээллийг гарган авч болох вэ?

Анхаар дэлгэц дээр арга массив гаралт агуулгыг төлсөн байх ёстой. Хэд хэдэн Тэдний байна.

  1. Writeln (A [1], A [2], A [3]). Энэ жишээ нь, болхи боловч, нэг бие даасан элемент нь угаасаа ширээн бүрт шууд хамаарна хэрхэн харуулах боломжтой юм. Гэсэн хэдий ч, давуу тал зарим нь тэр хэл дээр нь "Паскаль" -д массив нь энгийн хувьсагч нь энд харагдаж байна.
  2. Хөтөлбөрийн A1;
    Var Б: Array [1..10] бүхэл тоо нь;
    K: Integer;
    эхлэх
    K нь: = 1 10 хийх {Энэ баг нь мөчлөг параметрийг зохион байгуулдаг}
    Readln (A [K]); {Захиргаанд байгаа гар аргаар бий болсон [би]}
    K нь: = 1 10 Downto Do {урвуу дарааллаар хүснэгт жагсаалт байдаг}
    Бичих (A [K] "VVV ')
    Төгсгөл.

"Паскалийн" -д массивын дээр Ийм хөтөлбөр код яаж товчлуур урвуу дарааллаар утгыг зохицоог, тэднийг хэвлэж, 10 дугаар орох ашиглаж болно харуулж байна. Мөн хөтөлбөр нь оронд массивын хувьсагчийн тооны хэмжээгээр дахин бичигдсэн бол код нь ихээхэн нэмэгдэх болно. Энэ нь нэлээд хөтөлбөр унших үйл явцыг төвөгтэй болгодог.

улмаас массивын ашиглах чадавхийг нэмэгдүүлэх

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

Боловсруулах мөрийн массив нь үүрэг даалгавар нь төрөл бүрийн маш элбэг байдаг. Тиймээс тэд коллеж, сургуульд суралцаж байгаа нь үнэндээ хачирхалтай зүйл байхгүй байна. массивууд хийх боломж гадна хангалттай өргөн цар хүрээтэй байдаг.

Ямар хоёр хэмжээст массив дор нуугдаж байна вэ?

Ийм нэг ширээ, хэдхэн мөр юм төсөөлж болно. Бүр нэг мөрийн олон эсийг байна. эгнээ багана нь тодорхой байдаг тоо - Ийм нөхцөл байдалд үнэн зөв эсийн байрлалыг тодорхойлохын тулд энэ нь тийм биш нэг индекс, шугаман массивын, хоёр тохиолдол байсан гэж тэмдэглэх нь зүйтэй. Ийм ойлголт "Паскалийн" -д хоёр хэмжээст массивын тодорхойлогдоно.

Энэ төрлийн хүснэгтийн тайлбарыг хэрхэн хийх вэ?

Энэ хүснэгтийн үнэ цэнийг хадгалахын тулд хэлний "Паскаль" олж байгаа өгөгдлийн бүтэц нь хоёр хэмжээст массив гэж нэрлэдэг. Энэ массив тайлбар даруй хоёр аргыг хэрэглэж болох юм.

  1. Var Б: Array [1..15] Array [1..30] бүхэл тоо нь нь;
  2. Var Б: Array [1..15, 1..30] бүхэл тоо нь.

Энэ тохиолдолд бүх онд хоёр хэмжээст массивыг, 15 мөр, 30 багана байна тайлбарлах болно. Дээр өгөгдсөн Эдгээр тайлбарууд, туйлын ижил юм. элементүүдийн аль нэг нь ажиллаж эхлүүлэхийн тулд хоёр индекс хуваарилсан байх хэрэгтэй. Жишээ нь, [6] [5], эсвэл [6,5].

Дэлгэц гаралт нэг хэмжээст массив хувьд бараг адил байх болно. Та зөвхөн хоёр индексийг зааж өгөх хэрэгтэй. гэх мэт бусад бүх ялгаатай нь байхгүй байна, тийм болохоор нь урт удаан хугацааны шаардлагатай биш юм энэ тухай ярьж байна.

Та түүгээр нь эрэмбэлж болно Эхний арга

Заримдаа та мэдээллийг эрэмбэлэх хэрэгтэй. хэл Үүнийг хийхийн тулд тушаалууд байдаг. Хоёр алгоритмууд, "Паскаль" ялгах массив дахь хийж болно байдаг. шууд сонгох аргын утга бүрэн бүрт хувьсагч мөчлөг хүснэгтийг оруулах бусад үнэт зүйлс харьцуулахад болно гэдэгт оршино. Өөрөөр хэлбэл, 15 тоо нь массив байгаа бол, эхний 1 тоо нь бусад тооны харьцуулалт журмыг авч болно. Энэ нь жишээ нь, элемент эхний тооноос их олж байгаа бол, мөч хүртэл гарч болно. Дараа нь харьцуулалт яг үзүүлэлт байх болно. Тиймээс та бүх санал болгож буй хамгийн агуу элементийг олж хүртэл цаг хүртэл давтаж болно. Энэ арга нь зөвхөн хэлээр ажиллаж эхэлсэн тэдгээр програм нь хангалттай хялбар юм.

Хоёр дахь массив нь ялгах арга

Хоёр дахь арга нь - нь хөөс. Энэ аргын мөн чанар нь зэргэлдээ хос нь харьцуулалт байдаг гэдэгт оршино. Жишээ нь, 1, 2, 2, 3, 3, 4, гэх мэт. Д. тохиолдолд олж авсан утга ялгах нөхцөлд бүрэн тохирох болно, дараа нь бүхэлд нь массивын төгсгөл хүртэл шилжих болно R. F. "хөөс" гэж гарч . Энэ алгоритм санаж байх хамгийн хэцүү байдаг. Гэсэн хэдий ч, үүнийг цээжлэх байхгүй байна. Хамгийн гол нь кодын бүх бүтцийг ойлгоход оршино. Тэгээд л дараа нь програмчлалд маш их өндрийг хүрэхийн тулд шаардаж болно.

дүгнэлт

Бид танд массивууд, түүнчлэн та тодорхой утгыг олохын тулд цэгцэлж, эсвэл тодорхой нэг зорилгодоо хүрэхийн тулд чадах арга замыг юуг ойлгох гэж найдаж байна. Хэрэв та тодорхой асуудал "Паскаль" нь чухал байр эзэлж массивууд шийдэхийн тулд сонгосон бол, дараа нь тэдгээрийг сайтар явах хэрэгтэй судлах. Энэ нь бүхэлдээ кодын бүх хялбарчлахын тулд тодорхой нөхцөл байдалд ашиглаж байгаа хувьсагчийн хангалттай олон тооны хэл байлцуулан зэрэг хүчин нөлөөлдөг. Массив үндсэн утга нь байх ёстой гэж үздэг, судалгаа заавал байх ёстой.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 mn.unansea.com. Theme powered by WordPress.