Народ ,можете пожалуйста помочь ?
Чем отличаются функции от процедур в языке Pascal ?
Если с Pascal не знакомы ,но знакомы с функциями и процедурами на каком-нибудь другом языке ,то все равно пишите.Буду очень благодарен!!
(НО НЕ СПИСЫВАЙТЕ С ChatGPT.:(((( !!!!!! )
Ответы
Відповідь: Я почитал что такое процедуры, и понял что ты имел ввиду. С Pascal не знаком, но могу предоставить пример с C++. К примеру, у нас есть какая-то переменная в коде, в процедуре у нас тип данных "void" (всегда). Потом мы типо должны написать чтобы функция меняла значение переменной, но самое главное - мы ничего не возвращаем. То бишь, если бы у нас был другой тип данных функции на пример "int" (зависит от того что эта функция будет делать), то по любому мы должны были бы прописать в конце программы " return *значение*; ", функция даже не может ничего возвращать, на пример можно написать в конце "return 0;" и ничего не будет.
То есть, всегда функция что-то возвращает и у неё может быть любой тип данных, а вот процедура ничего не возвращает, и у неё тип данных "void", это значит что эта функция ничего не будет возвращать.
Во всех языках программирования, где имеются процедуры, в том числе и в языке Паскаль, есть единственное отличие функции от процедуры: функция всегда возвращает какое-то значение, процедура не возвращает ничего.
Например, в математике есть функция, извлекающая из числа квадратный корень. Когда мы видим выражение , мы понимаем, что для вычисления его значения нужно найти квадратный корень из 25 и полученное число 5 подставить в формулу на место этого корня:
Аналогично все делается и в Паскаль. Мы записываем выражение , а компилятор строит код, в котором будет вызвана функция Sqrt с аргументом 25, которая возвратит результат вызова - значение 5.
Функции встраиваются в выражения и в результате обращения к ним на место, где указана функция, подставляется возвращенное ей значение. Процедура значений не возвращает, следовательно она не может быть частью выражения, а вызывается как самостоятельный оператор языка, например, Write(2 + 2).