28 Вопрос
Параметры-значения
Параметры-значения используются только для передачи исходных данных из основной программы в подпрограмму (процедуру или функцию). В списке формальных параметров они перечисляются через запятую с обязательным указанием их типов:
procedure Abort(Msg: string):
function Step(N : integer; X ; real): real:
Если формальный параметр объявлен как параметр-значение, то фактическим может быть произвольное выражение. При вызове подпрограммы фактические параметры вычисляются и используются в качестве начальных значений формальных параметров, т.е. осуществляется подстановка значений. Если формальный параметр определен как параметр-значение, то перед вызовом процедуры это значение вычисляется, полученный результат помещается во временную память и передается процедуре. Даже если фактический параметр – простейшее выражение в виде константы или переменной, все равно процедуре будет передана лишь копия этой константы (переменной). В процессе выполнения подпрограммы формальные параметры могут изменяться, но это никак не отражается на соответствующих фактических параметрах-переменных, которые сохраняют те значения, которые имели до вызова подпрограммы, так как меняются не они, а их копии. Поэтому параметры-значения нельзя использовать для передачи результатов из подпрограммы в основную программу.
Параметры-переменные
Параметры-переменные используются для определения результатов выполнения процедуры и в списке формальных параметров перечисляются после зарезервированного слова var с обязательным указанием типа. Каждому формальному параметру, объявленному как параметр-переменная, должен соответствовать фактический параметр в виде переменной соответствующего типа, например:
procedure Example(var M,N : integer; var Y : real);
Если формальный параметр определен как параметр-переменная, то при вызове процедуры передается сама переменная, а не ее копия, и изменение параметра-переменной приводит к изменению фактического параметра в вызывающей программе. Следовательно, исходные данные в процедуру из программы могут передаваться как через параметры-значения, так и через параметры-переменные, а результаты работы процедуры возвращаются в вызывающую программу только через параметры-переменные.
- 3 Вопрос.
- Языки программирования низкого уровня
- Преимущества
- Недостатки
- Языки программирования высокого уровня
- 4 Вопрос.
- 5 Вопрос.
- Синтаксис и языковые конструкции
- Семантика языков программирования
- 6 Вопрос.
- 12 Вопрос. Символьные типы
- Логический тип
- 14 Вопрос
- 20 Вопрос
- 21 Вопрос
- 22 Вопрос
- 23 Вопрос
- Присваивание (ввод/вывод);
- Сравнение
- Конкатенацию.
- 25 Вопрос
- 26 Вопрос
- 27 Вопрос.
- 28 Вопрос
- 29 Вопрос Рекурсия в программировании [править]Функции
- 31 Вопрос
- Краткое описание алгоритма
- 32 Вопрос
- 33 Вопрос. Операции с файлом
- [Править]Операции, связанные с открытием файла
- 34 Вопрос. Стандартные процедуры и функции для текстовых и типизированных файлов