Ciklas while Neinomo kartojim skaiiaus ciklas Ciklo while

  • Slides: 16
Download presentation
Ciklas while Nežinomo kartojimų skaičiaus ciklas

Ciklas while Nežinomo kartojimų skaičiaus ciklas

Ciklo while antraštė while (sąlyga) sakinys; Kai cikle reikia atlikti bent du sakinius, užrašome

Ciklo while antraštė while (sąlyga) sakinys; Kai cikle reikia atlikti bent du sakinius, užrašome sudėtinį veiksmą su skliaustais { ir }: while (sąlyga) { sakinys; . . . ; sakinys; } 2021 -06 -06 (C) Rima 2

Ciklo while vykdymo eiga 1. Tikrinama sąlyga. Jei ji netenkinama, pereinama prie 4 punkto.

Ciklo while vykdymo eiga 1. Tikrinama sąlyga. Jei ji netenkinama, pereinama prie 4 punkto. 2. Atliekami ciklo veiksmai. 3. Grįžtama į 1 punktą. 4. Ciklas baigiamas vykdyti. 2021 -06 -06 (C) Rima 3

Pvz. 1. Nurodyti 2 natūralieji skaičiai. Iš didesnio skaičiaus atimkite mažesnįjį tol, kol abiejų

Pvz. 1. Nurodyti 2 natūralieji skaičiai. Iš didesnio skaičiaus atimkite mažesnįjį tol, kol abiejų skaičių reikšmės susilygins. #include <iostream> using namespace std; int main() { int a, b; cout << "Įveskite 2 skaičius" << endl; cin >> a >> b; //parengiamieji veiksmai while (a != b) if (a > b) a -= b; else b -= a; cout << " Gautasis rezultatas " << a << " "<< b << endl; return 0; } 2021 -06 -06 (C) Rima 4

Pvz. 2. Parašykite programą, apskaičiuojančią dviženklių natūralių skaičių kvadratų sumą. #include <iostream> using namespace

Pvz. 2. Parašykite programą, apskaičiuojančią dviženklių natūralių skaičių kvadratų sumą. #include <iostream> using namespace std; int main() { int s = 0, dv = 0; //pasirengiame sumuoti while (dv < 100) // kol skaičius - dviženklis {s += dv * dv; //sumuojame kvadratus dv ++; //didiname dėmenį } cout << "Dviženklių natūraliųjų skaičių kvadratų suma lygi " << s << endl; // parodome rezultatą return 0; } 2021 -06 -06 (C) Rima 5

Pvz. 2. Parašykite programą, apskaičiuojančią dviženklių natūralių skaičių kvadratų sumą. Programą galima užrašyti ir

Pvz. 2. Parašykite programą, apskaičiuojančią dviženklių natūralių skaičių kvadratų sumą. Programą galima užrašyti ir trumpiau: #include <iostream> using namespace std; int main() { int s = 0, dv = 0; //pasirengiame sumuoti while (dv < 100) // kol skaičius - dviženklis s += dv * dv++; //sudauginame, tada didiname kitu skaičiumi cout << "Dviženklių natūraliųjų skaičių kvadratų suma lygi " << s << endl; // parodome rezultatą return 0; } 2021 -06 -06 (C) Rima 6

Pvz. 3. Tarkime, turime n riešutų. Paeiliui dedame juos krūvelėmis, kiekvienoje tolesnėje krūvelėje –

Pvz. 3. Tarkime, turime n riešutų. Paeiliui dedame juos krūvelėmis, kiekvienoje tolesnėje krūvelėje – vienu riešutu daugiau. Reikia apskaičiuoti, kiek krūvelių galima sukrauti ir kiek riešutų liks, jei pirmoje krūvelėje yra 1 riešutas. #include <iostream> using namespace std; int main() { int n; cout << "Kiek iš viso turime riešutų? "; cin >> n; int ded = 1; //kiek riešutų dėsime pirmą kartą int kr = 0; // dar neturime nė vienos krūvelės while (n >= ded) // kol turime riešutų { n = n - ded; //imame reikiamą kiekį kr++; // nauja krūvelė ded++; // parengiame naują kiekį } cout << "Iš viso yra " << kr << " krūvelių riešutų" << endl; cout << "Atliko " << n << " riešutų (ai)" << endl; return 0; } 2021 -06 -06 (C) Rima 7

Pvz. 4. Siena Pradinių reikšmių priskyrimas ir išvedimas į ekraną #include <iostream> using namespace

Pvz. 4. Siena Pradinių reikšmių priskyrimas ir išvedimas į ekraną #include <iostream> using namespace std; int main() { int p, // sienos statybai skirtų plytų skaičius s, // sienos statybai panaudotų plytų skaičius a, // sienos pagrindo ilgis k; // sienos aukštis cout << "Kiek plytų skirta sienos statybai? "; cin >> p; a = 0; k = 0; s = 0; cout << "Sienos pagrindo ilgis " << a << endl; cout << "Sienos aukštis " << k << endl; cout <<"Sienos statybai panaudotų plytų skaičius " << s << endl; return 0; } 2021 -06 -06 (C) Rima 8

