Vnorené cykly
Pri riešení problémov sa stáva, že použijeme viac cyklov za sebou, alebo jeden cyklus vnorený do druhohého
Úloha1 Napíšme program, kt. po načítaní N vypíše N-krát za sebou znak *.
Riešenie program csillag; var n,i:integer; begin write(Prosím počet hviezdičiek: '); readln(n); for i:=1 to n do write('*'); end.
Úloha1a Zmeňme predošlú úlohu tak, aby sa nám vypísalo ten rad s hviezdičkami do N riadkov.
Riešenie 1A program csillag1a; var n,i,j:integer; begin write('Kerem a kiirando csillagok szamat: '); readln(n); for j:=1 to n do begin for i:=1 to n do write('*'); writeln; end; end.
Dôležité! Pri vnorených cykloch vždy použijeme inú premennú pre cyklus
Klesajúca premenná cyklu: Namiesto TO DOWNTO for premennácyklu := výraz1 downto výraz2 do begin príkaz1 ; Príkaz2;... End;
Példa2 Készítsünk programot, amely bekér egy N természetes számot, majd kihagy egy üres sort, és kiírja egymás mellé N-től 0-ig az összes egész számokat (mindegyik szám után egy szóközt rak).
Megoldás program példa2; var i,n:integer; begin write('Kerem az N szamot: '); readln(n); writeln; for i:=n downto 0 do write(i,' '); end.
Feladat 1a, 1b 1a Készítsünk programot, amely bekér egy N természetes számot, majd kirajzol a képernyőre egymás mellé N -szer az " XO " betűket és a kiírás után a kurzort a következő sor elejére teszi. Például N=3 -ra kiírja ezt a program: XOXOXO 1b Egészítsük ki az előző programunkat úgy, hogy az előző kiírás alá írja ki N -szer az " OX " betűket is egymás mellé, majd a kurzort ismét a következő sor elejére tegye. (Az előző ciklus után - NE bele a ciklusba! - tegyünk egy hasonló ciklust, ami most XO helyett OX betűket ír ki.) Például N=3 -ra kiírja ezt a program: XOXOXO OXOXOX
Feladat2 Készítsünk programot, amely kiszámolja az első N drb. természetes szám összegét. (Ehhez vegyünk egy változót, amelyet a program elején beállítunk 0-ra, majd a ciklusban ehhez sorban hozzáadjuk az 1, 2, 3,..., N számokat.) Például N=5 -re az eredmény 15, mivel =15.
Feladat 3a, 3b 3a Készítsünk programot, amely kiszámolja az első N drb. páros szám összegét. (A ciklus 1-től N div 2 -ig menjen, majd a ciklusmagban vegyük a számok kétszeresét.) 3b Készítsünk programot, amely kiszámolja az első N drb. páratlan szám összegét. (A ciklus 1- től N div 2 -ig menjen, majd a ciklusmagban vegyük a számok kétszeresét eggyel csökkentve.)
Feladat 4a, 4b 4a Kérjünk be két természetes számot ( M, N ), majd rajzoljunk ki a képernyőre egy M x N méretű paralelogrammát csillag (*) jelekből (a paralelogrammának N sora legyen, mindegyik sorban M csillaggal). Például M=8 és N=3 -ra: ******** ******** ******** 4b Kérjünk be egy természetes számot ( a ), majd rajzoljunk ki a képernyőre egy háromszöget csillagokból (*). A háromszög a sornyi csillagból álljon. Például a=4 -re: * *** ***** *******
Feladat 5a, 5b 5a Állítsuk elő és írassuk ki az első N darab Fibonacci-számot. Ennek a sorozatnak az a jellemzője, hogy bármelyik eleme egyenlő az előző kettő összegével. A sorozat néhány eleme: 1, 1, 2, 3, 5, 8, 13,... 5b Állítsuk elő és írassuk ki az első N darab Fibonacci-szám összegét (a Fibonacci sorozatnak az a jellemzője, hogy bármelyik eleme egyenlő az előző kettő összegével). Az összeg, melyet számoljon ki a program az első N elemből: