შესვლა

პროგრამირების საფუძვლები › დამწყები › პატარა პროგრამები

პროგრამის დაგეგმვა

მარტივი⏱ 7 წთ+20 XP👑 Pro#დაგეგმვა#ფსევდოკოდი#ალგორითმი

რას ისწავლი

  • ხუთი ნაბიჯი ამოცანიდან მზა პროგრამამდე
  • როგორ დაწერო ფსევდოკოდი (pseudocode)
  • რატომ ჯობს პატარა ნაბიჯებით წერა და ყოველი ნაბიჯის შემოწმება

ჯერ ფიქრი, მერე კოდი

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

ავიღოთ ამოცანა: „წიგნში 240 გვერდია. დღეში 18 გვერდს ვკითხულობ. რამდენ დღეში დავამთავრებ და რამდენი გვერდი დამრჩება ბოლო დღეს?“

1. გაიგე ამოცანა

ჩამოწერე, რა არის შესატანი (input), ანუ რა მონაცემები მაქვს, და რა არის გამოსატანი (output), ანუ რა პასუხი მინდა:

  • შესატანი: გვერდების რაოდენობა, დღეში წასაკითხი გვერდები.
  • გამოსატანი: დღეების რაოდენობა, ბოლო დღის გვერდები.

2. მოიფიქრე მაგალითები

პატარა მაგალითები ხელით ამოხსენი. ისინი ამოცანას ნათელს ხდის და მერე ტესტებადაც გამოგადგება:

გვერდებიდღეშიდღეებიბოლო დღეს
2010210
251035
24018146

მეორე მაგალითმა მნიშვნელოვანი რამ გამოაჩინა: 25 / 10 არის 2.5, მაგრამ „ორნახევარი დღე“ არ არსებობს, ეს 3 დღეა. თუ მაგალითს არ ამოხსნიდი, ამას ალბათ მერე, შეცდომის სახით აღმოაჩენდი.

3. დაწერე ფსევდოკოდი

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

ტექსტი
გვერდები = 240, დღეში = 18
დღეები = გვერდები / დღეში, დამრგვალებული ზემოთ
ბოლო დღეს = ნაშთი გვერდები / დღეში-ზე
  თუ ნაშთი 0-ია, ბოლო დღეს = დღეში
დაბეჭდე დღეები და ბოლო დღე

4. ააწყე კოდი პატარა ნაბიჯებით

ფსევდოკოდის ყოველ ხაზს კოდის ხაზი შეესაბამება. დამრგვალება ზემოთ JavaScript-ში Math.ceil-ით კეთდება: Math.ceil(13.3) არის 14. ქვემოთ დამრგვალება Math.floor-ია.

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

5. შეამოწმე მაგალითებით

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

სცადე თავად

გაუშვი, მერე შეამოწმე სამივე მაგალითი ცხრილიდან: შეცვალე pages და perDay.

JavaScript · სცადე თავად

ხშირი შეცდომები

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

სავარჯიშო

დაგეგმე და დაწერე პროგრამა: კლასში 27 მოსწავლეა, ავტობუსში 12 ადგილია. რამდენი ავტობუსი სჭირდება ექსკურსიას და რამდენი ადგილი დარჩება თავისუფალი ბოლო ავტობუსში? უნდა მიიღო ავტობუსი: 3 და თავისუფალი: 9.

JavaScript · სცადე თავად
💡 მინიშნება

ავტობუსები: Math.ceil(students / seats). სულ ადგილია buses * seats, თავისუფალი კი ამას გამოკლებული მოსწავლეები.

✅ ამოხსნის ნახვა
JavaScript
let students = 27;
let seats = 12;

let buses = Math.ceil(students / seats);
let free = buses * seats - students;

console.log("ავტობუსი:", buses);
console.log("თავისუფალი:", free);

მინი-ქვიზი

1რა არის ფსევდოკოდი?

2რას დააბრუნებს Math.ceil(7 / 2)?

3რატომ ღირს პროგრამის პატარა ნაბიჯებით წერა?

შეჯამება

  • გაიგე ამოცანა: რა შედის და რა უნდა გამოვიდეს.
  • ამოხსენი მაგალითები ხელით: ისინი ზღვრულ შემთხვევებს აჩენს და მერე ტესტებად გამოდგება.
  • დაწერე ფსევდოკოდი, მერე კოდი, პატარა ნაბიჯებით და ყოველი ნაბიჯის გაშვებით.
  • Math.ceil ზემოთ ამრგვალებს, Math.floor ქვემოთ.
📝 ჩემი შენიშვნა