- •Часть 2
- •Раздел 3. Основы программирования
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.2.Структура программы
- •3.3.Имена и зарезервированные слова
- •3.4.Специальные символы
- •3.5.Константы и переменные
- •3.6.Оператор присваивания
- •Листинг 3.4. Пример множественного присваивания
- •3.7.Комментарии
- •4.Задание
- •Лабораторная работа №2 Арифметические операции и функции
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1.Типы целых чисел
- •3.2.Типы вещественных чисел
- •3.3.Арифметические выражения
- •3.4.Функции
- •3.5.Преобразование типов
- •4.Задание
- •Лабораторная работа №3 Ввод и вывод данных
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1. Ввод и вывод
- •3.2.Дополнительные возможности ввода/вывода
- •3.3.Форматированный ввод/вывод
- •4.Задание
- •Лабораторная работа №4 Логические операции
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1. Условный оператор
- •3.2.Условная операция
- •3.3.Оператор выбора
- •3.4.Составной оператор
- •3.5.Сложные условия
- •3.6.Тип bool(логический)
- •3.7.Особенности работы условного оператора
- •4.Задание
- •Лабораторная работа №5 Циклические операции
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1. Оператор цикла while (цикл с предусловием)
- •3.2.Оператор цикла do (цикл с постусловием)
- •3.3.Оператор цикла for (счетный цикл)
- •3.4.Вложенные циклы
- •3.5.Операторы прерывания цикла
- •4.Задание
- •Лабораторная работа №6 Указатели и массивы
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1. Указатели
- •3.2.Константные указатели и указатели-константы
- •3.3.Операции над указателями
- •3.4.Массивы
- •3.5.Одномерные массивы
- •3.6.Указатели на массивы
- •3.7.Инициализация массивов
- •3.8.Операция sizeof
- •3.9.Определение новых типов
- •3.10.Многомерные массивы
- •4.Задание
- •Лабораторная работа №7 Функции и процедуры
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1.Описание функций
- •3.2.Процедуры
- •3.3.Параметр-ссылка
- •3.4.Область видимости переменных
- •4.Задание
- •Лабораторная работа №8 Перегрузка функций
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1.Полиморфизм
- •3.2.Перегрузка функций
- •3.3.Особенности перегрузки функций
- •3.4.Использование параметров по умолчанию
- •4.Задание
- •Лабораторная работа №9 Перечисления
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •4.Задание
- •Лабораторная работа №10 Строки символов
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1.Данные типа char
- •3.2.Строковый тип string
- •4.Задание
3.5.Сложные условия
C++ поддерживает следующие логические операции:
&& (И)
(ИЛИ)
! (НЕ)
Примеры сложных условий:
а) (0<A)&&(a<=1);
б)
;
в) !(Х= =Y)
Так же как и в языке Pascal, сложные условия языка C++ могут служить частями еще более сложных и т.д.
3.6.Тип bool(логический)
Для проведения логических операций язык C++ имеет встроенный логический тип bool. Переменная данного типа имеет одно из двух значений: true (истина) либо false (ложь). Над логическими переменными можно выполнять поразрядные логические операции:
& (И)
~ (НЕ)
^ (ИСКЛЮЧАЮЩЕЕ ИЛИ)
Вообще, поразрядные операции можно выполнять над любыми целыми числами - данные операции влияют на каждый разряд числа, записанного в переменную. Переменную типа bool можно представить как одноразрядное целое число.
Пример. Показать работу логических переменных и логических операций (Листинг 3.18):
Листинг 3.18. Пример использования логических операций
3.7.Особенности работы условного оператора
Стоит отметить одну немаловажную особенность работы условного оператора C++ (она досталась "в наследство" от С) - на вход условного оператора можно давать выражение любого типа. Т.е. выражения, приведенные ниже, вполне законны (Листинг 3.19):
Листинг 3.19. Условный оператор C++ работает не только с переменными типа bool
Условный оператор проверяет значение выражения - если оно равно нулю, то ЛОЖЬ, любое другое значение - ИСТИНА. В приведенном выше примере (Листинг 3.17) будет выполняться участок кода №1 (4-5 = -1, следовательно, ИСТИНА) и участок кода №4 (4-4 = 0, следовательно, ЛОЖЬ).
Отсюда вытекает наиболее распространенная ошибка новичков программирования на C++: при сравнении двух целых чисел, они вместо знака "==" пишут "=" (Листинг 3.20):
Листинг 3.20. Ошибочно написанное выражение сравнения
4.Задание
4.1.Создайте программу «Условная операция» (листинг 3.21):
Листинг 3.21. Программа «Условная операция»
Результатом работы этой программы будет нахождение максимального числа из введенных с клавиатуры двух чисел.
4.2.Создайте программу «Оператор выбора» (листинг 3.22):
Листинг 3.22. Программа «Оператор выбора»
Результатом работы этой программы будет вывод на экран значения тригонометрических функций в зависимости от введенных с клавиатуры символов s(S), c(C),\ или t(T). Если будут введены другие символы, то будет печататься сообщение об ошибке.
4.3.В отчете к данной лабораторной работе опишите назначение каждого оператора для программ, которые приведены в задании, а также структурную схему (блок-схему) программы «Оператор выбора».
Лабораторная работа №5 Циклические операции
1.Цель работы
Целью работы является изучение операторов цикла.
2.Контрольные вопросы
2.1.Какое назначение условного оператора и условной операции?
2.2.Какое назначение оператора выбора?
2.3.Для каких целей используется составной оператор?
2.4. Какие вы знаете сложные условия для логических операций?
