
- •2. Общие рекомендации к выполнению и требования к оформлению контрольной работы
- •3. Темы заданий для выполнения контрольной работы
- •4. 1. Базовые средства языка
- •Алфавит языка
- •Ключевые слова языка
- •Идентификаторы
- •Комментарии
- •4.1.5. Типы данных Си
- •Логический тип
- •4.1.8. Операции и выражения
- •Операции присваивания
- •Арифметические операции
- •Логические операции
- •Операции отношения
- •Условная операция
- •Операция преобразования типа
- •Операция определения размера
- •4.1.9. Стандартные функции
- •4.1.10. Структура программы
- •4.1.11. Ввод и вывод данных
- •Функции ввода- вывода
- •Объектно-ориентированные средства ввода-вывода.
- •4.2. Операторы управления
- •4.2.1. Понятие алгоритма
- •4.2.2. Изображение алгоритма в виде блок-схемы
- •2.3. Составной оператор
- •2.4. Операторы ветвления
- •If (выражение) оператор;
- •4.2.5. Примеры программ
- •4.2.6. Оператор варианта
- •4.2.7. Алгоритмы циклической структуры
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •Оператор цикла с параметром
- •Операторы передачи управления
- •4.2.8. Решение задач с использованием циклов
- •4.3. Обработка массивов
- •4.3.1. Описание массивов
- •4.3.2. Основные операции над массивами
- •4.3.3. Ввод-вывод элементов массива
- •4.3.4. Вычисление суммы элементов массива
- •4.3.5. Вычисление произведения элементов массива
- •4.3.6. Поиск максимального элемента и его номера
- •4.3.7. Сортировка элементов в массиве
- •4.3.8. Удаление элемента из массива
- •4.3.9. Решение задач с использованием массивов
- •4.4. Обработка матриц
- •4.4.1. Ввод-вывод матрицы
- •4.4.2. Примеры алгоритмов обработки матрицами
- •4.5.1. Передача параметров в функцию
- •4.5.2. Возврат результата с помощью оператора return
- •4.6. Указатели и динамические массивы
- •4.6.2. Операции * и & при работе с указателями
- •4.6.3. Операция присваивания указателей
- •4.6.4. Арифметические операции над адресами
- •4.6.5. Динамические массивы
- •4.6.6. Использование указателей в качестве аргументов функций
- •Литература
Оператор цикла с постусловием
Алгоритм цикла с постусловием представлен на рис. 10.
Рис. 10. Цикл с постусловием
В С++ цикл с постусловием реализован конструкцией
do оператор while (выражение);
Если тело цикла состоит более чем из одного оператора, то используют составной оператор:
do
{ оператор_1;
…
оператор_n;
}
while (выражение);
Работает цикл так. Выполняется оператор, представляющий собой тело цикла. Вычисляется значение выражения. Если оно истинно (≠0), оператор тела цикла выполняется еще раз. В противном случае цикл завершается, и управление передается оператору, следующему за циклом.
Цикл с постусловием всегда будет выполнен хотя бы один раз, в отличие от цикла с предусловием, который может не выполниться ни разу.
ЗАДАЧА 8. Вывести на экран таблицу значений функции y=esin(x)cos(x) на отрезке [0;] с шагом 0.1.
#define PI 3.14159
int main()
{float x=0, y;
do //Цикл с постусловием.
{ y=exp(sin(x))*cos(x);
cout<<x="\t"<<y<<endl;
x+=0.1;
}
while(x<=PI);
}
Оператор цикла с параметром
Цикл с параметров в языке Си реализован оператором:
for (начальные_присваивания;выражение; приращение)
оператор;
где начальные_присваивания – оператор или группа операторов, которые выполняются один раз в начале цикла; применяются для присвоения начальных значений величинам, используемым в цикле, в том числе параметру цикла; выражение – определяет условие выполнения цикла, если значение выражения истинно (≠0), то цикл выполняется; приращение – оператор или группа операторов, которые выполняются после каждой итерации и служат для изменения параметра цикла; оператор – любой оператор языка, представляющий собой тело цикла.
Приращение или оператор должны влиять на условие, иначе цикл никогда не закончится. Любой из трех параметров в записи оператора for может отсутствовать, но при этом точки с запятой должны оставаться на своих местах.
Если приращение или начальные_присваивания это не один оператор, а группа, то они отделяются запятой. Здесь запятая это операция последовательного выполнения.
Алгоритм работы цикла for:
1. Выполняются начальные_присваивания.
2. Вычисляется значение выражения, если оно ≠0(true), то выполняется переход к п.3.
В противном случае, выполнение цикла завершается.
3. Выполняется оператор.
4. Выполняется оператор приращение и осуществляется переход к п.2, то есть опять вычисляется значение выражения и т.д.
Этот алгоритм представляет собой цикл с предусловием рис. 11.
Рис. 11. Алгоритм работы цикла for.
В дальнейшем в блок-схемах цикл for будем изображать так как показано на рис. 12.
Рис. 12. Цикл с параметром for
Если тело цикла состоит более чем из одного оператора, используют составной оператор:
for (начальные_присваивания; выражение; приращение)
{ оператор_1;
…
оператор_n;
}
ЗАДАЧА 9. Вывести на экран таблицу значений функции y=esin(x)cos(x) на отрезке [0;] с шагом 0.1.
#define PI 3.14159
int main()
{float x, y;
for (x=0;x<=PI; y=exp(sin(x))*cos(x),
cout<<x<<"\t"<<y<<endl, x+=0.1);
}
Операторы передачи управления
Операторы передачи управления принудительно изменяют порядок выполнения команд.
Оператор goto метка, применяют для безусловного перехода, он передает управление оператору5: метка: оператор;
Оператор break осуществляет немедленный выход из циклов while, do…while, for и из оператора выбора switch. Управление передается оператору, находящемуся непосредственно за циклом или оператором выбора.
Оператор continue начинает новую итерацию цикла, даже если предыдущая не была завершена.
Оператор return выражение завершает выполнение функции и передает управление в точку ее вызова.