Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 13

mecadineoba # 2

praqtikuli mecadineobis Temebi: laboratoriuli mecadineobis Temebi:


 standartuli tipis cvladebis beWdva  striqonebis wakiTxva da beWdva
 ariTmetikuli da Sedarebis operatorebi  mTeli ricxvebis wakiTxva
amocanebi:  3 ricxvis saSualo ariTmetikuliM

1-5. ipoveT cvladis mniSvneloba, Tu...…>>> amocanebi:


6. daadgineT cvladis tipi… >>> 1. striqonebis Setana klaviaturidan da
7. romlis mniSvnelobaa meti? >>> gamotana ekranze >>>
8-9. cvladebis mniSvnelobebis gacvla >>> 2. striqonebis da mTeli ricxvebis Setana-
gamotana >>>
10. samniSna ricxvis cifrebis povna >>>
3. programa gekiTxebaT... >>>
damoukidebeli samuSao >>>
4. cvladebis diapazonebi >>>
damoukidebeli samuSao >>>

masala damoukideblad gacnobisaTvis:


1. standartuli tipis cvladebis beWdvis nimuSebi:
# programis fragmenti Sedegi
1 cout << 1111 << 5555 << "AAAA"; 11115555AAAA
1111
cout << 1111 << endl << 5555 << endl << "AAAA" 5555
2
<< endl; AAAA

11.11
0
cout << 11.11 << endl << false << endl << true << endl
3 1
<< 'a' <<endl;
A

double d = 12.00357; 12.0036


4
cout << d << endl << 'd' << endl; d
int a = 1111; a
5
cout << 'a' << endl << a << endl; 1111

SeniSvna 1: aq da qvemoT, imisaTvis rom vnaxoT programis fragmentis Sedegi, igi unda
SevavsoT srul programul kodamde. magaliTad, mexuTe fragmentisTvis unda
davweroT:
#include <iostream>
using namespace std;
int main()
{
int a = 1111;
cout << 'a' << endl << a << endl;
}
xolo sxva nimuSebSi SevcvaloT erTi fragmenti meoreTi.

SeniSvna 2: C++ -Si, return 0; instruqcia main() – Si aucilebeli aRar aris.

2. operatorebis gamoyenebis nimuSebi:


# programis fragmenti Sedegi
int b = 2;
1 b += 3; b gaxda 5
cout << "b gaxda " << b << endl;
კ. გელაშვილი, ი. ხუციშვილი 7
double k = 5.0148;
2 k += 6; k udris 11.0148
cout << "k udris " << k << endl;
int b = 2; double p = 2.5;
b *= 2; p *= 2; b udris 4
3
cout << "b udris " << b << endl p udris 5
<< "p udris " << p << endl;
int n = 20; double q = -25;
n /= 6; q /= 6; n udris 3
4
cout << "n udris " << n << endl q udris -4.16667
<< "q udris " << q << endl;
int c = 15;
5 c %= 9; c udris 6
cout << "c udris " << c << endl;
string name = "George";
George
6 cout << name << endl;
George Lukas
cout << name + ' ' + "Lukas" << endl;
string name = "George";
7 name += " Lukas"; George Lukas
cout << name << endl;
char c = 'F';
8 c += 1; G
cout << c << endl;
int m = 11; 11
cout << m++ << endl; 12
9
cout << m << endl; 13
cout << ++m << endl << m << endl; 13
char c = 'A';
cout << c++; /პოსტიქსური
10 ABCC
cout << c;
cout << ++c << c << endl; // პრეფიქსური

3. rogor muSaobs Sedarebis operatorebi


