Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
(это программирование 2й семестр).docx
Скачиваний:
38
Добавлен:
15.05.2015
Размер:
45.99 Кб
Скачать

Программа подготовки к экзамену по дисциплине «Алгоритмические языки и программирование» (2 семестр)

  1. Модульная структура программы на языке С++. Понятие функции, ее назначение. Библиотечные функции и функции пользователя.

    1. Функция – именованная последовательность операторов, выполняющая определенные действия.

    2. Функции в С++ подразделяются на 2 большие группы:

      1. Библиотечные функции – позволяют решать типовые задачи, содержатся в стандартных библиотеках, их много, математические функции, функции работы со строками, функции обработки ошибок.

      2. Функции, разрабатываемые самим программистом(функции пользователя) – решают специфические задачи, которые не запрограммированы в библиотечных функциях.

    3. Причины построения программы на основе функций:

      1. Подход «Разделяй и властвуй» делает разработку программы более управляемой.

      2. Использование существующих функций, как стандартных блоков для создания новых программ, т.е для повторного использования.

      3. желание избежать в программе повторения каких либо фрагментов(код, оформленный в виде функции может быть выполнен в

  2. Основные математические библиотечные функции.

    1. Библиотека <math.h>

      1. sqrt(x) - корень из x(sqrt(25.0)=5.0)

      2. exp(x) - экпоненциальная функция(exp(1.0)=2.718282)

      3. log(x) – натуральный логарифм x(log(2.718282)=1.0)

      4. log10(x) – десятичный логарифм x(log10(10.0)=1.0)

      5. fabs(x) - модуль x

      6. ceil(x) – округление x до наименьшего целого, не меньшего чем x(ceil(8.2)=9.0 ceil(-8.2)=-8.0)

      7. floor(x) – округление x до наибольшего целого, не большего, чем x(floor(8.2)=8.0 floor(-8.2)=-9.0)

      8. pow(x, y) – возведение x в степень y(pow(9, 0.5)=3 pow(2,8)=256.0)

      9. fmod(x, y) – остаток от x/y, как число с плавающей точкой (fmod(13.657, 2.333)=1.992)

      10. sin(x), cos(x), tan(x) – синус, косинус, тангенс x(x в радианах) (sin(0.0)=0.0, cos(0.0)=1.0, tan(0.0)=0.0)

    2. Все математические библиотечный функции возвращают значение типа double

  3. Библиотечные функции генерации случайных чисел.

    1. i=rand(); генерация случайного числа в диапазоне 0->RAND_MAX

Определяется в заголовочном файле <stdlib.h>

    1. Диапазон может отличаться от (0-Rand_Max)

Для этого используется масштабирование и сдвиг.

Масштабирование задает максимальный диапазон выбора случайного числа

i=rand()%макс.диапазон;

будет выбирать случайное число от 0 до макс.диапазон-1

Сдвиг задает начальное число диапазона выбора случайных чисел.

i=число сдвига+(-)rand()%макс.диапазон;

будет выбирать случайное число от 0+число сдвига до

(макс.диапазон-1)+число сдвига.

  1. Объявление функций (прототипы функций). Описание функций. Вызов функций. Понятие формальных и фактических параметров функции.

    1. Прототип функции указывает значение какого типа функция должна возвращать, какие она имеет аргументы, их количество тип и последовательность передачи.

Прототип ф-й является одной из наиболее важной особенностью С++.

Компилятор используют информацию в прототипе для проверки правильности вызова функции.

Другой важной особенностью прототипа функции является приведение типов аргументов, то есть задание аргументов подходящего типа.

тип возвр.значения имя функции(список типов аргументов);

    1. Функция активизируется путем ее вызова. В вызове указывается ее имя и список аргументов.

имя функции(список аргументов);

либо переменная=имя функции(список аргументов);

    1. Тело функции(описание функции) располагается сразу под заголовком и заключено в фигурные скобки. В теле функции может содержаться сколько угодно операторов. Но обязательно должен присутствовать оператор return. Оператор return возвращает значение. Если тип возвр. значения-void, то оператор return не пишется.

    2. Формальные параметры используются непосредственно в функции.

    3. Фактические параметры используются при вызове функции, то есть это имена переменных, которые использовались в основной(или любой другой) функции до вызова искомой функции.

  1. Способы передачи параметров в функцию. Возвращение результатов.

    1. Существует 3 способа передачи параметров в функцию: по ссылке, по значению и через указатель.

    2. По значению:

В функцию просто передается значение переменной, на входе в функцию фактические параметры подставляются на место формальных в том же порядке.

int f(int a, int b);

f(x, y);

    1. По ссылке:

Ссылка-синоним имени некоторого объекта, и в то же время она содержит адрес объекта, поэтому ссылку, в отличие от указателя не требуется разыменовывать, если передаем в функцию ссылку. (double &x), а при вызове подставляем на ее место аргумент, тем самым мы передаем в функцию адрес аргумента. Позволяет передавать значение из функции в вызывающую программу.

    1. Через указатель:

Можно передавать в функцию данные через указатель, для этого применяется разадресация и взятие адреса явным образом.

int f(int a, int *b);

f(a, &b);

    1. У передачи по значению есть один недостаток. Для размещения в стеке копии параметров большого размера требуется время и память, стек может переполниться. Более безопасно и эффективно передавать по ссылке, да не по простой, а по константной.

int f(const int &a, int &b);

y=f(a, b);