ᲙომპიუტერებიᲞროგრამირების

Პროგრამირება. ძირითადი ალგორითმული ნაგებობები

იმისათვის, რომ შექმნათ რაიმე პროგრამების საჭირო ძირითადი ალგორითმული დიზაინი. შემდეგ არის მარტივი ვარიანტი პრობლემის გადაჭრის. იგი შეიძლება გამოყენებულ იქნას, მაგალითად, ოპერაციის ერთგვაროვანი მაგალითები. არსებობს სხვა სახის: განშტოების და loop. ეს იქნება დაფარული ამ სტატიაში. მაგრამ პირველი თქვენ უნდა გვესმოდეს, რა არის ალგორითმი კულტურას.

ალგორითმი

სიტყვა "ალგორითმი" მოვიდა ლათინური algoritmi. რას ნიშნავს ეს? ავთენტური სიტყვა მომდინარეობს სახელი მათემატიკა, საქმიანობა, რომელიც მოხდა IX საუკუნეში. იმის გამო, ტრაქტატი al Khorezmi კაცობრიობის შეიძლება გაეცნოს ძირითადი ტიპის ალგორითმული დიზაინი და საერთოდ ზოგადი კონცეფცია.

მანამდე სახით ორთოგრაფიული მიღებულ იქნა - "ალგორითმი". ახლა ის გამოიყენება მხოლოდ გარკვეულ შემთხვევებში.

ალგორითმი - პროცესი, რაც იმას ნიშნავს ორიგინალური მონაცემები, რაც ხდება დისკრეტული ნაბიჯები. ამ კონცეფციის, თითოეულ ადამიანს წინაშე ცხოვრებაში, ვინც იყო. ალგორითმები შეიძლება შეფასდეს, როგორც ჩაი და საკვები, გამრავლება ან ამისა, გადაწყვეტა განტოლებები, და ასე შემდეგ. D. ყველა ტექნიკა, რომელთა სამუშაო პროცესი ავტომატიზირებულია, მუშაობს მეშვეობით ნათელი ნაბიჯები გათვალისწინებული პროცესორი მეხსიერება. ასეთი ალგორითმები უწოდებენ საყოფაცხოვრებო. არსებობს სხვა სახის. მოდი, ვნახოთ, მათ.

სახის ალგორითმები

ძირითადი ალგორითმული სტრუქტურების იყოფა რამდენიმე ტიპის, რომელიც განხილული იქნება ამ პუნქტით. რა არიან ისინი?

  1. ინფორმაცია. ასეთი ალგორითმის მუშაობის დიდი რაოდენობით მონაცემები, მაგრამ მტკნარი მოცულობა დამუშავების მცირე სიგრძის და მარტივია.
  2. კონტროლი. ოპერაციის ასეთი ალგორითმები არის დაკავშირებული ინფორმაცია, რომელიც ხელმისაწვდომია კონკრეტული წყარო. მიღების გაგზავნილი სპეციალური სიგნალებს უზრუნველყოს მოწყობილობების.
  3. Computing. განსხვავებით ინფორმაცია ალგორითმები აღწერილი მუშაობის მცირე რაოდენობით მონაცემები, მაგრამ წარმოების დიდი მუშაობის პროცესში.

ფაქტია, რომ ალგორითმი არის ზუსტი, რომ პატარა დეტალი დავალებით. თუმცა, ყველა ასეთი მონაცემები შეიძლება ეწოდოს განმარტავს კონცეფცია. უნდა გვესმოდეს, რომ ალგორითმი ინსტრუქცია თუ არა, რომ უნდა შემოწმდეს ყოფნა გარკვეული თვისებები.

თვისებები ალგორითმები

ყველა ძირითადი ალგორითმული დიზაინი უნდა ჰქონდეს ქმედებები, რომ ისინი "ემორჩილება". მიგვაჩნია, რომ ეს საკითხი უფრო დეტალურად.

თუ სრულად აკონტროლოთ შესრულების ალგორითმები და მათი თვისებები, თქვენ ხედავთ, რომ არ არის აუცილებელი, მესმის მათი შემადგენელი, აშკარად საკმარისი, რათა შეწყობოდა გეგმა. სწორი შედეგი არის მიღებული, მაშინაც კი, თუ თქვენ მხოლოდ გამყარებაში სასურველი მექანიკური ქმედება. აქედან გამომდინარე, შეგვიძლია დავასკვნათ, რომ იმის გამო, რომ ნაკლებობა მნიშვნელობა ცნობიერების საქმიანობის, ალგორითმი არის გამორიცხული, რომ გადაიხადოს განხორციელების კომპიუტერი. სხვა სიტყვებით, ავტომატური მოწყობილობები მოითხოვს ხელმისაწვდომობის ამ პროცესში.

