Laboratorijas darbs 5.1. Loģiskas izteiksmes (C++, Python)
a. C++:
#include <iostream>
using namespace std;
int main ()
{
int a;
cin >> a;
if (a >= 0 && a <= 9) cout << "LABAIS" << endl;
else cout << "sliktais" << endl;
return 0;
}
b. Python:
a = int(input())
if a >= 0 and a <= 9: print("LABAIS")
else: print("sliktais")
Darbināt trīs reizes attiecīgi ar ievaddatiem 5, 5 un 15.
Izdrukājas attiecīgi sliktais/LABAIS/sliktais.
Divi pareizie varianti pieejami failos lab5.1a.cpp un lab5.1b.cpp (lab5.1a.py un lab5.1b.py)
Laboratorijas darbs 5.2. Cikli (C++)
4. Atvērt failu lab5.2.cpp, nokompilēt.
#include <iostream>
using namespace std;
int main ()
{
int sum = 0, i, n = 10;
for (i=1; i<=10; i++)
{
sum += i;
};
cout << "Sum = " << sum << endl;
return 0;
}
5. Darbināt programmu programma izrēķina skaitļu 1..10 summu.
Izdrukājas Sum = 55.
Tādējādi skaitītājs aptver apgabalu 0..9 (lab5.2a.cpp)
7. Darbināt programmu, iegūstot rezultātu 45.
9. Darbināt programmu, izdrukājas Sum = 55.
for (<1>;<2>;<3>) <4>
<1> while(<2>) {<4><3>}
11. Darbināt programmu, izdrukājas Sum = 55.
12. Pārveidot programmu, saglabājot tās funkcionalitāti, tā, lai while tiktu nomainīts par do-while (lab5.2d.cpp).
13. Darbināt programmu, izdrukājas Sum = 55.
14. Atvērt atkāroti failu lab5.2.cpp, nokompilēt, darbināt, iegūstot rezultātu 55.
15. Samainīt vietām koda fragmentus sum += i un i++ (lab5.2e.cpp).
16. Kompilēt un darbināt programmu, izdrukājas Sum = 65, t.i. skaitļu 2..11 summa
17. Nomainīt koda fragmentu i=1; i<=10 ar i=0; i<10 (lab5.2f.cpp).
18. Kompilēt un darbināt programmu, izdrukājas Sum = 55, t.i. atkal skaitļu 1..10 summa.
Laboratorijas darbs 5.3. Iekļautais cikls
1. Atvērt failu lab5.3.cpp, nokompilēt un darbināt.
#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{
for (int i=1; i<=4; i++)
{
for (int k=1; k<=4; k++) cout << setw(4) << i*k;
cout << endl;
};
return 0;
}
Programma izdrukā reizrēķina tabulu 4X4, izmantojot iekļautu ciklu (divu līmeņu cikla konstrukciju).
2. Mēģināt pārveidot programmu tā, lai tā izmantotu tikai viena līmeņa ciklu, bet veiktu precīzi tādu pašu darbu izdrukātu reizrēķina tabulu 4X4 (lab5.3a.cpp).
Ieteikums: visticamāk, lai kompensētu iekšējo ciklu, nāksies izmantot papildus if operatoru, kā arī veselo skaitļu dalīšanas / un atlikuma % operācijas.
Laboratorijas darbs 5.4. Vingrinājumi ar cikliem.
Vingrinājums 1. (lab5.4a.cpp)
Doti naturāls skaitlis n.
Izdrukāt eglīti no zvaigznītēm *, kas sastāv no n rindiņām tādējādi, ka pirmajā rindā ir 1 zvaigznīte, bet katrā nākamajā par vienu vairāk.
Piemērs. n=6; rezultāts:
*
**
***
****
*****
******
Vingrinājums 2. (lab5.4b.cpp)
Doti naturāls nepāra skaitlis n.
Izdrukāt laukumu n × n no simboliem, kur pa diagonālēm ir zvaigznītes *, bet pārējie simboli ir mīnusi -.
Piemērs. n=11; rezultāts:
*---------*
-*-------*-
--*-----*--
---*---*---
----*-*----
-----*-----
----*-*----
---*---*---
--*-----*--
-*-------*-
*---------*
Vingrinājums 3. (lab5.4c.cpp)
Doti naturāls skaitlis n.
Izdrukāt laukumu n × n no simboliem, kas atbilst šādam musturim (pie n=13):
*--*--*--*--*
-*--*--*--*--
--*--*--*--*-
*--*--*--*--*
-*--*--*--*--
--*--*--*--*-
*--*--*--*--*
-*--*--*--*--
--*--*--*--*-
*--*--*--*--*
-*--*--*--*--
--*--*--*--*-
*--*--*--*--*
Laboratorijas darbs 5.5. Cikli (Python)
1. Atvērt failu lab5.2.py, nokompilēt.
sum = 0
for i in range(1,10):
sum += i
print ("Sum =",sum)
2. Darbināt programmu programma izrēķina skaitļu 1..10 summu.
Izdrukājas Sum = 45.
Ievērojiet, ka mehānisms range() ignorē 10 (saskaita tikai līdz 1+2+...+9) tas jau ir vienu vienību aiz.
for i in range(1,10):
ar
for i in range(0,9):
Tādējādi tiks saskaitīti skaitļi 0..8, iegūstot rezultātu 36 (lab5.2a.py)
for i in range ({1},{2}):
{3}
i = {1}
while(i < {2}):
{3}
i += 1
7. Darbināt programmu, izdrukājas Sum = 45.