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):

1. feladat, 2. feladat, 3. feladat (a), 3. feladat (b)