Przejdźmy teraz do otwarcia cyklu artykułów należących do absolutnych podstaw nauki programowania. Koniunkcja jest z jednym z regularnie wykorzystywanych elementów podczas pisania kodu źródłowego, o którym MUSISZ wiedzieć! Po prostu musisz i nie ma odwołania!
Tweet |
KONIUNKCJA JAKO ŁADNIEJ BRZMIĄCY OPERATOR "AND"
Bramka logiczna. Mówi Ci to coś? Jedną z nich jest bramka "AND". Paliła się wtedy i tylko wtedy, gdy wszystkie wejścia też wysyłały sygnał (umownie przyjmuje się, że wejścia wysyłające sygnał mają wartość 1). My nie będziemy roztrząsać bramek, tylko zainteresujemy się tematem od strony programowania, czyli samym operatorem iloczynu, bo koniunkcja to iloczyn. A iloczyn dlatego, że zdanie złożone jest prawdziwe wtedy i tylko wtedy, gdy wszystkie zdania są prawdziwe (przyjmują wartość 1). Tak wygląda tabelka:
a | b | a && b |
0 | 0 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
Dwa ampersandy (&&) tworzą w programowaniu koniunkcję, czyli operator "AND" ("i" / "oraz"). W matematyce jest to znak ^. Koniunkcja jest operatorem binarnym, a to znaczy że potrzebuje dwóch operandów (argumentów operatora), żeby program mógł to poprawnie "przeczytać". Wyobraźmy sobie dwie zmienne boolowskie, "a" i "b" (składnia języka C w standardzie C99):
_Bool a = 1;
_Bool b = 0;
printf("%d", a && b);
Wynikiem będzie 0 (zero). A to dlatego, że tylko zdanie A jest prawdziwe. I w sumie nic więcej nie trzeba dodawać. Możecie mieć więcej zdań i utworzyć z nich większe zdanie złożone, na przykład z trzech wartości:
_Bool a = 1;
_Bool b = 1;
_Bool c = 1;
printf("%d", a && b && c);
Tym razem wynik będzie "prawdą", bo wszystkie zdania "są jedynkami". Zwróćcie uwagę na konieczność dodania za każdym razem nowej pary ampersandów. Koniunkcja w programowaniu (i nie tylko ona) tego wymaga!
Współczesne języki programowania wykorzystują do tych celów typ boolowski (od algebry Boole'a). Najczęściej spotykane słowo kluczowe to "bool" (np. C#) albo "boolean" (np. Java). Tytułem ciekawostki dodam to, że aby skorzystać z "bool" w języku C, wystarczy dołączyć plik nagłówkowy "stdbool.h" ;).
To już koniec! Mały artykulik, aż dziw bierze że wcześniej nie napisałem o tym, czym jest koniunkcja ;).