prasom

4
Kur nereikia įvedinėti iš klaviatūros, galima daryti ir su codepad.org (ypač, jei kiltų nesklandumų su CodeBlocks ar Visual C++ Express instaliavimu)... Atsiskaitymas priimamas atitinkamoms gurpėms iki vasario 27/28/ kovo 2. (bet geriau per 1 paskaitą padaryt ;) Yra programos fragmentas: a = 1 S = 0 while (S < 20) { a = a*2 S = s+a cout << a << " ir " << S << endl; } Pagal jį padaryti programą, kad ji veiktų be klaidų ir atspausdintų kaip keičiasi a ir S reikšmės. C++ programos veikiančių pavyzdžių rasite lape iš teorijos paskaitos arba, pvz, oficialioje C++ pamokų svetainėje . Kiek kartų bus vykdomas ciklas while? Sukurti programą, kuri: a) naudodama for ciklą, atspausdina (1 tšk): 1 labas 2 labas 3 labas Dalis atskirkite komentaru bei pranešimu ekrane: // a dalis cout << "a dalis" << endl; .... // b dalis cout << "b dalis" << endl; ... b) naudodama for ciklą atspausdina aritmetinę progresiją nuo 0 iki 15 (didėdama po 3); (1 tšk) pvz: 0 3 6 9 12 15 priminimas: "for" iš principo yra "while", tik jame vienoje eilutėje išvardinama: 1) pradinė skaitliuko reikšmė, (int a=1) 2) kartojimo sąlyga, ir ( a < 10 ) 3) skaitliuko kitimas ( a=a+1 ) c) atspausdina progresijos (iš b dalies) narių sumas (t.y., palaipsniui sumuoja progresijos narius). pvz: 0 3 9 18 30 45 (1 tšk) d) naudodama ciklą cikle atspausdina tokią skaičių "piramidę": (2tšk), (ciklų idėja panaši, kaip apšilimo 1 užduoties 6 punktas .) 1 1 2 1 2 3

Upload: jason-olson

Post on 13-Apr-2015

24 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: prasom

Kur nereikia įvedinėti iš klaviatūros, galima daryti ir su codepad.org (ypač, jei kiltų nesklandumų su CodeBlocks ar Visual C++ Express instaliavimu)...Atsiskaitymas priimamas atitinkamoms gurpėms iki vasario 27/28/ kovo 2. (bet geriau per 1 paskaitą padaryt ;)

 Yra programos fragmentas:a = 1S = 0while (S < 20){a = a*2S = s+acout << a << " ir " << S << endl;}

Pagal jį padaryti programą, kad ji veiktų be klaidų ir atspausdintų kaip keičiasi a ir S reikšmės. C++ programos veikiančių pavyzdžių rasite lape iš teorijos paskaitos arba, pvz, oficialioje C++ pamokų svetainėje. Kiek kartų bus vykdomas ciklas while?

Sukurti programą, kuri:

a) naudodama for ciklą, atspausdina (1 tšk): 1 labas2 labas3 labas

Dalis atskirkite komentaru bei pranešimu ekrane:// a daliscout << "a dalis" << endl;....// b daliscout << "b dalis" << endl;...

b) naudodama for ciklą atspausdina aritmetinę progresiją nuo 0 iki 15 (didėdama po 3); (1 tšk)pvz: 0 3 6 9 12 15

priminimas: "for" iš principo yra "while", tik jame vienoje eilutėje išvardinama: 

1) pradinė skaitliuko reikšmė, (int a=1) 2) kartojimo sąlyga, ir ( a < 10 ) 3) skaitliuko kitimas ( a=a+1 )

c) atspausdina progresijos (iš b dalies) narių sumas (t.y., palaipsniui sumuoja progresijos narius).pvz: 0 3 9 18 30 45 (1 tšk)

d) naudodama ciklą cikle atspausdina tokią skaičių "piramidę": (2tšk), (ciklų idėja panaši, kaip apšilimo 1 užduoties 6 punktas.)11 21 2 31 2 3 41 2 3 4 51 2 3 4 5 6

Page 2: prasom

Visas užduoties dalis galite daryti viename faile (main funkcijoje), tačiau prieš kiekvieną jų parašykite jos pavadinimą (cout << "A dalis" << endl;)  e) reik daryti su Visual C++ (nemokama "Express" versija) arba CodeBlocks (parsisiųsti). (1 tšk) Visual C++ youtube.com/watch?v=PuzH8ZZ1j0s&feature=fvwrel&t=35s CodeBlocks programavimo aplinka   (esmė nuo 7min iki 12:30)