რა თვისებები უნდა ჰქონდეს ძირითადი ალგორითმული დიზაინი მაქსიმალური სიზუსტით მუშაობს?

  1. შეცნობადი. თითოეული გუნდი უნდა იყოს, როგორც მკაფიო გაშვებული ობიექტი. როგორც ჩანს, არაფერი არ არის ადვილი, ვიდრე, მაგალითად, მიაპყროს dot ცენტრში, არ არის, მაგრამ ეს არ ყოფილა გუნდი, რომელიც შეასრულოს მოქმედება, ის არ შეიძლება გაკეთდეს.
  2. ეფექტურობა. რაც იმას ნიშნავს, რომ ეს ქონება? საჭირო მიიღოს შედეგი. ალგორითმი არ შეიძლება, მაგრამ გამოიწვიოს გარკვეული პასუხი. შეცდომის გამო, შეგიძლიათ მიიღოთ არასწორი შედეგი, რომ სასურველი, მაგრამ იგი. უფრო მეტიც, პასუხი უნდა მიიღო მას შემდეგ, გარკვეული რაოდენობის ნაბიჯები.
  3. Mass. ნებისმიერი ალგორითმი უნდა იყოს მოქმედი ნებისმიერი კლასის პრობლემები. მათ შორის ისინი შეიძლება განსხვავდებოდეს შეტანილი მონაცემები.
  4. რეალობაა. ყოველი ქმედება უნდა ჰქონდეს მხოლოდ ერთი მნიშვნელობა აქვს, და არ მისცეს შესაძლებლობა წარმოებული დეშიფრაციის. იდეალურად, არ აქვს მნიშვნელობა, თუ რამდენად პროგრამის განხორციელება დაიწყო, შედეგი უნდა იყოს იგივე დროს.
  5. დისკრეტული. ალგორითმი - თანმიმდევრული განხორციელების ნაბიჯები. ყოველი ნაბიჯი არის ბრძანება გამოტოვება ან ახალი პირობა არ შეუძლია.
  6. სისწორე. ნებისმიერი ალგორითმი, რომელიც გამოიყენება ნებისმიერი სახის ამოცანები, უნდა იყოს სწორი ყველასთვის. პროგრამირებაში, ხშირად არის პრობლემები, რომლებიც არ არიან წერილობით ნაბიჯები, რომლებიც ხშირად არ მოითხოვს ბევრი დრო და განხორციელებაში მათი ყველა სახის კითხვები. აქედან გამომდინარე, მნიშვნელოვანი ნაბიჯი იქნება გამართვის ალგორითმი. დაგეხმარებათ ამ და ძირითადი ალგორითმული დიზაინი, განმეორება, რომელიც მიგვიყვანს უკეთესი შედეგების მისაღებად.

აღწერა ალგორითმები

თუ ჩვენ ვსაუბრობთ როგორ დავწეროთ ალგორითმები, რომ უნდა ითვალისწინებდეს შემდეგ:

  • სიტყვიერი შეურაცხყოფა. სხვა სიტყვებით, იმ ენაზე, რომელიც მოსახერხებელია საუბარი კომპონენტი.
  • მაგიდა. ლოგიკურია, რომ ალგორითმი წერია მაგიდა და, როგორც წესი, გამოიყენება როგორც დამხმარე ელემენტს.
  • ფორმულა სიტყვიერი შეურაცხყოფა. საფუძველზე მიღებული სიტყვიერი izyasneniya მეთოდი, მაგრამ ასეთი ქმედებები ასევე ჩაწერილი გმირები ან მათემატიკური ფორმულები.
  • ხელოვნება. ასეთი ალგორითმი დაწერილი სპეციალური ენის flowcharts.

აუცილებელია განვმარტო ბოლო წერტილი. რა არის სქემა? ეს სწორხაზოვანი ან არაწრფივი ალგორითმი, ნაბიჯები, რომლებიც დაწერილი სპეციალური ერთეული. მათ აქვთ საკუთარი კონფიგურაციის, მიზანი და ფუნქცია. იმ შემთხვევაში, თუ ეს აღწერა, ალგორითმი დაწერილი ბლოკი დიაგრამები, რომლებიც ერთმანეთთან ხაზები. მათ ასევე უნდა დაწეროთ კონკრეტული ქმედება (ნაბიჯი).

