Laboratorijas darbs 4.1. Salīdzināšanas operācijas un if priekšraksts (C++, Python)
a. C++ (nokompilēt):
#include <iostream>
using namespace std;
int main ()
{
int a;
cin >> a;
if (a > 0) cout << "LIELAIS" << endl;
else cout << "mazais" << endl;
return 0;
}
b. Python:
a = int(input())
if a>0:
print("LIELAIS")
else:
print("mazais")
2. Darbināt trīs reizes attiecīgi ar ievaddatiem 5, 0 un -5.
Izdrukājas attiecīgi LIELAIS, mazais un mazais
Pareizo atbildi var atrast failā lab4.1a.cpp (lab4.1a.py).
Laboratorijas darbs 4.2. Salīdzināšanas operācijas un if priekšraksts #2 (C++, Python)
1. Atvērt failu lab4.2.cpp (lab4.2.py),
a. C++ (nokompilēt):
#include <iostream>
using namespace std;
int main ()
{
int a;
cin >> a;
if (a > 0) cout << "LIELAIS" << endl;
else if (a == 0) cout << "n-u-l-l-e" << endl;
else cout << "mazais" << endl;
return 0;
}
b. Python:
a = int(input())
if a>0: print("LIELAIS")
elif a==0: print("n-u-l-l-e")
else: print("mazais")
Lai iegūtu rezultātu, tika izmantotas divas salīdzināšanas operācijas: > un ==.
Neveiksmes gadījumā pareizo atbildi var atrast failā lab4.2a.cpp (lab4.2a.py).
Pareizo atbildi var atrast failā lab4.2b.cpp (lab4.2b.py).
Pareizo atbildi var atrast failā lab4.2c.cpp (lab4.2c.py).
Neveiksmes gadījumā pareizo atbildi var atrast failā lab4.2d.cpp (lab4.2d.py).
Laboratorijas darbs 4.3. Salīdzināšanas operācijas un if priekšraksts #3 (C++, Python)
1. Atvērt failu lab4.3.cpp (lab4.3.py),
a. C++ (nokompilēt):
#include <iostream>
using namespace std;
int main ()
{
int a;
cin >> a;
if (a > 0)
{
if (a > 9) cout << "LIELAIS PLUS" << endl;
else cout << "mazais plus" << endl;
}
else
{
if (a < -9) cout << "LIELAIS -" << endl;
else if (a < 0) cout << "mazais -" << endl;
else cout << "n-u-l-l-e" << endl;
};
return 0;
}
b. Python:
a = int(input())
if a>0:
if a>9: print("LIELAIS PLUS")
else: print("mazais plus")
else:
if a<-9: print("LIELAIS -")
elif a<0: print("mazais -")
else: print("n-u-l-l-e")
a. C++:
if ...
else if ...
else if ...
else if ...
else
b. Python:
if ...
elif ...
elif ...
elif ...
else
Pareizo atbildi var atrast failā lab4.3a.cpp (lab4.3a.py).
Laboratorijas darbs 4.4. Cikls for (C++, Python)
1. Atvērt un darbināt failu lab4.4.cpp (lab4.4.py)
a. C++:
#include <iostream>
using namespace std;
int main ()
{
int i,a;
for (i=0; i<5; i++)
{
a = i * i;
cout << a << endl;
};
cout << i << endl;
return 0;
}
b. Python:
for
i in range(0,5):
a = i * i
print(a)
print(i)
Programma izdrukā skaitļu kvadrātus.
Ievērot, ka mainīgā i vērtība pēc cikla C++ gadījumā ir 5, bet Python gadījumā 4!
for (i=0; i<5; i++)
par
for (int i=0; i<5; i++)
Tādā veidā mainīgā i deklarēšana tiek pārnesta uz ciklu (lab4.4a.cpp).
3. (tikai C++) Kompilēt.
Kompilācija ir neveiksmīgi, jo for cikla ietvaros deklarēts mainīgais darbojas tikai cikla ietvaros, bet aiz tā vairs nav redzams.
Piezīme. Uz valodu Python tas (blakusefekts, mainīgo deklarējot ciklā) neattiecas, jo tajā nav tik smalka mainīgā redzamības apgabala kā bloka (šeit tas būtu for) līmeņa redzamības apgabals.
4. Izdzēst no programmas rindiņu
a. C++ (lab4.4b.cpp):
cout << i << endl;
b. Python (lab4.4b.py):
print(i)
5. Darbināt.
6. Aiz rindiņas a = i * i; ievietot rindiņu
a. C++ (lab4.4c.cpp):
if (i == 3) continue;
b. Python (lab4.4c.py):
if i == 3: continue
7. Darbināt.
Neizdrukājas skaitļa 3 kvadrāts. Operators continue izlaiž visas darbības līdz cikla ķermeņa beigām un uzreiz sāk jaunu iterāciju.
8. Aiz rindiņas a = i * i; ievietot rindiņu
a. C++ (lab4.4d.cpp):
if (i == 2) break;
b. Python (lab4.4d.py):
if i == 2: break
Izdrukājas tikai 0 un 1.
Operators break pārtrauc cikla izpildi un nodod vadību nākošajai komandai aiz cikla. Šajā kontekstā komandai continue vairs nav jēgas. break ir otra iespēja iziet no cikla papildus standarta variantam cikla nosacījumam.
Laboratorijas darbs 4.5. Vingrinājumi ar if priekšrakstu (C++, Python)
Vingrinājums
1. (lab4.5a.cpp/lab4.5a.py)
Doti 2 veseli skaitļi a, b.
Ja abi ir mazāki par 0, tad izdrukāt to reizinājumu,
citādi izdrukāt to summu.
Piemērs #1. a=-7, b=-5; rezultāts 35.
Piemērs #2. a=7, b=-5; rezultāts 2.
Vingrinājums
2. (lab4.5b.cpp/lab4.5b.py)
Doti 3 veseli atšķirīgi skaitļi a, b, c.
Atrast pēc lieluma vidējo skaitli un noskaidrot,
vai tā vērtība ir tuvāka lielajam vai mazajam skaitlim.
Piemērs #1. a=1, b=2, c=3; 2, Atbilde: vienādā attālumā.
Piemērs #2. a=-7, b=2, c=-5; Atbilde: -5, tuvāk mazākajam.
Piemērs #3. a=-7, b=2, c=5; Atbilde: 2, tuvāk lielākajam.
Vingrinājums
3. (lab4.5c.cpp/lab4.5c.py)
Doti 3 veseli skaitļi a, b, c.
Noskaidrot, vai starp tiem ir negatīvi skaitļi,
un ja ir, kurš starp negatīvajiem ir lielākais.
Piemērs #1. a=1, b=2, c=3; Nav negatīvu skaitļu.
Piemērs #2. a=7, b=-2, b=-5; rezultāts -2.
Laboratorijas darbs 4.6. Vingrinājumi ar for priekšrakstu (C++, Python)
Vingrinājums
1. (lab4.6a.cpp/lab4.6a.py)
Doti naturāls skaitlis n.
Izdrukāt figūru no zvaigznītēm *, kas sastāv no n rindiņām tādējādi, ka pirmajā rindā ir 1 zvaigznīte, otrajā rindā 2, trešajā 3, tad atkal 1, 2, 3 utt.
Piemērs. n=10; rezultāts:
*
**
***
*
**
***
*
**
***
*
Vingrinājums
2. (lab4.6b.cpp/lab4.6b.py)
Doti naturāls skaitlis n.
Izmantojot for ciklu un elementu saskaitīšanu, aprēķināt un izdrukāt pirmo n nepāra skaitļu summu.
Piemērs. n=10; rezultāts: 100
(jo 1+3+5+7+9+11+13+15+17+19=100)