Ciklas for
Apie for
ciklą
Šis ciklas dažniausiai naudojamas kai yra žinoma kiek kartų jis turi būti vykdomas.
Ciklo for
sintaksė
- kintamasis - ciklo darbui reikalingas kintamasis, kuris bus sunaikintas ciklui baigus darbą, dažniausiai naudojamas norint suvaldyti kiek kartų ciklas turi būti vykdomas.
- sąlyga - ciklas bus vykdomas kol sąlyga bus teisinga (grąžins true), sąlyga apsirašo tokiu pačiu principu kaip apsirašydavo patikrinimo sąlygoje if.
- veiksmas - kas bus daroma kiekvienos ciklo iteracijos metu, dažniausiai - didinamas kintamasis.
- kodas - kodas, kuris bus vykdomas jei sąlyga teisinga.
Pavyzdžiai (1 dalis)
Pavyzdys 1
Kodas:
Rezultatai:
Pavyzdys 2
Kodas:
Rezultatai:
Pavyzdys 3
Kodas:
Rezultatai:
Pavyzdys 4
Kodas:
Rezultatai:
Pavyzdys 5
Kodas:
Rezultatai:
Pavyzdys 6
Kodas:
Rezultatas 1:
Rezultatas 2:
Pavyzdys 7
Kodas:
Rezultatas 1:
Rezultatas 2:
Rezultatas 3:
Rezultatas 4:
Pavyzdys 8
Kodas:
Rezultatai:
Pavyzdys 9
Kodas:
Rezultatai:
Pavyzdys 10
Kodas:
Rezultatai:
Pavyzdys 11
Kodas:
Rezultatai:
Pavyzdys 12
Kodas:
Rezultatai:
Pavyzdys 13
Kodas:
Rezultatai:
Pavyzdys 14
Kodas:
Rezultatai:
Pavyzdys 15
Kodas:
Rezultatai:
Užduotys (1 dalis)
Užduotis 1
Parašyti for
, kuris išvestų kiekvieną skaičių pradedant nuo 0 ir baigiant 10. Kiekvieną skaičių išvesti skirtingoje eilutėje.
Užduotis 2
Parašyti for
, kuris išvestų kas antrą skaičių pradedant 0 ir baigiant 15. Kiekvieną skaičių išvesti toje pačioje eilutėje, po kiekvieno skaičiaus dedant tarpą.
Užduotis 3
Parašyti for
, kuris išvestų kas trečią skaičių, pradedant 1 ir baigiant 20. Kiekvieną skaičių išvesti toje pačioje eilutėje tačiau apskliaudžiant laužtiniais skliaustais. Pavyzdžiui: [1][4][7]
...
Užduotis 4
Parašyti for
, kuris eitų pro kiekvieną skaičių nuo 1 iki 10. Jame apsirašyti if
sąlygą, kuri patikrintų ar dabartinis skaičius yra lyginis, jei taip tai šį skaičių išvesti.
Užduotis 5
Liepkite vartotojui įvesti rėžių pradžią ir pabaigą. Patikrinkite, kad tai būtų validu (pradžia turi būti mažesnė nei pabaiga). Jei rėžiai tinkami, tuomet vykdyti for
, kuris atskirose eilutėse išvestų kiekvieną skaičių iš tų rėžių, bei atskiriant tarpu - tų skaičių kvadratus. Pavyzdžiui:
Užduotis 6
Liepkite vartotojui įvesti rėžių pradžią ir pabaigą. Patikrinkite, kad tai būtų validu (pradžia turi būti mažesnė nei pabaiga). Jei rėžiai tinkami, tuomet vykdyti for
, kuris iš duotų skaičių išvestų visus nelyginius skaičius arba tuos, kurie dalinasi iš 8.
Užduotis 7 (sudėtingesnė)
- Liepkite vartotojui įvesti rėžių pradžią ir pabaigą. Patikrinkite, kad tai būtų validu (pradžia turi būti mažesnė nei pabaiga).
- Jei rėžiai tinkami, tuomet vykdyti ciklą, kuris visus šiuos skaičius išvestų atskirose eilutėse, šalia kiekvieno skaičiaus išvedant informaciją iš kokių skaičių nuo 2 iki 10 jis dalinasi. Pavyzdžiui:
- Papildomai: padarykite, kad skaičiaus nesidalinimo atveju, vietoj teksto "dalinasi iš" būtų išvesta, kad skaičius iš nieko nesidalina.
Užduotis 8 (sudėtingesnė)
Be daugybos veiksmo programoje, sudauginti du skaičius.
Pavyzdžiai (2 dalis)
Pavyzdys 16
Kodas:
Rezultatai:
Pavyzdys 17
Kodas:
Rezultatai:
Užduotys (2 dalis)
Užduotis 9
Raskite visų skaičių nuo 1 iki 100 sumą.
Užduotis 10
Raskite visų lyginių skaičių nuo 20 iki 50 sumą.
Užduotis 11
Raskite visų nelyginių skaičių nuo 30 iki 60 sumą.
Užduotis 12
Rasti visų skaičių, žemesnių už 1000 ir kurie dalinasi iš 3 arba 5, sumą.
Pasitikrinimui
Visi skaičiai mažesni už 10 ir kurie dalinasi iš 3 arba 5 yra: 3, 5, 6, 9.
Šių skaičių suma yra 23.
Turite gauti 233168 atsakymą.
Užduotis 13
Viena iš populiarų programavimo patikrinimo užduočių vadinama "Fizz-Buzz". Jos aprašas žemiau:
The "Fizz-Buzz test" is an interview question designed to help filter out the 99.5% of programming job candidates who can't seem to program their way out of a wet paper bag. The text of the programming assignment is as follows:
"Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”."
Užduotis 14 (sudėtingesnė)
Parašykite for ciklą, kuris išvestų norimą kiekį fibonačiaus skaičių į ekraną. Fibonačiaus sekoje kiekvienas skaičius yra lygus prieš jį ėjusių dviejų skaičių sumai: 1, 1, 2, 3, 5, 8, 13, 21
...
Pagalba kaip atlikti užduotį:
- Susikurkite tris sveikųjų skaičių kintamuosius. Pirmi du kintamieji saugos paskutinius du skaičius. Trečiasis bus šių pirmų dviejų skaičių suma.
- Pirmus du skaičius išveskite ne cikle, o prieš jį ir ciklą pradėkite vykdyti nuo 2, o ne nuo 0.
- Kiekvieno ciklo metu turite perskaičiuot trečiąjį skaičių (pirmų dviejų skaičių sudėtis), tuomet pirmojo skaičiaus reikšmę pakeisti į tokią kokia yra saugoma antrąjame, o antrojo kintamojo reikšmę - į trečiojo. Išvesti į ekraną trečią skaičių.
Papildomai: raskite išvestos fibonačiaus skaičių sekos sumą.