- •Билет №11. Электронные таблицы.
- •Билет № 12. Технологии обработки графической информации Обработка графической информации Кодирование и обработка графической и мультимедийной информации Пространственная дискретизация
- •Растровые изображения на экране монитора
- •Основные функции субд
- •Билет №15. Понятие алгоритма и его свойства. Блок-схемы алгоритма.
- •Введение.
- •Свойства алгоритма.
- •Описание алгоритмов на естественном языке.
- •Описание алгоритмов с помощью блок-схем.
- •Заключение.
Описание алгоритмов с помощью блок-схем.
Для разработки структуры программы удобнее пользоваться записью алгоритма в виде блок-схемы (в англоязычной литературе используется термин flow-chart). Для изображения основных алгоритмических структур и блоков на блок-схемах используют специальные графические символы. Они приведены на рисунке
Начало/конец
алгоритма
Передача управления
Ввод данных
Блок вычислений
Начало (заголовок)
цикла
Конец цикла
Ветвление
Вывод данных
Составим алгоритм вычисления квадратного корня из произвольного положительного вещественного числа х методом Герона и запишем его на естественном языке, а также в виде блок-схемы. Метод основан на многократном применении формулы:
при
.
Числовая
последовательность
в
пределе при
сходится
к искомому значению. Выполним только 5
итераций метода, считая, что при этом
будет достигнута достаточно хорошая
точность. Обычно десяти итераций метода
Герона более чем достаточно для достижения
хорошей точность расчёта. Оба варианта
записи алгоритма:
|
1. Ввести х.
2. Присвоить
3. Присвоить
4. Присвоить
5. Присвоить 6.
Если |
А теперь займёмся самым любимым занятием школьников всех времён и народов – решением квадратного уравнения:
.
Будем полагать,
что коэффициенты этого
уравнения
,
и
представляют
собой вещественные числа. Простейший
случай предполагает, что все коэффициенты
отличны от нуля. В зависимости от знака
дискриминанта квадратного уравнения
возможны три случая:
1.
Если
,
то имеются два различных вещественных
корня, которые можно вычислить по
следующим формулам:
,
.
2.
Если
,
то имеется единственный корень (точнее,
двукратный корень):
.
3.
Если
,
то вещественных корней нет.
Блок схема алгоритма приведена на рисунке:
С
ледует
заметить, что приведённый алгоритм
предназначен для решения узкого класса
задач – квадратных уравнений с «хорошими»
коэффициентами. Если допустить, что
коэффициенты могут принимать произвольные
вещественные значения, есть опасность,
что при определённых значениях
коэффициента (например,
)
возникает аварийная ситуация (деление
на ноль). Качественный алгоритм и
качественная программа должны быть
устойчивыми, то есть при любых входных
параметрах завершение работы программы
должно быть нормальным, хотя, возможно,
и сопровождаться предупреждающим
сообщением о некорректности входных
данных. Свойством устойчивости обладает
алгоритм решения квадратного уравнения.
Разработанный программистом алгоритм должен давать правильный ответ. Проверка алгоритма может оказаться непростым делом. В простых случаях такая проверка может быть выполнена с помощью заполнения трассировочной таблицы. Каждый столбец такой таблицы соответствует определённой переменной, а каждая строка – одному шагу алгоритма. Для заполнения таблицы необходимо шаг за шагом проследить выполнение алгоритма, записывая в таблицу текущие значения выбранных для трассировки переменных. Такой метод позволяет выявить логические ошибки, допущенные при составлении или записи алгоритма, и определить, верен ли окончательный ответ. Составим в качестве примера трассировочную таблицу для алгоритма Герона вычисления квадратного корня из числа 2.
i |
z |
0 |
1,00000 |
1 |
1,50000 |
2 |
1,41666 |
3 |
1,41421 |
4 |
1,41421 |
5 |
1,41421 |
Как видно из таблицы, уже после третьей итерации приближенное значение квадратного корня отличается от точного 1,414213 лишь в шестом знаке после запятой.
