Основные этапы решения задач на компьютере Работу по решению задачи на компьютере можно разбить на следующие этапы:
Постановка задачи;
Математическая формализация;
Построение алгоритма;
Программирование, отладка и тестирование программы;
Проведение расчётов и анализ результатов;
Документирование.
Постановка задачи. На этапе постановки задачи должно быть определено, что дано и что требуется найти. Постановка задачи включает в себя сбор информации о задаче, формулировку условия задачи, определение конечных целей решения задачи, определение формы выдачи результатов, описание данных (их типов, диапазонов величин, структуры и т.п.). Решение прикладной задачи с помощью компьютера называют моделированием, так как при этом используют упрощённое представление о реальном объекте, процессе или явлении.
Математическая формализация. На этом этапе объект или явление описывается с помощью формального языка (формул, уравнений, неравенств ит.д.). Такой процесс называется формализацией. Результатом формализации является создание математической модели задачи. Создавая математическую модель задачи, нужно определить, что считать исходными данными и результатами, а также описать математические соотношения, связывающие результаты с исходными данными.
Построение алгоритма. Для реализации математической модели на компьютере создаётся алгоритмическая модель. Разработка алгоритма включает в себя структуризацию, т. е разбиение задачи на последовательность простых модулей, каждый из которых легко может быть реализован на языке программирования.
Программирование, отладка и тестирование программы. Программирование – это запись словесного алгоритма, его блок-схемы или псевдокода на выбранном языке программирования. Затем текст программы вводится в компьютер и начинается отладка программы, т.е. процесс испытания работы программы и устранения ошибок и неточностей, допущенных на предыдущих этапах. Обнаружить ошибки, связанные с нарушением правил записи программы на языке программирования (синтаксические и семантические) помогает используемая система программирования. Пользователь получает от системы программирования сообщение об ошибке, исправляет её и снова повторяет попытку исполнить программу. Затем проводится проверка правильности алгоритма с помощью тестов. Тест – это конкретный вариант значений исходных данных, для которых известен ожидаемый результат. На тестах проверяется правильность реализацией программы поставленной задачи.
Проведение расчётов и анализ результатов. На этом этапе программа используется для проведения расчётов с необходимыми исходными данными и получение искомого результатов. Производится анализ полученных результатов и в случае необходимости уточнение математической модели, корректировка алгоритма и программы.
Документирование. Завершающим этапом работы по решению задачи является документирование – т.е. распечатка текста программы, снабжённого необходимыми комментариями автора (листинг).
Свойства и способы описания алгоритмов Алгоритмам должен обладать следующими свойствами:
Однозначность – чёткое предписание, что и как делать в каждой конкретной ситуации.
Универсальность – применимость данного алгоритма к решению любой задачи данного типа.
Результативность – отсутствие зацикливаний (образование замкнутого круга, из которого можно выйти только принудительным прерыванием работы программы). Любая программа должна всегда приводить к результату, даже если это будет аварийное сообщение.
К основным способам описания алгоритмов можно отнести следующие:
словесно-формульный;
структурный или блок-схемный.
При словесно-формульном способе алгоритм записывается в виде текста с формулами по пунктам, определяющим последовательность действий.
Пусть, например, необходимо найти значение следующего выражения:
у = 2а - (х+6).
Словесно-формульным способом алгоритм решения этой задачи может быть записан в следующем виде:
Ввести значения а и х.
Сложить х и 6.
Умножить а на 2.
Вычесть из 2а сумму (х+6).
Вывести y как результат вычисления выражения.
При блок-схемном описании алгоритм изображается геометрическими фигурами (блоками), связанными по управлению линиями (направлениями потока) со стрелками. В блоках записывается последовательность действий. Графическая интерпретация алгоритма называется блок-схемой. Данный способ по сравнению с другими способами записи алгоритма имеет ряд преимуществ. Он наиболее нагляден: каждая операция вычислительного процесса изображается отдельной геометрической фигурой. Кроме того, графическое изображение алгоритма наглядно показывает разветвления путей решения задачи в зависимости от различных условий, повторение отдельных этапов вычислительного процесса и другие детали.
Оформление программ должно соответствовать определенным требованиям. В настоящее время действует единая система программной документации (ЕСПД), которая устанавливает правила разработки, оформления программ и программной документации. В ЕСПД определены и правила оформления блок-схем алгоритмов (ГОСТ 10.002-80 ЕСПД, ГОСТ 10.003-80 ЕСПД).
Операции обработки данных и носители информации изображаются на схеме соответствующими блоками. Большая часть блоков по построению условно вписана в прямоугольник со сторонами a и b. Минимальное значение а = 10 мм, увеличение а производится на число, кратное 5 мм. Размер b=1,5а. Для отдельных блоков допускается соотношение между а и b, равное 1:2. В пределах одной схемы рекомендуется изображать блоки одинаковых размеров. Все блоки нумеруются. Виды и назначение основных блоков приведены в таблице.
Таблица 1.. Условные обозначения блоков схем алгоритмов
Наименование
| Обозначение
| Функции
| Процесс
|
| Выполнение операции или группы операций, в результате которых изменяется значение, форма представления или расположение данных.
| Ввод-вывод
|
| Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод).
| Решение
|
| Выбор направления выполнения алгоритма в зависимости от некоторых переменных условий.
| Предопределенный процесс
|
| Использование ранее созданных и отдельно написанных программ (подпрограмм).
| Документ
|
| Вывод данных на бумажный носитель.
| Магнитный диск
|
| Ввод-вывод данных, носителем которых служит магнитный диск.
| Пуск-останов
|
| Начало, конец, прерывание процесса обработки данных.
| Соединитель
|
| Указание связи между прерванными линиями,
соединяющими блоки.
| Межстраничный соединитель
|
| Указание связи между прерванными линиями, соединяющими блоки, расположенные на разных листах.
| Комментарий
| [
| Связь между элементом схемы и пояснением.
| Линии, соединяющие блоки и указывающие последовательность связей между ними, должны проводится параллельно линиям рамки. Стрелка в конце линии может не ставиться, если линия направлена слева направо или сверху вниз. В блок может входить несколько линий, то есть блок может являться преемником любого числа блоков. Из блока (кроме логического) может выходить только одна линия. Логический блок может иметь в качестве продолжения один из двух блоков, и из него выходят две линии. Если на схеме имеет место слияние линий, то место пересечения выделяется точкой. В случае, когда одна линия подходит к другой и слияние их явно выражено, точку можно не ставить.
Схему алгоритма следует выполнять как единое целое, однако в случае необходимости допускается обрывать линии, соединяющие блоки.
Если при обрыве линии продолжение схемы находится на этом же листе, то на одном и другом конце линии изображается специальный символ соединитель – окружность диаметром 0,5 а. Внутри парных окружностей указывается один и тот же идентификатор. В качестве идентификатора, как правило, используется порядковый номер блока, к которому направлена соединительная линия.
Если схема занимает более одного листа, то в случае разрыва линии вместо окружности используется межстраничный соединитель. Внутри каждого, соединителя указывается адрес — откуда и куда направлена соединительная линия. Адрес записывается в две строки: первой указывается номер листа, во второй — порядковый номер блока.
Блок-схема должна содержать все разветвления, циклы и обращения к подпрограммам, содержащиеся в программе.
|