რა არის ცვლადი, vol.2


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

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

ცვლადების მინიჭება

ცვლადში ინფორმაციის შენახვისთვის გამოიყენება ე.წ. “მინიჭების განცხადება” (ინგ. assignment statement). განაცხადი შედგება შემდეგისგან: ა) ცვლადის სახელი; ბ) მინიჭების ოპერატორის (ხშირად ტოლობის ნიშანი ‘ = ’ ); და გ) შესანახი სიდიდე. თუ შეგყავს მინიჭების განცხადება spam = 42, შეიქმნება ცვლადი spam და მასში შეინახება რიცხვი 42.

წარმოიდგინე რომ ცვლადი არის წარწერიანი ყუთი, რომელშიც “ჩაიდება” სიდიდე 42.

ნახ. 1. Spam = 42 იგივეა, რაც პროგრამას ვუთხრათ: “შექმენი ცვლადი spam და მასში შემინახე მთელი რიცხვი 42.”
ნახ. 1. Spam = 42 იგივეა, რაც პროგრამას ვუთხრათ:
“შექმენი ცვლადი spam და მასში შემინახე მთელი რიცხვი 42.”

მაგალითისთვის მოვიყვან რამდენიმე ბრძანებას ენა “პითონი”-ს (Python) კონსოლიდან:

(1) >>> spam = 40
    >>> spam
    40
    >>> eggs = 2
(2) >>> spam + eggs
    42
    >>> spam + eggs + spam
    82
(3) >>> spam = spam + 2
    >>> spam
    42

პირველ სტრიქონში (1) ხდება ცვლადის ე.წ. “ინიციალიზება” (ანუ შექმნა) და მასში პირველად ჩაიწერება მნიშვნელობა – რიცხვი 40. ამის შემდეგ შესაძლებელია ცვლადის გამოყენება სხვადასხვა გამოსახულებაში, სხვა სიდიდეებთან და ცვლადებთან ერთად (2).

როცა ცვლადს ენიჭება ახალი მნიშვნელობა (3), ძველი სიდიდე ივიწყება. ამიტომაც, შემდეგში რომ ჩავიხედებით ცვლადში spam, მისი მნიშვნელობა არის 42 და არა 40. ამას ეწოდება ცვლადის “ზედგადაწერა” (ინგ. overwriting). ამ მაგალითის მსგავსად, იგივე ხდება სტრიქონიანი ცვლადების შემთხვევაში:

 >>> spam = 'Hello'
 >>> spam
 'Hello'
 >>> spam = 'Goodbye'
 >>> spam
 'Goodbye'

აქ ცვლადში spam ჯერ ჩაიწერება სტრიქონი “Hello”, ხოლო შემდეგ ხდება მასში “Goodbye” სტრიქონის ზედგადაწერა. ამ დროს ძველი მნიშვნელობა “Hello” დაუბრუნებლად წაიშლება.

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

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

>>> asaki = 18; sakheli = 'giorgi'; tsona = 86.33

ხოლო დაპროგრამების ენა C++  -ში აუცილებელია ცვლადის სახეობის (ტიპის) წინასწარ განსაზღვრა:

int asaki = 18; string sakheli = "giorgi"; 
float tsona = 86.33

ყველა ენას თავისი თავისებურება ახასიათებს.

ცვლადებისთვის სახელების დარქმევა

არსებობს სახელების დარქმევის გარკვეული წესები. ზოგი წესი იმისთვისაა, რომ ცვლადის წაკითხვა მოსახერხებელი იყოს, ზოგი კი — რომ თავი დავიზღვიოთ დაპროგრამების დროს შესაძლო შეცდომებისაგან. მაგალითისთვის, ცვლადის სახელები ენა პითონში (Python):

  1. შეიძლება იყოს მხოლოდ ერთიანი (გაუყოფელი) სიტყვა
  2. შეიძლება შეიცავდეს მხოლოდ ლათინურ ასოებს, ციფრებს და ქვეტირეს ( _ )
  3. არ შეიძლება დაიწყოს ციფრით

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

დასაშვები დასახელება დაუშვებელი დასახელება მიზეზი
balance current-balance დეფისი ან მინუსი  დაუშვებელია
currentBalance current balance ჰარის გამოყენება დაუშვებელია
current_balance 4account რიცხვით დაწყება არ შეიძლება
_spam 42 არ შეიძლება დაწყება ციფრით
SPAM total_$um დამატებითი სიმბოლოები როგორიცაა $ დაუშვებელია
account4 ‘hello’ დამატებითი სიმბოლოები როგორიცაა ‘ ‘ დაუშვებელია
djamuri_tankha ჯამური_თანხა არალათინური სიმბოლოები დაუშვებელია

სახელების დარქმევის სტილი

ძირითადად გამოიყენება სახელის დარქმევის ორი სტილი:

  1. ქვეტირეებით გამოყოფილი სიტყვები es_aris_tsvladi, hello_world, calculated_area ; ან
  2.   სახელის მდგენელები მთავრული ასოებით იწყება esArisTsvladi, helloWorld, calculatedArea.

აბ ბოლო სტილს ეძახიან “camelback” (ქარ. პირდაპ. “აქლემის ზურგი”). ზოგიერთ ენას აქვს თავისი თავისებურები, ან რაიმე განსაზღვრული წესი (მაგ. პითონს აქვს კოდის წერის დაწესებული სტანდარტი PEP8).

იმისდა მიუხედავად თუ რა სტილის გამოყენებას ირჩევ, საჭიროა გაითვალისწინო რომ ყველა ობიექტის დასახელება (ცვლადი იქნება ეს, ფუნქცია თუ კლასი) უნდა იყოს კონკრეტული და გასაგები. მაგალითად, თუ ცვლადს ჰქვია aaa01 ან raghac ან stuff, ძალიან რთულდება კოდის კითხვა და აღმქა.

თუ კი ცვლადს ჰქვია ცალსახა მნიშვნელობის მქონე სახელები asaki ან mankanis_marka ან datvlili_fartobi — ეს გაცილებით ამარტივებს პროგრამის მსვლელობისთვის თვალყურის დევნას და მუშაობის აღქმას.

ეს განასკუთრებით მნიშვნელოვანია, ვინაიდან ცნობილია რომ ადამიანი ივიწყებს თავისივე დაწერილ კოდს რამოდენიმე კვირის / თვის შემდეგ. ამიტომაც საჭიროა, რომ კოდის მეტ-ნაკლებად მარტივად იკითხებოდეს.

– – –

ამ მასალის ძირითად აზრი, შიგთავსი და ნახ.1 და ნახ.2 აღებულია წიგნიდან “Automate the Boring Stuff with Python”, Ch 1.

Advertisements

One thought on “რა არის ცვლადი, vol.2”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s