![]() |
Autor artykułu: mgr Jerzy Wałaszek, wersja1.0 |
©2010 mgr
Jerzy Wałaszek
|
Pomoce:
Instalacja Code Blocks i
tworzenie projektu aplikacji konsoli.
System uzupełnień do podstawy - U2
Wprowadzenie do języka C++, strumienie i zmienne
W logice występują jedynie dwie wartości: prawda i fałsz.
W języku C++ zdefiniowane są specjalne stałe do reprezentowania wartości logicznych:
| prawda | = true | = 1 |
| fałsz | = false | = 0 |
// Wartości logiczne
// (C)2010 mgr Jerzy Wałaszek
// I LO w Tarnowie
//---------------------------
#include <iostream>
using namespace std;
int main()
{
cout << false << endl
<< true << endl;
return 0;
}
|
Oczywiście zamiast true można stosować 1, a zamiast false 0 - jednakże posługiwanie się tymi stałymi zwiększa czytelność programu.
Wyrażenie logiczne (ang. logical expresion) jest wyrażeniem, które może przyjmować tylko wartości logiczne true lub false. Tego typu wyrażenia powstają z operatorami porównań.
| Operator | Nazwa | Przykład |
|---|---|---|
| == | równe | a == 15 |
| != | różne | a != b |
| < | mniejsze | a < 15 |
| <= | mniejsze lub równe | b + 5 <= a |
| > | większe | a + 15 > c |
| >= | większe lub równe | a >= b + c |
// Operatory porównań
// (C)2010 I LO w Tarnowie
//---------------------------
#include <iostream>
using namespace std;
int main()
{
int a = 4;
cout << (a == 4) << endl
<< (a == 3) << endl;
return 0;
}
|
// Operatory porównań
// (C)2010 I LO w Tarnowie
//---------------------------
#include <iostream>
using namespace std;
int main()
{
int a = 4;
cout << (a != 4) << endl
<< (a != 3) << endl;
return 0;
}
|
// Operatory porównań
// (C)2010 I LO w Tarnowie
//---------------------------
#include <iostream>
using namespace std;
int main()
{
int a = 4;
cout << (a < 5) << endl
<< (a < 3) << endl;
return 0;
}
|
// Operatory porównań
// (C)2010 I LO w Tarnowie
//---------------------------
#include <iostream>
using namespace std;
int main()
{
int a = 4;
cout << (a >= 5) << endl
<< (a >= 3) << endl;
return 0;
}
|
Instrukcja warunkowa pozwala wykonywać instrukcje programu w zależności od określonego warunku logicznego. Posiada ona następującą składnię:
if(warunek) instrukcja1;
else instrukcja2;
if - jest słowem kluczowym języka C++ oznaczającym instrukcję warunkową
warunek - jest wyrażeniem logicznym lub arytmetycznym, które zostaje obliczone przez instrukcję if i którego wartość decyduje o sposobie wykonania następnych instrukcji.
instrukcja1 - jest dowolną instrukcją języka C++, która zostanie wykonana przez program tylko wtedy, gdy warunek będzie miał wartość logiczną true (lub różną od zera). Jeśli warunek ma wartość false (lub zerową), to instrukcja1 zostanie pominięta.
else - słowo kluczowe języka C++, składnik instrukcji warunkowej if.
instrukcja2 - jest dowolną instrukcją języka C++, która zostanie wykonana tylko wtedy, gdy warunek będzie miał wartość false (lub zero).
Zwróć uwagę, że zawsze wykonywana jest tylko jedna z instrukcji zawartych w instrukcji warunkowej if. Ta własność pozwala komputerowi działać logicznie, dostosowywać operację do zastanych warunków. To dzięki niej programy są "inteligentne".
// Znajdowanie większej z dwóch liczb
// (C)2010 I LO w Tarnowie
//-----------------------------------
#include <iostream>
using namespace std;
int main()
{
int a,b;
cin >> a >> b;
if(a > b) cout << a;
else cout << b;
cout << endl;
return 0;
}
|
// Badanie znaku liczby
// (C)2010 I LO w Tarnowie
//------------------------
#include <iostream>
using namespace std;
int main()
{
int a;
cin >> a;
if(a > 0) cout << "DODATNIA\n";
else if (a == 0) cout << "ZERO\n";
else cout << "UJEMNA\n";
return 0;
}
|
Często zdarza się tak, iż w instrukcji warunkowej potrzebna nam jest tylko instrukcja1. W takim przypadku fragment z else można pominąć.
if(warunek) instrukcja;
instrukcja jest wykonywana tylko wtedy, gdy
warunek jest prawdziwy. Gdy warunek ma wartość false,
to
instrukcja zostaje pominięta.
// Obliczanie wartości bezwzględnej
// (C)2010 I LO w Tarnowie
//---------------------------------
#include <iostream>
using namespace std;
int main()
{
int a;
cin >> a;
if(a < 0) a = -a;
cout << a << endl;
return 0;
}
|
// Wyszukiwanie największej liczby z trzech
// (C)2010 I LO w Tarnowie
//-----------------------------------------
#include <iostream>
using namespace std;
int main()
{
int a,b,c,x;
cin >> a >> b >> c;
x = a;
if(b > x) x = b;
if(c > x) x = c;
cout << x << endl;
return 0;
}
|
Jeśli w ramach instrukcji warunkowej if chcemy wykonać nie pojedynczą instrukcję ale kilka instrukcji, to stosujemy tzw. instrukcję blokową - dowolny ciąg instrukcji ujęty w klamerki. Po klamwrkach nie musimy już wstawiać średników:
if(warunek)
{
ciąg instrukcji wykonywany, gdy warunek ma
wartość true
}
else
{
ciąg instrukcji wykonywanych, gdy warunek ma
wartość false
}
// Porządkowanie dwóch liczb
// (C)2010 I LO w Tarnowie
//--------------------------
#include <iostream>
using namespace std;
int main()
{
int a,b,x;
cin >> a >> b;
if(a > b)
{
x = a; a = b; b = x;
}
cout << a << " " << b << endl;
return 0;
}
|
![]() | I Liceum Ogólnokształcące |
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe