ინგლისურ ენაში მეტყველების სხვადასხვა ნაწილებია.
მაგალითად არსებითი სახელი, ზედსართავი სახელი, ზმნიზედა, ზმნა.
ასევე გვაქვს წესები, რომლებიც გვასწავლიან თუ როგორ შევუთავსოთ ისინი ერთმანეთს.
თუ ვიტყვით ასეთ რამეს " ძაღლი წიგნებს ჩემი ჭამს" ვერ გაიგებთ ჩემს ნათქვამს.
თუ აქამდე ვერ ხვდებოდით, არ შეგიძლიათ ორი არსებითი სახელის და ზმნიზედის
ზმნის წინ უბრალოდ მოთავსება. ასე არ გამოდის.
ადგილები რომ შემეცვალა სიტყვებისთვის და მეთქვა "ჩემი ძაღლი ჭამს წიგნებს"
მიხვდებოდით რას ვამბობ.
სიტყვა "ჭამს" შემიძლია შევცვალო სხვა ზმნით მაგალითად "ისვრის".
წინადადებას მაინც ექნებოდა შინაარსი, მიუხედავად აზრისა.
პროგრამირებაში მეტყველების ნაწილების ნაცვლად გვაქვს ტიპები.
თქვენ უკვე ნახეთ ერთ-ერთი მათგანი - რიცხვები. ხატვის დროს ხშირად ვიყენებთ.
ენის მსგავსად, ზოგჯერ უნდა გამოვიყენოთ რიცხვები, ზოგჯერ არა.
აქ რომ დამეწერა "100 -", მაშინ შემდეგ რასაც დავწერ, უნდა იყოს რიცხვი.
ან რაიმე, რაც რიცხვად გამოითვლება მაგალითად "14 + 15".
100-ის შემდეგ ადგილი რომ გამომეტოვებინა, რიცხვს ვეღარ დავწერდი.
"100 10" არაფერს არ ნიშნავს.
პროგრამირებაში არის სხვა ტიპიც, რომელსაც ბულის რიცხვი(ბულეანი) ჰქვია.
იგი გამოიგონა ჯორჯ ბულმა, ამის გამო დაერქვა ეს სახელი.
რიცხვებისგან განსხვავებით, რომელთაც უამრავი მნიშვნელობა შეიძლება ჰქონდეთ
ბულის ცვლადს შეიძლება მხოლოდ ორი მნიშვნელობა ჰქონდეს
true(ჭეშმარიტი) ან false(მცდარი).
როგორც ხედავთ, როცა მათ ვბეჭდავ ისინი ლურჯდებიან.
ეს ნიშნავს რომ მათ სპეციალური მნიშვნელობა აქვთ.
ჩვენ უკვე გამოვიყენეთ ბულის ცვლადები, შეიძლება არ შეგინიშნავთ.
ეს იყო if(თუ) ოპერატორთან
მოდი, გავიხსენოთ, თუ როგორ მუშაობდა if
შევქმნი ცვლადს სახელად "number" და გავუტოლებ 40-ს.
დავწერ if-ს, თუ რიცხვი ნაკლებია 50-ზე,
დავხატავ პირველ წრეწირს.
დავაკოპირებ ამას თუ მტკიცებაში და ყველაფერს წინ Tab-ით წავწევ
ეს ხაზი ამბობს, რომ თუ რიცხვი ნაკლებია 50-ზე (და ეს ასეა), მაშინ დაიხატება წრე.
და თუ რიცხვს გავზრდი, წრე გაქრება.
ფრჩხილებში მოქცეული გამოსახულება სინამდვილეში ბულის ტიპისაა
დაიმახსოვრეთ, მათემატიკური გამოსახულება ყოველთვის გამოითვლება რიცხვში
მაგალითად 3+2+4*8
ბულის ტიპის გამოსახულება კი იღებს ლოგიკურ მნიშვნელობას (true ან false)
კარგი ხერხი იმის შესამოწმებლად, არის თუ არა გამოსახულება ბულის ტიპის, ასეთია:
დავუწეროთ წინ "არის თუ არა" და აღვიქვათ ეს როგორც შეკითხვა.
თუ ეს შეკითხვას ჰგავს, მაშინ ეს ბულის ტიპის გამოსახულებაა.
მაგალითად, არის თუ არა ეს რიცხვი 50-ზე პატარა? დიახ.
შესაბამისად ეს ბულის ტიპის გამოსახულებაა.
თუ მექნებოდა ასეთი რამ "4+4" და ვეცდებოდი კითხვას, "არის თუ არა 4 +4?"
არა, ეს გამოსახულება არ არის ბულის ტიპის.
დავუბრუნდეთ if-ს. ფრჩხილებში შემიძლია ნებისმიერი რამ ჩავუსვა
თუ ის ბულის ცვლადია ან ბულის ტიპის გამოსახულება.
მაგალითად, "if (true)", ამ შემთხვევაში წრე ყოველთვის დაიხატება.
ან "if (false)", მაშინ წრე არასდროს დაიხატება.
ასევე მაგალითად if(3 < 4) ("თუ 3 ნაკლებია 4-ზე")
რაც ასევე ბულის ტიპის გამოსახულებაა
და ის ყოველთვის ჭეშმარიტია, წრე აქაც სულ იქნება დახატული.
თუ გვექნება if (3 > 4)("თუ 3 მეტია 4-ზე"), ეს ყოველთვის მცდარი იქნება.
ასევე შემიძლია ბულის რიცხები ცვლადებს მივანიჭო.
ახლა შევქმნი ახალ ცვლადს, რომელსაც დავარქმევ winstonIsCool-ს
და მივანიჭებ ბულის ტიპის მნიშვნელობას
true-ს ან false-ს. ვთქვათ, true-ს.
ახლა ამ ცვლადს აქვს ბულის ტიპის მნიშვნელობა
შემიძლია დავაკოპირო და ჩავსვა ამ if-ში.
როგორც ხედავთ, წრეწირი დაიხაზა, იმიტომ რომ winstonIsCool-ის მნიშვნელობა true-ა.
ეს შემიძლია შევცვალო ბულის ტიპის გამოსახულებით,
2 < 4 ("2 ნაკლებია 4-ზე").
თუ ქმნით ცვლადს, რომელსაც უნდა ჰქონდეს ბულის ტიპის მნიშვნელობა,
უნდა მისცეთ ისეთი სახელი
რომელიც აღნიშნავს მდგომარეობას, როდესაც ცვლადი არის true, ანუ ჭეშმარიტი.
კარგი ხერხი იმის შესამოწმებლად, რამდენად კარგი სახელი შეურჩიეთ ცვლადს:
დაუმატეთ წინ "თუ" და ნახეთ, რამდენად აზრიანი პირობა გამოვიდა
დავივიწყოთ WinstonIsCool-ი, უკვე ვიცით რომ ეს ჭეშმარიტია.
ვთქვათ, გვაქვს ცვლადი სახელად "მაფინები".
თუ მაფინები.
ეს არაფერს გვეუბნება, შესაბამისად ცუდი სახელია ბულის ტიპის ცვლადისთვის.
მაგრამ, რომ ერქვას muffinsAreBaking ("მაფინები ცხვება"), აზრი ექნებოდა.
როდესაც ცვლადი იქნება ჭეშმარიტი, მაშინ მაფინები ცხება.
და არ მკითხოთ, როგორები. მნიშვნელოვანი არ არის.
მოდი, ახლა დავუბრუნდეთ if (number < 50)–ს ("თუ რიცხვი ნაკლებია 50-ზე"-ს).
ახლა ვნახოთ ბულის ტიპის სხვა გამოსახულებები.
ჩვენ უკვე ვნახეთ "მეტია"(>) და "ნაკლებია"(<)
მაგრამ ასევე შეგვიძლია გამოვიყენოთ "ნაკლებია ან ტოლია"(<=)
ვცადოთ, if (number <= 48) ("თუ რიცხვი ნაკლებია ან ტოლია 48-ის").
ასევე შეგვიძლია დავწეროთ if (number >= 48) ("თუ რიცხვი მეტია ან ტოლი 48-ის").
თუ ეს ასეა, დაიხატება მარჯვენა ზედა წრეწირი.
და თუ გვინდა შევამოწმოთ არის თუ არა ორი რამ ერთმანეთის ტოლი,
ჩვენ შეგვიძლია დავწეროთ "if (number" და სამი ტოლობის ნიშანი - "=== 48)".
უფრო ჰგავს ტოლობის იმ ნიშანს, რომელიც მათემატიკაში ვისწავლეთ.
ოღონდ ამჯერად ზედიზედ 3-ია.
მგონი ზედმეტიც.
საბოლოოდ, თუ გვინდა შევამოწმოთ ორი რამის უტოლობა,
შეგვიძლია დავწეროთ "თუ რიცხვი" და შემდეგ ძახილის ნიშანი
და ორი ცალი ტოლობის ნიშანი. "!==48".
და დაიხატება საბოლოო წრეწირიც.
თუ ზემოთ ავიხედავთ, ვნახავთ, რომ რიცხვი უდრის 48-ს.
იგი ნაკლებია და ტოლია 48-ის, ამიტომაც ზედა მარცხენა წრეწირი ხატია.
ასევე მეტია და ტოლი 48-ის, ასევე უდრის 48-ს,
მაგრამ არ არ უდრის 48-ს, ამიტომაც არ გვაქვს ქვედა მარჯვენა წრეწირი.
და თუ შევცვლით რიცხვს ვნახავთ, რომ ზოგი წრეწირი დაიხატება და ზოგიც გაქრება.
ახლა თქვენ იცით ბულის ტიპის შესახებ.
მათემატიკური გამოსახულებების ნაირად,
ბულის ტიპის გამოსახულებებიც შეიძლება ძალიან გართულდეს.
მაგრამ, ამის შესახებ სხვა დროს ვისაუბროთ.