Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 28

daprogramebis safuZvlebi

leqcia #3
2021-2022 sasw.w. I semestri
Tsu asoc. prof. naTela arCvaZe

Tsu, zusti da sabunebismetyvelo mecnierebaTa fakulteti,


kompiuterul mecnierebaTa mimarTuleba
თემა:
წინა ლექციაზე:
 პროგრამის სტრუქტურა
 მინიჭების ოპერატორი =
 შეტანა–გამოტანა
 გამოსახულებები
დღეს:
 სტრუქტურული პროგრამირების ბაზური
კონსტრუქციები
 მართვის შეტყობინებები
 char ტიპი, ASCII კოდები
miniWebis Setyobineba
cvladi = gamosaxuleba;
<გამოსახულება>
შედგება:

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

სინტაქსი: cout << <გამოსახულება> ;


სემანტიკა:
ა) გამოითვლება <გამოსახულება> -ის
მნიშვნელობა;
ბ) გამოჩნდება კონსოლის ეკრანზე.
შეტანის იგივე წაკითხვის ფუნქცია
• სინტაქსი:
<ტიპის სახელი> <ცვლადის სახელი>;
cin>> <ცვლადის სახელი>;
• სემანტიკა:
ა) ეკრანის გაჩერება;
ბ) კლავიატურაზე სიმბოლოების აკრეფა;
გ) enter ღილაკზე დაჭერა;
დ) ცვლადს მიენიჭება აკრეფილი
მნიშველობა.
შეტანა-გამოტანის ფუნქციების მაგალითი

//კლავიატურიდან შეტანილი რიცხვის


// კვადრატის გამოთვლა
#include <iostream>
using namespace std;
int main()
{ double i;
cout << "შემოიტანეთ მთელი რიცხვი\n";
cin >> i;
cout << i << “*”<< i<<“=“<<i*i<<endl;
}
Tema:
marTvis Setyobinebebi
პროგრამა შედგება მხოლოდ სამი
სტრუქტურისაგან:
• მიმდევრობა
• განშტოება
• ციკლი (განმეორება).
მათ სტრუქტურული პროგრამირების
ბაზურ კონსტრუქციებს უწოდებენ
• მიმდევრობა ეწოდება
კონსტრუქციას, რომელიც
წარმოადგენს ორი ან მეტი
ოპერატორის (მარტივის ან
შედგენილის) თანმიმდევრულ
შესრულებას.
• განშტოება განსაზღვრავს ერთი ან
მეორე ოპერატორის შესრულებას
იმისდამიხედვით, სრულდება თუ
არა მოცემული პირობა.
• ციკლი განსაზღვრავს ოპერატორის
მრავალჯერად შერულებას.
ganStoebadi
• pirobiTi, amorCevadi:
if Setyobineba
if-else Setyobineba
• გადამრთველი
switch ()
if(piroba) { operatori1; operatori2; ... }
gagrZeleba

if (piroba) operatori;
< , <=, >, >=, ==, !=
&& (and) ||(or) !=(no)

x y x&&y x||y not x


0 0 0 0 1
0 1 0 1 1
1 0 0 1 0
1 1 1 1 0
if(piroba) {
operatori1;
operatori2; ... }
gagrZeleba
if ოპერატორი სქემატურად ასე
გამოისახება:
Tu studentis Sefaseba 51-ze metia an toli
davbeWdoT “sagani Cabarebulia”.
if (grade >= 51)
cout<<"Passed course\n “;
// int grade; grade=…

diax daibeWdos
grade>=51 “sagani
Cabarebulia”

ara
if-else Setyobineba
if (piroba)
Setyobineba1; //ჭეშმარიტების დროს
else
Setyobineba2; //მცდარობის დროს

Tu Sefaseba 51-ze metia an toli


davbeWdoT “Tqven CaabareT sagani”
winaaRmdeg SemTxvevaSi
davbeWdoT “Tqven dagakldaT 51-grade
qula”
if–else ოპერატორი სქემატურად ასე
გამოისახება:
if (grade >= 51)
cout<<“You passed course \n ";
else
cout<<“You need “<< 51-grade <<“ more points\n“;

daibeWdos
“Tqven daibeWdos
dagakldaT 51- ara “Tqven
diax CaabareT
grade qula”
Grade sagani”
>=51
Cadgmuli if Setyobineba

