Podprogram: Porovnání verzí

Smazaný obsah Přidaný obsah
oprava překlepu
→‎top: zlepšení formulace, snad zpřehlednění
Řádek 1:
{{Upravit|vagnívágní, místy}}
'''Podprogram''' ({{Vjazyce|en}} {{Cizojazyčně|en|''subroutine''}}) je v [[programování]] část programu[[program]]u, kterou je možné '''volat''', a to i opakovaně a z různých míst kódu[[kód]]u. MůžePodprogram může mít ''parametry''[[parametr]]y (také označované za „argumenty“ jako v matematice), tedy při volání zadávané vstupní hodnoty podprogramu, které udávají, s jakými hodnotami má pracovat, a může vracet„vracet“ ''návratovou hodnotu''. Podprogram, kterýkterou nevracídává hodnotu,jako sesvůj volávýsledek, jakovýstup příkaz;takového podprogram,volání. kterýTak vracíjsou hodnotu,dva lzeodlišné vyvolattypy vepodprogramů: výrazu.
*procedura - podprogram, který nevrací výslednou hodnotu a volá se jako [[příkaz]],
*funkce - podprogram, který vrací hodnotu a lze jej volat ve [[výraz]]u.
 
Některé jazyky, jako ([[Pascal (programovací jazyk)|Pascal]], [[Fortran]], [[Ada (programovací jazyk)|Ada]]) striktně rozlišují podprogramy,tyto kterédva vracejídruhy hodnotu,podprogramů a- nazývají je '''funkce''', od podprogramů, které návratovou hodnotu nemají, a které nazývají '''procedury'''. Jiné jazyky ([[C (programovací jazyk)|C]], [[Lisp]]) takto striktně různé druhy podprogramů nerozlišují a používají buď jen jeden z uvedených názvů nebo je pokládají za synonyma. V [[Objektově orientované programování|objektově orientovaných jazycích]] se podprogramy náležející určité třídě zpravidla nazývají '''[[metoda|metody''']]. V mnoha moderních programovacích jazycích se termín '''podprogram''' vůbec nepoužívá.
 
 
Výsledek a chování podprogramu na rozdíl od [[funkce (matematika)|funkce]] v [[matematika|matematice]] nemusí záviset jen na jeho parametrech. To se projevuje dvěma způsoby. Při volání se stejnými parametry může podprogram vracet jiné hodnoty. Dále podprogram při svém v provádění může pracovat i s jinými daty a provádět [[vstup/výstup|vstupní nebo výstupní operace]], takže návratová hodnota zdaleka nemusí být jeho jediným výsledkem (viz [[vedlejší účinek]]).
Výsledek a chování programové funkce na rozdíl od [[funkce (matematika)|funkce]] v [[matematika|matematice]] se chová odlišně. To spočívá ve dvou projevech:
Výsledek a chování podprogramu na rozdíl od [[funkce (matematika)|funkce]] v [[matematika|matematice]] *nemusí záviset jen na jeho parametrech. Toa se projevuje dvěma způsoby. Připři volání se stejnými parametry může podprogram vracet jiné návratové hodnoty. DáleDůvodem podprogramje,že při svém v provádění může pracovat i s jinými daty, z jiných zdrojů, než se zadávanými parametry a provádět s nimi [[vstup/výstup|vstupní nebo výstupní operace]],; takženejběžnějším návratovápříkladem hodnotatakových zdalekavstupů nemusíjsou býtzměřené jehohodnoty jedinýmnebo výsledkem (viz [[vedlejší účinek]]).čas počítače
*obdobně návratová hodnota zdaleka nemusí být jeho jediným výsledkem, ale má i [[vedlejší účinek]], může měnit i jiné hodnoty, než jen vrácené do výrazu, ve kterém byla funkce volána, například hodnoty ovlivňující vzhled zobrazení.
 
== Motivace ==