Лекция 1.1

advertisement
МИНИСТЕРСТВО ЗДРАВООХРАНЕНИЯ
РЕСПУБЛИКИ УЗБЕКИСТАН
ТАШКЕНТСКАЯ МЕДИЦИНСКАЯ АКАДЕМИЯ
КАФЕДРА ИНФОРМАТИКИ, БИОФИЗИКИ,
И НОРМАЛЬНОЙ ФИЗИОЛОГИИ
Текст лекции по информатике и информационной технологии
Лекция 1.1
АЛГОРИТМЫ РАЗВЕТВЛЯЮЩЕЙСЯ СТРУКТУРЫ
Составитель: Старший преподаватель кафедры М.Базарбаев
Текст лекции утвержден
Ташкент 2015
1. Тема: Алгоритмы разветвляющейся структуры.
2. Лекция предназначена для студентов первого курса санитарно-гигиенического факультета.
3. Цель лекции: изучение способов (словесное и графическое) описания
разветвленных структур
4. Вопросы, подлежащие разбору:
3.1. Алгоритмы, разветвляющиеся структуры.
5. Текст лекции:
3.1. Алгоритмы разветвляющейся структуры
На практике редко удается представить схему решения задачи в виде
линейной структуры. Часто от каких-либо промежуточных результатов необходимо направлять обработку данных по тому или иному пути. То есть в зависимости от выполнения некоторого логического условия, вычислительный
процесс должен идти по одной или другой ветви.
Пример 3.1. Алгоритм нахождения корней квадратного уравнения
ax 2  bx  c  0 .
Корни этого уравнения находятся по формуле:
 b  b 2  4ac
x1, 2 
2a
Порядок вычислений, прежде всего, зависит от того, будет ли численное
значение подкоренного выражения D=b2-4ac положительным или отрицательным. Если D>0, то корни действительные, если D<0 - корни мнимые.
Процесс решения этой задачи можно разделить на следующие этапы:
1) вычисление D=b2-4ac;
2) проверка условия D>0 или D<0;
3) вычисление действительных корней, если D>0;
4) вычисление мнимых корней, если D<0.
Рассмотренный процесс решения задачи включает три арифметических
этапа (1, 3, 4) и один логический (2).
Арифметические этапы заключаются в проведении вычислений по выбранным формулам, а логический - в проверке выполнения условий, определяющих момент перехода к тому участку алгоритма, на котором начинается
расчет по нужной формуле.
Составим словесную запись алгоритма решения уравнения ax2+bx + c =
0
1) ввод a,b,c;
2) D:=b2-4ac
3) если D>0 идти к 5;
4) вывод "Решений нет" идти к 7;
2
5) x1,2  b  D./(2a )
6) вывод x1, x2;
7) конец.
Блок-схема алгоритма решения квадратного уравнения представлена на
рисунке. Как видно из схемы, за вычислением дискриминанта D следует логический оператор сравнения дискриминанта с нулем. В зависимости от результата сравнения дальнейший процесс вычислений должен пойти либо по
первой (левой), либо по второй (правой) ветви.
Начало
Ввод a,b,c
D=b2-4ac
Нет
D>0
Да
x2=–b–√D/(2a)
Решений нет
x2=–b+√D/(2a)
Вывод x1, x2
Конец
Рис. 3.1. Блок-схема алгоритма решения квадратного уравнения
Приведенная здесь блок-схема представляет собой графическое описание разветвляющегося алгоритма.
Разветвляющимися алгоритмами называют алгоритмы с однократным повторением операторов, причем та или иная группа операторов должна или не
должна выполняться в зависимости от соблюдения некоторых условий.
При разработке реальных алгоритмов часто возникает необходимость
использовать "вложенные" управляющие структуры.
Пример. 3.2. Проиллюстрируем сказанное на простом примере выбора
наименьшего из трех заданных чисел. Схема соответствующего алгоритма
изображена на рисунке. Отыскиваемое наименьшее значение обозначим через m.
Словесная запись:
1) начало;
2) ввода a, b, c; m:=a;
3) если m>b то m:=b;
4) если m>c то m:=c;
5) вывод m;
6) конец
Ввод a,b,c
m:=a
да
m>b
m:=b
m>c
m:=c
Вывод m
нет
Download