# programis fragmenti Sedegi
1 cout << (37 == 42) << endl; 0 // mcdari
2 cout << (25 > 17) << endl; 1 // WeSmariti
int i = 7, j = 5;
3 1 // WeSmariti
cout << (i >= j) << endl;
int a = 55, b = 15;
4 0 // mcdari
cout << (a <= b) << endl;
string name = "George";
5 1 // WeSmariti
cout << (name == "George") << endl;
string name = "George";
6 0 // mcdari
cout << (name != "George") << endl;
double p = 1.051, q = 1.05;
7 1 // WeSmariti
cout << (p > q) << endl;
double x = -0.000045, y = -0.0045;
8 0 // mcdari
cout << (x <= y) << endl;

saauditorio samuSao:
<<< 1. ipoveT m cvladis mniSvneloba, Tu mocemuli gvaqvs ganacxadi int m = 4;
a) m += 3 b) m *= 3 g) m -= ‘M’; d) --c
2. ipoveT c cvladis mniSvneloba, Tu mocemuli gvaqvs ganacxadi char c = 'D';
a) c += 3; b) c -= 3; g) c = 'M'; d) --c;
3. ipoveT s cvladis mniSvneloba, Tu gvaqvs ganacxadi string s = "String";

კ. გელაშვილი, ი. ხუციშვილი 8
a) s += " AAAA"; b) s = s+' '+"AAAA"+'.'; g) s = "UUUH!";
4. ipoveT x cvladis mniSvneloba, Tu gvaqvs ganacxadi double x = 11.907;
a) x++; b) x =(x - 1.907)/3; g) x -= 11.807; d) x += -5;
5. vTqvaT, m da n int tipis cvladebia. ipoveT maTi mniSvnelobebi:
a) m = (7 - 3)*9; b) n = (4 + 7)/3*2; g) n = m = (10 + 8)/6;
d) n = 4 + 5*(m = 7/3); e) m = (8 + 2)*2.5; v) n = (2 + 3)*2.5;
z) n = (int)5.5 + 4.7;
<<< 6. a) s cvlads mianiWeT mTeli a, b da c ricxvebis saSualo ariTmetikuli. zusti
Sedegis misaRebad rogori tipis unda iyos s?

(a+b+c)/3.0 double S ;

ანუ a b c ინტებია მარა პასუხი რომ დაბლი იყოს ამიტომ მნიშვნელი 3,0 უნდა იყოს

b) k cvlads mianiWeT mTeli n da m ricxvebis sxvaobis mecxredi. zusti Sedegis misaRebad


rogori tipis unda iyos k?

k= (n-m)/9.0

g) C cvlads mianiWeT mTeli A da B ricxvebis jamis 4-ze gayofisas miRebuli ricxvis mTeli
nawili. daadgineT C cvladis tipi.
C= (a+b)/4
Int 4
C int
<<< 7. rogor gavarkvioT ori cvladidan romlis mniSvnelobaa meti? axseniT ras dabeWdavs
Semdegi programa.
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n = 3, m = 2;
cout << (n == m) << '\t'
<< (n > m) << endl;
char p = 'B', c = 'Q';
cout << (p != c) << '\t'
<< (p <= c) << endl;
double x = 10.5, y = -0.25;
cout << (x < y) << '\t'
<< (x >= y) << endl;
string S = "Anano", Q = "Aniko";
cout << (S > Q) << '\t'
<< (S < Q) << endl;
}
pasuxi:

კ. გელაშვილი, ი. ხუციშვილი 9
0 1
1 1
0 1
0 1
Press any key to continue . . .

<<< 8. ra mniSvnelobebs miiRebs m da n cvladebi?


int m = 5, n = 3;
m = n; n = m;
m==3
n==3
ავტორს უნდოდა ერთმანეთის მნიშვნელობა მიანიჭოს ორ ცვლადს დამატებითი ცვლადის გარეშე

9. axseniT sityvebiT, ras akeTebs kodis Semdegi ori fragmenti:


a) int m = 9, n = 5, k;
k = m;9
m = n;5
n = k;9
cout << x << ' ' << y << endl;

