| Termin | Definicja |
|---|---|
| Funkcja z instrukcją IF | Funkcja z instrukcją IF to funkcja użytkownika wykorzystująca warunkowe rozgałęzienie logiki wykonania. Warunkowe rozgałęzienie w funkcji użytkownikaFunkcja z instrukcją IF to fragment programu zdefiniowany przez użytkownika, który wykonuje różne działania zależnie od wyniku sprawdzenia warunku. Warunek jest wyrażeniem logicznym przyjmującym wartość prawda albo fałsz. Program najpierw oblicza wartości użyte w tym wyrażeniu, następnie wybiera odpowiednią ścieżkę wykonania. Dzięki temu jedna funkcja może reagować na różne dane wejściowe bez konieczności tworzenia osobnej procedury dla każdego przypadku. Typowa konstrukcja składa się z warunku oraz bloku instrukcji wykonywanego wtedy, gdy warunek jest spełniony. W wielu językach można dodać gałąź ELSE dla przypadku przeciwną wartością logiczną, a także kolejne warunki za pomocą ELSE IF lub równoważnej składni. Funkcja może zwracać inną wartość dla każdej gałęzi, zmieniać stan obiektu, wywoływać inną funkcję albo zakończyć działanie. Dokładna składnia, sposób oznaczania bloków i zasady porównywania wartości zależą od języka programowania, dlatego sam termin IF nie wskazuje jednego konkretnego środowiska. Jak funkcja ocenia warunek i wybiera wynikPrzykładowa funkcja może otrzymać liczbę opisującą temperaturę podzespołu i zwrócić komunikat zależny od ustalonego progu. Gdy temperatura jest niższa od progu ostrzegawczego, funkcja zwraca informację o stanie prawidłowym. Po przekroczeniu progu może zwrócić ostrzeżenie, a przy jeszcze wyższej wartości komunikat o konieczności przerwania pracy. W takim zastosowaniu ważna jest kolejność sprawdzania warunków, ponieważ po znalezieniu pierwszej spełnionej gałęzi wykonanie zwykle przechodzi dalej poza konstrukcję IF. Warunki mogą używać operatorów porównania, takich jak równość, różność, mniejsza lub większa wartość, a także operatorów logicznych łączących kilka wymagań. Operator AND wymaga spełnienia wszystkich połączonych warunków, natomiast OR pozwala przejść daną ścieżką, gdy prawdziwy jest co najmniej jeden z nich. Negacja odwraca wynik logiczny. W praktyce trzeba uwzględnić wartości puste, brak wyniku, różnicę między liczbą a tekstem oraz sposób traktowania wartości zerowej. Niektóre języki automatycznie konwertują typy, a inne zgłaszają błąd, gdy porównywane dane mają niezgodne typy. Błędy logiczne w konstrukcjach IFNajczęstszym problemem nie jest sama składnia, lecz warunek, który nie opisuje rzeczywistego wymagania. Błąd granicy występuje wtedy, gdy program używa operatora większe niż zamiast większe lub równe albo odwrotnie. Może to zmienić wynik dokładnie dla wartości progowej. Innym problemem jest odwrócenie gałęzi, na przykład zwracanie komunikatu pozytywnego po wykryciu błędu. Takie usterki warto sprawdzać testami obejmującymi wartości poniżej progu, dokładnie równe progowi, powyżej progu oraz dane nieprawidłowe. Zagnieżdżone instrukcje IF zwiększają liczbę możliwych ścieżek i utrudniają ustalenie, która gałąź zostanie wykonana. Jeżeli warunki nachodzą na siebie, wcześniejsza gałąź może przejąć dane, które autor zamierzał obsłużyć później. Należy również sprawdzić, czy każda możliwa ścieżka kończy się oczekiwanym zwrotem wartości. Funkcja zwracająca wynik tylko w części przypadków może w innych sytuacjach oddać wartość pustą, zgłosić wyjątek albo kontynuować wykonanie z nieustalonym stanem. Czytelne nazwy zmiennych, proste warunki i osobne testy dla każdej gałęzi ułatwiają wykrycie takich rozbieżności. Rola funkcji IF w programach używanych na komputerzeInstrukcje IF występują w aplikacjach biurowych, skryptach, programach diagnostycznych, narzędziach systemowych i kodzie urządzeń współpracujących z komputerem. Funkcja może na ich podstawie sprawdzać dostępność pliku, poprawność parametru, wynik operacji dyskowej, stan połączenia z urządzeniem albo kod zakończenia polecenia. Samo użycie warunku nie gwarantuje poprawnego działania programu: trzeba jeszcze określić, jakie dane funkcja otrzymuje, jakie wartości może zwrócić i co powinno nastąpić po błędzie. Podczas serwisowania laptopa lub komputera PC analiza funkcji wykorzystującej IF może pomóc ustalić, dlaczego program błędnie interpretuje odczyt temperatury, stan dysku, obecność sterownika albo rezultat testu podzespołu. Diagnostykę prowadzi się przez odtworzenie danych wejściowych, sprawdzenie wartości warunku i porównanie rzeczywiście wykonanej gałęzi z założonym działaniem programu. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC oraz ich podzespołów, w tym sprawdzaniem problemów wynikających z nieprawidłowego działania oprogramowania. |