
- •Программирование и основы алгоритмизации Практикум
- •Введение
- •Лабораторная работа № 1 "простейшие вычисления"
- •Краткие теоретические сведения
- •Структура программы.
- •Константы и переменные
- •Операции
- •Выражения
- •Ввод и вывод
- •Функция вывода
- •Функция ввода
- •Постановка задачи
- •Варианты.
- •Методические указания
- •Постановка задачи
- •Варианты Задание 1.
- •Задание 2.
- •Лабораторная работа № 3 "вычисление функций их сумм и произведений при помощи циклических алгоритмов"
- •Краткие теоретические сведения Операторы циклов.
- •Цикл с предусловием
- •Цикл с постусловием
- •Цикл с параметром
- •Операторы передачи управления
- •Постановка задачи
- •Варианты Задание 1.
- •Задание 2.
- •Методические указания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 4 "работа с одномерными массивами"
- •Краткие теоретические сведения.
- •Обработка одномерных массивов.
- •Формирование псевдодинамических массивов.
- •Использование датчика случайных чисел для формирования массива.
- •Перебор массива по два элемента.
- •Варианты
- •Методические указания
- •Двумерные массивы
- •Одномерные и двумерные массивы
- •«Многомерные массивы»
- •Определение количества элементов массива в программе.
- •Постановка задачи
- •Варианты
- •Дополнительные задания
- •«Динамические массивы»
- •Формирование динамических массивов с использованием операций new и delete.
- •Постановка задачи
- •Порядок выполнения работы
- •Варианты
- •«Работа со строками»
- •Постановка задачи
- •Варианты
- •«Структуры»
- •Инициализация структур
- •Присваивание структур
- •Доступ к элементам структур
- •Указатели на структуры
- •Постановка задачи.
- •Варианты
- •«Полиморфизм в объектно-ориентированном программировании. Перегрузка функций»
- •Постановка задачи
- •Варианты
- •«Функции с переменным числом параметров»
- •Постановка задачи
- •Варианты
- •Доступность компонентов класса.
- •Указатель this
- •Конструктор
- •Конструктор копирования
- •Деструктор
- •Указатели на компоненты-функции
- •Порядок выполнения работы.
- •Методические указания.
- •Варианты
- •Содержание отчета.
- •Контрольные вопросы
- •Лабораторная работа № 12
- •Краткие теоретические сведения.
- •Бинарные и унарные операции
- •Предопределенные значения операций
- •Операции и определяемые пользователем типы
- •Определяемое преобразование типа
- •Конструкторы
- •Перегрузка операций new и delete
- •Перегрузка операции приведения типа
- •Перегрузка операции вызова функции
- •Перегрузка операции индексирования
- •Порядок выполнения работы.
- •Варианты задания.
- •Методические указания. Пример решения задачи
- •Содержание отчета.
- •Контрольные вопросы
- •Лабораторная работа № 13 «наследование и виртуальные функции»
- •Краткие теоретические сведения.
- •Указатель this
- •Наследование
- •Конструкторы и деструкторы производных классов
- •Виртуальные функции
- •Абстрактные классы
- •Порядок выполнения работы.
- •Варианты заданий.
- •Методические указания.
- •Содержание отчета.
- •Контрольные вопросы.
- •Самостоятельная работа № 1 «шаблоны функций и классов»
- •Краткие теоретические сведения.
- •Основные свойства параметров шаблона функции
- •Шаблон класса
- •Основные свойства шаблонов классов
- •Компонентные функции
- •Порядок выполнения работы.
- •Варианты заданий.
- •Содержание отчета.
- •Контрольные вопросы
- •Самостоятельная работа № 2 «потоковые классы»
- •Краткие теоретические сведения.
- •Пример шаблона потокового класса.
- •Базовые потоки ввода-вывода
- •Форматирование
- •Манипуляторы
- •Определение пользовательских манипуляторов
- •Файловый ввод-вывод
- •Порядок выполнения работы.
- •Методические указания
- •Распечатка исходных данных и результатов выполнения программы.
- •Литература
Лабораторная работа № 3 "вычисление функций их сумм и произведений при помощи циклических алгоритмов"
Цель: Получить навыки в организации итерационных и арифметических циклов.
Краткие теоретические сведения Операторы циклов.
Операторы цикла используются для организации многократно повторяющихся вычислений. Любой цикл состоит из тела цикла, то есть тех операторов, которые выполняются несколько раз, начальных установок, модификации параметра цикла и проверки условия продолжения выполнения цикла. Один проход цикла называется итерацией. Проверка условия выполняется на каждой итерации либо до тела цикла (тогда говорят о цикле с предусловием), либо после тела цикла (цикл с постусловием). Разница между ними состоит в том, что тело цикла с постусловием всегда выполняется хотя бы один раз, после чего проверяется, надо ли его выполнять еще раз. Проверка необходимости выполнения цикла с предусловием делается до тела цикла, поэтому возможно, что он не выполнится ни разу.
Переменные, изменяющиеся в теле цикла и используемые при проверке условия продолжения, называются параметрами цикла. Целочисленные параметры цикла, изменяющиеся с постоянным шагом на каждой итерации, называются счетчиками цикла.
Начальные установки могут явно не присутствовать в программе, их смысл состоит в том, чтобы до входа в цикл задать значения переменным, которые в нем используются.
Цикл завершается, если условие его продолжения не выполняется. Возможно принудительное завершение как текущей итерации, так и цикла в целом. Для этого служат операторы break, continue, return и goto. Передавать управление извне внутрь цикла не рекомендуется.
Для удобства, а не по необходимости, в С/C++ есть три разных оператора цикла while, do while и for.
Цикл с предусловием
while (<выражение-условие>)
<тело_цикла> ;
В качестве <выражения-условия> чаще всего используется отношение или логическое выражение. Если оно истинно, т. е. не равно 0, то тело цикла выполняется до тех пор пока <выражение-условие> не станет ложным.
Цикл с постусловием
do
<тело_цикла>;
while (<выражение-условие>);
Тело цикла выполняется до тех пор, пока <выражение-условие> истинно.
Цикл с параметром
for ( <выражение_1>;<выражение-условие>; <выражение_3>)
тело_цикла;
<Выражение_1> и <выражение_3> могут состоять из нескольких выражений, разделенных запятыми. <Выражение_1> - задает начальные условия для цикла (инициализация).<Выражение-условие> определяет условие выполнения цикла, если оно не равно 0, цикл выполняется, а затем вычисляется значение <выражения_3>. <Выражение_3> - задает изменение параметра цикла или других переменных (коррекция). Цикл продолжается до тех пор, пока <выражение-условие> не станет ложно (равно логическому 0). Любое выражение может отсутствовать, но разделяющие их « ; » должны быть обязательно.
Примеры использования цикла с параметром.
Уменьшение параметра:
for ( n=10; n>0; n--)
{ <тело цикла>};
Изменение шага корректировки:
for ( n=2; n>60; n+=13)
{ <тело цикла>};
Возможность проверять условие отличное от условия, которое налагается на число итераций:
for ( num=1; num*num*num<216; num++)
{ <тело цикла>};
Коррекция может осуществляться не только с помощью сложения или вычитания:
for ( d=100.0; d<150.0;d*=1.1)
{ <тело цикла>};
for (x=1; y<=75; y=5*(x++)+10)
{ <тело цикла>};
Можно использовать несколько инициализирующих или корректирующих выражений:
for (x=1, y=0; x<10; x++; y+=x);