ალგორითმული დიზაინი

ზოგიერთი ამტკიცებს, რომ ალგორითმები არ აქვს 3 სახის, და 4. ძირითადი ალგორითმული დიზაინი: წრფივი, დატოტვილი, ციკლური. რა არის მიზეზი ასეთი მცდარი, ეს არ არის ნათელი. თუმცა, მარტივი გადაწყვეტილებები კომპლექსური პრობლემების გამოყენებით კომპიუტერის ალგორითმები ამ სამი საკმაოდ დიდი ჯგუფები. მოდი, ვნახოთ, მათ.

  1. Linear. ეს გამოთვლითი პროცესში მიიღო ეს სახელი იმის გამო, რომ ყველა ქმედება ხორციელდება ხაზოვანი თანმიმდევრობით, სადაც ყოველი ნაბიჯი არის შესრულებული, კიდევ ერთხელ. თუ გავითვალისწინებთ სქემა პრობლემა, მაშინ ის ლოდები ერთი ზემოთ სხვა, დამოკიდებულია შესრულების თანმიმდევრობა ნომრები. Linear ალგორითმები მუშაობა ისე, რომ თავდაპირველი მონაცემები არ შეცვლის მიმართულებით და გრძნობა action. ასეთი გადაწყვეტილებები განკუთვნილია მეთოდი კომპიუტერული თანხა ან განსხვავება, კვადრატული ფორმის, ან მისი პერიმეტრზე, და ასე შემდეგ. N. ძირითადი ტიპის ალგორითმული დიზაინი არის ზუსტად ის.
  2. განშტოებაზე. ეს გამოთვლითი პროცესი გულისხმობს თანდასწრებით ლოგიკური გამოსახულება (გრამფირფიტა) და არჩევანი პირობები (ფილიალი "ცრუ" და "ჭეშმარიტი"). ყოველ შემთხვევაში, ის მიხვდა, რომ მხოლოდ ერთი ორი ან მეტი გუნდი. პრობლემა არ არის და ვერ იქნება, რომ განხორციელდება ჯერ კიდევ სხვა ვარიანტი. იმ შემთხვევაში, თუ ორი შტო ალგორითმი, ეს არის მარტივი, თუ მეტი, ვიდრე ორი - კომპლექსი. ეს უკანასკნელი პროცესი, როგორც ჩანს ადვილი ხარჯზე პირველი. ძირითადი ტიპის ალგორითმული დიზაინი არის პირველი პუნქტი და მეორე. შემდეგი სახით ასევე შედის ამ სიაში.
  3. ციკლური. ეს ალგორითმი აუცილებლად ელემენტი მეორდება, ხოლო გამოყენებით სხვადასხვა შეტანილი მონაცემები. სხვა სიტყვებით, ასეთი პროცესი ეწოდება ციკლი.

აღსანიშნავია, რომ ყველა ძირითადი ალგორითმული დიზაინი (შემდეგ, ტოტები, მარყუჟების) ერთმანეთთან ერთმანეთს, მიუხედავად იმისა, რომ ისინი შეიძლება გამოყენებულ იქნას ცალკე.

შექმნა მარყუჟების და მათი სახეები

რა სჭირდება, რათა შეიქმნას loop?

  • მარყუჟის counter. ეს არის ცვლადი, რომელიც განსაზღვრავს პირველადი მნიშვნელობა და განმეორება სამოქმედო შეიცვლება. ეს აუცილებლად უნდა დადოს ალგორითმი. ძირითადი ალგორითმული მშენებლობა ჩარჩო ტიპის სამუშაოს გარეშე არ იქნება.
  • იცვლება ინდექსი ზემოთ მონაცემები, სანამ ახალი განმეორება ციკლი.
  • შეამოწმეთ პირობები კომპიუტერი გადაწყვიტეს კიდევ ერთხელ "გადახვევა" მარყუჟის ან მეტი არ არის საჭირო.

Cycles შეიძლება დეტერმინისტული და განმეორებით. პირველი არის მეცნიერება ცნობილი რაოდენობა გამეორებას. Iterative ციკლი - ერთ-ერთი, რომელიც მეორდება განუსაზღვრელი დროის სანამ მდგომარეობა არის ჭეშმარიტი ან ცრუ.

ძირითადი ალგორითმი

