- •Лекция 1 Создание консольного приложения
- •2. Консоль. Построение консольного проекта
- •3. Запуск приложения
- •4. Сохранение и редактирование проекта
- •Лекция 2
- •4. Функции форматированного ввода и вывода
- •4.1. Функция форматированного ввода с клавиатуры
- •4.2. Функция форматированного вывода на экран
- •5. Математические функции
- •Лекция 3 Линейные вычислительные процессы
- •1. Алгоритм. Управляющие структуры
- •2. Линейные вычислительные алгоритмы
- •2.1. Условный оператор if()
- •2.2. Условное выражение
- •2.3. Оператор выбора switch()
- •Лекция 5 Программирование разветвляющихся вычислительных процессов
- •Лекция 6 Циклические вычислительные процессы.
- •1. Типы циклов
- •3. Операторы безусловного перехода
- •Лекция 7 Вычисление последовательностей
- •4. Примеры вычисления последовательностей
- •5. Структура алгоритмов вычисления рекуррентных последовательностей
- •Лекция 8 Одномерные массивы
- •1. Массивы
- •1.1. Примеры программ обработки одномерных массивов
- •1.2. Сортировка выбором
- •1.3. Сортировка простыми вставками
- •Лекция 10 Двухмерные массивы
- •1. Двухмерные массивы
- •Лекция 11 Алгоритмы матричной алгебры
- •1. Алгоритмы матричной алгебры
- •Лекция 12 Динамические массивы
- •1. Память компьютера. Адресное пространство
- •2. Динамическая память
- •3. Адреса и указатели
- •4. Указатели и массивы. Динамические массивы
- •5. Проблемы, связанные с указателями
- •6. Поразрядные операции
- •1.2. Способы объявления и обращения к элементам двухмерных массивов
- •Лекция 14 Символы и строки
- •1. Символьный тип данных
- •2. Строки
- •Лекция 15 Структуры
- •1. Понятие структуры
- •2. Определение нового имени типа
- •3. Массивы структур. Указатели на структуры
- •3.1. Определение статического массива структур
- •3.1. Определение динамического массива из n структур
- •Лекция 16 Файлы
- •1. Потоковый ввод-вывод данных
- •3. Понятие файла. Функции работы с файлами
- •Лекция 17 Файлы
- •Лекция 18 Функции пользователя
- •I. Приёмы построения алгоритмов
- •2. Понятие функции
- •2.1. Определение функции
- •2.2. Область видимости переменных
- •2.3. Параметры функции
- •2.4. Описание функции
- •2.5. Организация вызова функции
- •2.5. Передача параметров в функцию
- •3. Рекурсия
- •Лекция 20 Нахождение приближенного значения корня нелинейного уравнения
- •На отрезке [a;b] с заданной точностью eps
- •1.1. Метод дихотомии (половинного деления)
- •1.2. Метод хорд
- •1.3. Метод касательных (Ньютона)
- •Лекция 22 Объектно-ориентированное программирование
- •Полиморфизм – это свойство класса, позволяющее определить одно и то же по имени, но разное по смыслу действие. Основные этапы ооп:
- •Уточнённое имя принадлежит классу (т.Е. Компонентной) функции
- •Лекция 23 Объектно-ориентированное программирование
- •1. Конструкторы и деструкторы
- •1.2. Определение компонентных функций
- •Лекция 25 Объектно-ориентированное программирование
- •1. Свойства классов
- •1.1. Наследование классов
- •1.2. Полиморфизм
- •Библиографический список
2.1. Условный оператор if()
Условный оператор применяется в том случае, если есть необходимость вычислений различных выражений в зависимости от выполнения или невыполнения определённого условия. Синтаксис условного оператора:
if (<условие>)
<оператор1, выполняемый при истинности (выполнении) условия>
else
<оператор2 , выполняемый при ложности (не выполнении) условия>
После if(<условие>) и else точка с запятой не ставится. Оператор1 и оператор2 – это либо простой, либо составной оператор, т.е. операторные скобки ставятся в том случае, если после if() или else записано несколько операторов, относящихся к if() или else соответственно; если же записан один оператор после if() или else, то операторные скобки не ставятся.
Условием может быть логическое или арифметическое выражение. Логическое выражение – это два операнда, соединенные логической операцией (&& (логическое И), || (логическое ИЛИ), !(логическое НЕ)) и/или операцией отношения (<, <=, >, >=, ==, !=). Результаты логических операций приведены в табл.5.
Таблица 5 |
||||
Значение операнда1 (оп1) |
Значение операнда2 (оп2) |
Результат операций |
||
!(оп1) |
(оп1) && (оп2) |
(оп1) || (оп2) |
||
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
Логические выражения применяются для определения истинности или ложности определенных ситуаций. Результатом вычислений логического выражения является целое число: 1 – случай истинности; 0 – случай ложности. Если значение выражения, указанного в условии оператора if() не равно нулю, то условие считается истинным, и выполняется оператор1, следующий за if(). Допустима сокращённая форма условного оператора, в которой отсутствует else и оператор2. В этом случае при ложности проверяемого условия никакие действия не выполняются. В свою очередь, оператор1 и оператор2 могут быть условными, что позволяет организовать цепочку проверок условий любой глубины вложенности. В этих цепочках каждый из условных операторов может быть как полным условным, так и иметь сокращённую форму записи. При этом могут возникать ошибки неоднозначного сопоставления if() и else. Синтаксис языка предполагает, что при вложенных условных операторах каждое else соответствует ближайшему к нему предшествующему if().
Типичной конструкцией разветвляющегося вычислительного процесса является лесенка if-else-if. Она выглядит следующим образом:
if(<условие>)
{
операторы;
}
else
if(<условие>)
{
операторы;
}
else
if(<условие>)
{
операторы;
}
else
{
операторы;
}
Условия вычисляются сверху вниз. Когда обнаруживается истинное условие, то выполняется оператор, связанный с этим условием, а остальная часть конструкции игнорируется. Если не найдено ни одного истинного условия, выполняется оператор, соответствующий последнему else. Если последний оператор else отсутствует, то не выполняется никаких действий в случае ложности всех условий.