Процесс решения задач на компьютере – это совместная деятельность человека и ЭВМ. Этот процесс можно представить в виде нескольких последовательных этапов. На долю человека приходятся этапы, связанные с творческой деятельностью – постановкой, алгоритмизацией, программированием задач и анализом результатов, а на долю компьютера – этапы обработки информации в соответствии с разработанным алгоритмом.
I. Постановка задачи.
Определяется цель задачи, даётся словесное описание содержания задачи и предлагается общий подход к её решению.
II. Математическое или информационное моделирование.
Цель этого этапа – создать такую математическую модель решаемой задачи, которая может быть реализована на компьютере. Иногда математическая постановка сводится к простому перечислению формул.
III. Алгоритмизация задачи.
На основе математического описания разрабатывается алгоритм решения.
IV. Программирование.
Программа – план действий, подлежащих выполнению некоторым исполнителем, например, компьютером.
V. Ввод программы и исходных данных в ЭВМ.
VI. Тестирование и отладка программы.
На этом этапе происходит исполнение алгоритма с помощью ЭВМ, поиск и исключение ошибок.
VII. Исполнение отлаженной программы и анализ результатов.
Для каждой задачи должны быть записаны:
1. Условие.
2. Переменные, используемые в программе с необходимыми пояснениями.
3. Математическое решение задачи.
4. Схема алгоритма.
5. Программа.
Алгоритмы
Алгоритм – точное предписание исполнителю выполнить последовательность действий, направленных на решение данной задачи.
Свойства алгоритма:
1. Однозначность, т.е. единственность толкования правил выполнения действий и порядка их выполнения.
2. Конечность, т.е. обязательность завершения каждого из действий, составляющих алгоритм, и завершаемость выполнения алгоритма в целом.
3. Результативность: выполнение алгоритма должно завершаться получением определённых результатов.
4. Массовость, т.е. возможность применения данного алгоритма для решения целого класса задач, отвечающих общей постановки задачи.
5. Правильность, т.е. способность алгоритма давать правильные результаты решения.