Archiwa tagu: if else

C++ kurs podstawy programowania. Instrukcja warunkowa if else.

Instrukcja IF ELSE
Pierwszą z instrukcji warunkowych jaką poznamy jest instrukcja if … else. Definicja if-a poniżej.

if(warunek)
   {    
      // jeżeli warunek jest spełniony, czyli przyjmuje wartość TRUE (prawdy)
      // to wykona się kod pomiędzy tymi klamrami
   }
else
   {
      // w przeciwnym wypadku wykona się ten kod tutaj
      // czyli warunek przyjmuje wartość FALSE (fałsz)
   }

Wróćmy do przykładu z kontrolowaniem prędkości. Jak mogłoby to wyglądać. Postarajmy się to oprogramować. Przyjmijmy, że co chwilę odczytujemy wartość z czujnika prędkości auta. Wartość z czujnika wrzucamy do zmiennej o nazwie aktualna_predkosc. Mamy też oprogramowane dwie funkcje. Pierwsza odcina dopływ paliwa i będzie miała nazwę zamknij_doplyw_paliwa(), a druga otwierająca z powrotem  dopływ paliwa o nazwie otworz_doplyw_paliwa(). Będzie nam potrzebna jeszcze jedna zmienna, nazwiemy ją dopływ_paliwa, zaraz wyjaśnię dlaczego. Nasz kod mógłby wyglądać jak poniżej.

if(aktualna_predkosc >= 200)
   {
      zamknij_doplyw_paliwa();
      doplyw_paliwa = "Z";
   }
else
   {
      // sprawdz czy doplyw zamkniety
      if(doplyw_paliwa == "Z")
         {
            otworz_doplyw_paliwa();
            doplyw_paliwa = "O";
         }
   }

Powyższy kod można przetłumaczyć tak. Jeżeli aktualna_predkosc jest większa lub równa 200, czyli moment kiedy przekroczyliśmy prędkość graniczną 200 km/h, to uruchom funkcję zamknij_doplyw_paliwa() i ustaw zmienną dopływ_paliwa na "Z" (zamknięty). W przeciwnym przypadku, czyli kiedy prędkość jest mniejsza niż 200 km/h, wykonaj kod z części else{}. Ale tutaj mamy drugiego if-a, bo jeszcze musimy sprawdzić czy aktualnie dopływ_paliwa jest zamknięty czy otwarty. Drugiego if-a możemy przetłumaczyć tak. Jeżeli dopływ_paliwa jest zamknięty (czyli nasz poprzednia prędkość była większa niż 200km/h) uruchamiamy funkcję otworz_doplyw_paliwa() i ustawiamy dopływ_paliwa na "O" (otwarty). Jeżeli dopływ_paliwa jest otwarty ("O") to nie robimy nic no bo aktualnie dopływ paliwa jest otwarty więc nie ma potrzeby uruchamiania funkcji otworz_doplyw_paliwa(). Myślę, że już rozumiesz dokładnie działanie instrukcji if… else i po co w ogóle była nam potrzebna zmienna dopływ_paliwa.
Zwróć uwagę, że używając instrukcji if nie musisz za każdym razem korzystać także z konstrukcji if…else możesz skorzystać tylko z if-a.
Jak już zauważyłeś if-y możemy zagnieżdżać, czyli definiować jednego if-a wewnątrz drugiego.
Cały kod programu mógłby wyglądać tak.

#include <iostream>

using namespace std;

void zamknij_doplyw_paliwa()
{
    cout << "Jedziesz jak wariat, zwolnij!" << endl;
    cout << "Zamykam doplyw paliwa!" << endl << endl;
}

void otworz_doplyw_paliwa()
{
    cout << "Widze, ze zwolniles!" << endl;
    cout << "Otwieram doplyw paliwa!" << endl << endl;
}
    int aktualna_predkosc;
    int i; // licznik dla for-a
    string doplyw_paliwa;

int main()
{



    for(i=0;i<=5;i++)
    {
        cout << "Z jaka predkoscia aktualnie jedziesz? : ";
        cin >> aktualna_predkosc;

        if(aktualna_predkosc >= 200)
           {
              zamknij_doplyw_paliwa();
              doplyw_paliwa = "Z";
           }
        else
           {
              // sprawdz czy doplyw zamkniety
              if(doplyw_paliwa == "Z")
                 {
                    otworz_doplyw_paliwa();
                    doplyw_paliwa = "O";
                 }
                 else
                 {
                     cout << "Jedziesz przepisowo, jedz tak dalej!" << endl << endl;
                 }

           }

    }

    cout << "Dziekujemy za skorzystanie z naszej nawigacji";

    return 0;
}


c++ kurs programowania obiektowego spis treści 

 

 

C# Instrukcja warunkowa if else

Instrukcja warunkowa if else.

Instrukcja warunkowa if else działa tak samo jak instrukcja if z tą różnicą, że tutaj określany także co ma się stać w sytuacji nie spełnienia warunku. Ogólna definicja instrukcji if else przedstawiona jest poniżej.

W przypadki potrzeby wykonania kilku instrukcji przy spełnionym lub nie spełnionym warunku definicja może przyjąć postać, jak poniżej.

instrukcja warunkowa if else
Rysunek 14.1 Przykład zastosowania instrukcji warunkowej if else.

Listing z rysunku 14.1

Instrukcje if else możemy wykorzystać także do obsłużenia więcej niż dwóch warunków. Możemy zagnieżdżać je w sobie. Poniżej przykład takiego zastosowania instrukcji if else.

instrukcja warunkowa if else
Rysunek 14.2 Przykład zastosowania instrukcji warunkowej if else, zagnieżdżanie.

Listing z rysunku 14.2