Skip to content

02. კარელი - პროგრამირების სტრუქტურები

ქვემოთ ჩამოთვლილი თემების შესაბამისი ვიდეოები ნახეთ ყველამ და ვიდეოს სავარჯიშოებიც (Example რასაც აწერია) გააკეთეთ დამოუკიდებლად. შემდეგ გადადით ამ კვირის სემინარის გვერდზე და გააკეთეთ ის სავარჯიშოები

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

ფუნქციები

შეგვიძლია კარელს (ან ნებისმიერ პროგრამას) ვასწავლოთ ახალი ბრძანება (არსებული ბრძანებების ერთობლიობას დავარქვათ სახელი და ის გამოვიყენოთ)

function turnAround() {
    turnLeft();
    turnLeft();
}

კოდის ბლოკი {}

ფიგურული ფრჩხილებით შემოფარგლული ხაზები, რომლებიც მიეკუთვნება კონკრეტულ პროგრამულ სტრუქტურას (მაგალითად, ფუნქციას).

ფაილის სტრუქტურა

კომენტარები

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

takeBall(); // ერთხაზიანი კომენტარი. 

/*
რამდენიმე ხაზიანი კომენტარი
მაგალითად ფუნქციის წინ ამ ფუნქციის ახსნის დასაწერად
*/

ინდენტაცია

კოდის ბლოკებს ფუნქციების გარდა სხვა სტრუქტურებიც იყენებენ და ჩვენ შეგვიძლია ამ სტრუქტურების კომბინაცია (ერთ ბლოკში მეორის გახსნა და ა.შ). მნიშვნელოვანია, რომ ამ დროს დაიცვათ ინდენტაცია და ყოველი ახალი ბლოკის ხაზები შეწეული იყოს tab-ით

function f1() {
    somecode(); // შეწიე ერთი tab-ით. 
    if (somethingTrue()) {
        doStuff(); // შეწიე კიდევ ერთი tab-ით
    }
    someOtherCode();
}

კონტროლის სტრუქტურები

გამეორება - for loop

თუ გვინდა კარელმა რამე ბრძანება (ან ბრძანებები) N-ჯერ გაიმეოროს, ამ რიცხვს ვწერთ ასეთ სტრუქტურაში. ახლა იქნება პირველი შემთხვევა, როცა გეტყვით რომ რაღაც ნაწილს არ მიაქციოთ ყურადღება როგორ მუშაობს, თუმცა არა ბოლო. ზედმეტი ინფორმაციის გაფილტვრა არის უნარი, რომელიც გეხმარებათ გააკეთოთ მეტი პროგრესი და მოგვიანებით მოუბრუნდეთ რთულ ნაწილებს. ასევე მნიშვნელოვანია ის, რომ პროგრესის შემდეგ მეტი შანსი გაქვთ ეს რთული ნაწილი გაიგოთ, რადგან უკვე მეტი გამოცდილება გაქვთ. უბრალოდ დაიმახსოვრეთ, რომ შუა რიცხვი უნდა შეცვალოთ.

for (var i=0; i < 9; i++) {
    move(); // გადავა 9-ჯერ
}

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

პირობის შემოწმება - if/else statement

if (somethingTrue()) {
    doStuff();
} else {
    doAnotherStuff();
}

პირობის საფუძველზე გამეორება - while loop

while (somethingTrue()) {
    keepDoingStuff()
}