Лекция № 15. Этапы решения задач на ЭВМ. Введение в программирование
Страница 1. Этапы решения задач на ЭВМ
Процедура подготовки и решения задач на ЭВМ достаточно сложный и трудоемкий процесс.
Следует отметить, что отдельные этапы взаимосвязаны, последующие этапы зависят от реализации предшествующих, а после выполнения очередного этапа может потребоваться возврат к предыдущим этапам и поиск их новых решений.
Можно выделить следует этапы подготовки и решения задач на ЭВМ.
Первый этап. Постановка задачи – четка формулировка задачи пользователем, выделение исходных данных для решения и точные указания относительно того, какие результаты и в каком виде должны быть получены.
Второй этап. Математическая формулировка задачи – формальная постановка задачи, т.е. представление ее в виде уравнений, соотношений, ограничений и т.п. При этом некоторые задачи, решаемые в настоящее время на ЭВМ, либо не допускают, либо не требуют математической постановки (например, задачи обработки текстов).
Третий этап. Выбор метода решения. Он определяется решаемой задачей, а также возможностями ЭВМ (ее быстродействием, памятью). Выполнение этого этапа требует некоторого кругозора как области программирования, так и в области используемых методов.
Четвертый этап. Разработка алгоритма на основе выбранного метода. При выборе алгоритма желательно рассмотреть и проанализировать несколько вариантов, прежде чем сделать окончательный выбор. Следует обратить внимание на тесную взаимосвязь третьего и четвертого этапов, т.к. алгоритм в большей степени определяется выбранным методом, хотя один и этот же метод может быть реализован при помощи различных алгоритмов.
Пятый этап. – выбор структуры данных. От выбора способа представления данных. От выбора способа представления данных зависит и алгоритм их обработки. Поэтому пятый и четвертый этап взаимосвязаны. Нужно выбирать структуру данных наиболее естественную для решаемой задачи, использовать массивы для представления данных, когда это наиболее очевидный способ их организации.
Шестой этап – собственно программирование, т.е. запись разработанного алгоритма на языке программирования. Если разработка алгоритма выполнена хорошо, это программирование принципиальных трудностей не встречает.
Однако можно высказать рекомендации по составлению программы, которые облегчат ее отладку и дальнейшее использование:
– программа должна быть универсальной, т.е. не зависящей от конкретного набора данных. Если данные представлены в виде массивов, то в качестве исходных данных следует рассматривать не только сами данные, но и их количество, для того чтобы одна и та же программа могла быть использована для обработки массивов разных размеров. Универсальная программа должна обрабатывать и вырожденные случаи (например, когда число элементов массива равно 0 или 1, нужно печатать сообщение об ошибке, если размер массива превысил допустимое значение);
– вместо констант следует использовать переменные. Если в программе используются константы, то при их измерении нужно изменять в исходной программе каждый оператор содержащий прежнюю константу. Эта процедура отнимает много времени и часто вызывает ошибки.
– некоторые простые приемы позволяют повысить эффективность программы, т.е. уменьшить количество выполняемых операций и время работы программы. К таким приема относятся:
-
- Использование операции умножения вместо возведения в степень для низких степеней выполняется быстрее, например Х • Х • Х вместо Х3;
- Арифметическое выражение которое несколько раз вычисляется в программе с одними и теми же данными, лучше вычислять один раз и присвоить его значение переменной, которую и использовать везде вместо арифметического выражения;
- При организации циклов в качестве границ индексов использовать переменные, а не выражения, которые вычислялись бы при каждом прохождении цикла;
- Особое внимание обратить на организацию циклов, убрав из них все повторяющиеся с одинаковыми данными вычисления и выполнения их до входа в цикл.
– Программа должна содержать комментарии, позволяющие легко проследить за логической взаимосвязью и функциями отдельных ее частей. При написании программы следует заботиться о ее структуре так, чтобы программа была удобочитаемой.
Седьмой этап –тестирование и отладка программы, т.е. проверка правильности работы программы и исправление обнаруженных ошибок. Для выполнения тестирования необходимо подготовить тексты. Текст - это специально подобранные исходные данные в совокупности с теми результатами, которые должна выдавать программа при обработке этих данных.
Восьмой этап – счет по готовой программе и анализ результатов.