
- Форум
- Тийн интереси и проблеми
- Училище и приятели
- Математика
Може вместо да пишем:
function St(x:Real; n:integer) : Real;
да запишем:
procedure St(x:Real; n:integer);
в процедурата кода ще е същият, накрая обаче вместо St:=f, ще запишем writeln(f);
Така вместо функцията St да запомни пресметнатата стойност, чрез процедура направо ще кажем, при извикването й в програмата да изведе стойността. Няма за какво да я пазим, директно се извежда.
Другата съществена разлика е, че накрая вместо:
otg1:= St( (a+b), (k+l) );
ще се запише
St( (a+b), (k+l) );
На първият ред, когато е функция, казваме "Присвои стойността на St", защото St на практика е някаква стойност, някакво число.
На вторият ред, когато е процедура, казваме "Изпълни St", което значи, че кодът от процедурата се изпълнява, сякаш е бил нормално записан в програмата.
Не може ли да не пишем процедури и функции, а направо да пишем нужният код в програмата? Да, може. Но процедурите и функциите имат предимството, че ако ти се налага, вместо да изписваш 45 пъти целият код от процедурата, можеш просто да й напишеш 45 пъти името (извикаш), като само й променяш нужните параметри (променливите в скобите на процедурата).
Много ми е трудно да го обяснявам това, дано е станало ясно.
Има 10 вида хора. Тези, които могат да четат двоичен код и тези, които не могат.