პროგრამირების საფუძვლები › დამწყები › პირობები
if: გადაწყვეტილების მიღება
ეს თავი CodeQuest Pro-ს ნაწილია
Pro ხსნის სკოლის ყველა კურსს და თამაშის ყველა ლეველს, ვიდეოს და პროექტს. ერთჯერადი გადახდა, გამოწერის გარეშე.
რას ისწავლი
- როგორ შეასრულო კოდი მხოლოდ მაშინ, როცა პირობა
true-ა - რა არის კოდის ბლოკი და რატომ ვწერთ შეწეულად
- რომელი პატარა შეცდომები აფუჭებს
if-ს
პროგრამა, რომელიც ირჩევს
აქამდე შენი პროგრამები ყოველთვის ერთსა და იმავეს აკეთებდა: ზემოდან ქვემოთ, ყველა ხაზს რიგრიგობით. ნამდვილი პროგრამები კი სიტუაციას ერგება. თამაში „თამაში დასრულდა“-ს მხოლოდ მაშინ წერს, როცა სიცოცხლე დაგიმთავრდა. ამინდის აპლიკაცია ქოლგას მხოლოდ მაშინ გირჩევს, როცა წვიმს.
ასეთ არჩევანს პირობითი ინსტრუქცია (conditional statement) აკეთებს. ყველაზე მარტივი მათგანია if, ინგლისურად „თუ“:
let temperature = 32;
if (temperature > 30) {
console.log("ცხელა! წყალი დალიე.");
}
console.log("ამინდის შემოწმება დასრულდა.");if-ის შემდეგ მრგვალ ფრჩხილებში პირობა წერია. ეს არის გამოსახულება, რომელიცtrue-ს ანfalse-ს იძლევა.- ფიგურულ ფრჩხილებში
{ }წერია კოდი, რომელიც მხოლოდ მაშინ შესრულდება, როცა პირობაtrue-ა. - ბოლო ხაზი
if-ის გარეთაა, ამიტომ ყოველთვის სრულდება.
ახლა ორივე ხაზი დაიბეჭდება. თუ temperature-ში 20-ს ჩაწერ, პირველი შეტყობინება გაქრება, მეორე კი დარჩება.
კოდის ბლოკი
ფიგურულ ფრჩხილებს შორის მოქცეულ კოდს ბლოკი (block) ჰქვია. ბლოკში რამდენიც გინდა, იმდენი ხაზი შეიძლება იყოს, და ყველა ერთად შესრულდება ან ერთად გამოტოვდება.
ბლოკის შიგნით ხაზებს ორი ინტერვალით შეწეულად ვწერთ. კომპიუტერს შეწევა არ სჭირდება, ადამიანს კი ძალიან: ერთი შეხედვით ჩანს, რომელი ხაზი ეკუთვნის if-ს. სხვისი კოდის კითხვისას შეწევა რუკასავითაა.
რა შეიძლება იყოს პირობა
პირობაში ნებისმიერი გამოსახულება შეიძლება ჩაწერო, რომელიც true-ს ან false-ს იძლევა: შედარება, ლოგიკური ცვლადი, &&-ით და ||-ით შეერთებული რამდენიმე პირობა.
let isRaining = true;
let hasUmbrella = false;
if (isRaining && !hasUmbrella) {
console.log("ქოლგა არ დაგავიწყდეს!");
}ლოგიკურ ცვლადს === true არ სჭირდება: if (isRaining) იგივეა, რაც if (isRaining === true), მაგრამ უფრო მოკლე და ბუნებრივია.
სცადე თავად
გაუშვი, მერე შეცვალე coins ისე, რომ შეტყობინება გაქრეს. რა არის ყველაზე პატარა რიცხვი, რომლითაც ჯერ კიდევ იბეჭდება?
ხშირი შეცდომები
=პირობაში.if (score = 100)არ ადარებს, არამედ ცვლადს 100-ს ანიჭებს, და პირობა ყოველთვის სრულდება. შედარებისთვის===დაწერე.- წერტილ-მძიმე
if-ის შემდეგ.if (x > 5); { ... }-ში წერტილ-მძიმეif-ს ასრულებს და ბლოკი ყოველთვის სრულდება.if (...)-ის შემდეგ პირდაპირ{უნდა მოდიოდეს. - ფრჩხილების გამოტოვება. ფიგურული ფრჩხილების გარეშე
if-ს მხოლოდ მომდევნო ერთი ხაზი ეკუთვნის. ფრჩხილები ყოველთვის დაწერე, ერთი ხაზისთვისაც.
სავარჯიშო
ცვლადში password ინახება "abc123". თუ პაროლი 8 სიმბოლოზე მოკლეა, დაბეჭდე პაროლი მოკლეა: საჭიროა სულ მცირე 8 სიმბოლო. მერე პაროლი შეცვალე უფრო გრძლით და შეამოწმე, რომ შეტყობინება ქრება.
💡 მინიშნება
სტრიქონის სიგრძე password.length-ია. პირობაა password.length < 8.
✅ ამოხსნის ნახვა
let password = "abc123";
if (password.length < 8) {
console.log("პაროლი მოკლეა: საჭიროა სულ მცირე 8 სიმბოლო");
}მინი-ქვიზი
1რას დაბეჭდავს კოდი? let n = 3; if (n > 5) { console.log("დიდია"); } console.log("მორჩა");
3 არ არის 5-ზე მეტი, ამიტომ ბლოკი გამოტოვდება. ბოლო ხაზი if-ის გარეთაა და ყოველთვის სრულდება.
2რა იწერება if-ის მრგვალ ფრჩხილებში?
ფრჩხილებში კითხვაა, ბლოკში კი ის, რაც „კი“ პასუხზე უნდა მოხდეს.
3რა ხდება if (score = 100)-ში?
ერთი = მინიჭებაა. შედარებისთვის საჭიროა ===.
შეჯამება
if (პირობა) { ... }ბლოკს მხოლოდ მაშინ ასრულებს, როცა პირობაtrue-ა.- ბლოკი ფიგურულ ფრჩხილებშია და შეწეულად იწერება.
- პირობა შეიძლება იყოს შედარება, ლოგიკური ცვლადი ან
&&/||-ით შეერთებული პირობები. - პირობაში
===, არა=.if (...)-ის შემდეგ წერტილ-მძიმე არ იწერება.