ეს კოშკების ალგორითმის ამბავია, ანუ მესამე ცვლადი შემოდის და იმას ვაძლევთ მნიშვნელობას,
ამ ცვლადის გამოყენებით კი მ -ს და ნ -ს ვუცვლით მნიშვნელობებს ერთმანეთში;

b) int m = 9, n = 5;
m = n + m;14
n = m - n;9
m = m - n;5
cout << m << ' ' << n << endl;
ამ მინიჭების ოპერაციებით ვცვლით მნიშვნელობებს დამატებითი ცვლადის გარეშე;
სტრიქონებთან ამას ვერ გამოვიყენებთ რადგან სტრიქონებისთვის „+“ არის განსაზღვრული მარა ‘-‘ არაა
განსაზღვრული

<<< 10. mocemulia samniSna ricxvi n.


a) dabeWdeT n ricxvis cifrTa jami.
#include <iostream>
using namespace std;
int main()

{
int n, sum;
cout << "Enter integer\n";
cin >> n;
sum = n/100 + (n/10)%10 + n%10;
cout << "sum = " << sum << endl;
}

programis Sedegia:
Enter integer
537
კ. გელაშვილი, ი. ხუციშვილი 10
sum = 15
Press any key to continue . . .
b) mTel k cvlads mianiWeT samniSna m ricxvis Sebrunebuli rigiT aRebuli cifrebisgan Sed-
genili ricxvi da dabeWdeT.
#include <iostream>
using namespace std;
int main()
{
int m, k;
cout << "Enter m" << endl;
cin >> m;
k = 100*(m%10) + 10*((m/10)%10) + m/100;
cout << "k = " << k << endl;
cout << ++k << endl; // პრეფიქსური ინკრემენტი

}
programis Sedegia:
Enter m
357
k = 753
Press any key to continue . . .

პოსტფიქსური ინკრემენტით
#include <iostream>
using namespace std;
int main()
{
int m, k;
cout << "Enter m" << endl;
cin >> m;
k = 100*(m%10) + 10*((m/10)%10) + m/100;
cout << "k = " << k << endl;
cout << k++ << endl; // პოსტფიქსური ინკრემენტი , აქ გამოაქვს ჯერ ისევ კ
cout << k << endl; // პოსტფიქსი აქ ემატება და კ+1 გამოაქვს
}

<<< damoukidebeli samuSao:


1. a) A cvlads mianiWeT mTeli B da D ricxvebis jamis mesamedi. zusti Sedegis misaRebad
rogori tipis unda iyos A?

კ. გელაშვილი, ი. ხუციშვილი 11
int main()
{
int b, d;
cout << "sheikvane b da d" << endl;
cin >> b >> d;

double A;
A = (b + d) / 3.;
cout << " b da ds mesamedia " << A << endl;
}

b) gansazRvreT d cvladis tipi da d –s mianiWeT p ricxvis meoTxedisa da q ricxvis meeqvsedis


sxvaoba, Tu :
- p da q mTeli ricxvebia;

int p, q;
cout << "sheikvane p da q\n";
cin >> p >> q;
double d;
d = p / 4 - q / 6.;
cout << "p da q s sxvobaa " << d << endl;

- p da q namdvili ricxvebia.
double p, q;
cout << "sheikvane p da q\n";
cin >> p >> q;
double d;
d = p / 4 - q / 6.;
cout << "p da q s sxvobaa " << d << endl;

2. ipoveT n cvladis mniSvneloba, Tu mocemuli gvaqvs ganacxadi int m = 7, n = 9;


a) n =(m == n); b) n =(m < n); g) n =(m > n); d) n = m <= n;
e) m = m != n; v) m += n; z) n *= m-1; T) n /= m+1; i) n += 2*m-n.

int main()
{
double m, n;

m = 7;
n = 9;
n += 2 * m - n;
cout << n;
}

3. SeamowmeT kompiuterze da gaaanalizeT miRebuli pasuxebi (SeavseT cxrili):