აღსანიშნავია, რომ გვახსოვდეს, რომ ძირითადი ალგორითმული სტრუქტურები არ შეიცავს ძირითადი ალგორითმი. რა არის ეს? ეს კონცეფცია აღარ გვხვდება თანამედროვე ლიტერატურას, მაგრამ ეს არ ნიშნავს, რომ ეს ასეა და აღარ არსებობს. იმის გათვალისწინებით, რომ იმ პრობლემების შესახებ, შეიძლება შეექმნა რამდენიმე ფილიალი ან გამეორებას, შემდეგ დასკვნამდე. ძირითადი ალგორითმული ნაგებობები (წრფივი, დატოტვილი, ციკლური) ძირითადი. ფაქტია, რომ ისინი წარმოადგენს "სტრუქტურული ერთეული" თითოეული ე.წ. ინსტრუქციები.

ხაზოვანი ალგორითმები

როგორც არის ნათლად ზემოთ, ერთი ალგორითმები წრფივი და არაწრფივი. განვიხილოთ პირველი განსახიერება. , რატომ ეძახით? ყველაფერი ძალიან მარტივია. ფაქტია, რომ ყველა ქმედება, რომელიც ითამაშა ალგორითმი, ნათლად თანმიმდევრული განხორციელება ნაბიჯები მკაცრად ერთმანეთის მიყოლებით. როგორც წესი, ეს ამოცანები პატარა და აქვს დაბალი დონის სირთულის.

მაგალითად, წრფივი ალგორითმი შეიძლება იყოს მომზადების პროცესში ჩაი:

  1. ჩაასხით წყალი შევიდა kettle.
  2. განათავსეთ kettle ღუმელი მოვხარშოთ.
  3. მიიღეთ თასი.
  4. ჩაასხით ჭიქა ჩაი.
  5. დაამატეთ შაქარი.
  6. შემდეგ დუღილის ცხელი წყლით შეედინება თასი.
  7. მიიღეთ კოვზი.
  8. აურიეთ შაქარი.

პროგრამული ძირითადი ალგორითმული კონსტრუქციები - მძიმე საკმარისი გარიგება, მაგრამ თუ ეს არის წრფივი ალგორითმი, რომ ხშირად ძალიან ადვილია მათ განხორციელებას.

განშტოების ალგორითმები

როგორ უნდა გვესმოდეს, რომ ალგორითმი განშტოების? ეს არის საკმარისი იმისათვის, რომ თქვენ გაქვთ არჩევანი ორი ან მეტი მოქმედების, დამოკიდებულია შესრულების ან შეუსრულებლობის პირობებში. ყოველ გზას ეწოდება ფილიალი.

მთავარი თვისება განშტოების ალგორითმი არსებობის პირობითი ფილიალი. ეს ხდება დროს ტესტი გამოხატვის სიმართლე ან ტყუილი.

როგორც წესი, ლოგიკური გამონათქვამები წარმოდგენილია ნიშნები "ნაკლები", "უფრო მეტი", "ნაკლები ან ტოლია", "მეტია ან ტოლია", "თანაბარი", "არ არის." ზოგჯერ არსებობს embodiments, სადაც მდგომარეობა უკავშირდება ერთმანეთს ბრძანება და (u) და (ან).

მაგალითად ასეთი ალგორითმი შეიძლება იყოს გამოსავალი შემდეგ პრობლემას: თუ გამოხატვის ((x + 3) / 1) უდრის დადებითი რიცხვი, მაშინ ცარიელია შედეგი ეკრანზე, თუ უარყოფითი - ინფორმირება შესახებ შეცდომის შესახებ.

მარტივი საკმარისი პრაქტიკაში გამოიყენოთ ძირითადი ალგორითმული დიზაინი. Branching არის ერთ-ერთი ყველაზე გავრცელებული მეთოდები გადაჭრის.

Deterministic ციკლი ან ციკლის counter

ციკლი counter - ციკლი, რომელიც მოიცავს ცვლადი, რომელიც იცვლება გარკვეული ნაბიჯი ღირებულება. ნაბიჯი განისაზღვრება შესახებ და დადგენილი პროგრამისტი, როდესაც წერილობით პროგრამული უზრუნველყოფა. ყველაზე ენებზე ეს ციკლი იყენებს ოპერატორი.

პროგრამა ცარიელია ორი რიგები 4-ჯერ:

  1. "როგორ ხარ?"
  2. "ისე, მადლობა!"
  3. "როგორ ხარ?"
  4. "ისე, მადლობა!"

