Меню
Видеоучебник
Видеоучебник  /  Информатика  /  10 класс  /  Информатика 10 класс (ФГОС)  /  Пример поэтапной разработки программы решения задачи

Пример поэтапной разработки программы решения задачи

Урок 23. Информатика 10 класс (ФГОС)

На этом уроке подробно изучаются все шесть этапов разработки программы решения задачи: постановка задачи, формализация, анализ математической задачи, построение алгоритма, составление программы и тестирование, а также на отдельном примере рассматривается их практическое применение.
Плеер: YouTube Вконтакте

Конспект урока "Пример поэтапной разработки программы решения задачи"

На этом уроке мы с вами изучим этапы разработки программы решения задачи. А также опишем с их помощью пример.

При решении задачи существует несколько этапов:

1.     Постановка задачи;

2.     Формализация задачи;

3.     Анализ математической задачи;

4.     Построение алгоритма;

5.     Составление программы и тестирование.

Давайте рассмотрим их более подробно на примере следующего равенства:

|a| · x = 3.

a – вводится с клавиатуры.

Начнём с постановки задачи. Нам нужно найти решение равенства, то есть x. Таким образом, на этапе постановки задачи нужно:

·        понять условие задачи;

·        выделить исходные и результирующие данные;

·        понять отношения между ними.

Можно сказать, что нам нужно ответить на вопросы:

·        Что нужно найти по условию задачи? В нашем случае нужно найти x.

·        Что при этом дано? Дано значение a.

·        Чем можно пользоваться при решении задачи? При решении нужно из равенства вывести значение x.

Далее идёт этап формализации задачи. На этом этапе необходимо оформить описательную информационную модель при помощи какого-либо формального языка, чаще всего с помощью математического. То есть, на этом этапе мы должны записать формулы, с помощью которых мы сможем в дальнейшем решить задачу исходя из исходных данных и результата, который необходимо получить. То есть наше x будет равно следующему выражению:

.

После того, как мы записали задачу на математическом языке, нужно её проанализировать. Это нам необходимо для того, чтобы составить правильный алгоритм решения, обладающий всеми свойствами алгоритма.

Рассмотрим, к каким результатам могут привести различные исходные данные переменной a.

Перейдём к этапу построения алгоритма.

Для этого будем использовать блок-схему. Прежде, чем приступить к составлению блок-схемы, давайте вспомним правила:

·        каждая базовая структура должна иметь один вход и один выход;

·        блок-схема должна изображаться при помощи стандартных элементов.

В начале нам нужно нарисовать блок ввода переменной a. Далее идёт проверка a. Если условие a = 0 истинно, то на экран выведем сообщение, что «Нет решений». Если же условие ложно, то снова будет идти блок условия, в котором проверим следующее: a > 0. Если условие истинно, то x = 3/a. Если условие ложно, то x = 3/ (–a). После проверки этого условия будет идти блок вывода значения x. Конец программы.

Алгоритмический язык – это язык описания алгоритмов с русскими служебными словами.

Прежде, чем строить алгоритм на учебном Алгоритмическом языке, вспомним правила:

·        конструкции одного уровня вложенности записываются на одном вертикальном уровне;

·        вложенная конструкция записывается смещённой по строке на несколько позиций вправо относительно внешней для неё конструкции.

Наш алгоритм будет выглядеть следующим образом:

Если обратить внимание. То можно заметить, что наш алгоритм записан по всем правилам как в блок-схеме, так и на алгоритмическом языке, поэтому его чтение не составит труда и не даст возможности запутаться в конструкциях.

После того, как мы с вами записали алгоритм на учебном Алгоритмическом языке, можно приступать непосредственно к составлению программы на языке Pascal. Следует помнить, что при написании программы на языке Pascal необходимо соблюдать такие же правила, как и при записи алгоритма на учебном Алгоритмическом языке.

Запишем следующее:

program prim;

Далее объявим переменные a, x вещественного типа.

begin

Организуем диалог между компьютером и пользователем:

Writeln (‘Введите значение a ');

Считаем её при помощи функции Read и присвоим соответствующей переменной.

Далее идёт первый условный оператор, в котором проверяем следующее: a = 0. Если условие истинно, то запишем вывод на экран сообщения «Нет решений», так как наше неравенство не будет иметь решения.

Если условие ложно, запишем else, а затем открываем и закрываем операторные скобки при помощи служебных слов begin, end. При написании программы если нам необходимо использовать операторные скобки, то лучше всего, после открытия, сразу же закрыть, чтобы в дальнейшем не путаться, так как операторных скобок может быть в программе большое количество.

Итак, если условие ложно, то после слова begin снова будет идти условие, в котором будет проверяться следующее: a > 0.

Если это условие истинно, то x:=3/a. Если же условие a > 0 ложно, то после else x:=3/(–a). Оформим вывод на экран x при помощи функции Write.

Так как у нас операторная скобка уже закрыта, переходим на строку ниже после end.

Завершим программу.

При написании и вводе в компьютер больших программ существует вероятность совершения синтаксических ошибок. Синтаксические ошибки – это ошибки, которые нарушают правила грамматики языка. Соответственно, программисту нужно найти и исправить эти ошибки. Таким образом, отладка – это поиск и устранение синтаксических ошибок. При выполнении программы, если была обнаружена ошибка, система программирования не только выдаст сообщение об ошибке, но и укажет строку, в которой она находится.

Заключительным этапом построения программы решения задачи является тестирование.

Тестирование – это этап, на котором экспериментально доказывается правильность алгоритма, заключённого в программе, и работоспособность программы.

Тест – это вариант решения задачи с заданными исходными данными, для которых известен результат.

Прежде, чем приступать к тестированию, следует составить план. Для ветвящегося алгоритма необходимо проверить все его ветви. Так как у нас 3 ветви, то у нас должно быть как минимум 3 варианта ответа.

Начнём с простого. Если a = 0, то ответом должно быть «Нет решений».

Проверим.

Эта ветвь работает верно.

Далее при a > 0, x = 3/a. Для простоты вычисления возьмём a = 3. То есть x=1.

Проверим.

И снова мы получаем верный результат.

Проверим заключительную ветвь, если a < 0. Снова возьмём для простоты вычислений число –3. Вычислим x: 3/(-(-3)) = 0.

Проверим нашу программу.

Мы получили верный ответ.

При анализе результатов тестирования можно сделать следующий вывод: правильность алгоритма и работоспособность программы доказана.

Пришла пора подвести итоги урока.

Вспомним ещё раз, что в себя включает каждый этап решения задачи.

Итак, на этапе постановки задачи происходит определение исходных данных и искомых результатов.

На этапе формализации происходит переход к задаче обработки некоторой знаковой системы, например, к математической задаче.

При анализе математической задачи необходимо определить все варианты множеств значений исходных данных, а также определить для каждого варианта способ решения и вид выходных данных (результатов).

При построении алгоритма нужно определить структуру алгоритма и последовательности команд. После чего представить алгоритм на каком-либо языке описания алгоритмов. Например, в виде блок-схемы или же на учебном Алгоритмическом языке.

На этапе составления программы происходит запись и отладка программы на языке программирования. Необходимо строго соблюдать правила синтаксиса языка.

И заключительный этап – тестирование. На этом этапе происходит экспериментальное доказательство правильности алгоритма и работоспособности программы. В свою очередь, тест – это варианты решения задачи с заданными исходными данными, для которых известен результат. Так же на этом этапе необходимо построить план тестирования таким образом, чтобы наиболее полно проверить работу программы.

5400

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт