Автор работы: Пользователь скрыл имя, 23 Марта 2012 в 12:34, доклад
Алгоритмы строятся для решения тех или иных вычислительных задач. Формулировка задачи описывает, каким требованиям должно удовлетворять решение задачи, а алгоритм, решающий эту задачу, находит объект, этим требованиям удовлетворяющий.
Введение в программирование и основы алгоритмизации задач
1. Алгоритм - это формально описанная вычислительная процедура, получающая исходные данные, называемые также входом алгоритма или его аргументов, и выдающая результат вычислений на выход.
Алгоритмы строятся для решения тех или иных вычислительных задач. Формулировка задачи описывает, каким требованиям должно удовлетворять решение задачи, а алгоритм, решающий эту задачу, находит объект, этим требованиям удовлетворяющий.
Алгоритм считают правильным, если на любом допустимом (для заданной задачи) входе он заканчивает работу и выдает результат, удовлетворяющий требованиям задачи. В этом случае говорят, что алгоритм решает данную вычислительную задачу. Неправильный алгоритм может вовсе не остановиться или дать неправильный результат.
Алгоритм может быть записан на русском или английском языке, в виде компьютерной программы или даже в машинных кодах – важно только, чтобы процедура вычислений была четко описана. Иногда алгоритм записывают с помощью псевдокода, который напоминает знакомые языки программирования (Си, Паскаль, Алгол). Разница в том, что иногда позволительно описывать действия алгоритма «своими словами», если так получается яснее.
Анализ алгоритмов
Рассматривая различные алгоритмы решения одной и той же задачи, полезно проанализировать, сколько вычислительных ресурсов они требуют (время работы, память), и выбрать наиболее эффективный.
Примеры
1. Вычислить значение функции у= х2
шаг 1. Взять (задать) конкретное значение
шаг 2. Умножить х на х, вычислив х2
шаг 3. Напечатать полученный результат у= х2
При решении любой задачи на компьютере предполагается, что некоторая информация подвергнется обработке по предварительно составленной инструкции, называемой программой. Поэтому по решением задачи на компьютере подразумевается гораздо больший круг действий, чем только работа самого компьютера. Это действия делятся на ряд этапов, выполнение которых носит характер последовательного приближения к конечной цели.
1. ПОСТАНОВКА ЗАДАЧИ. Решение
задачи начинается с ее
2. ПОСТРОЕНИЕ АЛГОРИТМА.
3. РАЗРАБОТКА ПРОГРАММЫ.
Алгоритм – система правил, рецептов, инструкций. Алгоритм – точный порядок действий, определяющий процесс, ведущий от исходных данных к искомому результату и обладающий следующими свойствами:
Определенностью, т.е. общепонятностью и точностью;
Массовостью, т.е. возможностью использования различных данных при решении однотипных задач;
Результативностью, т.е. направленностью на получение искомого результата;
Дискретностью, при выполнении разбивается на конечную последовательность действий или шагов;
Конечностью, т.е. должен выполняться за конечное время.
2. Для представления алгоритмов используются несколько способов:
Словесный (описание на естественном человеческом языке);
Графический (на языке блок-схем);
С помощью символов специального языка проектирования программ-псевдокодов;
С помощью одного из языков программирования.
Блок-схема – это графическая интерпретация алгоритма, представляющая набор геометрических фигур, каждая из которых изображает какую-либо операцию или действие.
Основные структуры алгоритмов – это ограниченный набор блоков и стандартных способов их соединений для выполнения типичных последовательностей действий.
Структурный подход предполагает
использование только
Процесс решения задачи на ЭВМ состоит из восьми этапов:
Первый – постановка задачи;
Второй- ее математическое описание;
Третий – алгоритмизация задачи;
Четвертый – программирование;
Пятый - разработка тестовой задачи;
Шестой – перенос программы на машинные носители;
Седьмой – отладка задачи;
Восьмой –получение и анализ результатов.
3.Виды алгоритмов
1. Линейные алгоритмы – последовательность блоков, каждый из которых имеет по одному входу и одному выходу, и выполняется в программе один раз. Алгоритм линейной структуры (следование) – алгоритм, в котором все действия выполняются последовательно друг за другом в порядке, заданным схемой алгоритма. Например, алгоритм сложения двух чисел.
Рассмотрим алгоритм линейной структуры на примере определения площади треугольника по трем известным сторонам a,b и c с использованием теоремы Герона:, где p=0,5*(a+b+c).
2.Разветвляющиеся алгоритмы – алгоритмы, в котором в зависимости от значений некоторого признака производится выбор одного из нескольких направлений, называемых ветвями. В основе организации разветвления лежит проверка логического условия, которое может быть истинно или ложно. Частный вид логического условия – это операция типа =, ≠,>,<,≥,≤.
Алгоритм разветвляющейся структуры (выбор) – алгоритм, в котором в зависимости от выполнения некоторого логического условия вычислительный процесс должен идти по одной или другой ветви, то есть вычисление будет осуществляться либо по одним, либо по другим формулам.
Согласно этой блок-схеме в зависимости от результата проверки условия выполняются только действия ветви «Да» (действия 1 и 2) или только ветви «нет» (действия 3 и 4).
В алгоритме решения квадратного уравнения происходит разветвление после проверки условия D >=0 . В общем случае число может быть больше двух.
Решение квадратного уравнения ax2 + bx + c =0
В зависимости от значения подчеркнутого выражения D=b2 – 4ac искомые результаты могут быть получены из выражений:
x1,2= 0,³, где D
x1,2j*w , где z=-±=z , w= , если 0<D
3. Циклический алгоритм включает в себя многократно повторяющиеся участки вычислений для различных значений данных. Циклические алгоритмы по способу организации выхода из цикла можно разделить на арифметические и итерационные.
Алгоритм циклической структуры (повторение) – алгоритм, содержащий многократно выполняемые участки вычислительного процесса, называемые циклами. Внутри одного цикла могут размещаться один или несколько других.
Количество повторений в первых заранее известно или может быть легко вычислено. Количество повторений во вторых – заранее неизвестно. Выход из них осуществляется обычно по достижении заданной точности при последовательном приближении к искомому значению. В таких алгоритмах часто последующий член вычисляют, производя математические операции над предыдущим. Эти вычисления осуществляются на всех шагах цикла по единой формуле, которая называется рекуррентной.
Одна из изменяющихся в
арифметическом цикле переменных выбирается
в качестве параметра цикла.
Для организации цикла необходимо выполнить три действия :
Задать начальное значение параметра цикла;
Задать правило изменения параметра цикла;
Задать условие окончания цикла.
Согласно этому алгоритму пока выполняется условие, будет повторяться действия 1 и 2.
4. Вспомогательный алгоритм (
Список использованной литературы:
1 Аветисян Р.Д., Аветисян Д.Д., Теоретические основы информатики.- М: Наука, 1997
2. Аладьев В.З.и др.Основы информатики.- М. «Филин», 1999
3. Гласс Р., Нуазо Р. Сопровождение программного обеспечения? Пер.с англ.М.Мир, 1975
4. Грис Д.Наука программирования.: пер.с англ.М.Мир:, 1984
5. Дейкстры Э. Дисциплина программирования. М.:Мир, 1976
6. Информатика для юристов и экономистов, учебник для вузов, под ре. С. В. Симоновича, Москва, 2004 г.
7. Информатика под ред.Макаровой-3-е перераб. изд.-М., 2003-765
8. Информатика, учебник под ред. профессора Н. В. Макаровой, Москва, «Финансы и статистика», 2004 г.
9. Лабораторный практикум по информатике, В. А. Острейковского, Москва, Высшая школа, 2003
10. Липаев В. Надежность программного обеспечения АСУ.- М.:Энергоиздат, 1981
11. Липаев В., Потапов А. Оценка затрат на разработку программных средств, М.:Финансы и статистика, 1988
12. Липаев В., Поташов А. Оценка затрат на разработку программных средств. М.:Финансы и статистика, 1988
13. Логическое программирование: пер с.англ.М.:Мир, 1988
Информация о работе Введение в программирование и основы алгоритмизации задач