Instrukcja pętli for Przykład Instrukcja pętli while Przykład Instrukcja

Transkrypt

Instrukcja pętli for Przykład Instrukcja pętli while Przykład Instrukcja
W przypadku, gdy daną czynność należy powtórzyć wiele razy stosujemy pętle. W języku C++ można
wyróżnić trzy rodzaje pętli:
• pętla for
• pętla while
• pętla do … while
Instrukcja pętli for
Pętlę tą stosujemy zwykle, gdy liczba powtórzeń jest z góry określona.
Składnia pętli for:
for(instrukcja_początkowa;warunek_sterujący;instrukcja_kroku)
gdzie:
instrukcja_początkowa – instrukcja wykonywana przed pierwszym obiegiem;
warunek_sterujący – wyrażenie logiczne, które decyduje o zakończeniu działania pętli (jeśli jest fałszywe,
wówczas następuje zakończenie wykonywania instrukcji w pętli
instrukcja_kroku – instrukcja wykonywana po każdym przebiegu pętli, modyfikująca zazwyczaj tzw. licznik
petli
Przykład
for (i=0;i<10;i=i+1)
{
cout <<”wypisuję ten napis 10 razy\n”;
cout <<”wykonałem się <<i<<” raz!”;
}
Instrukcja pętli while
Pętla while wykonuje się kolejny raz, gdy wyrażenie jest prawdziwe (czyli ma wartość niezerową)
Składnia pętli while:
while (wyrażenie)
{
instrukcje;
}
gdzie:
wyrażenie – wyrażenie logiczne (przyjmując wartość „prawda” lub „fałsz”
Przykład
while (a>0)
{
cout <<”Podaj kolejną liczbę”;
cin <<a;
}
cout <<”Podałeś liczbe nieujemną, kończę działanie!”;
Instrukcja pętli do … while
Pętla do …while wykonuje się kolejny raz, gdy wyrażenie jest prawdziwe (czyli ma wartość niezerową)
Składnia pętli while:
do
{
instrukcje;
} while (wyrażenie)
gdzie:
wyrażenie – wyrażenie logiczne (przyjmując wartość „prawda” lub „fałsz”
UWAGA: Różnica między ostatnimi dwoma pętlami, jest taka, że pętla do … while wykona się zawsze co
najmniej raz, zaś pętla while może nie wykonać się wcale.
-1Rafaello
Zadania
Zadanie 1
Liczby naturalne
Dana jest liczba całkowita dodatnia k. Napisz program, który wypisze wszystkie liczby całkowite dodatnie nie
większe niż k w kolejności rosnącej.
Wejście
Pierwszy i jedyny wiersz wejścia zawiera liczbę całkowitą k z zakresu 1..1000.
Wyjście
W jednym wierszu należy zapisać rosnący ciąg liczb całkowitych, nie większych niż k.
Przykład
Dla danych wejściowych:
4
poprawną odpowiedzią jest:
1 2 3 4
Zadanie 2
Liczby całkowite
Dane są dwie liczby całkowite l,p (l<p). Napisz program, który wypisze wszystkie liczby nie większe od p
i nie mniejsze od l w kolejności malejącej
Wejście
Pierwszy i jedyny wiersz wejścia zawiera dwie liczbę całkowitą k z zakresu -100, -99,..,0,1,.., 99,100.
Wyjście
W pierwszym wierszu należy zapisać malejący ciąg liczb całkowitych z przedziału l…p.
Przykład
Dla danych wejściowych:
-2 3
poprawną odpowiedzią jest:
3 2 1 0 -1 -2
Zadanie 3
Dwucyfrowe
Dana jest liczba dwucyfrowa k. Napisz program, który wypisze wszystkie liczby dwucyfrowe nie większe niż
k w kolejności rosnącej.
Wejście
Pierwszy i jedyny wiersz wejścia zawiera liczbę całkowitą k z zakresu 10..99.
Wyjście
W wierszu należy zapisać rosnący ciąg liczb całkowitych dwucyfrowych, nie większych niż k.
Przykład
Dla danych wejściowych:
13
poprawną odpowiedzią jest:
10 11 12 13
Zadanie 4
Parzyste
Dane są liczby całkowite a i b. Napisz program, który wypisze wszystkie liczby parzyste w kolejności rosnącej
z przedziału <a;b>.
Wejście
Pierwszy i jedyny wiersz wejścia zawiera dwie liczby całkowite a i b (a<b) oddzielone pojedynczą spacją z
zakresu 0..255.
Wyjście
W kolejnych wierszach należy zapisać rosnący ciąg liczb parzystych z przedziału <a;b>
Przykład
Dla danych wejściowych:
3 6
poprawną odpowiedzią jest:
4 6
-2Rafaello
Zadanie 5 Suma
Dany jest ciąg liczb całkowitych zakończony liczbą zero, która nie należy do ciągu.
Napisz program, który wyznaczy sumę wszystkich liczb ciągu.
Wejście
W pierwszym wierszu wejścia zapisano ciąg liczb całkowitych z zakresu z zakresu 1..65535 zakończony
liczbą zero.
Wyjście
Wyjście zgodne z przykładem.
Przykład
Dla danych wejściowych:
6 16 5 1 17 0
poprawną odpowiedzią jest:
45
Zadanie 6
Największy podzielnik
Dana jest liczba naturalna n nie większa od 2147483647. Napisz program, który wyznaczy największy
dzielnik podanej liczby mniejszy od n.
Wejście:
Liczba naturalna n z zakresu 1… 2147483647
Wyjście
Największy dzielnik podanej liczby mniejszy od niej samej
Przykład
Dla danej wejściowej:
36
poprawną odpowiedzią jest:
18
Zadanie 7 Odwrotne
Znając wartość liczby całkowitej n oblicz wartość wyrażenia
1 1 1
1
+ + +K+
1 2 3
n
Wejście
Pierwszy i jedyny wiersz wejścia zakończony znakiem nowej linii zawiera liczbę całkowitą n z zakresu
1..1000.
Wyjście
Pierwszy i jedyny wiersz wyjścia zakończony znakiem nowej linii powinien zawierać obliczoną wartość
wyrażenia.
Przykład
Dla pliku wejściowego:
3
poprawną odpowiedzią jest plik wynikowy:
1.83333
Zadanie 8
Suma liczb nieparzystych
Dana jest liczba naturalna n nie większa od 10000. Napisz program, który wyznaczy sumę n liczb
nieparzystych.
Wejście:
W pierwszym wierszu znajduje się liczba naturalna n z zakresu 1… 100000. W drugim znajduje się ciąg liczb
całkowitych dodatnich nie większych od 1000
Wyjście
Suma n–liczb nieparzystych
Przykład
Dla danej wejściowej:
4
1 4 5 6
poprawną odpowiedzią jest:
6
-3Rafaello
Zadanie 9
Beatka1
Gdzieś w Bajtocji mieszka szalona pchła Beatka. Wszyscy uważają ją za nienormalną przez jej sposób
poruszania. Zwyczajne pchły, gdy chcą gdzieś dotrzeć, wykonują kilka skoków w jednym kierunku.
Tymczasem Beatka po oddaniu pierwszego skoku do przodu, drugi wykonuje do tyłu. Kolejny znów do przodu,
następny do tyłu itd. Wyróżnia się również tym, że długość oddawanych przez nią skoków cały czas rośnie z
zachowaniem pewnej zależności. Długość każdego skoku jest równa kwadratowi liczby naturalnej, określającej
numer skoku (licząc od startu).
Napisz program który:
Wczyta dane wejściowe Wyznaczy odległość Beatki od punktu startu po n skokach. Przyjmij, że przed Beatką
znajdują się odległości dodatnie, natomiast za nią, odległości ujemne. Beatka nigdy się nie odwraca, czyli przód
początkowy, zawsze pozostanie przodem, tak samo tył.
Wypisze wynik na standardowe wyjście
Wejście
W pierwszym wierszu znajduje się liczba naturalna n (1≤n≤10000), określająca liczbę skoków oddanych przez
Beatkę.
Wyjście
Należy podać liczbę całkowitą będącą odległością Beatki od punktu startowego.
Przykład
Dla danych wejściowych:
2
poprawną odpowiedzią jest:
1
Zadanie 10
Klocki
2 3
Rysunek 1
poprawną odpowiedzią jest:
TAK
3 2
1
Michał
Karolina
Karolina i Michał układają wieżę klocków w kształcie prostopadłościanów (rysunek 1). Karolina dysponuje
tylko klockami w których najdłuższa krawędź jest liczbą naturalna i ma długość a. Michał ma tylko klocki,
w których najdłuższa krawędź ma długość b i jest również liczbą naturalną. Dzieci budują swe budowle
układając klocki zawsze w ten sposób aby najdłuższa krawędź była ustawiona pionowo do podłogi.
Czy uda się dzieciom zbudować piramidy o tej samej wysokości?
Jeśli tak, to z ilu klocków będzie składała się budowla Michałka a z ilu budowla Karolinki?
Pomóż dzieciom rozwiązać ten problem.
Wejście
Dwie niewielkie liczby naturalne będące wysokościami klocków dzieci.
Wyjście
W pierwszym wierszu wyjścia powinien pojawić się napis NIE, jeśli dla podanych danych nie
istnieje rozwiązanie lub napis TAK w przeciwnym przypadku.
Jeśli odpowiedź jest twierdząca, to w następnym wierszu powinny pojawić się dwie liczby: ilość
klocków potrzebnych Karolinie i ilość klocków potrzebnych Michałowi do tego aby ich
budowle miały tę samą wysokość.
Jeśli rozwiązań jest więcej niż jedno, podaj to, w którym dzieciom będzie potrzebnych jak
najmniej klocków (wysokie wieże są budowlami nietrwałymi ☺)
Przykład
Dla danych wejściowych:
Zadanie autorstwa p. Szubartowskiego
-4Rafaello

Podobne dokumenty