Основные понятия об алгоритмизации задач
Этапы решения задач на компьютере
Процесс преобразования исходных данных в конечные результаты решения задачи (вычислительный процесс) включает следующие основные этапы:
1. Изучение поставленной задачи:
• выбор и анализ математической модели;
• анализ исходных данных и определение их имен;
• определение имен конечного и промежуточного (если есть в этом необходимость) результатов, а для числового результата также их точности;
• определение шагов решения задачи.
2. Описание алгоритма поставленной задачи.
3. Запись алгоритма на языке программирования высокого уровня.
4. Создание программы в среде программирования.
5. Запуск и отладка программы.
6. Анализ полученного результата.
Алгоритм и его свойства
Алгоритм (алгоритм) - любая конечная последовательность основных математических и логических действий, однозначно определяющих процесс преобразования исходных данных в конечные результаты решения задачи. Название «алгоритм» произошло от латинской формы арабского по имени хорезмийского математика аль Хорезми - Algorithmi. Алгоритм - одно из основных понятий математики и информатики нельзя понимать в узком смысле, т.е. только для цифровых вычислений. Исходными данными и результатами алгоритма могут служить самые разнообразные объекты. Это открывает возможность широкого применения понятия алгоритма. Например, можно говорить об алгоритмах перевода с одного языка на другой, алгоритмах управления (диспетчеризация поездов, самолетов, городского транспорта, функционирования предприятий и. д.).
Основные свойства алгоритмов:
1. Понятность для исполнителя - исполнитель алгоритма должен знать, как его выполнять.
2. Дискретность - прерывность, раздельность. Алгоритм должен представлять процесс решения задачи как последовательное выполнение простых шагов (этапов).
3. Определенность - каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче.
4. Результативность (конечность). Это свойство состоит в том, что алгоритм должен приводить к решению задачи за конечное число шагов.
5. Массовость — означает, что алгоритм решения задачи разрабатывается в общем виде, т.е. он должен быть применим для некоторого класса задач, различающихся лишь исходными данными.
Формы представления алгоритмов
На практике наиболее распространены следующие формы представления алгоритмов:
• словесная — запись на естественном языке;
• в псевдокодах — полуформализованное описание алгоритма на условном алгоритмическом языке, включающее в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и т.д.;
• табличная;
• графическая — с помощью графических символов;
• программная — запись на искусственном языке (языке программирования).
Словесный способ не имеет широкого применения по следующим причинам:
• описания не строго формализуемы;
• страдают многословностью записей,
• допускают неоднозначность толкования отдельных предписаний.
Псевдокод представляет собой систему обозначений и правил, предназначенную для единообразной записи алгоритмов. Единого или формального определения псевдокода не существует, поэтому возможны различные псевдокоды, отличающиеся набором служебных слов и основных (базовых конструкций).
Графическое представление алгоритма является наиболее компактным и наглядным по сравнению со словесным и псевдокодами. При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. Такое графическое представление называется схемой алгоритма или блок-схемой. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура, представленная в виде блочного символа.
Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий. В табл. 1 приведены наиболее часто употребляемые символы.
Таблица 1
Графические символы алгоритмов
Название символа | Обозначение | Пояснение |
Процесс | Вычислительное действие или последовательность действий | |
Решение | Проверка условий | |
Модификация | Начало цикла | |
Предопределенный процесс | Вычисления по подпрограмме, стандартной подпрограмме | |
Ввод/Вывод | Ввод/Вывод данных в общем виде | |
Пуск — Останов | Начало, конец алгоритма, вход в подпрограмму и выход из нее | |
Документ | Вывод результатов на печать |
Блок «Модификация — видоизменение, преобразование» используется для организации циклических структур. Внутри блока записывается параметр цикла, для которого указывается его начальное значение, граничное условие и шаг изменения параметра цикла для каждого повторения.
Блок «Предопределенный процесс» служит для указания обращений к вспомогательным алгоритмам, существующим автономно в виде некоторых самостоятельных модулей, и для обращения к библиотечным подпрограммам.