შესვლა

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

else და else if

მარტივი⏱ 7 წთ+20 XP👑 Pro#პირობები#else#else if

რას ისწავლი

  • როგორ დაწერო „თუ… თუ არა და…“ else-ით
  • როგორ აირჩიო ბევრ ვარიანტს შორის else if-ით
  • რატომ სრულდება მხოლოდ ერთი ბლოკი და რატომ არის რიგი მნიშვნელოვანი

ორი გზა: if და else

if ბლოკს ასრულებს, როცა პირობა true-ა. ხშირად კი იმის თქმაც გინდა, რა მოხდეს წინააღმდეგ შემთხვევაში. ამისთვის არსებობს else, „თუ არა და“:

JavaScript
let age = 10;

if (age >= 18) {
  console.log("შეგიძლია ხმა მისცე არჩევნებზე.");
} else {
  console.log("ხმის მიცემამდე " + (18 - age) + " წელი დაგრჩა.");
}

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

else-ს საკუთარი პირობა არ აქვს: ის უბრალოდ „ყველა დანარჩენი შემთხვევაა“.

ბევრი ვარიანტი: else if

ზოგჯერ ორი გზა საკმარისი არ არის. ქულით შეფასება, მაგალითად, ოთხ ვარიანტს შორის ირჩევს. ასეთ დროს if-ებს else if-ით ვაერთებთ:

JavaScript
let score = 82;

if (score >= 90) {
  console.log("შესანიშნავი");
} else if (score >= 75) {
  console.log("კარგი");
} else if (score >= 50) {
  console.log("დამაკმაყოფილებელი");
} else {
  console.log("სცადე თავიდან");
}

კომპიუტერი პირობებს ზემოდან ქვემოთ ამოწმებს:

  1. 82 >= 90? არა, შემდეგზე გადადის.
  2. 82 >= 75? კი! ბეჭდავს „კარგი“-ს.
  3. დანარჩენ პირობებს აღარ ამოწმებს და მთელი ჯაჭვიდან გამოდის.

ჯაჭვში პირველი true პირობა იმარჯვებს და მხოლოდ მისი ბლოკი სრულდება. ბოლო else მაშინ სრულდება, როცა არცერთი პირობა არ გამართლდა. ის არ არის სავალდებულო: თუ „დანარჩენ შემთხვევაში“ არაფერი უნდა მოხდეს, შეგიძლია გამოტოვო.

რიგს აქვს მნიშვნელობა

რადგან პირველი სწორი პირობა იმარჯვებს, პირობები სწორი რიგით უნდა დაალაგო. ნახე, რა მოხდება, თუ ზემოთ მოყვანილ მაგალითში ჯაჭვს ყველაზე „რბილი“ პირობით დავიწყებთ:

JavaScript
let score = 95;

if (score >= 50) {
  console.log("დამაკმაყოფილებელი");
} else if (score >= 90) {
  console.log("შესანიშნავი");
}

95 მეტია 50-ზე, ამიტომ იბეჭდება „დამაკმაყოფილებელი“ და „შესანიშნავამდე“ კომპიუტერი ვეღარ მიდის. წესი მარტივია: როცა საზღვრებს ამოწმებ, დაიწყე ყველაზე მკაცრით, ანუ ყველაზე დიდით, და თანდათან ჩადი.

სცადე თავად

გაუშვი და შეამოწმე ქულები 100, 75, 74, 50 და 10. ემთხვევა თუ არა თითოეული შენს მოლოდინს?

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

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

  • პირობა else-ზე. else (age < 18) { ... } შეცდომაა. else-ს პირობა არ აქვს. თუ პირობა გჭირდება, დაწერე else if (...).
  • ცალკეული if-ები ჯაჭვის ნაცვლად. სამი ცალკე if ერთმანეთზე არ არის დამოკიდებული და შეიძლება სამივე შესრულდეს. როცა მხოლოდ ერთი ვარიანტი გინდა, else if გამოიყენე.
  • არასწორი რიგი. ფართო პირობა ჯაჭვის თავში ვიწროებს „ჩრდილავს“. საზღვრები დიდიდან პატარისკენ ამოწმე.

სავარჯიშო

მუზეუმის ბილეთის ფასი ასაკზეა დამოკიდებული: 6 წლამდე უფასოა, 18 წლამდე 2 ლარი ღირს, 65 წლიდან 1 ლარი, დანარჩენებისთვის 5 ლარი. age = 12-ისთვის დაბეჭდე ბილეთის ფასი: 2 ლარი, მერე სხვა ასაკებიც სცადე.

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

შექმენი ცვლადი price, ჯაჭვში მას მნიშვნელობა მიანიჭე და ბოლოს ერთხელ დაბეჭდე. 65 წლის შემოწმება ჩასვი 18-მდე შემოწმების შემდეგ ან მანამდე: ორივე იმუშავებს, რადგან ეს პირობები ერთმანეთს არ ფარავს.

✅ ამოხსნის ნახვა
JavaScript
let age = 12;
let price;

if (age < 6) {
  price = 0;
} else if (age < 18) {
  price = 2;
} else if (age >= 65) {
  price = 1;
} else {
  price = 5;
}

console.log("ბილეთის ფასი: " + price + " ლარი");

მინი-ქვიზი

1ქულების მაგალითში score = 95. რა დაიბეჭდება?

2if / else if / else ჯაჭვში მაქსიმუმ რამდენი ბლოკი შესრულდება?

3რომელი ჩანაწერია სწორი?

შეჯამება

  • else სრულდება, როცა if-ის პირობა false-ა. მას საკუთარი პირობა არ აქვს.
  • else if რამდენიმე ვარიანტს შორის ირჩევს. პირველი true პირობა იმარჯვებს.
  • ჯაჭვში ზუსტად ერთი ბლოკი სრულდება, ან არცერთი, თუ ბოლოში else არ არის.
  • საზღვრები ყველაზე მკაცრიდან დაიწყე.
📝 ჩემი შენიშვნა