- •1. ОБЩИЕ СВЕДЕНИЯ ОБ АЛГОРИТМАХ
- •1.1. Свойства алгоритма
- •1.2. Способы записи алгоритма
- •1.3. Блок-схемы
- •2. БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ
- •2.1. Следование
- •2.2. Ветвление
- •2.3. Цикл
- •2.4. Примеры алгоритмов
- •Алгоритм №1
- •Алгоритм №2
- •Алгоритм №3
- •3. ВВЕДЕНИЕ В C++
- •3.1. Основные лексемы языка
- •3.1.1. Идентификаторы
- •3.1.2. Ключевые слова
- •3.1.3. Знаки операций
- •3.1.4. Константы
- •3.1.5. Комментарии
- •3.2. Типы данных
- •3.3. Выражения и операции
- •3.3.1. Арифметические операции
- •3.3.2. Операции сравнения
- •3.3.3. Логические операции
- •3.3.4. Побитовые логические операции
- •3.3.5. Операции сдвига
- •3.3.6. Приоритет операций
- •4. СТРУКТУРА ПРОГРАММЫ НА ЯЗЫКЕ C++
- •4.1. Функции
- •4.1.1. Функция main
- •4.2. Объявление переменных
- •4.3. Директивы препроцессора
- •5. ОПЕРАТОРЫ ЯЗЫКА C++
- •5.1. Оператор присваивания
- •5.2. Операторы передачи управления
- •5.2.1. Вызов функции
- •5.2.2. Возврат значения функции
- •5.2.3. Оператор безусловного перехода
- •5.3. Составной оператор
- •5.4. Условные операторы
- •5.4.1. Оператор if
- •5.4.2. Оператор switch
- •5.5. Операторы цикла
- •5.5.1. Цикл while с предусловием
- •5.5.2. Цикл do-while с постусловием
- •5.5.3. Арифметический цикл for
- •6. ЛАБОРАТОРНАЯ РАБОТА №1. Ветвящиеся вычислительные процессы
- •6.1. Цель работы
- •6.2. Постановка задачи
- •6.2.1. Варианты заданий
- •Вариант №1
- •Вариант №2
- •Вариант №3
- •Вариант №4
- •Вариант №5
- •Вариант №6
- •Вариант №7
- •Вариант №8
- •Вариант №9
- •Вариант №10
- •Вариант №11
- •Вариант №12
- •Вариант №13
- •Вариант №14
- •Вариант №15
- •6.3. Требования к оформлению отчета
- •6.4. Рекомендации по выполнению работы
- •6.4.1. Разработка алгоритма
- •6.4.2. Подготовка тестовых данных
- •6.4.3. Реализация операций ввода-вывода
- •6.4.4. Выполнение математических расчетов
- •7. ЛАБОРАТОРНАЯ РАБОТА №2. Циклические вычислительные процессы
- •7.1. Цель работы
- •7.2. Постановка задачи
- •7.2.1 Варианты заданий
- •7.3. Требования к оформлению отчета
- •8. КОНТРОЛЬНЫЕ ВОПРОСЫ
- •9. ЛИТЕРАТУРА
2.4. Примеры алгоритмов
Алгоритм №1
ПОСТАНОВКА ЗАДАЧИ: Вычислить значение
выражения: |
y = a2 + b2 . |
Ввод |
значений a и b осуществляется с клавиатуры. Вывод результата осуществляется на экран. Представить алгоритм в виде блоксхемы.
РЕШЕНИЕ: Блок-схема алгоритма,
решающего поставленную задачу, представлена на рисунке 8. Начало и конец алгоритма обозначены при помощи элементов блок-схемы «Терминатор».
Для обозначения операций ввода-вывода используется элемент «Данные». Для обозначения вычислений используется элемент «Процесс». Алгоритм построен с использованием структуры «следование» и является линейным.
Алгоритм №2
ПОСТАНОВКА ЗАДАЧИ:
Решить квадратное уравнение, заданное при помощи коэффициентов a, b и с ( ax2 + bx + с = 0 ). Ввод коэффициентов осуществляется с клавиатуры. Вывод результата осуществляется на экран.
12
РЕШЕНИЕ:
Блок-схема алгоритма, решающего поставленную задачу, представлена на рисунке 9. Алгоритм построен с использованием структур «следование» и «ветвление».
В начале работы алгоритма, осуществляется ввод значений коэффициентов a, b и c. Затем на основании коэффициентов рассчитывается дискриминант уравнения.
Далее мы проверяем значение дискриминанта:
–Если дискриминант отрицательный:
–Выводим сообщение об отсутствии корней уравнения
–В противном случае (если дискриминант неотрицательный):
–Проверяем дискриминант на равенство нулю:
–Если дискриминант равен нулю:
–Рассчитываем единственный корень
–Выводим его значение на экран
–В противном случае (если дискриминант не равен нулю):
–Вычисляем квадратный корень из дискриминанта
–Рассчитываем значения корней уравнения
–Выводим корни уравнения на экран
Алгоритм №3
ПОСТАНОВКА ЗАДАЧИ:
Вывести на экран первые 10 членов геометрической прогрессии: bn+1 = 2bn , b0 =1.
РЕШЕНИЕ:
Блок-схема алгоритма, решающего поставленную задачу, представлена на рисунке 10.
Для вывода значений элементов геометрической прогрессии в данном алгоритме используется
13
арифметический цикл. Для цикла предусмотрено 10 итераций. В качестве счетчика цикла используется переменная n, определяющая номер текущего элемента прогрессии.
Значение текущего элемента прогрессии содержится во вспомогательной переменной b. В начале работы алгоритма, в переменную b записывается значение первого элемента прогрессии (b0). В теле цикла рассчитывается значение очередного элемента прогрессии (b=b*2).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок 9. Блок-схема алгоритма решения |
|
Рисунок 10. Блок- |
|||||||||||||||
|
квадратного уравнения |
|
схема алгоритма |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
вывода значений |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
геометрической |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
прогрессии |
14