You are on page 1of 27

ცვლადები, მონაცემთა ტიპები, ოპერაციები

ირმა დავითაშვილი
განსახილველი საკითხები:

■ ცვლადები
■ მუდმივები
■ მონაცემთა ტიპები
■ ოპერატორები
ცვლადები
ცვლადს გააჩნია
■ სახელი (იდენტიფიკატორი), რომელიც შეიძლება ლათინურ
სიმბოლოებს, ციფრებს, ხაზგასმის სიმბოლოებს;
■ მნიშვნელობა, რომელიც შესაძლებელია შეიცვალოს რამდენჯერმე
პროგრამის შესრულების პროცესში; ცვლადი ინარჩუნებს მნიშვნელობას
მანამ, სანამ არ მიენიჭება ახალი მნიშვნელობა;
■ ზომა - ცვლადისთვის გამოიყოფა მეხიერების უბანი, რომელშიც ინახება
ცვლადის მიმდინარე მნიშვნელობა.
■ ტიპი, რომელიც შეიძლება იყოს რიცხვითი (მთელი, ათწილადი),
სიმბოლური, სტრიქონული
მაგალითად; z=x+y; z, x, y წარმოადგენენ ცვლადებს, რომელთა
მნიშვნელობები შესაძლებელია იყოს როგორც რიცხვები, ასევე
სიმბოლოები, სიმბოლოებისგან შემდგარი სტრიქონები ან მეხსიერების
მისამართები.
ცვლადები
ცვლადები შეიძლება იყოს ორი სახის
■ ლოკალური, რომლის მოქმედების არე განსაზღვრულია პროგრამის
განსაზღვრულ უბანზე (ფუნქციაში, პროცედურაში, მეთოდში ან
ქვეპროგრამაში, გამომდინარე პროგრამირების ენაზე)
■ გლობალური, რომლის მოქმედების არე განსაზღვრულია მთელი
პროგრამის შესრულებისას; იგი წვდომადია პროგრამის ნებისმიერი
ნაწილიდან

მთავარი პროგრამა

გლობალური ცვლადი

ლოკალური ცვლადი
ცვლადები
■ ცვლადის სახელად არ შეიძლება გამოყენებული დარეზერვირებული
(საკვანძო) სიტყვები:
C++-

საკვანძო სიტყვები C და C++-ში


auto break case char enum continue
default do double else int extern
float for goto if sizeof long
register return short signed unsigned static

struct switch typedef union   void


volatile while        
მხოლოდ C++-ში
asm catch class delete friend inline
new operator private protected public template
this throw try virtual    
ცვლადები
ცვლადისთვის სახელის შერჩევა:
სწორია:
X
number1
a123
number_2
_xyz
არასწორია:
123a
Ab
main
მუდმივები

■ ცვლადების საპირისპიროდ ასებობენ მუდმივები (კონსტანტები);


■ მუდმივას მნიშვნელობა უცვლელია მთელი პროგრამის მუშაობის
პროცესში;
■ კონსტანტები ნაკლებად გამოყენებადია მათი მოუქნელობის გამო;
მუდმივა შეიძლება იყოს:
- რიცხვი , მაგ, 1.23
- სიმბოლო, მაგ, ‘a’ ან ‘$’
- სტრიქონი, მაგ, „this is a string”
მაგალითი
■ წრის ფართობის გამოთვლა:
Area=3.142*r*r
- ცვლადები : Area, r
- მუდმივა : 3.142

კარგი სტილი : ცვლადებსა და მუდმივებს სახელი ჯობს


