- •Вопрос 1.
- •Вопрос 2.
- •Вопрос 3.
- •Вопрос 4.
- •Вопрос 5.
- •Вопрос 6.
- •Вопрос 7.
- •Вопрос 8.
- •Вопрос 9.
- •Вопрос 10.
- •Вопрос 11.Рекурсия: понятие, пример использования.
- •Вопрос 12. Строки в Delphi. Способы реализации строк. Основные процедуры и функции.
- •Вопрос 13.
- •Вопрос 14.
- •Вопрос 15.
- •Вопрос 16. Программирование с использованием динамической памяти. Структура оперативной памяти. Понятие указателя.
- •Вопрос 17. Указатели. Описание, допустимые операции
- •Вопрос 18. Статические и динамические переменные. Динамические структуры данных
- •19. Линейные списки. Основные операции над линейными списками.
- •21. Стек: понятие, описание в программе, основные операции
- •22. Очередь: понятие, описание в программе, основные операции
- •23. Списки: понятие, описание в программе, основные операции
- •24. Применение динамических структур данных. Проверка математического выражения на правильность расстановки скобок.
- •Вопрос 25.
- •Вопрос 26.
- •Вопрос 27.
- •Вопрос 28.
- •Вопрос 29.
- •Вопрос 30.
- •Вопрос 33.
- •Вопрос 35.
- •Вопрос 36. Операторы инкремента и декремента. Операторы присваивания
- •Вопрос 37. Функции scanf, printf
- •Вопрос 38. Способы задания разветвляющегося алгоритма в с
- •Вопрос 39. Циклические алгоритмы. Виды циклов в с
- •Вопрос 40. Табулирование функции
- •41. Алгоритм вывода всех простых чисел меньших 100 в с.
- •42. Алгоритм разложения числа на простые множители в с
Вопрос 8.
Параметры-значения, механизм работы.
Параметры-значения (или передача параметров по значению). Параметры-значения - это локальные переменные подпрограмм, стартовые значения которых задаются при вызове подпрограмм из внешних блоков (им присваиваются значения соответствующих фактических параметров). Параметры-значения, описанные в заголовке, могут изменять свои значения наряду с прочими переменными, но эти изменения будут строго локальными и никак не отразятся на значениях фактических параметров.
Синтаксис описания параметров-значений:
ИмяПодпрограммы ( P1, P2, ..., PN : Тип ); или ИмяПодпрограммы ( P1 : Тип1; P2 : Тип2; ... );
Если параметры имеют один и тот же тип, то они просто перечисляются через запятую, после чего через двоеточие указывается их тип. Описание разнотипных параметров отделяется лруг от друга символом точки с запятой.
ВАЖНО! В качестве фактических параметров подпрограммы, подставляемых на место фомальных параметров-значений, могут выступать: переменные, константы и выражения (точнее их значения), причем их типы должны быть совместимы по присваиванию с типами соответствующих формальных параметров-значений.
При параметрах-значения, подпрограмма работает с копиями фактических параметров, и доступа к исходным значениям аргументов у неё нет. Они могут быть использованы только в качестве входных данных подпрограммы.
Вопрос 9.
Параметры-переменные, механизм работы.
Параметры-переменные (или передача параметров по ссылке). Параметры-переменные предоставляют принципиально иной механизм передачи параметров, состоящий в том, что в подпрограмму передается не значение фактического параметра, а ссылка на ячеку (или ячейки) памяти где хранится значение этого фактического параметра. При этом все действия с формальным параметром-переменной (внутри подпрограммы) на самом деле являются действиями над фактическим параметром.
Синтаксис описания параметров-переменных:
ИмяПодпрограммы ( VAR P1, P2, ..., PN : Тип ); или ИмяПодпрограммы ( VAR P1 : Тип1; VAR P2 : Тип2; ... );
Описание параметров-переменных отличается от описание параметров-значений лишь наличием ключевого слова VAR перед идентификатором параметра.
ВАЖНО! В качестве фактических параметров подпрограммы, подставляемых на место фомальных параметров-переменных, могут выступать ТОЛЬКО ИДЕНТИФИКАТОРЫ ПЕРЕМЕННЫХ.
Параметры-переменные следует объявлять только те, через которые подпрограмма в действительности передает результаты вызывающей программе. Чем меньше параметров объявлено параметрами-переменными и чем меньше в подпрограмме используется глобальных переменных, тем меньше опасность получения непредусмотренных программистом побочных эффектов, связанных с вызовом подпрограммы, тем проще программа в понимании и отладке.
Вопрос 10.
Параметры-константы, механизм работы.
Параметры-константы - аналогичны параметрам-значениям с той лишь разницей, что они не могут изменять свои значения в теле подпрограммы. Попытка изменить значение параметра-константы будет немедленно замечена компилятором.
Синтаксис описания параметров-констант:
ИмяПодпрограммы ( CONST P1, P2, ..., PN : Тип ); или ИмяПодпрограммы ( CONST P1 : Тип1; CONST P2 : Тип2; ... );
Одно важное замечание: при описании формальных параметров подпрограмм не допускается конструирование типов данных; тип параметра должен быть задан идентификатором. Например, будет ошибкой описать параметр для передачи массива следующим образом:
PROCEDURE PrintVector( V : array[1..10] of Real );
Правильное описание параметра показано ниже
TYPE Tvector = array[1..10] of Real; PROCEDURE PrintVector( V : Tvector );
Назначение такого параметра совпадает с назначением параметра-значения. Формальные параметры-константы указываются в заголовке программы после служебного слова const. Его действие распространяется до ближайшей точки с запятой. Оно защищает параметр от изменения и позволяет компилятору создать более оптимальный код для переданных строк и записей. Преимущество – эффективность передачи фактических аргументов, т.к. на вход подпрограммы передаётся только адрес фактической переменной или значения, а не копия.
