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