Понятие алгоритма, его свойства. Описание алгоритмов с помощью блок схем на языке Turbo Pascal
[pic]
при
[pic].
Числовая последовательность [pic]в пределе при [pic] сходится к
искомому значению. Выполним только 5 итераций метода, считая, что при этом
будет достигнута достаточно хорошая точность. Обычно десяти итераций метода
Герона более чем достаточно для достижения хорошей точность расчёта. Оба
варианта записи алгоритма:
| |Ввести х. |
| |Присвоить [pic]. |
| |Присвоить [pic]. |
| |Присвоить [pic]. |
| |Присвоить [pic]. |
| |Если [pic], то перейти к шагу 4, |
| |иначе напечатать значение [pic]. |
А теперь займёмся самым любимым занятием школьников всех времён и
народов – решением квадратного уравнения:
[pic].
Будем полагать, что коэффициенты этого уравнения [pic], [pic] и [pic]
представляют собой вещественные числа. Простейший случай предполагает, что
все коэффициенты отличны от нуля. В зависимости от знака дискриминанта
квадратного уравнения
[pic]
возможны три случая:
1. Если [pic], то имеются два различных вещественных корня, которые можно
вычислить по следующим формулам:
[pic], [pic].
2. Если [pic], то имеется единственный корень (точнее, двукратный
корень):
[pic].
3. Если [pic], то вещественных корней нет.
Блок схема алгоритма приведена на рисунке:
Следует заметить, что приведённый алгоритм предназначен для решения
узкого класса задач – квадратных уравнений с «хорошими» коэффициентами.
Если допустить, что коэффициенты могут принимать произвольные вещественные
значения, есть опасность, что при определённых значениях коэффициента
(например, [pic]) возникает аварийная ситуация (деление на ноль).
Качественный алгоритм и качественная программа должны быть устойчивыми, то
есть при любых входных параметрах завершение работы программы должно быть
нормальным, хотя, возможно, и сопровождаться предупреждающим сообщением о
некорректности входных данных. Свойством устойчивости обладает алгоритм
решения квадратного уравнения, приведённый на рисунке:
Разработанный программистом алгоритм должен давать правильный ответ.
Проверка алгоритма может оказаться непростым делом. В простых случаях такая
проверка может быть выполнена с помощью заполнения трассировочной таблицы.
Каждый столбец такой таблицы соответствует определённой переменной, а
каждая строка – одному шагу алгоритма. Для заполнения таблицы необходимо
шаг за шагом проследить выполнение алгоритма, записывая в таблицу текущие
значения выбранных для трассировки переменных. Такой метод позволяет
выявить логические ошибки, допущенные при составлении или записи алгоритма,
и определить, верен ли окончательный ответ. Составим в качестве примера
трассировочную таблицу для алгоритма Герона вычисления квадратного корня из
числа 2.
| i | z |
| 0 | 1,00000 |
| 1 | 1,50000 |
| 2 | 1,41666 |
| 3 | 1,41421 |
| 4 | 1,41421 |
| 5 | 1,41421 |
Как видно из таблицы, уже после третьей итерации приближенное
значение квадратного корня отличается от точного 1,414213 лишь в шестом
знаке после запятой.
Заключение.
Создание алгоритма для решения задач какого-либо типа, его
представление исполнителю в удобной для него форме – это творческий акт.
Алгоритм может быть представлен различными способами: на разговорном
естественном язык; на языке блок-схем; на языке программирования. Выбор и
разработка алгоритма и численного метода решения задачи имеют важнейшее
значение для успешной работы над программой. Тщательно проработанный
алгоритм решения задачи – необходимое условие эффективной работы по
составлению алгоритму.
Список литературы.
1. Коляда М. Г. Окно в удивительный мир информатики. – Д.: Сталкер, 1997.
2. Немнюгин С. А. Turbo Pascal: практикум. – СПб: Питер, 2003.
3. Попов В. Б. Turbo Pascal для школьников: Учеб. пособие. – М.: Финансы
и статистика, 2000.
4. Турбо Паскаль 7.0. Самоучитель. – СПб.: Питер; К.: Издательская группа
BHV, 2002.
| | скачать работу |
Понятие алгоритма, его свойства. Описание алгоритмов с помощью блок схем на языке Turbo Pascal |