თქვენ უნდა შევქმნათ დეტერმინისტული ციკლი. როგორ გამოიყურება? ჩვენ ვიყენებთ ენის "Pascal" უკეთესი აღქმა დიზაინი.

1. i: = 1 2 გავაკეთოთ:

- i არის counter ციკლი, ის განსაზღვრავს ხმების გამეორებას loop.

2. დასაწყისი (ღია curly bracket ორ ფრაზები არის სხეულის ციკლი და განმეორებითი ერთად.)

3. Writeln ( "როგორ ხარ?"):

- სიტყვა ნიშნავს writeln დასკვნა ფრაზები მყოფი ერთჯერადი შეთავაზებები.

4. Writeln ( "Fine წყალობით").

5. End.

6. i: = i + 1.

როგორც ხედავთ, საკმაოდ მარტივია და კიდევ გართობა გამოიყენოს ძირითადი ალგორითმული დიზაინი. ძირითადი ალგორითმები მართლაც კარგად არის ცნობილი, მათ გარეშე შეუძლებელია წერენ პროგრამებს.

ციკლის postcondition

ციკლის postcondition შეიძლება განმეორდეს განუსაზღვრელი რაოდენობის ქმედებები გარეშე ჩასმა ოპერატორი braces და რთული სიტყვები. ის იქნება შესრულებული ერთხელ მაინც. იგი მუშაობს ციკლი სანამ მდგომარეობა არის ყალბი. ის შეწყვეტს ფორმირების სწორი მაჩვენებლები. ამ ალგორითმს არის აგებული. ძირითადი ალგორითმული მშენებლობა ამ ტიპის მუშაობა ამ კონკრეტულ ტემპებით.

რეალიზაციის ამ ციკლის მოითხოვს დიზაინი ვიმეორებ, სანამ B. ფაქტიურად ეს ნიშნავს "ვიმეორებთ, სანამ მდგომარეობა სიცრუეა." შესაბამისად, ეს გამოიხატება თავად განმეორება პროცესში B - მონაცემები, რომ შედეგი უნდა მიიღოს სწორი მნიშვნელობა.

ციკლის წინაპირობა

ციკლის postcondition აგებულია ისე, რომ იგი ხორციელდება ერთხელ მაინც, ნებისმიერ შემთხვევაში. თუმცა, არის შემთხვევები, როდესაც ციკლი არის საჭირო იმ შემთხვევაში, თუ მდგომარეობა, და არ უნდა განხორციელდეს იმ შემთხვევაში, განმეორება. წინააღმდეგ შემთხვევაში, შედეგი იქნება არასწორი. ეს არის ამ შემთხვევაში მარყუჟის წინაპირობა. შექმნას აუცილებელი დიზაინი «ხოლო ამის B». პირველი გუნდის სიტყვასიტყვით ითარგმნება როგორც "ხანგრძლივი". A - პირობები და - ქმედება, რომელიც უნდა განმეორდეს. მთელი დიზაინი ნიშნავს "სანამ მდგომარეობა მართალია, შეასრულოს ქმედება".

ყველა ძირითადი ალგორითმული დიზაინი მუშაობა მხოლოდ გარკვეულ შემთხვევებში. რა არიან ისინი მარყუჟის წინაპირობა? თუ თქვენ უნდა განმეორდეს ერთზე მეტი აქცია, არამედ რამდენიმე, მაშინ უნდა გამოვიყენოთ და რთული განცხადებები, ან სპეციალური ფრჩხილებში. ციკლი შეიძლება კარგად არ შესრულდება, თუ მდგომარეობა არ არის ჭეშმარიტი, როდესაც შესვლის იგი. შესაბამისად, აქცია ერთჯერადი არ იქნება, თუ ეს არის სწორი.

დამხმარე ალგორითმი

დამხმარე ალგორითმი გამოიყენება სხვა პროცესების სასურველი მხოლოდ მისი სახელი. იგი არის ძირითადი ალგორითმული დიზაინით არ ვრცელდება. პროგრამირების ენები ასეთი ქმედება პროცესს ეწოდება სიტუაციიდან. ხელი შეუწყოს მუშაობა კოდი, და მაშინ უფრო ადვილად პრობლემების მოსაგვარებლად ყველა ქმედება გაერთიანებულია ერთ ერთეული, რომელიც არის დამხმარე ალგორითმი. თითოეული მათგანი შეიძლება ვთხოვოთ მისი სახელი, რომელიც საშუალებას იძლევა შემდგომში არაერთხელ საუბარი მას.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ka.birmiss.com. Theme powered by WordPress.