Feladatok
1. Valósítsuk
meg a szimultán értékadás műveletét! (megoldás)
Olvassunk be két egész
számot standard bemenetről, hajtsuk végre a következő szimultán értékadást:
a,b:=b+1,a-1 és az eredményeket írjuk ki standard kimenetre!
Probléma: a standard C++ nem tartalmaz szimultán értékadó műveletet, vagyis
csak egyszerű értékadások szekvenciája implementálható!
Szükséges
utasítások:
int a; deklarál
egy ’a’ nevű, egész típusú változót
cout << b[ << endl]; standard kimenetre kiírja a
’b’ változó értékét[, sortöréssel]
cin >> c; standard
bemenetről beolvas egy értéket a ’c’ változónak
d=e; egyszerű
értékadás, amely megfelel a d:=e utasításnak
++f; egyszerű
értékadás, amely megfelel az f:=f+1 utasításnak
2. Keressünk egy 2-vel kezdődő korlátos, zárt intervallumban prímeket! (megoldás)
Használjuk mindhárom tanult ciklusfajtát! Standard bemenetről kérjünk be egy egész számot felső korlátnak, Do-While ciklussal kényszerítsük ki, hogy megfeleljen a >=2 feltételnek! For ciklussal haladjunk végig a kapott intervallum elemein és While ciklussal ellenőrizzük, hogy prímek –e!
Szükséges utasítások:
while(ciklusfeltétel){ciklusmag;}; while ciklus szintaxisa
do{ciklusmag;}while(ciklusfeltétel); do-while ciklus szintaxisa
for(d;ciklusfeltétel;u){ciklusmag;}; for ciklus szintaxisa, ahol ’d’ a futóváltozó definíciója és ’u’ a terminálófgv. értékét csökkentő utasítás /pl.: for(int i=2; i<10; ++i){cout << i << endl;};/
sqrt(f) az ’f’ FLOAT típusú változónak a négyzetgyökével visszatérő függvény
float(i) az ’i’ integet típusú változót FLOAT típusúvá átkonvertáló függvény
a%b ha ’a’ és ’b’ egész típusú változók, akkor megfelel az a mod b utasításnak
a==b ’a’ és ’b’ változók értékei közötti egyenlőségvizsgálat
a!=b ’a’ és ’b’ változók értékei közötti nemegyenlőség-vizsgálat
Ciklusfeltételekben szükséges lehet a logikai operátorok ismerete: l && k, l || k, !l rendre ÉS, VAGY és NEM
3. Egy vektor elemeire alkalmazzuk az összegzés tételét! (megoldás)
Standard bemenetről olvassuk be a vektor hosszát és az elemeit! Implementáljuk az összegzés tételét vektorra vonatkozó megfeleltetésekkel! (A tételben szereplő „f” függvény legyen ’v’ vektor és az [m,n] intervallum a [0,v.dom-1] intervallum!)
Szükséges utasítások:
int* v; deklarál egy egész elemű dinamikus tömböt (illetve egy egészre mutató pointert)
v=new int[k]; létrehoz egy a fenti ’v’ –hez egy ’k’ elemű, egészekből álló tömböt
v[i] hivatkozás a ’v’ tömb ’i’. elemére (i pozitív és kisebb, mint k!)
delete[] v; megszünteti a ’v’-hez tartozó tömböt
A feladat bővíthető úgy, hogy ne kelljen előre kikötni, hogy hány elemből áll majd a tömbünk! (megoldás)
Projectek (zip):