Użytkownicy, którzy zasadniczo nie są programistami, rzadko spotykają się z pojęciami funkcji i procedur oraz są kojarzeni z czymś matematycznym i biurokratyczno-medycznym. W programowaniu wiele języków posługuje się tymi pojęciami, jednak nawet specjaliści czasami nie mogą jasno zrozumieć różnicy między funkcją a procedurą. Jak w przypadku tego susaka: on jest, ale nikt go nie widzi. Zobaczmy, czy różnice są tak niewidoczne.
Treść artykułu
- Definicja
- Porównanie
- Wnioski
Definicja
Funkcja w programowaniu podprogram wywoływany z innych podprogramów tyle razy, ile to konieczne.
Procedura - nazwana część programu (podprogram), wielokrotnie wywoływana z kolejnych części programu wymaganą liczbę razy.
do treści ↑Porównanie
Główną różnicą między funkcją a procedurą jest wynik zwracany. W rzeczywistości obie funkcje i procedury są logicznie niepodzielnymi blokami, które składają się na kod programu. Funkcja zwraca wartość, procedura w większości języków programowania nie, lub (na przykład w C) zwraca pustą wartość. W tym drugim przypadku (w C) procedurę uważa się za podrzędną funkcję.
Nagłówek funkcji zawiera słowo „funkcja”, identyfikator (poprawna nazwa funkcji), listę parametrów i opcjonalnie typ wyniku. W treści funkcji należy przepisać operator, przypisując wartość do nazwy funkcji, która w rezultacie zwróci. Tytuł procedury zawiera słowo „procedura”, identyfikator (nazwa procedury) i listę parametrów zmiennie. Wywołanie funkcji jest wykonywane jako część wyrażeń, w których te wyrażenia są stosowane; wywołanie procedury wymaga osobnej instrukcji. Procedura jest wywoływana tylko z nazwy, nazwa funkcji jest powiązana z jej wartością. Na schematach algorytmów wywołanie funkcji jest wyświetlane w bloku wyjściowym lub w bloku procesu, a wywołanie procedury w bloku specjalnym „predefiniowany proces”.
do treści ↑Wnioski
- Funkcja zwraca wartość, procedura nie.
- Nagłówek funkcji musi zawierać typ wyniku..
- W treści funkcji wymagany jest operator, który przypisuje wartość do nazwy funkcji.
- Wywołanie procedury wymaga osobnego operatora, wywołanie funkcji jest możliwe jako część wyrażeń.
- Nazwa procedury jest potrzebna do wywołania, nazwa funkcji ma przypisać wartość.
- Na schematach algorytmów wywołanie procedury pokazano w osobnym bloku, wywołanie funkcji pokazano w bloku procesu lub wyjścia.