
- •Вопрос 4. Структурное программирование, как определение функций композицией, разбором случаев и итерацией. Операторы ветвления.
- •Вопрос 5. Операторы цикла. Операторы передачи управления.
- •Вопрос 6. Итерационный способ определения последовательностей. Виды итерационных процессов.
- •Точечные
- •Ип большей глубины
- •Параллельные ип
- •Вопрос 7. Схемы обрыва итерационных процессов.
- •Вопрос 11. Линейные упорядоченные последовательности как абстрактный тип данных. Реализация основных операций на примере типа «массив».
- •1) Включение одной последовательности в другую
- •2) Объединение двух упорядоченных последовательностей
- •3) Пересечение двух упорядоченных последовательностей
- •4) Разность двух упорядоченных последовательностей
- •5) Поиск элемента
- •Вопрос 12. Элементы математической логики в программировании. Основные формулы математической логики. Стратегии вычисления кванторных формул.
- •Вопрос 13. Функции как аппарат технологичного программирования. Технологии нисходящего и восходящего проектирования программ.
- •Вопрос 14 Синтаксис описания функций. Формальные и фактические параметры.
- •Вопрос 15. Семантика функций. Области видимости имен. Локальные и глобальные имена. Функции как параметры.
- •Вопрос 16. Реализация операций над множествами с помощью типа массив. Алгоритм « Решето Эратосфера»
- •Вопрос 17. Полиномы как абстрактный тип данных. Представление полиномов при помощи массивов. Основные операции над полиномами. Схема Горнера.
Вопрос 14 Синтаксис описания функций. Формальные и фактические параметры.
Синтаксис:
Type name (список формальный пар-ов)
{
тело функции;
}
Type- тип рез-та ф-ции. Рез-т ф-ции должен быть числовой. Если ф-ция не возвращает
никакого значения, то тип результата ф-ции void;
name- имя ф-ции( произвольный идентификатор)
список форм параметров- список описаний формальных параметров, при помощи которых ф-ция связывается с программой. Имеет вид:
тип1 параметр 1, тип2 параметр 2 и т.д.
тело функции- составной оператор ( или блок) реализующий свойственные ф-ции действие. В теле ф-ции должен присутствовать оператор return выражение ; где тип выражения должен совпадать с типом результата ф-ции. Если тип рез-та ф-ции void то оператора return может отсутствовать.
Описание ф-ции без тела ф-ции наз-ся заголовком ф-ции. Заголовок ф-ции несет след нагрузку:
-указывает имя ф-ции
-список формальных параметров служит для связи ф-ции с внешней средой ( с ф-цией более высокого уровня)
Через него мы указываем, что мы подаем на вход ф-ции, и где и в каом виде будем получать рез-т.
Заголовок ф-ции с последующей точкой с занятой наз-ся прототипом ф-ции. Прототип ф-ции может присутствавать в программе несколько раз. Описание ф-ции присутствует в программе только один раз.
Вызов ф-ции осуществляется при помощи оператора: name ( список фактических пар-ов). Может присутствовать в любом месте программы, где по синтаксису допустимо выражение того типа, какой формирует ф-ция. Если тип ф-ции не void, то вызов ф-ции может входить в состав выражений.
При вызове ф-ции фактических параметров подставляются, и управление передается в начало Ф-ции. При этом должно выполнятся соответствие фактических параметров формальным по типу, кол-ву, порядку.
Формальные и фактические пар-ры.
Формальные – пар-ры, который записываются в заголовке после имени ф-ции при ее описании.
Фактические- пар-ры, которые подставляются вместо формальных пар-ов при вызове ф-ции.
Вопрос 15. Семантика функций. Области видимости имен. Локальные и глобальные имена. Функции как параметры.
Одним из атрибутов переменной является область ее действие.
Локальные переменные- переменные, описанные внутри функции. Область действия этих переменных - это блок, внутри которого они описаны. Данные переменные недоступны в других функциях. Локальные переменные в разных функциях могут иметь одинаковые имена – это разные переменные с разными областями действие.
Глобальные - переменные, описанные вне любой ф-ции. Они доступны внутри любой ф-ции. Область действия таких переменных - вся программа.
Операторы в описании теле ф-ции могут оперировать локальными переменными, глобальными переменами и формальными пар-ми. Попытка обратиться в локальной переменной другой ф-ции будет ошибкой. При объявление локальной переменной функции с именем совпадающим с именем глобальной переменной, данная локальная переменная перекрывает глобальную. Для обращения к прикрытой глобальной переменной можно использовать операцию «::» операцию разделения области.
Такие ф-ции можно использовать, как пар-ры. Существует 2 способа передачи пар-ов в ф-цию по значению и по ссылке.
-по значению
Оформляется в списке формальных параметров следующим образом: type_param При вызове ф-ции в качестве соответствующего факт. Пар-ра могут быть использованы:
- факт константа ( имеющая тип, совпадающий с типом соответствующего формального пар-ра)
-имя перемененной
- выражение
При вызове ф-ции вместо соответствующего формального параметра в функцию будет передаваться значение соответствующего фактического параметра, которое будет скопировано в локальную переменную ф-ции, соответствующую данному формальному пар-ру.
- по ссылкам
Оформляется: type_¶m_
При вызове ф-ции в качестве соответствующим формам параметра может быть использовано только имя переменной.
При вызове ф-ции вместо соответствующим формам параметра в функцию будет передаваться сама переменная, задающая форму переменной( адрес) все изменение, которое ф-ция произведет над данным пар-ом, будут производиться именно с этой переменной и после выхода из ф-ции значение этой переменной будет измененным. При передаче массива в качестве параметра в ф-цию он может быть передан только п о ссылке( & для него писать не надо)