Instrukcje wyboru
Plan Instrukcja warunkowa if Operatory logiczne Podstawy obsługi DevCpp Szablon programu w C++ Komentarze Polecenie cout Typy zmiennych Polecenie cin Struktura programu w C++
Instrukcje wyboru Do sterowania przebiegiem programu służą instrukcje wyboru, które pozwalają wykonywać pewne fragmenty programu lub nie pozwalają ich wykonywać. Wyrażenie Wyrażenie jest ciągiem operatorów i argumentów, które specyfikuje obliczenie. Przykłady wyrażeń: x <= 2, a > 0, a == 0, a != 0, 2 * x + 5, 2 * x, 5
Instrukcja warunkowa if Składnia instrukcji if jest następująca: if (warunek_prawdziwy) instrukcja1; lub if (warunek_prawdziwy) instrukcja1; else instrukcja2; W języku C++ nie ma osobnego typu logicznego, czyli takiego, który przyjmuje wartości prawda i fałsz. Fałsz 0 Prawda 1 Operatory porównania: > < = = >= <= != dają wartość: 1, jeżeli warunek jest prawdziwy 0, jeżeli warunek jest fałszywy.
#include<iostream.h> main() { int a; cout << "podaj a"; cin >> a; if (a>=0) { // a >= 0 - to jest wyrażenie warunkowe cout <<"wprowadzono liczbę dodatnią lub zero \n"; cout <<"Koniec"; } system ("pause");
#include<iostream.h> main() { int a; cout << “podaj a“; cin >> a; if (a>=0) cout<< "wprowadzono liczbę dodatnią lub zero \n"; else // else czyli jeżeli a < 0 cout << "wprowadzono liczbę ujemną \n"; system ("pause"); }
#include<iostream.h> main() { int a ; cout << ”a=”; cin >>a; if (a) cout<< ”jestem w if” ; else cout<< ”jestem w else” ; system ("pause"); } instrukcja if (a) ....; jest równoważna instrukcji: if (a != 0) ....; a jest różne od zera
#include <iostream.h> main() { int y, x; x=20; y=4; // x=3; y=4; x=2; y=1; if (x-2*y) cout <<"jestem w if" ; else cout <<"jestem w else" ; system ("pause"); } instrukcja; if (x-2*y) jest równoważna instrukcji: if ((x-2*y) ) (x-2*y) jest różne od zera Wartości wyrażenia innej niż zero odpowiada stan prawda (true). Wartości wyrażenia zero odpowiada stan fałsz (false).
Zadania: Poprawić program „spalanie.cpp” tak, by program reagował na wprowadzenie zerowej lub ujemnej liczby kilometrów – ile_km musi być większe od zera. Napisać program „równanie_liniowe” Napisać program rozwiązujący „równanie_kwadratowe”
// Program Operator logiczny OR Operatory logiczne or (lub) symbol || // Program Operator logiczny OR /* program oblicza wartość funkcji 2 dla x< -2 lub x>2 f(x) = 2x dla -2 <= x <= 2 */ #include <iostream.h> main() { float x, f; cout << "Podaj wartość x"; cin >> x; if ((x<-2) || (x>2)) // Ten znak || - to operator logiczny OR f=2; else f=2*x; cout << "Wartość funkcji dla x=" << x <<"wynosi" << f <<”\n\n\n”; system ("pause"); }
and (i) symbol && /* Program Operator logiczny AND program sprawdza, czy punkt leży w środku prostokąta*/ #include <iostream.h> main() { float x1, y1, x2, y2, x, y; cout << "Podaj współrzędne wierzchołków prostokąta" << endl; cout << "Podaj x1 \t"; cin >> x1; cout << "Podaj y1 \t"; cin >> y1; cout << "Podaj x2 \t"; cin >> x2; cout << "Podaj y2 \t"; cin >> y2; cout << "Podaj współrzędne punktu" << endl; cout << "Podaj x \t"; cin >> x; cout << "Podaj y \t"; cin >> y; cout << "Punkt o współrzędnych x=" << x << " i y=" << y; if ((x>=x1) && (x<=x2) && (y>=y1) && (y<=y2)) //&& - operator logiczny AND cout << " leży w polu prostokąta \n"; else cout << " nie leży w polu prostokąta \n"; system ("pause"); }