ეს იმ მასალის შეფასებაა, რომელიც განვიხილეთ ლოგიკის და ბრძანებების ამ გაკვეთილში.
ჩვენ ხშირად გვინდა, რომ შეგვეძლოს საქმის "პირობითად" კეთება ჩვენს პროგრამებში - გვსურს, შეგვეძლოს თქმა: "თუ ეს ჭეშმარიტია, მაშინ გააკეთე X, მაგრამ თუ ეს სხვა რაიმე არის ჭეშმარიტი, მაშინ გააკეთე Y." ეს ჰგავს დილით გაღვიძებისას თქმას - "თუ გარეთ წვიმს, მაშინ ქოლგას წავიღებ, მაგრამ თუ მზეა, მაშინ სათვალეს გავიკეთებ." ჩვენს პროგრამებში საქმის პირობითად კეთება შეგვიძლია if ბრძანებებისა და if/else ბრძანებების პირობით გამოსახულელებებთან გაერთიანებით.
if ბრძანება ეუბნება პროგრამას, რომ შეასრულოს კოდის ბლოკი, თუ პირობა ჭეშმარიტია. ქვემოთ მოცემულ კოდში ჩვენ გამოგვყავს შეტყობინება მხოლოდ მაშინ, როცა x მეტია 0-ზე:
var x = 5;

