tanszek:oktatas:szamitastechnika:ciklusok
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| tanszek:oktatas:szamitastechnika:ciklusok [2025/10/01 12:35] – created szabom | tanszek:oktatas:szamitastechnika:ciklusok [2025/10/01 12:42] (current) – [Gyakorlás] szabom | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| A ciklusok segítségével utasításokat ismétlünk meg. Három fő típust ismerünk: | A ciklusok segítségével utasításokat ismétlünk meg. Három fő típust ismerünk: | ||
| - | - for | + | - for: ismétlés meghatározott számszor |
| - | - while | + | - while: ismétlés, amíg a feltétel igaz |
| - | - do-while | + | - do-while: ismétlés, amíg a feltétel igaz, de mindig lefut legalább egyszer (akkor is, ha a feltétel hamis) |
| Ezen kívül van két vezérlő utasítás: | Ezen kívül van két vezérlő utasítás: | ||
| Line 130: | Line 130: | ||
| printf(" | printf(" | ||
| } | } | ||
| + | return 0; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Gyakorlás ===== | ||
| + | 1. Írj programot, ami beolvas egy N számot, és kiszámolja az 1+2+...+N összeget for ciklussal. | ||
| + | |||
| + | <sxh c> | ||
| + | #include < | ||
| + | |||
| + | int main(void) { | ||
| + | int N, sum = 0; | ||
| + | scanf(" | ||
| + | |||
| + | for (int i = 1; i <= N; i++) { | ||
| + | sum += i; | ||
| + | } | ||
| + | |||
| + | printf(" | ||
| + | return 0; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | 2. Kérj be egy pozitív számot, és számold ki a számjegyeinek összegét (pl. 123 → 1+2+3=6). | ||
| + | |||
| + | <sxh c> | ||
| + | #include < | ||
| + | |||
| + | int main(void) { | ||
| + | int x, sum = 0; | ||
| + | scanf(" | ||
| + | |||
| + | while (x > 0) { | ||
| + | sum += x % 10; // utolsó számjegy | ||
| + | x /= 10; // levágjuk a számjegyet | ||
| + | } | ||
| + | |||
| + | printf(" | ||
| + | return 0; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | 3. A program kérjen be számokat addig, amíg a felhasználó nem találja el a titkos számot (pl. 7). Minden tipp után írd ki: „Túl kicsi” vagy „Túl nagy”. | ||
| + | |||
| + | <sxh c> | ||
| + | #include < | ||
| + | |||
| + | int main(void) { | ||
| + | int tipp; | ||
| + | int titkos = 7; | ||
| + | |||
| + | do { | ||
| + | printf(" | ||
| + | scanf(" | ||
| + | |||
| + | if (tipp < titkos) { | ||
| + | printf(" | ||
| + | } else if (tipp > titkos) { | ||
| + | printf(" | ||
| + | } | ||
| + | } while (tipp != titkos); | ||
| + | |||
| + | printf(" | ||
| + | return 0; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | 4. Olvass be egy számot N, majd írd ki az összes páros számot 1 és N között. Használj continue-t a páratlanok átugrására. | ||
| + | |||
| + | <sxh c> | ||
| + | #include < | ||
| + | |||
| + | int main(void) { | ||
| + | int N; | ||
| + | scanf(" | ||
| + | |||
| + | for (int i = 1; i <= N; i++) { | ||
| + | if (i % 2 != 0) continue; | ||
| + | printf(" | ||
| + | } | ||
| + | printf(" | ||
| + | return 0; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | 5. Olvass be egy N számot, és számold ki az N! értékét (pl. 5! = 120) for ciklussal. (folyamatábra) | ||
| + | |||
| + | <sxh c> | ||
| + | #include < | ||
| + | |||
| + | int main(void) { | ||
| + | int N; | ||
| + | long long fakt = 1; // nagyobb számokra is jó legyen | ||
| + | |||
| + | scanf(" | ||
| + | |||
| + | for (int i = 1; i <= N; i++) { | ||
| + | fakt *= i; | ||
| + | } | ||
| + | |||
| + | printf(" | ||
| + | return 0; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | 6. Olvass be eg N számot, és írd ki a Fibonacci sorozat N elemét for ciklussal. (folyamatábra) | ||
| + | |||
| + | <sxh c> | ||
| + | #include < | ||
| + | |||
| + | int main(void) { | ||
| + | int N; | ||
| + | scanf(" | ||
| + | |||
| + | int a = 0, b = 1; | ||
| + | |||
| + | printf(" | ||
| + | for (int i = 0; i < N; i++) { | ||
| + | printf(" | ||
| + | int kov = a + b; | ||
| + | a = b; | ||
| + | b = kov; | ||
| + | } | ||
| + | printf(" | ||
| + | |||
| return 0; | return 0; | ||
| } | } | ||
| </ | </ | ||
tanszek/oktatas/szamitastechnika/ciklusok.1759322105.txt.gz · Last modified: 2025/10/01 12:35 by szabom
