პროგრამირების საფუძვლები › დამწყები › რა არის პროგრამირება
ალგორითმი: ამოცანის გეგმა
ეს თავი CodeQuest Pro-ს ნაწილია
Pro ხსნის სკოლის ყველა კურსს და თამაშის ყველა ლეველს, ვიდეოს და პროექტს. ერთჯერადი გადახდა, გამოწერის გარეშე.
რას ისწავლი
- რა არის ალგორითმი (algorithm) და რა სამი თვისება აქვს კარგ ალგორითმს
- როგორ დაშალო ამოცანა პატარა, მკაფიო ნაბიჯებად
- როგორ ჩაწერო გეგმა კოდში კომენტარებით (comment)
ჯერ გეგმა, მერე კოდი
წინა თავში ნახე, რომ კომპიუტერს ყველა ნაბიჯი ზუსტად უნდა დაუწერო. ამიტომ, სანამ კოდს დაწერ, ჯერ უნდა იცოდე, რა ნაბიჯებია საჭირო. ამ ნაბიჯების სიას ალგორითმი (algorithm) ჰქვია.
ალგორითმი კოდი არ არის. ეს გეგმაა, რომელიც ჩვეულებრივი ენითაც შეგიძლია ჩაწერო. მაგალითად, ალგორითმი „კბილების გახეხვა“:
- აიღე ჯაგრისი.
- დაადე პასტა.
- იხეხე კბილები ორი წუთი.
- გამოივლე პირი.
- გარეცხე ჯაგრისი და დადე ადგილზე.
ყოველდღე ათობით ალგორითმს ასრულებ ისე, რომ არც ფიქრობ: სკოლაში მისვლა, ჩანთის ჩალაგება, ტელეფონზე დარეკვა.
კარგი ალგორითმის სამი თვისება
- მკაფიოა. ყოველი ნაბიჯი ერთნაირად გასაგებია. „ცოტა ხანს იხეხე“ ბუნდოვანია, „იხეხე ორი წუთი“ კი მკაფიო.
- რიგი სწორია. პასტას ჯერ ჯაგრისზე ადებ და მერე იხეხავ. ნაბიჯების გადანაცვლება შედეგს აფუჭებს.
- მთავრდება. ალგორითმს აქვს ბოლო ნაბიჯი. გეგმა, რომელიც არასდროს სრულდება, ამოცანას ვერ ამოხსნის.
გეგმა კოდში: კომენტარები
პროგრამისტები გეგმას ხშირად პირდაპირ კოდში წერენ კომენტარებით (comment). კომენტარი ხაზია, რომელიც ორი დახრილი ხაზით // იწყება. კომპიუტერი მას საერთოდ არ კითხულობს: კომენტარი ადამიანებისთვისაა.
// 1. მივესალმოთ მომხმარებელს
console.log("გამარჯობა!");
// 2. ვუთხრათ, რას აკეთებს პროგრამა
console.log("მე ვითვლი, რამდენი წუთია დღეში.");
// 3. გამოვთვალოთ და დავბეჭდოთ
console.log(24 * 60);- ხაზები, რომლებიც
//-ით იწყება, გეგმის ნაბიჯებია. კომპიუტერი მათ გამოტოვებს. - ყოველი კომენტარის ქვეშ წერია ინსტრუქცია, რომელიც ამ ნაბიჯს ასრულებს.
24 * 60გამოთვლაა: ვარსკვლავი*პროგრამირებაში გამრავლების ნიშანია. პროგრამა დაბეჭდავს1440-ს.
ასე მუშაობენ გამოცდილი პროგრამისტებიც: ჯერ კომენტარებით წერენ, რა უნდა მოხდეს, და მერე თითო ნაბიჯს კოდით ავსებენ.
სცადე თავად
გაუშვი პროგრამა. მერე დაამატე მეოთხე ნაბიჯი: კომენტარი // 4. დავემშვიდობოთ და მის ქვეშ ინსტრუქცია, რომელიც „ნახვამდის!“-ს დაბეჭდავს.
ხშირი შეცდომები
- კოდის წერა გეგმის გარეშე. დამწყები ხშირად პირდაპირ კოდს იწყებს და შუა გზაზე იკარგება. ორი წუთი გეგმაზე ნახევარ საათს გიზოგავს.
- ძალიან დიდი ნაბიჯები. „გააკეთე თამაში“ ნაბიჯი არ არის. თუ ნაბიჯის შესრულება ერთი-ორი ინსტრუქციით ვერ წარმოგიდგენია, დაშალე ის უფრო პატარებად.
- გამოტოვებული ნაბიჯი. ადამიანისთვის „თავისთავად ცხადი“ ნაბიჯი კომპიუტერისთვის არ არსებობს, სანამ არ დაწერ.
სავარჯიშო
შეადგინე ალგორითმი „მართკუთხედის ფართობის გამოთვლა“ მართკუთხედისთვის, რომლის სიგრძეა 8 და სიგანე 5. ჯერ ჩაწერე ნაბიჯები კომენტარებით, მერე ყოველი კომენტარის ქვეშ დაწერე ინსტრუქცია. პროგრამამ ბოლოს ფართობი უნდა დაბეჭდოს.
💡 მინიშნება
ფართობი სიგრძისა და სიგანის ნამრავლია. გამრავლების ნიშანია *, ანუ console.log(8 * 5);
✅ ამოხსნის ნახვა
// 1. ვუთხრათ, რას ვითვლით
console.log("მართკუთხედის ფართობი:");
// 2. გავამრავლოთ სიგრძე სიგანეზე და დავბეჭდოთ
console.log(8 * 5);მინი-ქვიზი
1რა არის ალგორითმი?
ალგორითმი გეგმაა: ნაბიჯების მკაფიო სია სწორი რიგით. მისი ჩაწერა ჩვეულებრივი ენითაც შეიძლება.
2რას უზამს კომპიუტერი ხაზს // დაბეჭდე მისალმება?
//-ით დაწყებული ხაზი კომენტარია. ის ადამიანებისთვისაა და კომპიუტერი მას არ ასრულებს.
3რომელი ნაბიჯია საკმარისად მკაფიო ალგორითმისთვის?
კარგი ნაბიჯი ერთმნიშვნელოვანია: ნათელია, რა უნდა გაკეთდეს და როდის დასრულდეს.
შეჯამება
- ალგორითმი ამოცანის ამოხსნის გეგმაა: მკაფიო ნაბიჯები სწორი რიგით, რომლებიც აუცილებლად მთავრდება.
- ჯერ გეგმა, მერე კოდი. დიდი ნაბიჯი დაშალე პატარებად.
- კომენტარი
//-ით იწყება, კომპიუტერი მას გამოტოვებს. კომენტარებით მოსახერხებელია გეგმის ჩაწერა. *გამრავლების ნიშანია.