if (x > 0) {
  text('x დადებითი რიცხვია!", 200, 200);
}
რადგან x 5-ია, და 5 მეტია 0-ზე, ჩვენ უნდა დავინახოთ შეტყობინება სახატავ ტილოზე. x რომ შეგვეცვალა და -1 გაგვეხადა, ჩვენ საერთოდ ვერ დავინახავდით შეტყობინებას, რადგან x 0-ზე მეტი არ იქნებოდა.
x > 0 არის ის, რასაც პირობით გამოსახულებას ვუწოდებთ - ეს ნიშნავს, რომ ის არის გამოსახულება, რომელიც ფასდება ჭეშმარიტად ან მცდარად. როცა მნიშვნელობა არის ან ჭეშმარიტი ან მცდარი, მას ორობით (ბულის) მნიშვნელობას ვუწოდებთ (სტრიქონისა და რიცხვისაგან განსხვავებით). მაგალითად, შეგვეძლო, მხოლოდ პირობითი გამოსახულება გვეჩვენებინა:
text(x > 0, 200, 200); // გამოჰყავს  "true"
ჩვენ ასევე შეგვეძლო შეგვენახა ის ცვლადში და შემდეგ გამოგვეყვანა:
var isPositive = x > 0;
text(isPositive, 200, 200);
ამის შემდეგ ვიტყოდით, რომ isPositive ინახავს ლოგიკურ მნიშვნელობას, რადგან ის ან ჭეშმარიტია, ან მცდარი, გააჩნია, რა მნიშვნელობას მივანიჭებთ x-ს.
პირობითი გამოსახულებების შექმნის მრავალი გზა არსებობს. ამ გამოსახულებებში მოხდება ჭეშმარიტების და ტყუილის შეფასება, რადგან გვაქვს შედარების მრავალი ოპერატორი. აი, ყველაზე პოპულარული გამოსახულებების ჩამოთვალი:
შემდეგი ცვლადის დაშვებით, აქ მოცემულია შედარების ყველაზე უფრო გავრცელებული ოპერატორები და გამოსახულებები, რომლებიც მათთან ჭეშმარიტი იქნებოდნენ.
var myAge = 28;
ოპერატორიმნიშვნელობაჭეშმარიტი გამოსახულებები
===მკაცრი ტოლობაmyAge === 28
!==მკაცრი უტოლობაmyAge !== 2928 !== 29
>მეტიაmyAge > 2528 > 25
>=მეტია ან ტოლიაmyAge >= 2828 >= 28
<ნაკლებიაmyAge < 3028 < 30
<=ნაკლებია ან ტოლიაmyAge <= 2828 <= 28
It is a very common mistake to confuse the assignment operator (=) with the equality operator (===), because they both use equal signs, but they are quite different. The assignment operator will actually change the value of the variable, whereas the equality operator will just read the value of the variable and see if it's equal to something. მაგალითად:
var x = 2 + 2; // საზღვრავს მას, როგორც 4-ს ტოლს

if (x === 4) { // კითხულობს, "უდრის თუ არა ეს 4-ს?"
   text("დიახ, 2 + 2 = 4!", 200, 200);
}
ხანდახან ჩვენ გვსურს რამდენიმე შედარების ბრძანების გაერთიანება პირობით გამოსახულებაში და ზუსტად ამისთვის გვაქვს ლოგიკური ოპერატორები. ეს ოპერატორები გვაძლევენ საშუალებას, ჩვენს პროგრამებში ვთქვათ ისეთი რაღაცები, როგორიცაა "თუ X-ც და Y-ც ჭეშმარიტია" ან "X ან Y ჭეშმარიტია".
თუ გვჭირდება, რომ ორი პირობიდან ორივე ჭეშმარიტი იყოს, მაშინ შეგვიძლია, გამოვიყენოთ && ოპერატორი ("და")
var degreesOutside = 70;
var numberOfClouds = 50;
if (degreesOutside > 70 && numberOfClouds < 5) {
  text("წაისვით მზის საწინააღმდეგო კრემი!", 200, 200);
}
ჩვენ ამას ხშირად ვიყენებთ ჩვენს პროგრამებში, რათა შევამოწმოთ, არის თუ არა მომხმარებლის მაუსის პოზიცია მართკუთხედის (ღილაკის იმიტაციის) შიგნით, რა შემთხვევაშიც გვჭირდება ბევრი && ოპერატორი:
rect(100, 50, 100, 100); 

mousePressed = function() {
    if (mouseX > 100 && mouseX < 200 && mouseY > 50 && mouseY < 150) {
      text("თქვენ დააჭირეთ მას!", 80, 75);
    }
};
თუ მხოლოდ ერთი პირობის ჭეშმარიტება გვჭირდება, შეგვიძლია || ოპერატორის გამოყენება ("ან"):
var degreesOutside = 70;
var numberOfClouds = 50;
if (degreesOutside > 70 || numberOfClouds < 5) {
  text("წაისვით მზის საწინააღმდეგო კრემი მაშინ, როცა გარეთ ცხელა ან არ არის ბევრი ღრუბელი!", 200, 200);
}
თუ ძალიან რთულ პირობას ვამოწმებთ, შეგვიძლია, ერთ გამოსახულებაში გამოვიყენოთ && და ||. ამ შემთხვევაში დააჯგუფეთ გამოსახულებები ფრჩხილების გამოყენებით, რათა პროგრამა არ დააბნიოს მათი გამოთვლის მიმდევრობამ.
var myAge = 28;
if ((myAge >= 0 && myAge < 3)  || myAge > 90) {
  println('ჯერ მთლად ზენიტში არ ხართ.');
}
ახლა დავუბრუნდეთ if ბრძანებებს. ჩვენ ხშირად გვინდა კოდის ნაწილის შესრულება იმ შემთხვევაში, თუ if ბრძანება არ არის ჭეშმარიტი - ამ შემთხვევაში ვამატებთ else ბრძანებას.
var age = 28;
if (age > 16) {
  println('ვაშა! მანქანის ტარება შეგიძლიათ!!');
} else {
  println('ბოდიში, მაგრამ თქვენ შეძლებთ მანქანის ტარებას ' + (16 - age) + ' წელიწადში.');
}
ზოგჯერ გვინდა რამდენიმე დებულების შემოწმება და თითოეული დებულების მიხედვით სხვადასხვა რამის გაკეთება. ამ შემთხვევაში ვიყენებთ else if-ს:
var age = 20;
if (age >= 35) {
  println('თქვენ შეგიძლიათ ხმის მიცემა და მთავრობაში ნებისმიერი ადგილის დაკავება!');
} else if (age >= 30) {
  println('თქვენ შეგიძლიათ ხმის მიცემა და სენატორობისთვის კენჭის ყრა!');
} else if (age >= 18) {
  println('თქვენ შეგიძლიათ ხმის მიცემა!');
} else {
  println('თქვენ მთავრობაში არაფრის უფლება არ გაქვთ!');
}
შეგიძლიათ, რამდენიც გინდათ იმდენი პირობა შეამოწმოთ - უბრალოდ, დარწმუნდით, რომ ყოველი პირობა მისაწვდომია. დატესტეთ თქვენი კოდი ცვლადების შეცვლით მანამ, სანამ კოდის ყველა ნაწილში არ შევხალთ, რათა დარწმუნდეთ, რომ ყველაფერი სწორად მუშაობს.
როგორც ხედავთ, პირობითი დებულებები პროგრამირების მნიშვნელოვანი ნაწილია და უფრო ძლიერი და მოსახერხებელი პროგრამების შექმნის საშუალებას გვაძლევს.
იტვირთება