if (number > 0)
/* pirveli if Setyobineba */
if ( number % 2 == 0)
/* meore if Setyobineba */
cout<<“Number positive and even\n”;
else
cout<<"Number positive and odd\n";
if (number > 0)
/* pirveli if Setyobineba */
if ( number % 2 == 0)
/* meore if Setyobineba */
cout<<“Number positive and even\n”;
else
cout<<"Number positive and odd\n";
else if (number==0)
cout << “Number - zero\n” ;
else cout<<"Number negative \n;
“;
განვიხილოთ ტიპიური შეცდომები
• შედარების ნიშნის (==) ნაცვლად
გამოყენებულია =.
if (x=1) printf("x tolia 1\n");
• პირობა არ არის ფრჩხილებში
if x==1 printf("x tolia 1\n");
• pirobis Semdeg dawerilia ;
if (x==1); printf("x tolia 1\n");
• pirobis Semdeg aris ramdenime operatori da
Semdeg aris else operatori.
if (x==1) printf("x tolia 1\n"); x++;
else x*=2;
pirobiTi operacia
(piroba)? gamosax1:gamosax2;
• max = (x > y) ? x : y ;
• max = x > y ? x : y ;
• if(x>y) max=x; else max=y;
•Abs = x >= 0? x : -x ;
•if(x>=0)Abs=x;
else Abs=-x;
მონაცემთა ტიპი
განსაზღვრავს:

• მონაცემების შიდა წარმოდგენას


კომპიუტერის მეხსიერებაში;
• მნიშვნელობათა სიმრავლეს,
რომელთა მიღება შეუძლია ამ
ტიპის ცვლადებს;
• ოპერაციებს და ფუნქციებს,
რომლებიც შეიძლება ამ ტიპის
ცვლადებთან იყოს გამოყენებული.
• ტიპები იყოფა მარტივ (სკალარულ),
შედგენილ (აგრეგატიული) და
ფუნქციონალურ ტიპებად
• მარტივი ტიპები: სტანდარტული ან
პროგრამისტის მიერ განსაზღვრული
• განსაზღვრულია ექვსი სტანდარტული
მარტივი ტიპი, მათ საფუძველზე იქმნება
საკუთარი მარტივი ან სტრუქტურირებადი
ტიპი.
• სტრუქტურულ ტიპებს მიეკუთვნება
ჩამოთვლები,ფუნქციები, სტრუქტურე–
ბი, გაერთიანებები და კლასები.
მონაცემების მარტივი
ტიპები
მარტივი ტიპები იყოფა მთელ და
მცოცავწერტილიან ტიპებად.
• int (მთელი);
• char (სიმბოლური);
• wchar_t (გაფართოებული
სიმბოლური);
• bool (ლოგიკური);
• float (ნამდვილი);
• double (ნამდვილი ორმაგი
სიზუსტით).
ტიპის სპეციფიკატორები
აზუსტებს სტანდარტული ტიპების
შიდა წარმოდგენებს და
მნიშვნელობების დიაპაზონს:
•short (მოკლე);
•long (გრძელი);
•signed (ნიშნიანი);
•unsigned (უნიშნო).
#include <climits>
int main(){
cout<<INT_MIN<<'\t'<<INT_MAX<<endl;
//-2147483648 2147483647
cout<<0<<'\t'<<UINT_MAX<<endl; //0 4294967295
cout<<CHAR_MIN<<'\t'<<CHAR_MAX<<endl; //-128 127
cout<<0<<'\t'<<UCHAR_MAX<<endl; //0 255
cout<<SHRT_MIN<<'\t'<<SHRT_MAX<<endl; //-32768 32767
cout<<0<<'\t'<<USHRT_MAX<<endl; //0 65535
cout<<LONG_MIN<<'\t'<<LONG_MAX<<endl;
//-2147483648 2147483647
cout<<0<<'\t'<<ULONG_MAX<<endl;//0 4294967295
cout<<sizeof(long long)<<endl; //8
cout<<LL]ONG_MIN<<'\t'<<LLONG_MAX<<endl;
//-9223372036854775808 9223372036854775807
cout<<0<<'\t'<<ULLONG_MAX<<endl;
//0 18446744073709551615
• სიმბოლური ტიპი (char)
• ASCII კოდები
char: –128–დან 127–მდე
unsigned char: – 0–დან 255–მდე
• გაფართოებული სიმბოლური
ტიპი (wchar_t)
Unicode
mmarTveli simboloebi
simboloTa saxeli daniSnuleba
Tanmimdevroba
\b BBackspace ukan dabruneba erTi simboloTi

\f Form Feed axal furcelze gadasvla

\n Newline axal striqonze gadasvla

\r Return striqonis TavSi dabruneba

\t Tab Tab-is Semdeg poziciaze gadasvla

\' Apostrophe simbolo ‘

\" Double quote simbolo "

\\ Backslash simbolo \

\nnn simbolos rvaobiTi kodi

\a Bell xmovani signali

You might also like