Этапы решения задачи
1. Постановка задачи
2. Формализация задачи (перевод в формулы, уравнения)
3. Построение алгоритма
4. Составление программы на ЯП
5. Отладка и тестирование программы
6. Проведение расчетов и анализ полученных результатов
Алгоритм – это свод конечного числа правил, задающих последовательность выполнения операций при решении задачи.
Особенности алгоритма
Конечность- любой алгоритм должен приводить к цели за конечное число шагов (e.g. исключаются бесконечные циклы);
Определенность – каждый шаг алгоритма должен быть точно и недвусмысленно определен;
Алгоритм имеет некоторое количество входных данных;
Алгоритм обязательно имеет от 1 до нескольких выходных данных;
Эффективность – операции можно выполнить точно и за конечный отрезок времени;
Способы представления алгоритмов
Словесный
Блок-схема
Псевдокод
Программирование
Виды алгоритмических конструкций
линейные
разветвлённые
циклы
Алгоритм Евклида
Задача: даны два целых положительных числа m и n. Требуется найти их наибольший общий делитель, т.е. наибольшее целое положительное число, которое нацело делит оба числа m и n.
E1. [Нахождение остатка] Разделим m на n, и пусть остаток от деления будет равен r (где 0<=r<n).
E2. [Сравнение с нулем] Если r=0, то выполнение алгоритма прекращается; n – искомое значение.
E3. [Замещение] Присвоить m:=n, n:=r и вернуться к шагу E1.