C++ -> PĘTLE
SPIS TREŚCI
Szkoła podstawowa
- Przykłady i zadania – str. 1
- Rozwiązania zadań – str. 2
- Pytania sprawdzające – str. 3
Liceum i technikum
- Przykłady i zadania – str. 4
- Rozwiązania zadań – str. 5
- Pytania sprawdzające – str. 6
POZIOM 1 – SZKOŁA PODSTAWOWA
WSTĘP
Pętle for, while i do while wykonują się tylko wtedy gdy warunek jest prawdziwy. Należy tutaj dodać, że w pętli do while instrukcje wykonują się przynajmniej jeden raz ponieważ warunek jest sprawdzany na końcu.
PRZYKŁADY
Pętla FOR – przykład 1
Napisz program wyświetlający liczby całkowite z przedziału <1,20>
#include <iostream>
using namespace std;
int main()
{
for(int i=1;i<=20;i++)
cout << i << " ";
return 0;
}
Pętla FOR – przykład 2
Napisz program wyświetlający liczby całkowite z przedziału <100,50> w porządku malejącym.
#include <iostream>
using namespace std;
int main()
{
for(int i=100;i>=50;i--)
cout << i << " ";
return 0;
}
Pętla FOR – przykład 3
Napisz program wyświetlający liczby całkowite (co 5) z przedziału <5,10,15,20 … 100>
#include <iostream>
using namespace std;
int main()
{
for(int i=5;i<=100;i=i+5)
cout << i << " ";
return 0;
}
Pętla FOR – przykład 4
Napisz program wyświetlający liczby całkowite z przedziału <0,y> (wartość y podaje użytkownik)
#include <iostream>
using namespace std;
int main()
{
int y;
cout << "Podaj y: ";
cin >> y;
for(int i=0;i<=y;i++)
cout << i << " ";
return 0;
}
Pętla FOR – przykład 5
Napisz program wyświetlający liczby całkowite z przedziału <x,y> (wartości x i y podaje użytkownik)
#include <iostream>
using namespace std;
int main()
{
int x,y;
cout << "Podaj x: ";
cin >> x;
cout << "Podaj y: ";
cin >> y;
for(int i=x;i<=y;i++)
cout << i << " ";
return 0;
}
Pętla WHILE – przykład 1
Napisz program wyświetlający liczby całkowite z przedziału <1,20>
#include <iostream>
using namespace std;
int main()
{
int i=1;
while(i<=20)
{
cout << i <<" ";
i++;
}
return 0;
}
Pętla WHILE – przykład 2
Napisz program wyświetlający liczby całkowite z przedziału <100,50> w porządku malejącym.
#include <iostream>
using namespace std;
int main()
{
int i=100;
while(i>=50)
{
cout << i <<" ";
i--;
}
return 0;
}
Pętla WHILE – przykład 3
Napisz program wyświetlający liczby całkowite z przedziału <5,10,15,20 … 100>
#include <iostream>
using namespace std;
int main()
{
int i=5;
while(i<=100)
{
cout << i <<" ";
i+=5;
}
return 0;
}
Pętla WHILE – przykład 4
Napisz program wyświetlający liczby całkowite z przedziału <0,y> (wartość y podaje użytkownik)
#include <iostream>
using namespace std;
int main()
{
int i=1,y;
cout << "Podaj y: ";
cin >> y;
while(i<=y)
{
cout << i <<" ";
i++;
}
return 0;
}
Pętla WHILE – przykład 5
Napisz program wyświetlający liczby całkowite z przedziału <x,y> (wartości x i y podaje użytkownik)
#include <iostream>
using namespace std;
int main()
{
int x,y;
cout << "Podaj x: ";
cin >> x;
cout << "Podaj y: ";
cin >> y;
while(x<=y)
{
cout << x <<" ";
x++;
}
return 0;
}
Pętla DO WHILE – przykład 1
Napisz program wyświetlający liczby całkowite z przedziału <1,20>
#include <iostream>
using namespace std;
int main()
{
int i=1;
do
{
cout << i << " ";
i++;
}
while(i<=20);
return 0;
}
Pętla DO WHILE – przykład 2
Napisz program wyświetlający liczby całkowite z przedziału <x,y> (wartości x i y podaje użytkownik)
#include <iostream>
using namespace std;
int main()
{
int x,y;
cout << "Podaj x: ";
cin >> x;
cout << "Podaj y: ";
cin >> y;
do
{
cout << x << " ";
x++;
}
while(x<=y);
return 0;
}
Pętla for z break – dodatkowy przykład
Zastanów się jak działa break.
#include <iostream>
using namespace std;
int main()
{
for(int i=1;i<=20;i++)
{
if (i==5)
break;
cout << i << " ";
}
return 0;
}
Pętla for z continue – dodatkowy przykład
Zastanów się jak działa continue.
#include <iostream>
using namespace std;
int main()
{
for(int i=1;i<=10;i++)
{
if (i==3 || i==4 || i==5)
continue;
cout << i << " ";
}
return 0;
}
ZADANIA
Zadanie 1
Napisz program pobierający od użytkownika liczbę dodatnią. Jeżeli użytkownik wprowadzi zero lub ujemną program poprosi o podanie nowej liczby. Prośba może być ponawiana wielokrotnie. Program kończy się w momencie podania wartości większej od zera.
Zadanie 2
Napisz program obliczający sumę liczb nieparzystych z przedziału <x,y>. Wartości x i y podaje użytkownik.
Zadanie 3
Napisz program, który wyświetli wszystkie liczby z przedziału od 50 do 100 podzielne przez dowolną liczbę k, która podaje użytkownik. Przekształć program tak aby przedział liczb również podawał użytkownik.
Zadanie 4
Napisz program wypisujący liczby całkowite parzyste od liczby podanej przez użytkownika aż do 0.
Zadanie 5
Napisz program wyświetlający n kolejnych potęg liczby 2. Wartość n podaje użytkownik, musi to być liczba naturalna większa od 0.
Zadanie 6
Napisz program sumujący wartości ciągu n liczb podawanych przez użytkownika. Ilość liczb podaje użytkownik jako pierwszą wartość.
Zadanie 7
Program losuje liczbę z zakresu od 1 do 100. Zadaniem gracza jest odgadnięcie tej liczby. Jeżeli użytkownik poda za dużą liczbę program wyświetli komunikat „Szukana wartość jest mniejsza”. Jeżeli wprowadzi za małą liczbę program wyświetli „Szukana wartość jest większa”. Po odgadnięciu liczby gracz dowiaduje się po ilu próbach udało mu się zakończyć grę.
Przykładowy przebieg rozgrywki
Podaj liczbę: 75
Szukana wartość jest większa
Podaj liczbę: 88
Szukana wartość jest mniejsza
Podaj liczbę: 80
Szukana wartość jest większa
Podaj liczbę: 85
Szukana wartość jest mniejsza
Podaj liczbę: 83
GRATULACJE!!! WYGRALES!!!
Liczba prób wynosi 5