# Pprogramis fragmenti Sedegi
int x = 1, z;
z = x++;
1
cout << "x = " << x
<< "\tz = " << z << endl;
int x = 1, z; X=2
z = ++x;
2 Z=2
cout << "x = " << x
<< " z = " << z << endl;
char s = 'B', t; s=A
t = s--;
3 t=b
cout << "s = " << s
<< "\tt = " << t << endl;
კ. გელაშვილი, ი. ხუციშვილი 12
char s = 'B', t; T=a
t = --s;
4 S=a
cout << "s = " << s
<< "\nt = " << t << endl;
double d = 15.674, q; Q=6.674
q = ++d - 10;
5 D= 16.674
cout << "d = " << d
<< " q = " << q << endl;
double d = 15.674, q; q=25.674
q = d-- + 10;
6 d= 14.674
cout << "d = " << d
<< " q = " << q << endl;
string S = "Hello", K = "Students"; Hello
7 S += ", " + K + '!'; students!
cout << "S = " << S << endl;
bool b = false; 0
cout << ++b << endl;
8
b -= 1;
cout << b << endl;

4*. ra Sedegi miiReba programis Semdegi fragmentis SesrulebiT?


cout << (0.3 == 3*0.1) << endl;
bechdavs 0 რადგან 3*0,1 == 0,3000000004

miTiTeba: miRebuli pasuxis axsnisTvis CaamateT programaSi


#include <iomanip>
da dabeWdeT 3*0.1 –is mniSvneloba 20 aTwiladi niSnis sizustiT:
cout << fixed << setprecision(20);
cout << 3*0.1 << endl;
5. axseniT, ras dabeWdavs programis Semdegi fragmenti da ratom:
a) string a = "stumari", b = "studenti";
cout << (a < b) << endl << (a != b) << endl;
0
1
რადგან a>b , a!=b
b) string c = "kargi ";
cout << (c + "amindi" >= c + "ambavi") << endl;
ibechdeba 1
radgan amindi > ambavi

g) string k = "Word", m = "Excel";


cout << (k > m) << '\t';
cout << (k = m) << endl;
cout << (k == m) << endl;
1
კ. გელაშვილი, ი. ხუციშვილი 13
Excel
1
Radgan k=m mashin k==m
6. axseniT, ras akeTebs kodis Semdegi sami fragmenti:
a) char p = '!', c = '?', d;
d = p; p = c; c = d;
cout << p << ' ' << c << endl;
cvlis cvladebis mnishvnelobebs
shemodis mesame cvladi
d= !
p=?
c=!
cout ? !
b) bool t = true, f = false, d;
d = f; f = t; t = d;
cout << boolalpha << "t gaxda " << t
<< endl << "f gaxda " << f << endl;
D=0
F=1
T=0
Cout false true

g) string S = "Gel", Q = "Euro", P;


P = S; S = Q; Q = P;
cout << S << '\t' << Q << endl;
cout euro Gel
7. SeamowmeT, ras dabeWdavs Semdegi programa da axseniT:
#include <iostream>
using namespace std;
int main()
{
char x = '*';
cout << x << ' ' << (int)x << endl;
int p = 127;
cout << (char)p << " simbolos kodi = "
<< p << endl;
}

8. d cvlads rigrigobiT mianiWeT a ricxvis yvela cifri, Tu:


a) a aris oTxniSna mTeli ricxvi;

int a;
double d;

კ. გელაშვილი, ი. ხუციშვილი 14
cout << "sheikvanet otxnishna cifri\t";
cin >> a;
d = a / 1000;
cout << d<<endl;
d= (a / 100) % 10;
cout << d<<endl;
d= (a / 10) % 10;
cout << d<<endl;
d= (a % 1000) % 10;
cout << d<<endl;

b) a aris xuTniSna mTeli ricxvi.


