12.09. (čas 2) Logički podaci (bool tip, vrednosti true/false, razlike u odnosu na C)
Teorija
Jedna od stvari koja ume da zbuni učenike jeste kako se u jeziku C rade provere. U jeziku C tip logičkih vrednosti ne postoji kao poseban tip — umesto njega koriste se celobrojne vrednosti (0 = netačno, bilo koji drugi broj = tačno). Na primer, u C jeziku, ako napišemo if (1) to će se izvršiti, jer se broj „1“ smatra tačnim. Broj „0“ se smatra netačnim. To ponekad može da napravi zabunu, jer zapravo koristimo brojeve kao zamenu za logiku.
U C# je uveden poseban tip podataka — bool. On može da bude samo:
-
true(tačno) ili -
false(netačno).
Ovo mnogo olakšava posao, jer nema nedoumica. Kada radimo sa bool tipom, odmah znamo da radimo sa logičkim vrednostima. Ovo čini kod jasnijim i smanjuje mogućnost grešaka.
Na primer:
bool uslov = true;
if (uslov)
{
Console.WriteLine("Uslov je tačan!");
}
Ovo jasno govori da je u pitanju logička provera, a ne neki broj koji slučajno „glumi“ istinu ili laž.
Praktični primer
using System;
class Program
{
static void Main()
{
bool jeStudent = true;
bool jeProfesor = false;
Console.WriteLine("Da li je osoba student? " + jeStudent);
Console.WriteLine("Da li je osoba profesor? " + jeProfesor);
}
}
Vežba za učenike
Zadatak 2: Napisati program koji proverava da li je broj koji unesete manji od 10. Ako jeste, neka ispiše „Broj je manji od 10“, u suprotnom „Broj nije manji od 10“.
Rešenje:
using System;
class Program
{
static void Main()
{
Console.WriteLine("Unesite broj:");
int broj = int.Parse(Console.ReadLine());
bool manjiOdDeset = broj < 10;
if (manjiOdDeset)
Console.WriteLine("Broj je manji od 10.");
else
Console.WriteLine("Broj nije manji od 10.");
}
}
Pitanja za proveru znanja
-
Koja je razlika između logičkih podataka u C i C# jeziku?
-
Koje vrednosti može imati tip
bool? -
Napisati primer korišćenja tipa
bool.
Odgovori:
-
U C se koristi brojčani tip (
0/1), dok u C# postoji poseban tipbool. -
trueifalse. -
bool aktivan = true;