შინაარსიდან გამომდინარე შეურჩიოთ
მონაცემთა ტიპები
C და C++-ში (ასევე სხვა პროგამირების ენებში) არსებობს მონაცემთა ტიპები, რომლებიც
განსაზღვრავს როგორც ცვლადებს ასევე მუდმივებს; ესენია:
■ მთელრიცხვა; (Integer) -ისინი გამოიყენება მხოლოდ მთელი რიცხვებისთვის, მათ
ასაღწერად გამოიყენება int საკვანძო სიტყვა და არსებობს სხვადასხვა ზომის (long, short),
ასევე ნიშნიანი და უნიშნო (signed , unsigned), იმისდამიხედვით როგორ რიცხვებს აღწერს
დადებითს თუ უარყოფითს
■ ათწილადი (მცოცავმძიმიანი Floating point)- ისინი გამოიყენება არამთელი რიცხვებისთვის,
მათ ასაღწერად გამოიყენება float და double საკვანძო სიტყვები;
■ სიმბოლური (Character)- წარმოადგენს მხოლოდ ერთ სიმბოლოს და ასეთი ტიპის
მონაცემთა ასაღწერად გამოიყენება საკვანძო სიტყვა char, მეხსიერებაში იკავებს 1 ბაიტს,
char ტიპის ცვლადები შეიძლება გამოყენებული იქნას მთელი ტიპის ცვლადებისთვისაც;
■ ლოგიკური (Boolean)- ამ ტიპის მონაცემები ღებულობენ მხოლოდ ორ მნიშვნელობას, true,
false, მათი აღწერისთვის გამოიყენება bool საკვანძო სიტყვა,
■ სტრიქონული (String)- ამ ტიპის მონაცემში შეიძლება შენახული იქნას მთელი სტრიქონი,
მათი აღწერისთვის გამოიყენება საკვანძო სიტყვა string
მონაცემთა ტიპები
ცვლადებისა და მუდმივების დეკლარირება
■ ნებისმიერი ცვლადი ან მუდმივა, რომელიც გამოყენებული იქნება
პროგრამაში აუცილებლად უნდა იქნეს დეკლარირებული , აღწერილი.
მათ შესაძლოა საწყისი მნიშვნელობები ქონდეთ მინიჭებული, ან არ ქონდეთ და
მოგვიანებით მიენიჭოთ; საწყისი მნიშვნელობების მინიჭებას ინიციალიზაცია
ეწოდება;
მაგალითად:
int a //არ არის ინცილიზებული
float b= 5.7 //ინიციალიზებულია
double c=56789876.7 //ინიციალიზებულია
char m=‘s’ //ინიციალიზებულია
bool b=True //ინიციალიზებულია
string name // არ არის ინიციალიზებული
დეკლარირება
■ მუდმივას დეკლარირებას წინ უძღვის საკვანძო სიტყვა const
const float pi = 3.14;
pi -ის მნიშვნელობის შეცვლის მცდელობა გამოიწვევს სინტაქსურ შეცდომას
განსხვავებით ცვლადებისგან მუდმივას ინიციალიზაცია აუცილებელია
თავიდანვე
ძირითადი ფორმა მუდმივას დეკლარაციისა არის
const ტიპი იდენტიფიკატორი = მნიშვნელობა;
სავარჯიშო
სწორია თუ არა იდენტიფიკატორები? რატომ?
1. a1
2. Number3
3. 123abc
4. a_123
5. No 2
6. _123a
7. B2b2
სავარჯიშო
განსაზღვრეთ მონაცემთა ტიპები;
12
1345.5
23457889654888.5
A1
B
False
My name is
-5
ოპერატორები
ოპერატორები ოპერატორი მაგალითი
მინიჭება = a=5
შეკრება + a+b
გამოკლება - a-b
გაყოფა / a/b
გამრავლება * a*b
ნაშთის გამოყოფა % a%b
ინკრემენტი ++ a++ ++a
დეკრემენტი -- a-- --a
მინიჭება
მარტივი არითმეტიკის ოპერატორები

■ float x = 3 + 2; // 5 // შეკრება
■ x = 3 - 2; // 1 // გამოკლება
■ x = 3 * 2; // 6 // გამრავლება
■ x = 3 / 2; // 1 // გაყოფა
■ x = 3 % 2; // 1 // ნაშთის გამოყოფა
კომბინირებული არითმეტიკის ოპერატორები

  int x = 10;
x += 5; x = x+5; x=15
x -= 3; x = x-3; x=12
x *= 5; x = x*5; x=60
x /= 4; x = x/4; x=15
x %= 4; x = x%4; x=3
ინკრემენტი და დეკრემენტი
■ x++; // x=x+1; პოსტფიქსური ინკრემენტი
■ x--; // x=x+1 პოსტფიქსური დეკრემენტი
■ ++x; // x=x+1; პრეფიქსური ინკრემენტი
■ --x; // x=x-1; პრეფიქსური დეკრემენტი 

■ x = 5; y = x++; // x=5; y=5;


■ x = 5; y = ++x; // x=5 , y=6
■ x = 5; y = x- -; // x=5, y=5
■ x = 5 ; y = - -x; // y=5, y=4
შედარების და ლოგიკის ოპერატორები

არ შეიძლება == != >= <= ოპერატორების დაცალკავება სფეისით


ლოგიკის ოპერატორების ჭეშმარიტების ცხრილი

B1 B2 B1&&B2 B1||B2 !B1


true true true true False
true false false true False
False true False True True
False False False False True
ლოგიკის ოპერატორები
მაგალითი
ვთქვათ x=2 და y=5 მაშინ
x<y = True
(x + 2) > (y * 2) = False
(x + 3) <= y = True
x != y = True
y > (3 + x) = False
ოპერაციათა პრიორიტეტები
პირველი პროგრამა
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello, I am C++ Programmer";
}
მმართველი სიმბოლოები
კომენტარები
■ კომენტარი პროგრამულ კოდში წარმოადგენს სტრიქონს, რომელიც
იგორირდება კომპილატორისგან. იგი გამოიყენება კოდის ერთი
სტრიქონის ან რაინე ფრაგმენტის ასაღწერად.
// - ერთსტრიქონიანი კომენტარი
/* ........
............ */ -მრავალსტრიქონიანი კომენტარი

/* - იგნორირდება მოცემული სიმბოლოს შემდეგ ყველა სტრიქონი

პროგრამების კომენტირება აადვილებს კოდის აღქმას და


ითვლება პროგრამირების კარგ სტილად
მათემატიკური ფუნქციები

You might also like