2. gyakorlat
Feladatok:
- Beadható, szorgalmi házi feladat: Adott egy legfeljebb másodfokú egyenlet a * x*x + b * x + c = 0 alakban.
Az a,b,c tetszőleges valós számok. Oldjuk meg az egyenletet.
(Figyelem: az egyenlet lehet lineáris (ha a=0), és lehet "konstans" (ha a=0 és b=0),
ekkor vagy tetszőleges x-re igaz (c=0), vagy semmilyen x-re nem igaz (c<>0).)
Készítse el a lejjebb megadott specifikációnak és struktogramnak
megfelelő programot! A program egyszeri futtatásnál tegye lehetővé az
ismétlést, kívánságra induljon elölről, és olvasson be új adatokat!
- Írassuk ki az első 15 természetes szám faktoriálisát.
- Legyen k 1 és 100 közötti tetszőleges egész szám. Írassuk ki az 1 és 100
közötti k-val osztható számok átlagát.
- Euklideszi algoritmussal határozzuk meg két nem nulla természetes szám legnagyobb
közös osztóját.
- Írjunk játék programot: a gép gondoljon egy számra 1 és 100 között,
és a játékosnak ki kell találnia a gondolt számot.
A gép válaszai a játékos egy tippjére (mindig a megfelelő): "Nagyobbra
gondoltam", "Kisebbre gondoltam", "Kitaláltad!"
Feladatok önálló gyakorlásra:
-
Készítsünk programot, mely egy adott k>2 -ig kiírja a Fibonacci számokat. A
Fibonacci számsorozatot egy rekurzív képlettel szokták megadni:
F1=1
F2=1
Fi=Fi-2+Fi-1, ha i>2
Megoldások:
1. feladat:


A megoldás kódja (htm formátum) Letöltés:
masodfoku.cpp
2. feladat:

Megoldó algoritmus:

A megoldás kódja (htm formátum) Letöltés:
faktorialis.cpp
3. feladat:

Megoldó algoritmus:

A megoldás kódja (htm formátum) Letöltés:
atlag.cpp
4. feladat:

Megoldó algoritmus:

Példa az algoritmus működésére:

A megoldás kódja (htm formátum) Letöltés:
euklideszi.cpp
5. feladat:

Megoldó algoritmus:

Véletlen számok C++-ban:
- rand() függvény (<stdlib.h>-ban), egy
véletlen egész értéket ad a 0..RAND_MAX intervallumból. (RAND_MAX
implementáció függő, <cstdlib> modulban van definiálva, de legalább 32767 az
értéke.
- ennek segítségével például egy 1 és 90
közé eső véletlen egész érték: int e=rand()%90+1;
- véletlenszám generátor véletlen
kezdőértékkel való inicializálása: srand(time(NULL)); Ehhez a <time.h>
csomagot "includolni" kell. Ezt egyszer, a rand() függvény használata előtt
kell lefuttatni. E-nélkül minden indításnál ugyanazt a véletlen sorozatot
kapjuk, amit persze a tesztelési fázisban ki is használhatunk.
- Lásd még:
http://www.cplusplus.com/reference/clibrary/cstdlib/
A megoldás kódja (htm formátum) Letöltés:
kitalalos.cpp
gyakorló feladat megoldása