Similar presentations:
Алгоритмизация прикладных задач
1. Алгоритмизация прикладных задач
2. ПЛАН:
1. Алгоритмизация вычислительных процессов:1.1. Постановка задачи
1.2. Понятие алгоритма, алгоритмизация задачи.
1.3. Основные свойства алгоритма.
1.4. Способы описания алгоритмов.
2. Виды алгоритмов и принципы их составления:
1.1. Виды алгоритмов
1.2. Линейные алгоритмы
1.3. Разветвляющиеся алгоритмы.
1.4. Циклические алгоритмы, вложенные циклы.
1.5. Комбинированные алгоритмы.
3. Этапы решения задачи на ЭВМ:
1. Алгоритмизация вычислительных процессов:1.1. Постановка задачи
Этапы решения задачи на ЭВМ:
1.
Содержательная постановка задачи
2.
Математическая постановка задачи
3.
Формализация задачи
4.
5.
6.
(формулировка задачи, излагаемая в терминах конкретной
области науки)
(формулировка задачи некоторого раздела математики)
(преобразование задачи,
полученной на этапе математической постановки к
алгоритмической задаче)
Составление алгоритма решения задачи
Составление программы на языке
программирования
Рабочий счет (решение задачи с
рабочими данными на ЭВМ) и анализ
результатов
4. 1.2. Понятие алгоритма, алгоритмизация задачи
После постановки задачиосуществляется описание алгоритма
Слово «алгоритм» произошло от
имени арабского математика IX в.
Аль Хорезми, который
сформулировал правила
выполнения арифметических
действий
5.
Алгоритм – это точноопределенная
последовательность
действий, которые
необходимо выполнить над
исходной информацией,
чтобы получить решение
задачи
6.
Правила описания алгоритмарешения задачи
выделить величины, являющиеся исходными
для задачи;
разбить процесс решения задачи на такие
этапы, которые известны исполнителю и
которые он может выполнить однозначно без
всяких пояснений;
указать порядок выполнения этапов;
указать признак окончания процесса
решения задачи;
указать во всех случаях, что является
результатом решения задачи
7.
Простейший алгоритмподключения компьютера
1.
2.
3.
4.
5.
6.
7.
8.
9.
Подготовить исходные величины – системный блок,
монитор, клавиатуру, мышь, сетевой фильтр.
Подключить системный блок в сетевой фильтр и
монитор.
Подключить монитор в сетевой фильтр и системный
блок.
Подключить клавиатуру и мышь в системный блок.
Включить сетевой фильтр в розетку.
Включить монитор.
Включить системный блок.
Подождать, когда загрузится система
Компьютер к работе готов. Задача решена
8.
1.3. Основные свойстваалгоритма
1. Дискретность алгоритма
(решение задачи, записанное в
виде алгоритма, разбито на
отдельные простейшие
команды, которые
расположены в порядке их
выполнения)
9.
2. Определенность алгоритма.(каждая команда алгоритма должна
быть понятна исполнителю, не
оставлять места для ее
неоднозначного толкования и
неопределенного исполнения).
3. Результативность алгоритма.
(свойство алгоритма всегда
приводит к результату через
конечное число шагов).
10.
4. Массовость алгоритма(каждый алгоритм,
разработанный для решения
некоторой задачи должен быть
применим для решения задач
этого типа при всех
допустимых значениях
исходных данных)
11.
1.4. Способы описания алгоритмов1.
Словесно-формульное описание
алгоритма, т.е. описание алгоритма с
помощью слов и формул.
Например: найти значение выражения:
y=2a-(x+6)
1.
2.
3.
Ввести значения a и х. Перейти к п. 2
Вычислить y=2a-(x+6). Перейти к п. 3.
Вывести y как результат вычисления
выражения
12.
2. Графическое описание алгоритма, т.е. описаниес помощью специальных графических схем
алгоритмов – блок-схем (рассмотрим далее).
3. Способ, использующий псевдокоды, т.е.
интерпретация шагов алгоритма на обычном языке,
которая описывает действие команды.
Например: найти значение выражения: y=2a-(x+6)
Начало
Ввод чисел: a,x
Вычисление выражения y=2a-(x+6)
Вывод y
Конец
4. Запись алгоритма на одном из языков
программирования
13. 2. Виды алгоритмов и принципы их составления: 1.1. Виды алгоритмов
Выделяют четыре основных видаалгоритмов:
линейной структуры,
разветвляющейся структуры,
циклической структуры,
комбинированной структуры.
14. Правила построения схемы алгоритма задачи:
Выявить исходные данные, результаты, назначитьим имена.
2.
Выбрать метод (порядок) решения задачи.
3.
Разбить метод решения задачи на этапы (с учетом
возможностей ЭВМ).
4.
Изобразить каждый этап в виде соответствующей
блок-схемы алгоритма и указать стрелками порядок
их выполнения.
5. В полученной схеме при любом варианте
вычислений:
а) предусмотреть выдачу результатов или сообщений
об их отсутствии;
б) обеспечить возможность после выполнения любой
операции так или иначе перейти к блоку Останов
(к выходу схемы).
1.
15.
Графическое описание алгоритмаБлок-схема алгоритма
представляет собой систему
связанных геометрических
фигур
16.
Каждая фигура обозначаетодин этап решения задачи и
называется блоком.
Порядок выполнения этапов
указывается стрелками,
соединяющими блоки.
17.
Блок «Процесс»2
А=lg x+8D
18. Блок «Ввод»
Ввод х, DБлок «Вывод»
Вывод А, В
19. Логический блок ветвления
НетХ<5
Да
20.
Логический блок многократногоповторения
ХЄ (2, 9) Δ2
21.
НачалоОстанов.
22. 1.2. Линейные алгоритмы
Линейным называетсяалгоритм, в котором все
этапы решения задачи
выполняются строго
последовательно.
23. Задача. Определить значение уравнения Х=y+a2-z Решение: 1. Исходные данные: y,a,z 2. Расчет значения уравнения: Х=y+a2-z 3.
Задача. Определить значениеуравнения Х=y+a2-z
Решение:
1. Исходные данные: y,a,z
2. Расчет значения уравнения:
2
Х=y+a -z
3. Вывод значения уравнения
24.
НачалоВвод: y,a,z
Х=y+a2-z
Вывод X
Останов
Блок-схема
линейного
алгоритма
с неизвестными
исходными
данными
25. Если в условии задачи заранее известны исходные данные, то они записываются в фигуру прямоугольника. Например: Определить
значениеуравнения
Х=y+a2-z, при y=2, a= 7; z=3
26.
Началоy=2; a = 7; z=3
Х=y+a2-z
Вывод X
Останов
Блок-схема
линейного
алгоритма
с известными
исходными
данными
27. 2.3. Разветвляющиеся алгоритмы
Разветвляющимся называетсятакой алгоритм, в котором
выбирается один из нескольких
возможных путей
вычислительного процесса.
Каждый подобный путь
называется ветвью алгоритма.
28. Задача. Составить алгоритм начисления стипендии согласно следующему правилу: Если количество пятерок по результатам сессии
составляет100%, то размер стипендии - 1300
руб.,
при количестве пятерок от 50 до
100% — 1100 руб.,
при количестве пятерок менее 50%
стипендия составит 900 руб.
29. Математическая постановка задачи:
ST =1300, если Кп = 100%
1100, если 50% ≤ Кп < 100%
900, если Кп < 50%
где ST — размер стипендии;
Кп — количество пятёрок по
результатам экзаменационной
сессии.
30.
В схеме алгоритма операцию проверкиусловия выполняет логический блок,
который изображается ромбом, внутри
которого указывается проверяемое условие,
и имеет два выхода: Да и Нет.
Если условие выполняется, то выходим из
блока по выходу Да; если не выполняется
— по выходу Нет:
Нет
Х<9
Да
31.
НачалоВвод Кп
Кп = 100%
Да
ST=1300
Нет
50% ≤ Кп < 100%
Нет
ST=900
Вывод ST
Останов
Да
ST=1100
32. Самостоятельная работа
Составить алгоритм.Если N > T,
то S = V-T,
иначе S = W+T.
33.
НачалоВвод:
N, T, W,V
НЕТ
N >T
ДА
S = V-T
S = W+T
Вывод: S
КОНЕЦ
34. 2.4. Циклические алгоритмы
Циклическим называюталгоритм, в котором получение
результата обеспечивается
многократным выполнением
одних и тех же операций
35.
В схеме алгоритма операциюмногократного повторения
выполняет логический блок,
который изображается
шестиугольником, внутри
которого указывается
повторяющееся условие:
ХЄ (2, 9) Δ2
36.
Например: Составить алгоритм решения значенияуравнения Y=abc6/sinz, где zЄ(0,7; 1,2) Δ 0,2:
Начало
Ввод: a,b,c
zЄ(0,7; 1,2) Δ0,2
Y=abc6/sinz
Вывод: Z,Y
Останов
37. Самостоятельная работа
Составить алгоритмрешения значения
уравнения
U = a*cos2(wt+f),
где t = 1; 3; 0,2
38.
НачалоВвод: a, w, f
t = 1; 3; 0,2
U = a *cos2(wt+f)
Вывод: t, U
Конец
39.
Алгоритмическуюконструкцию, описывающую
кратные циклы (т.е. когда
цикл содержит внутри себя
другие циклы), называют
вложенными циклами
40.
Например: Составить алгоритм длявычисления функции Y=abc6/sinz,
где a Є (-2;7) Δ 0,3 и c Є (1,5;2,5):
Начало
Ввод: В, Z
a Є (-2;7) Δ 0,3
c Є (1,5;2,5)
Y=abc6/sinz
Вывод: a, c, y
Останов
41. Самостоятельная работа
Составить алгоритмрешения значения
уравнения
U = a*cos2(wt+f),
где t = 1; 3
f = 3; 5
42.
НачалоВвод: a, w
t = 1; 3
f = 3; 5
U = a ·cos2(wt+f)
Вывод: t, f, U
Конец
43. 2.5. Комбинированный алгоритм, включающий в себя разветвляющий и циклический алгоритм
Пример. Составить программу длявычисления значений функции:
S=
где а = 2,3; b = -1,2; c = 4,2 и i Є [2;10] Δ 2
44.
45. Самостоятельная работа
46.
47.
48.
Составить алгоритм расчета формулы l:l ctgt (t q d )3 c /( dt ) ln( t 2 c)
Известно, что с ae
2 xt
cos(
2
t)
b bz
x arctg e
r 1
a
z меняеся от р до f
a меняется от x до 5
Рассчитать три категории по формуле l, при условии, что первая категория
увеличивает формулу на 5%, вторая категория - уменьшает на 7%, а третья увеличивает на 9 %.