
- •Записать тернарную операцию для оператора (л.6):
- •Определите понятие «оператор». «Пустой оператор» и пример его использования. Каждый ли оператор заканчивается «точкой с запятой»? (л.6)
- •Синтаксис оператора if. (л.6).
- •Использование вложенного условного оператора для оптимизации выполнения условия. (л.6).
- •Указать область видимости переменной k: (л.6).
- •Использование операторов break, сontinue, return и функции exit() (л.6) .
- •Интерпретировать выражения:
- •Указать ошибку:
- •Являются ли эквивалентными приведенные две группы операторов:
- •Синтаксис оператора цикла с предусловием. Организация на его основе бесконечного цикла (л.7) .
- •Синтаксис оператора цикла с постусловием. Организация на его основе бесконечного цикла (л.7) .
- •Синтаксис оператора цикла for. Организация на его основе бесконечного цикла. Использование «неполных» форм записи оператора цикла for (л.7) .
- •Выражение оператора цикла for через while (л.7) .
- •2.1. Определить, какому интервалу из области определения функции принадлежит текущее значение х.
- •2.2. Вычислить значение функции y по соответствующей формуле.
- •2.3. Вывести значения X и y
- •. Нахождение корня нелинейного уравнения методом половинного деления
- •Приемы эффективного программирования (л.7) .
- •Определение наибольшей степени целого числа 100, которую можно вычислить, пользуясь типом long
- •Табулирование функции на отрезке с выбором расчетной формулы (л.7) . Табулирование функции на отрезке
- •Вычисление суммы членов бесконечного ряда (ряд Тейлора) на отрезке (л.7) .
- •Вычисление значения многочлена на отрезке по схеме Горнера (л.7) .
- •Проверить, является ли заданное число простым. (л.7) Проверка, является ли число простым
- •Логическое представление в компьютере целых чисел (с примерами) (л.8) .
- •Логическое представление в компьютере вещественных чисел (с примерами) (л.8) .
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Определение и способы инициализации указателей. Операции над указателями (л.9) .
- •Операции над указателями
- •Операции инкремента и декремента
- •Укажите особенности использования указателей типа void * (л.9) .
- •Составить описание типа(л.9):
- •Проинтерпретируйте выражение int *(*pp[15])(). (л.9)
- •Проинтерпретируйте выражение int *(*pp[15])(int *).(л.9)
- •Определите понятие «ссылка». Как инициализировать ссылку? (л.9)
- •Как изменить значение ссылки после инициализации? Можно ли построить ссылку на ссылку? указатель на ссылку? (л.9)
- •Виды указателей (указатель на константу, константный указатель, константный указатель на константу) и их особенности (л.9) . Виды указателей указатель на константу
- •Указатель-константа
- •Указатель-константа на константу
- •Указатель на указатель
- •Возможные присваивания (л.9):
- •Указать и объяснить ошибку, если она есть (л.9):
Синтаксис оператора цикла с постусловием. Организация на его основе бесконечного цикла (л.7) .
Оператор цикла с постусловием do-while – является не столь универсальным, как оператор while, поскольку его выражение-условие располагается в конце цикла, и операторы его тела будут, в отличие от цикла while, всегда выполняться как минимум один раз. Это означает, что оператор не годится для записи цикла, тело которого при определенном условии вообще не должно выполняться.
Оператор do-while требует использования составного оператора, когда в его теле необходимо записать более одного оператора.
Общий принцип работы цикла do-while такой же, как у цикла с предусловием, но в отличие от while, выражение-условие проверяется не перед выполнением тела цикла, а после него. Тело цикла do-while выполняется до тех пор, пока значение выражения-условия равно true.
Для оператора do-while, как и для while, переменные цикла, инициализируются до входа в цикл. Тело цикла do-while также состоит как бы из двух частей: собственно тела и блока «модификации» значений переменных цикла. Отсутствие модификации переменных цикла также приведет к неправильной работе цикла (зацикливанию).
С помощью do-while можно организовать бесконечный цикл: do…..while (true).
Синтаксис оператора цикла for. Организация на его основе бесконечного цикла. Использование «неполных» форм записи оператора цикла for (л.7) .
Общую структуру параметрического цикла for можно представить так:
for (инициализация ; выражение-условие ; модификации) тело цикла;
Инициализация используется для определения и инициализации переменной цикла и выполняется один раз в начале выполнения цикла. Операция «последовательное выполнение» позволяет записать в этой части несколько операторов, разделенных запятой:
for (int i=0, j=2; …..)
int k, m;
for (k=1, m=0; ……..)
Областью действия переменных, объявленных в части цикла «инициализация», является цикл.
Выражение-условие определяет условие выполнения цикла: если его результат, приведенный к типу bool, равен true, то цикл выполняется.
Модификации выполняются после каждой итерации цикла и служат обычно для изменения параметров цикла. В части модификаций можно записать несколько операторов через запятую.
Выражение оператора цикла for через while (л.7) .
Любая из частей оператора цикла for может быть опущена (но точки с запятой надо оставлять на своих местах). Параметрический цикл for реализован как цикл с предусловием, поэтому любой цикл while может быть приведен к эквивалентному ему циклу for, и наоборот, по следующей схеме:
for (b1; b2; b3) оператор b1;
while (b2) {
оператор;
b3;
}
Реализация в С++ алгоритмов циклов с параметром (л.7) .
Цикл с параметром организуется, когда в составе цикла можно указать переменную, которая монотонно изменяется при каждом выполнении цикла (увеличивается или уменьшается). Для выхода из цикла (или повторения тела цикла) используется результат сравнения значения этой переменной с ее конечным значением.
Изменение параметра цикла можно записать так: x = xn (h) xk – параметр х изменяется от начального значения xn с шагом h до конечного значения xk, т.е. параметр х принимает значения xn, xn+h , xn+2*h, …, xn+k*h; или можно рассматривать иначе:
x=xn;
x=х+h; (выполняется в цикле, пока х ≤ xk;)
xn xn+h xn+2*h xk=xn+k*h
x=xn x+h x+h x+h
Реализация в С++ алгоритмов с итерационными циклами (л.7) .
Итерационный цикл организуется
когда число повторений цикла определяется в процессе вычислений, в зависимости от получаемых результатов;
когда вычисления выполняются по одинаковым формулам с использованием при очередном прохождении цикла в качестве исходных данных результатов предыдущего этапа прохождения цикла: x, y, z à x1, y1, z1 à x2, y2, z2 à ….. или иначе
x, y, z à x, y, z (но это уже другие значения переменных!!!);
завершение работы цикла происходит, когда результаты вычислений на данном шаге выполнения цикла отличаются от предыдущих не больше чем на некоторую заданную величину ε (эпсилон).
Итерационные циклы тесно связаны с итерационными методами решения уравнений и систем.
Примеры алгоритмов с итерационными циклами:
вычисление корня нелинейного уравнения (методом итераций, методом касательных (Ньютона), методом деления отрезка пополам и т.д.),
вычисление суммы бесконечного числа слагаемых (функции путем разложения ее в бесконечный ряд (ряд Тейлора), интеграла и т.д. )
Алгоритм табулирования на отрезке функции двух аргументов с равномерным изменением шага каждого из них ( метод. указания к лаб.работе 2: алгоритмы с вложенными циклами) .
Алгоритм табулирования функции на отрезке:
Задать a, b, c, x_n, x_k, h
Для всех x от x_n до x_k с шагом h выполнять