int a;
double d;
cout << "sheikvanet otxnishna cifri\t";
cin >> a;
d = a / 10000;
cout << d<<endl;
d= (a / 1000) % 10;
cout << d<<endl;
d= (a / 100) % 10;
cout << d<<endl;
d= (a % 100)/10;
cout << d<<endl;
d = a % 10;
cout << d << endl;

9. mocemulia samniSna N ricxvi. dabeWdeT N ricxvis cifrebi Sebrunebuli rigiT.


int n,d;
cout << "sheikvanet samnishna ricxvi\n";
cin >> n;
d = 100 * (n % 10) + 10 * ((n % 100) / 10) + n / 100;

cout << d << endl;

კ. გელაშვილი, ი. ხუციშვილი 15
laboratoriuli samuSao:

<<< amocana 1. striqonis Setana klaviaturidan da gamotana ekranze.


///////////////////////////////////////
// ავტორი:
// პროგრამა: სახელის წაკითხვა და ბეჭდვა
// თარიღი:
///////////////////////////////////////
#include <iostream>
#include <string>
using namespace std;
int main()
{
cout << "Please enter your first name"
" (followed by 'Enter'):\n";
string first_name;
cin >> first_name;
cout << "Hello, " << first_name << "!\n";
}
davaleba: gauSviT programa Sesrulebaze: SeitaneT klaviaturidan Tqveni saxeli, bolos daaWireT
Enter –s (riTac daafiqsirebT Setanil informacias). gaaanalizeT miRebuli Sedegi..

<<< amocana 2. striqonis da mTeli ricxvis Setana klaviaturidan da gamotana ekranze.


////////////////////////////////////////////////
// ავტორი:
// პროგრამა: სახელის და ასაკის წაკითხვა და ბეჭდვა
// თარიღი:
////////////////////////////////////////////////
#include <iostream>
#include <string>
using namespace std;
int main()
{
cout << "Please enter your first name"
" and age:\n";
string first_name;
int age;
cin >> first_name >> age;
cout << "Hello, " << first_name << "!\n"
<< "You are " << age << " years old" << endl;
}
davaleba: gauSviT programa Sesrulebaze: SeitaneT klaviaturidan Tqveni saxeli da asaki, Setana
daasruleT Enter –ze daWeriT. gaaanalizeT miRebuli Sedegi.

<<< amocana 3. programa “gekiTxebaT” Tqven saxelsa da gvars da Semdeg beWdavs misalmebis
striqons.
/////////////////////////////////////////////////
// ავტორი:
// პროგრამა: სახელისა და გვარის წაკითხვა და ბეჭდვა
/////////////////////////////////////////////////
#include <iostream>
#include <string>
using namespace std;
int main()
კ. გელაშვილი, ი. ხუციშვილი 16
{
cout << "Please enter your first name:\n";
string first_name;
cin >> first_name;
cout << "Please enter your last name:\n";
string last_name;
cin >> last_name;
cout << "Please enter your age:\n";
int age;
cout << "Hello, " << first_name << ' '
<< last_name<< ‘ ‘ <<age<<end;
}

//Programa ასაკს +3 წელთან ერთად

#include <iostream>
#include <string>
using namespace std;
int main()
{
cout << "Please enter your first and last name:\n"
" and also age\n";
string first_name, last_name;
int age;
cin >> first_name >> last_name >> age;
cout << "Hello, " << first_name << ' '

<< last_name << endl


<< "after 3 years your age will be " << age + 3 << endl;
}

davaleba:
a) gauSviT programa Sesrulebaze: SeitaneT klaviaturidan Tqveni saxeli da Semdeg gvari.
gaaanalizeT miRebuli Sedegi.
b) gadawereT programa: pirveli 6 striqoni SecvaleT Semdegi 3 -iT
cout << "Please enter your first and last names\n";
string first_name, last_name;
cin >> first_name >> last_name;
kvlav gauSviT programa Sesrulebaze da SeitaneT klaviaturidan Tqveni saxeli da gvari.
gaaanalizeT miRebuli Sedegi.

