• Nie Znaleziono Wyników

Lekcja8. Instrukcja warunkowa w C++

N/A
N/A
Protected

Academic year: 2021

Share "Lekcja8. Instrukcja warunkowa w C++"

Copied!
3
0
0

Pełen tekst

(1)

Lekcja8. Instrukcja warunkowa w C++ 

Instrukcja warunkowa to element kodu programu, bez którego nie napiszemy żadnego większego  programu. Występuje powszechnie dla rozwiązania problemu z wyborem w różnych sytuacjach czyli  w podejmowaniu decyzji. 

Możliwości podejmowania decyzji w programie komputerowym zazwyczaj są bardzo ograniczone,  więc zawężają się do wykonania tylko i wyłącznie instrukcji, które wprowadzimy w kodzie programu. 

Najprostsza postać składni instrukcji warunkowej wygląda następująco: 

if (warunek) 

instrukcja(polecenie) 

Z czasem przejdziemy do trudniejszych postaci tej instrukcji ale najpierw skoncentrujmy się na  przykładzie: 

if  (a==b) 

cout <<  ”a i b są sobie równe”<<  endl; 

Jeżeli a i b mają te same wartości to są sobie równe. Nie ma innej możliwości. 

Nieco trudniejsza postać instrukcji warunkowej to: 

if  (warunek)       instrukcja1; 

else 

     instrukcja2; 

Jeżeli spełniony zostanie warunek to zostanie wykonana instrukcja nr 1, natomiast w innym  przypadku zostanie wykonana instrukcja nr2.  

 

Przykład: 

if  ( a==b ) 

     cout <<  ”a i b są sobie równe”<<  endl; 

else 

     cout << „”a i b nie są sobie równe” << endl; 

W języku C++ istnieje pojęcie instrukcji złożonej, która przyjmuje postać: 

if  ( a==b ) { 

     cout <<  ”a i b są sobie równe”<<  endl; 

}  else  { 

     cout << „”a i b nie są sobie równe” << endl; 

(2)

 

Operator przypisania i równości 

W języku C++ operator przypisania można łatwo pomylić  z operatorem równości: 

Operator przypisania to:   =  Operator równości to:       == 

Przykład zastosowania instrukcji warunkowej w prostym programie.  

Program ma za zadanie pobranie liczby z klawiatury wprowadzonej przez użytkownika i określić czy  wprowadzona liczba jest parzysta czy też nie. 

 

#include <iostream> 

using namespace std; 

int main() {  int  liczba, reszta;   

cout << "Podaj dowolną liczbę całkowitą i naciśnij klawisz Enter: "; 

cin >> liczba; 

// Oblicz resztę z dzielenia przez 2. 

    reszta = liczba % 2; 

// Jeżeli reszta jest równa 0, wprowadzona liczba jest parzysta. 

    if (reszta == 0) 

        cout << "Liczba jest parzysta."; 

    else 

        cout << "Liczba jest nieparzysta."; 

system("PAUSE"); 

return EXIT_SUCCESS; 

Najpierw  deklarujemy  sobie  dwie  zmienne  n  i  resztę  o  typie  integer,  czyli  typie  liczb  całkowitych. 

Następnie wyprowadzamy komunikat na ekran z prośbą o wprowadzenie dowolnej liczby całkowitej. 

Następnie  wprowadzamy  liczbę  do  pamięci  komputera.  Aby  sprawdzić  czy  liczba  jest  parzysta  czy  nieparzysta  wiemy  z  matematyki,  że  wystarczy  ją    podzielić  przez  dwa  i  po  reszcie  z  dzielenia  dowiemy się  że jeżeli reszta wynosi 0  to liczba jest  parzysta czyli można ją podzielić przez  2. Każda  inna liczba jest nieparzysta. Wyrażenie:  

reszta=liczba %2   

dzieli wprowadzoną przez użytkownika liczbę przez dwa i pokazuje resztę.  

(3)

 

Wynik dzielenia jest umieszczany w zmiennej reszta w zapisie: 

reszta = liczba % 2; 

Znak % oznacza w C++ określa dzielenie z resztą. 

Szybszym rozwiązaniem naszego zadania będzie następujący kod: 

 

#include <iostream> 

using namespace std; 

int main() {  int  liczba, reszta;   

cout << "Podaj dowolną liczbę całkowitą i naciśnij klawisz Enter: "; 

cin >> liczba; 

if (liczba % 2 == 0) 

        cout << "Liczba jest parzysta."; 

    else 

        cout << "Liczba jest nieparzysta."; 

system("PAUSE"); 

return EXIT_SUCCESS; 

}   

Różnica  polega  na  przyrównaniu  reszty  z  dzielenia  wprowadzanej  liczby  do  zera  i  tak  jeżeli  niema  reszty z dzielenia czyli wynosi ona 0 to liczba jest parzysta, w innym przypadku liczba jest nieparzysta.  

     

Marek Pauli 

Cytaty

Powiązane dokumenty

Na potrzeby tego zadania, liczbę naturalną k nazwiemy ładną, jeżeli istnieje liczb naturalna, której kwadrat ma sumę cyfr równą k.. Wiadomo, że wśród 11 kolejnych

[r]

W dowolnym n-wyrazowym postępie arytmetycznym o sumie wyrazów równej n, k-ty wyraz jest równy 1.. Dla podanego n wskazać takie k, aby powyższe zdanie

Jaka jest szansa, że na pewnym piętrze wysiądą 3 osoby, na innym 2 i na dwóch piętrach

Punkty te połączono między sobą i z wierzchołkami trójkąta nieprzecinającymi się odcinkami tak, iż ”duży” trójkąt podzielono na mniejsze trójkąty.. Udowodnij, że

To, że świadomość mogłaby przestać istnieć - skoro dla siebie samej zawsze przecież istniała i jako taka właśnie identyfikowała się ze sobą - jest dla niej

Wśród dowolnych k różnych liczb całkowitych dodatnich istnieją dwie, których różnica jest podzielna przez n.. Wśród dowolnych k różnych liczb całkowitych dodatnich

Dla równoległoboku o przekątnych długości 6 i 8, przecinających się pod kątem α, oznaczmy przez S(α) sumę kwadratów długości jego boków