Мои Конспекты
Главная | Обратная связь

...

Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

Передача параметров по ссылке и по значению





Помощь в ✍️ написании работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Любой из формальных параметров подпрограммы может быть либо:

1) параметром-значением (передача по значению)

2) параметром переменной (передача по ссылке)

3) параметром-константой (передача по ссылке)

Например, в следующем описании процедуры:

procedure MyProc(var a:real; b:integer; const c:string);

задан список формальных параметров где

a - передается по ссылке, для этого используется ключевое слова var;

b - передается по значению;

c - передается по ссылке, для этого используется ключевое слова const.

 

При передаче по значению параметр вычисляется, копируется во временную па­мять и передается подпрограмме, т.е. передается копия параметра, поэтому на выходе из подпрограммы значение параметра не меняется. Например:

procedure A(c:real);

begin

....

c:=c+10;

...

end;

 

Использование процедуры:

c:=5;

A(c);

 

При выходе из процедуры А переменная c - будет равна 5.

 

При использовании параметра-переменной передается адрес переменной. Поэтому на вы­ходе из подпрограммы ее значение может быть изменено. Например:

procedure Double( var c:real);

begin

c:=c*2;

end;

 

Использование процедуры:

a:=10;

Double(a);

После выхода из процедуры значение переменной A изменится и будет равно 20.

 

Параметр-константа будет использоваться в подпрограмме только для считывания данных, любые изменения параметра-константы запрещены. Параметр-константа пере­да­ет­ся по адресу. Использование такого параметра позволяет организовать эффективную обработку соответствующего параметра, не беспокоясь о возможных изменениях его значения. Например:

Procedure Sum( const A: integer);

Процедуре Sum передается параметр A, который нельзя менять в теле процедуры.

 

Контрольные вопросы

 

  1. Что такое процедура? Как и где описывается процедура? Как вызвать процедуру?
  2. Что такое функция? Как и где описывается функция? Как вызвать функцию?
  3. Чем функция отличается от процедуры?
  4. Какие преимущества дает использование процедур и функций?
  5. Какие параметры называются фактическими?
  6. Какие параметры называются формальными?
  7. Механизмы передачи параметров в процедуру и функцию: по значению, по ссылке. Поясните в чем разница.

 

Задание для самостоятельной работы

 

1. Написать функцию Procent, которая возвращает процент от полученного в качестве аргумента числа.

2. Написать функцию Doxod, которая вычисляет доход по вкладу. Исход­ными данными для функции являются: величина вклада, процентная став­ка (годовых) и срок вклада(количество дней). Формула вычисления вклада может быть такой:

Доход=вклад*(проц_ставка/360*срок

3. Написать функцию, которая для веденного числа возвращает сумму его цифр.

4. Написать программный код для игры «Летающие тарелки», который определяет, было ли столкновение снаряда с летающей тарелкой, и если было, убирает тарелку с экрана и увеличивает счет игры. Оформить этот программный код в виде процедуры или функции.

 

Доверь свою работу ✍️ кандидату наук!
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой



Поиск по сайту:







©2015-2020 mykonspekts.ru Все права принадлежат авторам размещенных материалов.