Pvz. 4. Sukuriame ciklą #include <iostream> using namespace std; int main() { int p,

Pvz. 4. Sukuriame ciklą #include <iostream> using namespace std; int main() { int p, // sienos statybai skirtų plytų skaičius s, // sienos statybai panaudotų plytų skaičius a, // sienos pagrindo ilgis k; // sienos aukštis cout << "Kiek plytų skirta sienos statybai? "; cin >> p; a = 0; k = 0; s = 0; while (s < p) { a ++; k ++; s +=a; } cout << "Sienos pagrindo ilgis " << a << endl; cout << "Sienos aukštis " << k << endl; cout <<"Sienos statybai panaudotų plytų skaičius " << s << endl; return 0; 2021 -06 -06} (C) Rima 9

Pvz. 4. Išvedame tarpinius rezultatus while (s < p) { a ++; k ++;

Pvz. 4. Išvedame tarpinius rezultatus while (s < p) { a ++; k ++; s +=a; cout << a << endl; cout << k << endl; cout << s << endl; cout <<"*******"<< endl; } cout << "Sienos pagrindo ilgis " << a << endl; cout << "Sienos aukštis " << k << endl; cout <<"Sienos statybai panaudotų plytų skaičius " << s << endl; 2021 -06 -06 (C) Rima 10

Pvz. 4. Rezultatų išvedimas į ekraną lentele cout << "Kiek plytų skirta sienos statybai?

Pvz. 4. Rezultatų išvedimas į ekraną lentele cout << "Kiek plytų skirta sienos statybai? "; cin >> p; a = 0; k = 0; s = 0; cout << "---------------------------" << endl; cout << "Pagrindo ilgis | Aukštis | Panaudotų plytų skaičius " << endl; cout << "---------------------------" << endl; while (s < p) { a ++; k ++; s +=a; cout << " "<< a << " | "<< k << " | " << s <<endl; } cout << "---------------------------" << endl; cout << "Sienos pagrindo ilgis " << a << endl; cout << "Sienos aukštis " << k << endl; cout <<"Sienos statybai panaudotų plytų skaičius " << s << 2021 -06 -06 (C) Rima 11 endl;

Ekrano vaizdas 2021 -06 -06 (C) Rima 12

Ekrano vaizdas 2021 -06 -06 (C) Rima 12

Pvz. 4. Keičiame antraštėje sąlygą ir apskaičiuojame plytų likutį lik; // liko nepanaudotų plytų

Pvz. 4. Keičiame antraštėje sąlygą ir apskaičiuojame plytų likutį lik; // liko nepanaudotų plytų cout << "Kiek plytų skirta sienos statybai? "; cin >> p; a = 0; k = 0; s = 0; cout << "---------------------------" << endl; cout << "Pagrindo ilgis | Aukštis | Panaudotų plytų skaičius " << endl; cout << "---------------------------" << endl; while (a + 1 <= p - s) { a ++; k ++; s +=a; cout << " "<< a << " | "<< k << " | " << s <<endl; } cout << "---------------------------" << endl; cout << "Sienos pagrindo ilgis " << a << endl; cout << "Sienos aukštis " << k << endl; cout <<"Sienos statybai panaudotų plytų skaičius " << s << endl; lik = p - s; cout <<"Nepanaudotų plytų skaičius " << lik << endl; return 0; 2021 -06 -06 (C) Rima 13

Ekrano vaizdas 2021 -06 -06 (C) Rima 14

Ekrano vaizdas 2021 -06 -06 (C) Rima 14

Pvz. 4. Duomenis išvedame į tekstinį failą ofstream fr("darbas. txt"); cout << "Kiek plytų

Pvz. 4. Duomenis išvedame į tekstinį failą ofstream fr("darbas. txt"); cout << "Kiek plytų skirta sienos statybai? "; cin >> p; a = 0; k = 0; s = 0; fr << "---------------------------" << endl; fr << "Pagrindo ilgis | Aukštis | Panaudotų plytų skaičius " << endl; fr << "---------------------------" << endl; while (a + 1 <= p - s) { a ++; k ++; s +=a; fr<< " "<< a << " | "<< k << " | " << s <<endl; } fr << "---------------------------" << endl; fr << "Sienos pagrindo ilgis " << a << endl; fr << "Sienos aukštis " << k << endl; fr <<"Sienos statybai panaudotų plytų skaičius " << s << endl; lik = p - s; fr <<"Nepanaudotų plytų skaičius " << lik << endl; fr. close(); return 0; (C) Rima } 2021 -06 -06 15

Tekstinio failo darbas. txt vaizdas 2021 -06 -06 (C) Rima 16

Tekstinio failo darbas. txt vaizdas 2021 -06 -06 (C) Rima 16