<<< amocana 4. dabeWdeT sxvadasxva tipebisTvis maTi warmodgenis udidesi da umciresi


mniSvnelobebi
////////////////////////////////////////////
// ავტორი:
// პროგრამა: უდიდესი და უმცირესი სიდიდეები
// თარიღი:
////////////////////////////////////////////
კ. გელაშვილი, ი. ხუციშვილი 17
a) mTeli tipebisa:
#include <iostream>
#include <climits>
using namespace std;
int main()
{
cout << INT_MIN << '\t' << INT_MAX << endl;
cout << 0 << '\t' << UINT_MAX << endl;
cout << CHAR_MIN <<'\t'<< CHAR_MAX << endl;
cout << 0 << '\t' << UCHAR_MAX << endl;
cout << SHRT_MIN << '\t' << SHRT_MAX << endl;
cout << 0 << '\t' << USHRT_MAX<<endl;
cout << LONG_MIN << '\t' << LONG_MAX << endl;
cout << 0 << '\t' << ULONG_MAX << endl;
cout << sizeof(long long) << endl;
cout << LLONG_MIN << '\t' << LLONG_MAX << endl;
cout << 0 << '\t' << ULLONG_MAX << endl;
}
b) namdvili tipebisa:
#include <iostream>
#include <cfloat>
using namespace std;

int main()
{
cout << FLT_MIN << '\t' << FLT_MAX << endl;
cout << DBL_MIN << '\t' << DBL_MAX << endl;
}
davaleba: gauSviT programa Sesrulebaze: SeitaneT klaviaturidan sami mTeli ricxvi da
gaaanalizeT miRebuli Sedegi.

<<< damoukidebeli samuSao:


1. mocemuli sami mTeli ricxvisTvis, x cvlads mianiWeT maTi saSualo ariTmetikuli da
dabeWdeT igi.
Sesabamisi C++ –programis saxea:
///////////////////////////////////////////////
// ავტორი:
// პროგრამა: სამი რიცხვის საშუალო არითმეტიკული
///////////////////////////////////////////////
#include <iostream>
using namespace std;
int main(){
int a, b, c;
cout << "Enter 3 integers :\n";
cin >> a >> b >> c;
double x;
x = (a + b + c)/3.; // საშუალო
cout << "The average is " << x << endl;
}

კ. გელაშვილი, ი. ხუციშვილი 18
davaleba: gauSviT programa Sesrulebaze: SeitaneT klaviaturidan sami mTeli ricxvi da
gaaanalizeT miRebuli Sedegi.
2.ra moxdeba, Tu mTeli ricxvi ufro meti aRmoCndeba, vidre amas am ricxvisaTvis arCeuli tipi
iTvaliswinebs?
gaarCieT programa:
#include <iostream>
#include <climits>
using namespace std;
int main()
{
int m = INT_MAX, n = INT_MIN;
cout << "m = " << m << '\t'
<< "m + 1 = " << m + 1 << '\t'
<< "m + 2 = " << m + 2 << endl;
cout << "n = " << n << '\t'
<< "n - 1 = " << n – 1 << '\t'
<< "n - 2 = " << n – 2 << endl;

char a = 127, b(100);


a += b;
cout << (int)a << endl;

}
davaleba:
a) SeasruleT mocemuli programa. gaaanalizeT miRebuli Sedegebi.
b) SeasworeT programa da SeasruleT igive operaciebi uniSno mTeli tipis ricxvebisTvis (tipi
unsigned int). gaiTvaliswineT, rom am SemTxvevaSi m = UINT_MAX, n = 0.
g) igive eqsperimenti CaatareT char tipis SemTxvevaSi.

კ. გელაშვილი, ი. ხუციშვილი 19

You might also like