Файл: Лабораторная работа по программированию и алгоритмизации Тема Основные принципы алгоритмизации и программирования.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.01.2024
Просмотров: 26
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования «Уфимский государственный нефтяной технический университет» Кафедра «Вычислительная техника и инженерная кибернетика» Лабораторная работа по программированию и алгоритмизации Тема 1. Основные принципы алгоритмизации и программирования Вариант № 14 Выполнил: студент группы №_____ заочного отделения ________________________ Проверил: доцент кафедры ВТИК ________________________ (Ф.И.О. преподавателя) Уфа, 2020 г. |
Содержание
Понятие, свойства и типы алгоритмов 3
Разработка линейного алгоритма. Задание №1 5
Разработка алгоритма разветвляющего процесса. Задание №2 7
Разработка циклического алгоритма. Задание №3 8
Список литературы 11
Понятие, свойства и типы алгоритмов
Алгоритм – четкое описание последовательности действий, которые необходимо выполнить для получения результата.
Термин «алгоритм» происходит от латинской формы имени среднеазиатского математика Аль-Хорезми – Algorithmi. Алгоритм является одним из основных понятий информатики и математики.
К основным свойствам алгоритмов относятся:
1)дискретность (прерывность, раздельность) – алгоритм должен представлять процесс решения задачи как последовательное исполнение простых (или ранее определенных) шагов (этапов);
2)определенность – каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Это свойство обеспечивает выполнение алгоритма механически, не требуя никаких дополнительных указаний или сведений о решаемой задаче;
3)результативность (или конечность) – алгоритм должен приводить к решению задачи за конечное число шагов;
4)массовость – алгоритм решения задачи производится в общем виде, т. е. его можно будет применять для некоторого класса задач, различающихся лишь исходными данными. При этом исходные данные могут выбираться из определенной области, которая называется областью применимости алгоритма.
На практике чаще всего встречаются следующие формы представления алгоритмов:
•словесная – записывается на естественном языке;
•графическая – с помощью блок-схемы;
•псевдокоды – полуформализованные описания алгоритмов на некотором условном алгоритмическом языке, которые включают в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др [2, с. 6].
Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным представлением. При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. Такое графическое представление называется схемой алгоритма. В схеме алгоритма каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура, представленная в виде блочного символа. В соответствии с логикой решения конкретной задачи, блоки связывают друг с другом линиями, которые называются линиями потока. На Рис. 1 приведен перечень основных обозначений, принятых в схемах алгоритмов.
Рис. 1 Основные обозначения блоков алгоритмов
Алгоритмы бывают линейные, разветвляющиеся и циклические.
Линейный алгоритм – это алгоритм, в котором действия выполняются только один раз и строго в том порядке, в котором они записаны [1, с. 12].
Разветвляющийся алгоритм – это алгоритм, в котором то или иное действие выполняется после анализа условия. Процесс анализа условия и выбора одной из ветвей на блок-схеме показывают с помощью логического блока. Логический блок имеет один вход и два выхода (ветвь «да» и ветвь «нет») [1, с. 13].
В блок-схемах разветвляющихся алгоритмов всегда есть логический блок.
Циклический алгоритм (цикл) – это алгоритм, в котором группа операторов выполняется несколько раз подряд. Блок-схема цикла обязательно содержит логический блок [1, с. 15].
Существует два типа алгоритмов циклической структуры: цикл с предусловием и цикл с постусловием [2, с. 11]. В цикле с предусловием условие проверяется до тела цикла, а в цикле с постусловием – после тела цикла.
Разработка линейного алгоритма. Задание №1
Задание №1: Разработайте линейный алгоритм и представьте его в графическом виде (блок-схемы). Вычислить значение выражения при заданных исходных данных (Таблица 1).
Таблица 1
| x = 12.3 y = 15.4 z = 0.252 |
Для решения предложенной задачи упростим выражение, введя промежуточные переменные a, b, c и d . Определим a = x+1, b = , c = , d= .
Тогда исходное выражение примет вид: . Алгоритмом вычисления предложенного выражения, после ввода необходимых исходных данных x, y и z, будет последовательное вычисление промежуточных переменных и далее – упрощенного выражения для функции s. Искомый алгоритм представлен на Рис. 2
Рис. 2 Линейный алгоритм решения выражения для задания №1
Разработка алгоритма разветвляющего процесса. Задание №2
Задание №2: Разработайте алгоритм разветвляющего процесса и представьте его в графическом виде (блок-схемы). Вычислить значение выражения при заданных исходных данных (Таблица 2).
Таблица 2
| a = 7,13; b = 0,91 | При x=–4,4 При x=6,8 При x=21 |
Для решения данного задания будем использовать разветвляющийся алгоритм с так называемым вложенным разветвлением. Напомним, что разветвляющийся алгоритм может состоять из нескольких ветвей
, каждая из которых может содержать любую, сколь угодно сложную, алгоритмическую структуру.
Анализ разветвляющихся алгоритмов, применяемых в практических задачах, показывает, что наиболее часто используются три типа разветвлений:
Стандартное разветвление содержит функциональные блоки как в ветви «Да», так и в ветви «Нет».
Усеченное разветвление содержит функциональные блоки только в ветви «Да» или только в ветви «Нет».
Вложенное разветвлениесодержит одно или несколько дополнительных разветвлений.
Одним из возможных вариантов реализации алгоритма решения предложенного задания будет проверка переменной x с использованием строгих неравенств. К примеру, вначале проверим условие x>0? При невыполнении этого условия решением уравнения будет первая формула задания.
При положительном исходе (x>0) последует проверка следующего условия: x>15? Это будет вложенное разветвление. Здесь при положительном ответе для решения уравнения выбирается третья формула, а при отрицательном ответе – вторая.
Алгоритм, реализующий задание из Таблица 2, представлен на Рис. 3
Рис. 3 Разветвляющийся алгоритм решения выражения для задания №2
Разработка циклического алгоритма. Задание №3
Задание №3: Разработайте циклический алгоритм вычисления суммы (произведения ) конечного числа элементов ряда и представьте его в графическом виде (блок-схемы).
Вычислить значение выражения при заданных исходных данных (Таблица 3).
Таблица 3
14 | | х - любое не равное нулю и единице число; вводится пользователем с клавиатуры |
Составим блок-схему алгоритма нахождения произведения пяти первых элементов ряда, описываемого формулой, представленной в задании №3 (Таблица 3). Цикл организован с помощью условного оператора. В качестве переменной цикла используется переменная
nс начальным значением, равным единице, и конечным значением, равным 5, и шагом, равным единице. В этом цикле проверка условия выхода из цикла выполняется в конце цикла. При этом тело цикла повторится пять раз.
Для начала построения блок-схемы алгоритма опишем последовательность действий, необходимых для решения данной задачи:
-
ввод переменнойx, ввод количества членов произведения nmax (для условия задачи nmax=5); -
проверка введенного значения x условию задачи (не равно нулю и единице, а также проверка корректности выражения при n=1: sin x= 1); -
начальное значение произведения P равно 1, n = 1; -
начало цикла; -
расчет произведения первых n элементов ряда; -
увеличение n на 1; -
проверка условия «n>5», переход к началу цикла при отрицательном результате; -
Вывод результата суммирования; -
конец
Блок-схема реализованного алгоритма представлена на Рис. 1
Рис. 4 Циклический алгоритм решения выражения для задания №3
Список литературы
-
Основы алгоритмизации и программирования: учеб. пособие / Т.А. Жданова, Ю.С. Бузыкова. – Хабаровск: Изд-во Тихоокеан. гос.ун-та, 2011. – 56 с. -
Основы алгоритмизации и программирования: учебное пособие / Г. Р. Кадырова. – Ульяновск: УлГТУ, 2014. – 95 с.