programos pradžioje paklausia "iki kiek skaičiuoti?", ir pagal klaviatūra įvestą reikšmę (pvz.: cin >> k, youtube.com/watch?v=9fDoxYkMVm0&t=1m10s), atspausdina nuo 1 iki k kartų "x labas" (1 tšk). pvz:

Iveskite, iki kiek skaičiuoti: 51 labas2 labas3 labas4 labas5 labas Pastaba: Visual Studioj programos langas neskubėtų pradingti, reikia programą paleisti su Ctrl+F5 , arba programos pabaigoje parašyti porą kart "cin.get();" .

 f) iš klaviatūros paprašyti, kad įvestų a) pradinę reikšmę, b) pabaigos reikšmę , c) kitimo žingsnį ir atspausdinti aritmetinę progresiją (1 tšk):

Iveskite, nuo kiek skaičiuoti: 5Iveskite, iki kiek skaičiuoti (imtinai): 13Iveskite, kas kiek skaičiuoti: 25 7 9 11 13

z) už tvarkingą kodą: suderintus grupavimo skliaustus, ir grupuojamų komandų atitraukimą nuo krašto dar 0,5tškpvz1, pvz2, bei google rekomendacijų pvz  === FUNKCIJOS === G) suskirstykit visas dalis į funkcijas, pavadinkite jas A, B, C, ... // 1tšk ir jas iškvieskite pagrindinėje ("main") programos dalyje. Apie funkcijas galima pasiskaityti teorijos 3 psl arba čia (LT) arba čia (EN). H) Pridėkite funkcijoms parametrus, kurie nurodytų - kiek kartoti veiksmus: //1tšk A dalies funkcijai, pvz void A(int k){     ...} A(3) ; // atspausdins tai, kas buvo pradiniam pavyzdyjeA(5) ; // atspaudins 5 eilutes ;) B (3); // atspausdins 3 narius: 0 3 6B (5); // atspausdins 5 narius: 0 3 6 12 15ir kt dalims analogiškai. I) sukurkite funkciją "seksum(...)", kuri sudeda seką (iš B dalies) ir grąžina jos sumą ( C dalies idėjos ) // 2tšk  pvz:

Page 3: prasom

cout << seksum( 4 ); // grąžins ir atspausdins 18 (0+3+6+9)#include <iostream>usingnamespace std;void funkcija_A(int f){for(int a=1; a<=f; a ++){cout << endl << a << " Labas " << endl;}}void funkcija_B(int c){for(int i=0; i<=c*3; i=i+3){cout << i << " ";}cout << endl;}void funkcija_C(int g){int mas[6] = {0, 3, 6, 9, 12, 15};int sum = 0;for(int i=0; i<=g; i++){sum = sum + mas[i];cout << sum << " ";}}void funkcija_D(int o){for (int p=1; p<=o; p++){for(int j=1; j<=p; j++){cout << j;}cout << endl;}}void funkcija_E(int z){cout << "Iveskite skaiciu kiek kartu spausdinti: ";int y;cin >> y;for (int a=1;a<=y; a++){cout << endl << a << " Labas " << endl;}}void funkcija_F(int n){int g,h,j;cout << "Iveskite pradzios skaiciu:";cin >> g;cout << "Iveskite pabaigos skaiciu:";cin >> h;cout << "Iveskite kitimo skaiciu:";cin >> j;for(int i=g; i<=h; i=i+j){cout << i << " ";}cout << endl;}int seksum(int e){int a1, a2, sum=0; a2=0;for(int a1=0; a1<e-1;a1++){a2=a2+3;sum=sum+a2;}return(sum);}int main (){cout << endl << " A DALIS " << endl;funkcija_A(6);cout << " B DALIS "<< endl;funkcija_B(5);cout << endl << " C DALIS "<< endl;funkcija_C(5);cout << endl << " D DALIS "<< endl;funkcija_D(5);cout << endl << " E DALIS "<< endl;funkcija_E(5);cout << " F DALIS "<< endl;

Page 4: prasom

funkcija_F(5);cout << " I DALIS "<< endl;cout<<seksum(4)<<endl;cin.get();cin.get();}