Основные темы: - этапы решения расчетнойзадачи на компьютере;
- программирование цикла на Паскале;
- что такое отладка и тестирование программы.
Вы научились составлять линейные и ветвлящиеся программы на Паскале. Теперь нужно освоить программирование циклов. Снова будем учиться на примере конкретной задачи. Но, в отличие от предыдущих примеров, подход к ее решению будет несколько другим.
Этапы решения расчетной задачи на компьютере
Часто задача, которую требуется решить, сформулирована не на математическом языке. Для решения на компьютере ее сначала нужно перевести к форме математической задачи, а потом уже программировать.
Работа по решению таких задач с использованием компьютера проходит через следующие этапы:
- Постановка задачи.
- Математическая формализация.
- Построение алгоритма.
- Составление программы на языке программирования.
- Отладка и тестирование программы.
- Проведение расчетов и анализа полученных результатов
Эту последовательность называют технлогией решения задач на компьютере. На этапе постановки задачи должно быть четко определено, что дано и что требуется найти. Второй этап - математическая формализация. Здесь задача переводится на язык математических формул, уравнений, отношений. Далеко не всегда эти формулы очевидны. Нередко их приходитсявыводить самому или отыскивать в специальной литературе. Если решение задачи требует математического описания какого-то реального объекта, явления или процесса, то формализация равносильна получению соответствующей математической модели. Третий этап - построение алгоритма. Вы знаетет два способа описания алгоритмов: блок-схемы и Алгоритмический язык (АЯ). Первые три этапа - это работа без компьютера. Дальше следует собственно программирование на определенном языке в определенной системе программирования. Последний (шестой) этап - это использование уже разработанной программы в практических целях.
3. Построение алгоритма нахождения факториала числа N.
Поскольку алгоритм должен быть независимым от данного значения N, то его нельзя сделать линейным. Дело в том, что для разных значений N надо выполнять разное число умножений. В таком случае с изменением N линейная программа должна была бы менять длину.
Алгоритм решения данной задачи будет циклическим. С циклическими алгоритмами вы уже познакомились, работая с Роботом.
Цикл - это команда исполнителю многократно повторять указанную последовательность команд.
Применим знакомую вам алгоритмическую структуру "цикл с предусловием". Выполняется она так: пока истьинно условие цикла, повторяется выполнение тела цикла.
Тело цикла составляют две команды присваивания, заключенные между служебными словами нц и кц. Условие цикла - это отношение R<=N.
В данном алгоритме переменная R выполняет роль множителя, значение которого меняется от 1 до N через единицу. Произведение накапливается в переменной F, начальное значение которой равно 1. Цикл заканчивается, когда R становится равным N+1. Это значение в произведение уже не попадет.
алг факториал
нач цел F,N,R ввод N F:=1 R:=1 пока R<=N, повторять нц F:=F*R R:=R+1 кц вывод F кон
4. Составление программы Чтобы составить программу решения нашей задачи, нужно научиться программировать циклы на Паскале. Основной циклической структурой является цикл с предусловием (цикл-пока). С помощью этой структуры можно постоить любой циклический алгоритм. ОЛператор цикла с предусловием в Паскале имеет следующий формат:
while <выражение> do <оператор>
Служебное слово while означает "пока", do - "делать", "выполнять".
Оператор, стоящий после слова do, называется телом цикла. Тело цикла может быть простым или составным оператором, т.е. последовательностью операторов между служебными словами begin и end.
А теперь запрограммируем на Паскале алгоритм решения нашей задачи6 нахождение значение факториала.
Program Faktorial;
var F,N,R: integer;
begin
write('Введите число N');
readln(N);
F:=1;
R:=1;
while R<=N do
begin
F:=F*R;
R:=R+1;
end;
write(' Факториал числа N равен:',F);
end.
5. Отладка и тестирование программы
Под отладкой программы понимается процесс испытания работы программы и исправления обнаруженных при этом ошибок.
Тест - это конкретный вариант значений исходных данных, для которых известен ожидаемый результат. Прохождение теста - необходимое условие правильности программы.
6. Проведение расчетов и анализ полученных результатов.
|