ყოველწლიურად იზრდება ინტერესი პროგრამირების მიმართ. და თუ პროგრამების წერის სპეციალიზებულ დაწესებულებებში ისინი ეყრდნობიან ისეთ პროგრამირების ენას, როგორიცაა C ++, მაშინ სკოლებში და ტექნიკურ სკოლებში სტუდენტები ეცნობიან "პასკალს". და უკვე ამ ენის საფუძველზე, ისინი იწყებენ პროგრამირების გააზრებას Delphi პროგრამული უზრუნველყოფის გამოყენებით. დაუყოვნებლივ უნდა აღინიშნოს, რომ ეს პროგრამირების ენები უზარმაზარ სივრცეს უქმნის მათი ფანტაზიის გამოვლინებას. და თუ პასკალის ენის დახმარებით შეგიძლიათ გაეცნოთ პროგრამირების ძირითად ცნებებს, მაშინ დელფში უკვე შეგიძლიათ დაწეროთ სრულფასოვანი პროგრამა. და საკმაოდ მნიშვნელოვანი ადგილი პროგრამების წერაში ზოგჯერ "პასკალში" მასივების ამოხსნას უკავია.
დიდი რაოდენობით ძალიან განსხვავებული ცვლადების არსებობა
პროგრამირების ენაში საკმაოდ ბევრი სხვადასხვა ცვლადია, რომლებიც ხასიათდება მხოლოდ ერთი მნიშვნელობის არსებობით. მათ შეუძლიათ შეინახონ ერთი მნიშვნელობა, რომელსაც აქვს გარკვეული ტიპი. სიმებიანი ცვლადები გამონაკლისია. Ისინი არიანარის იმ მონაცემების კრებული, რომლისთვისაც დამახასიათებელია პერსონაჟის ტიპი. მაგრამ ასეთი ცვლადებიც კი ჩვეულებრივ განიხილება ცალკეული მნიშვნელობის პოზიციიდან.
არავის საიდუმლო არ არის, რომ კომპიუტერის დახმარებით თქვენ შეგიძლიათ მნიშვნელოვნად შეამციროთ გარკვეული სამუშაოს შესრულების დრო, რომელიც დაკავშირებულია დიდი რაოდენობით მონაცემებთან. მაგრამ როგორ, მხოლოდ იმ ცვლადების გამოყენებისას, რომლებსაც აქვთ ადამიანებისთვის ცნობილი ტიპები, არის შესაძლებელი მუშაობის შედეგების მეხსიერებაში შენახვა და ასევე იმ მონაცემების დამუშავება, რომლებიც შეიცავს რიგების დიდ რაოდენობას? ასეთი ამოცანები საკმაოდ ხშირია საქმიანობის ნებისმიერ სფეროში.
რა თქმა უნდა, ყოველთვის შეგიძლიათ შეიყვანოთ იმდენი ცვლადი, რამდენიც გჭირდებათ თქვენი მიზნების მისაღწევად. თქვენ ასევე შეგიძლიათ განსაზღვროთ გარკვეული მნიშვნელობები მათთვის. მაგრამ პროგრამის კოდი მხოლოდ აქედან გაიზრდება. ძნელია წაიკითხო კოდი, რომელსაც აქვს ხაზების დიდი რაოდენობა. განსაკუთრებით მაშინ, როდესაც საჭიროა შეცდომების პოვნა.
შესაბამისად, პროგრამისტები დაფიქრდნენ ამ კითხვაზე. სწორედ ამიტომ, აქამდე შემუშავებულ ენებს აქვთ ისეთი ცვლადები, რომლებიც შესაძლებელს ხდის უზარმაზარი რაოდენობის მონაცემების შენახვას საკუთარ თავში. მასივი "პასკალში" ძალიან შეიცვალა პროგრამირების მიდგომაში. ამიტომ, იგი ითვლება მნიშვნელოვან ცვლადად პროგრამირების ენაში.
მაივების გამოყენებამ შეიძლება მკვეთრად შეამციროს კოდის ზომა
ამ ტერმინის ქვეშ იმალება მონაცემთა მოწესრიგებული თანმიმდევრობა, რომელიც ხასიათდება ერთი ტიპის მიხედვით. გარდა ამისა, ყველა ამ მონაცემს იგივე სახელი აქვს. ასევე უნდაუნდა აღინიშნოს, რომ რეალური სამყაროს მრავალი ობიექტი შეიძლება მოერგოს ამ განმარტებას: ლექსიკონები, მულტფილმები და მრავალი სხვა. თუმცა, „პასკალში“მასივის წარმოდგენის ყველაზე მარტივი გზა არის ერთგვარი ცხრილის სახით. თითოეული ცალკეული უჯრედი შეიცავს ერთ ცვლადს. კოორდინატების გამოყენებით შეგიძლიათ განსაზღვროთ ცვლადის პოზიცია, რომელსაც ის დაიკავებს ზოგად ცხრილში.
რას ნიშნავს ერთგანზომილებიანი მასივი?
უმარტივესი ცხრილი არის ის, რომელიც წრფივია. ამ მასივში, პარამეტრის ადგილმდებარეობის დასადგენად, საკმარისია მხოლოდ ერთი რიცხვის მითითება. მათზე დაყრდნობით უფრო რთული მასივები იქმნება.
ერთგანზომილებიანი მასივების აღსაწერად "პასკალში", უბრალოდ შეიყვანეთ შემდეგი კოდი: ჩაწერეთ Array of.
რიცხვები არის ის ცვლადები, რომლებსაც შეიძლება ჰქონდეთ რიგითი ტიპი. დიაპაზონის მითითებისას, ღირს იმის გაგება, რომ საწყისი რიცხვი არ შეიძლება იყოს უფრო მაღალი ვიდრე საბოლოო. მასივის ელემენტების ტიპი შეიძლება იყოს აბსოლუტურად ნებისმიერი - სტანდარტული ან უკვე ადრე აღწერილი. არჩევანი დამოკიდებული იქნება კონკრეტული პრობლემის გადაჭრის საჭიროებაზე.
როგორ არის აღწერილი წრფივი მასივი?
შესაძლებელია დაუყოვნებლივ აღწეროთ ერთგანზომილებიანი მასივები "პასკალში". ეს უნდა გაკეთდეს სპეციალურ განყოფილებაში, რომელიც აუცილებელია ამ კონკრეტული პროცედურისთვის. თქვენ უნდა შეიყვანოთ შემდეგი კოდი: Var: Array Of.
იმისათვის, რომ გაიგოთ, თუ როგორ შეგიძლიათ აღწეროთ მასივი პასკალში, უნდა შეიყვანოთ შემდეგი კოდი:
- ვარ
- S, VV: მასივი[5..50] რეალური;
- K: მასივი ['C'.. 'R'] მთელი რიცხვი;
- Z: მასივი [-10..10] Word;
- E: მასივი [3..30] რეალური.
ამ მაგალითში, ცვლადები S, VV და T არის იმ რიცხვების მასივი, რომლებიც რეალურია. ცვლადი K მალავს სიმბოლოს ტიპს და ამ ელემენტებს. რომლებიც მთელი რიცხვებია. Z მასივი ინახავს რიცხვებს, რომელთა ტიპია Word.
ყველა მოქმედებას შორის, რომელიც შეიძლება გამოყენებულ იქნას მასივთან მუშაობისას, შეიძლება გამოირჩეოდეს დავალება. მთელი ცხრილი შეიძლება დაექვემდებაროს მას. მაგალითად, S:=VV. მაგრამ უნდა გვესმოდეს, რომ მინიჭების ოპერაციები შეიძლება დაექვემდებაროს მხოლოდ მასივს "პასკალში", რომელსაც აქვს გარკვეული ტიპი.
აღარ არის ოპერაციები, რომლებიც შეიძლება შესრულდეს მთელ მასივზე ერთდროულად. თუმცა, თქვენ შეგიძლიათ იმუშაოთ ელემენტებთან ისევე, როგორც სხვა მარტივ რიცხვებთან, რომლებსაც აქვთ გარკვეული ტიპი. ცალკეულ პარამეტრზე მითითების მიზნით, თქვენ უნდა მიუთითოთ მასივის სახელი. კვადრატული ფრჩხილების გამოყენებით, თქვენ უნდა განსაზღვროთ სასურველი ელემენტისთვის დამახასიათებელი ინდექსი. მაგალითად: K[12].
მთავარი განსხვავებები მასივებსა და სხვა ცვლადებს შორის
ძირითადი განსხვავება ცხრილის კომპონენტებსა და მარტივ ცვლადებს შორის არის ის, რომ შესაძლებელია ფრჩხილებში ჩასვათ არა მხოლოდ ინდექსის მნიშვნელობა, არამედ ისეთი გამოხატულება, რომელიც შეიძლება გამოიწვიოს სასურველ მნიშვნელობამდე. არაპირდაპირი მიმართვის მაგალითი შეიძლება იყოს: V[K]. ამ შემთხვევაში ცვლადი K იღებს გარკვეულ მნიშვნელობას. Აქედანაქედან გამომდინარეობს, რომ შეგიძლიათ გამოიყენოთ ციკლი მასივის შევსების, დამუშავებისა და დაბეჭდვისას.
ორგანიზაციის ეს ფორმა შეიძლება მოხდეს სიმებიანი ცვლადების შემთხვევაში, რომლებიც თავიანთი თვისებებით საკმარისად ახლოს არიან Char ტიპის მასივებთან. მაგრამ ასევე არის განსხვავებები. ისინი შემდეგია:
- სიმებიანი ცვლადები ყოველთვის შეიძლება შეიყვანოთ კლავიატურიდან და დაიბეჭდოთ ეკრანზე.
- სტრიქონის ცვლადები შეზღუდულია სიგრძით. შეგიძლიათ შეიყვანოთ მაქსიმუმ 255 სიმბოლო. მასივის კრიტიკული ზომაა 64 კბ.
რა მეთოდები შეიძლება გამოვიყენოთ მასივის მონაცემების ეკრანზე გამოსაჩენად?
ყურადღება უნდა მიაქციოთ მასივის შიგთავსის ჩვენებას. არის რამდენიმე.
- დაწერე (A[1], A[2], A[3]). ასეთ მაგალითს, თუმცა პრიმიტიული, შეუძლია აჩვენოს, თუ როგორ შეგიძლიათ პირდაპირ წვდომა ცხრილის თანდაყოლილ თითოეულ ცალკეულ ელემენტზე. თუმცა, ზოგიერთი უპირატესობა, რომელიც პასკალის მასივებს აქვთ მარტივ ცვლადებთან შედარებით, აქ არ ჩანს.
-
პროგრამა A1;
Var B: მასივი [1..10] მთელი რიცხვი;
K: მთელი რიცხვი;
დაწყება
K:=1-დან 10-მდე Do {ეს ბრძანება მარყუჟებს პარამეტრს }
Readln(A[K]); {A[I] შეყვანილია კლავიატურის გამოყენებით }
For K:=10 Downto 1 Do {ცხრილი იბეჭდება საპირისპირო თანმიმდევრობით}
Write(A[K], 'VVV') დასრულება.
პროგრამის მსგავსი კოდი მასივებისთვის "პასკალში" გვიჩვენებს, თუ როგორ შეგიძლიათ შეიყვანოთ 10 რიცხვი კლავიატურის გამოყენებით, ამობეჭდოთ ისინი, გადაანაწილოთ მნიშვნელობები საპირისპირო მიზნით. თუ იგივე პროგრამა გადაწერილიამასივის ნაცვლად ცვლადების დიდი რაოდენობის გამოყენებით, მაშინ კოდი მნიშვნელოვნად გაიზრდება. და ეს მნიშვნელოვნად ართულებს პროგრამის წაკითხვის პროცესს.
შესაძლებლობების გაზრდა მასივების გამოყენებით
ასევე შესაძლებელია ცხრილების შევსება ელემენტების ინდექსების კვადრატის ტოლი მნიშვნელობებით. ასევე შესაძლებელია „პასკალში“სტრიქონების ისეთი მასივის შექმნა, რომელიც ყველა რიცხვის ავტომატურად შეყვანის საშუალებას მოგცემთ. როგორც ხედავთ, მასივის გამოყენება მნიშვნელოვნად ზრდის პასკალის პროგრამირების ენის შესაძლებლობებს.
წრფივი მასივების დამუშავება ძალიან გავრცელებულია სხვადასხვა ამოცანებში. ამიტომ, არაფერია უცნაური იმაში, რომ მათ სწავლობენ ინსტიტუტებსა და სკოლებში. გარდა ამისა, მასივების შესაძლებლობები საკმაოდ ფართოა.
რა იმალება ორგანზომილებიანი მასივების ქვეშ?
შეგიძლიათ წარმოიდგინოთ ცხრილი, რომელიც შედგება ერთდროულად რამდენიმე მწკრივისაგან. თითოეული ცალკეული მწკრივი შეიცავს რამდენიმე უჯრედს. ასეთ ვითარებაში უჯრედების პოზიციის ზუსტად დასადგენად საჭიროა არა ერთი ინდექსის აღნიშვნა, როგორც ეს იყო ხაზოვანი მასივების შემთხვევაში, არამედ ორი - რიცხვები, რომლებიც დამახასიათებელია მწკრივისა და სვეტისთვის. ორგანზომილებიანი მასივები "პასკალში" ხასიათდება მსგავსი წარმოდგენით.
როგორ აღვწეროთ ამ ტიპის ცხრილები?
მონაცემთა სტრუქტურა, რომელიც გვხვდება პასკალის ენაში, ასეთი ცხრილის მნიშვნელობების შესანახად არისორგანზომილებიანი მასივის სახელი. ასეთი მასივის აღწერა შესაძლებელია დაუყოვნებლივ ორი მეთოდის გამოყენებით.
- Var B: მასივი[1..15] მასივი [1..30] მთელი რიცხვი;
- Var B: მასივი [1..15, 1..30] მთელი რიცხვი.
ყველა ამ შემთხვევაში აღწერილია ორგანზომილებიანი მასივი, რომელსაც აქვს 15 მწკრივი და 30 სვეტი. ზემოთ მოყვანილი აღწერილობები აბსოლუტურად ექვივალენტურია. რომელიმე ელემენტთან მუშაობის დასაწყებად საჭიროა ორი ინდექსის გამოყოფა. მაგალითად, A[6][5] ან A[6, 5].
ეკრანის გამოსავალი იქნება თითქმის იგივე, რაც ერთგანზომილებიანი მასივის შემთხვევაში. თქვენ მხოლოდ უნდა მიუთითოთ ორი ინდექსი. ყველა სხვა ასპექტში, როგორც ასეთი, არ არსებობს განსხვავებები, ამიტომ არ არის საჭირო ამაზე დიდხანს საუბარი.
დახარისხების პირველი გზა
ზოგჯერ ხდება საჭირო მონაცემების დახარისხება. ამისთვის ენას აქვს შესაბამისი ბრძანებები. არსებობს ორი ალგორითმი, რომლითაც მასივი შეიძლება დახარისხდეს პასკალში. პირდაპირი შერჩევის მეთოდის მნიშვნელობა მდგომარეობს იმაში, რომ მარყუჟის ბუდობით, აბსოლუტურად ყველა ცხრილის ცვლადი შედარდება სხვა მნიშვნელობებთან. სხვა სიტყვებით რომ ვთქვათ, თუ არსებობს 15 რიცხვის მასივი, მაშინ პირველი ნომერი 1 შედარდება სხვა რიცხვებთან. ეს მოხდება მანამ, სანამ, მაგალითად, არ მოიძებნება ელემენტი, რომელიც აღემატება პირველ რიცხვს. შემდგომში შედარება მოხდება ზუსტად ამ ფიგურაში. ეს განმეორდება მანამ, სანამ ყველაზე დიდი არ მოიძებნება.ელემენტი ყველა შემოთავაზებულიდან. ეს მეთოდი საკმაოდ მარტივია იმ პროგრამისტებისთვის, რომლებმაც ახლახან დაიწყეს ენაზე მუშაობა.
მასივის დახარისხების მეორე მეთოდი
მეორე გზა არის ბუშტი. ამ ტექნიკის არსი მდგომარეობს იმაში, რომ მეზობელი ელემენტები შედარებულია წყვილებში. მაგალითად, 1 და 2, 2 და 3, 3 და 4 და ა.შ. იმ შემთხვევაში, თუ ნაპოვნი მნიშვნელობა სრულად შეესაბამება დახარისხების პირობებს, ის გადავა მთელი მასივის ბოლოს, ანუ გამოჩნდება, როგორც "ბუშტი". ეს ალგორითმი ყველაზე რთული დასამახსოვრებელია. თუმცა, თქვენ არ გჭირდებათ მისი დაფქვა. მთავარია კოდის მთელი სტრუქტურის გაგება. და მხოლოდ ამ შემთხვევაში შეიძლება თქვას, რომ მიაღწიე დიდ სიმაღლეებს პროგრამირებაში.
დასკვნა
ვიმედოვნებთ, გესმით რა არის მასივები და როგორ შეგიძლიათ დაალაგოთ კონკრეტული მნიშვნელობის პოვნა ან კონკრეტული მიზნის მისაღწევად. თუ კონკრეტული პრობლემის გადასაჭრელად აირჩიეთ „პასკალი“, რომელშიც მნიშვნელოვანი ადგილი უჭირავს მასივებს, მაშინ მათ შესწავლას საფუძვლიანად უნდა მიუდგეთ. ამაზე გავლენას ახდენს ისეთი ფაქტორი, როგორიც არის ენაში საკმარისად დიდი რაოდენობის ცვლადების არსებობა, რომლებიც გამოიყენება გარკვეულ სიტუაციებში მთლიანი კოდის გასამარტივებლად. მასივები სამართლიანად განიხილება ძირითად სიდიდეებად, რომელთა შესწავლა უნდა მოხდეს უშეცდომოდ.