C++ -> INSTRUKCJA WARUNKOWA
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
Ogólny zapis instrukcji warunkowej:
if (warunek)
instrukcja1;
else
instrukcja2;
Warunek może być prawdziwy lub fałszywy. Jeżeli warunek jest prawdziwy to wykona się instrukcja 1, jeżeli jest fałszywy wykona się instrukcja 2. Zapamiętaj, że else jest opcjonalne = nieobowiązkowe. To czy zostanie wykorzystane zależy od programisty.
PRZYKŁADY
Przykład 1
6 – czy liczba 1 jest mniejsza od 2? Oczywiście, że tak. Warunek jest prawdziwy dlatego wykona się instrukcja zapisana w wierszu 7. Jeżeli warunek byłby fałszywy np. 10>4 program wykonałby instrukcję 9.
#include <iostream>
using namespace std;
int main()
{
if (1<2)
cout << "prawda";
else
cout << "falsz";
return 0;
}
Przykład 2
8 – czy dla wartości zapisanych w zmiennych a i b warunek a<b jest prawdziwy? Jeżeli tak program wykona instrukcję 9.
Przypisz do a=7 i b=7. Sprawdź co wyświetli się na ekranie. Jeżeli w warunku chcesz sprawdzić czy a jest równe b, to musisz użyć podwójnego równa się a==b. Pamiętaj o tym.
Wyjaśnij różnicę między = i == ?
Przypisz a=100 i b=50. Sprawdź jaki będzie wynik działania programu.
#include <iostream>
using namespace std;
int main()
{
int a=1,b=2;
if (a<b)
cout << "a jest < b";
if (a==b)
cout << "a jest rowne b";
if (a!=b)
cout << "a jest rozne od b";
return 0;
}
Przykład 3
8 – warunek może być zbudowany z dwóch lub kilku mniejszych warunków. Symbole || oznaczają lub. Jeżeli a==8 lub a==10 wykonaj instrukcję zapisaną w wierszu 9. W przeciwnym wypadku wykonaj instrukcję 11.
#include <iostream>
using namespace std;
int main()
{
int a=8;
if (a==8 || a==10)
cout <<"a jest rowne 8 lub 10";
else
cout <<"a na pewno nie jest rowne 8 lub 10";
return 0;
}
Przykład 4
8 – znak && oznacza i. Jeżeli a jest większe lub równe 1 i a jest mniejsze lub równe 10 wykonaj instrukcję 9. Jeśli warunek jest fałszywy a więc a nie należy do przedziału <1;10> wykonaj instrukcję w wierszu 11.
#include <iostream>
using namespace std;
int main()
{
int a=8;
if (a>=1 && a<=10)
cout <<"a jest wieksze lub rowne 1 i mniejsze lub rowne 10";
else
cout <<"a jest mniejsze niz 0 lub wieksze niz 10";
return 0;
}
Przykład 5
6 – string owoc umożliwia przechowywanie tekstu,
10 – jeżeli w owoc jest wartość gruszka wykonaj wiersz 11,
w przeciwnym wypadku wykonaj wiersz 13,
13 – jeżeli owoc to banan, wykonaj wiersz 14, w przeciwnym wypadku wykonaj wiersz 16.
Instrukcja warunkowa w wierszu 13 wykona się tylko wtedy jeżeli w instrukcji if w wierszu 10 warunek jest fałszywy (owoc nie jest gruszką).
#include <iostream>
using namespace std;
int main()
{
string owoc;
cout << "Wpisz nazwe owocu: ";
cin >> owoc;
if (owoc=="gruszka")
cout <<"gruszka jest zielona";
else
if (owoc=="banan")
cout << "banan jest zolty";
else
cout << "nie wiem jaki ma kolor";
return 0;
}
Przykład 6
Modulo (oznaczane jako %) oblicza resztę z dzielenia.
10 modulo 3 jest równe 1 bo 3*3=9 i reszty 1
25 modulo 4 jest równe 1 do 6*4=24 i reszty 1
14 modulo 5 jest równe 4 bo 2*5=10 i reszty 4
50 modulo 10 jest równe 0 bo 5*10=50 i reszty 0
zagadka -> ile wynosi 3%7 ?
#include <iostream>
using namespace std;
int main()
{
cout << 10%3 << endl;
cout << 25%4 << endl;
cout << 14%5 << endl;
cout << 50%10;
return 0;
}
ZADANIA
Zadanie 1
Napisz program zwracający wartość bezwzględną liczby podanej przez użytkownika.
Zadanie 2
Napisz program informujący czy liczba podana przez użytkownika jest większa, mniejsza czy równa zero. Wykorzystaj tylko dwie instrukcje warunkowe.
Zadanie 3
Napisz program informujący czy liczba podana przez użytkownika jest parzysta czy nieparzysta.
Zadanie 4
Napisz program wyznaczający najmniejszą z trzech liczb podanych przez użytkownika.
Zadanie 5
Napisz program, który odpowiada na pytanie, czy wśród trzech liczb są choć dwie takie same.
Zadanie 6
Napisz program, który odpowiada na pytanie, czy trzy podawane liczby całkowite są ustawione w porządku rosnącym.
Zadanie 7
Napisz program sprawdzający czy liczba podana przez użytkownika jest z przedziału <1,10> lub <17,21>