Задача
Задача
Решение задач на ЭВМ
Решение задач должно начинаться с их точной постановки. Постановка задач - это четкое выделение того, что требуется, и того, что дано:
Постановка
требуется? дано?
Следующий этап - определение способа решения задачи. Способ решения - это набор действий, позволяющих получить требуемое из исходного:
Решение ^ Задача.^
исходное —> способ —> результаты
Результат правильный, если он отвечает требованиям. Получение результатов - главное в решении любых задач. Отсутствие или неправильность результатов говорит о неуспехе деятельности.
Результат неправильный, если он не соответствует требованиям. Однако при отсутствии четких требований невозможно однозначно судить о правильности или неправильности результатов.
При решении на ЭВМ постановка задач предполагает представление требуемого и исходного в виде данных. Способы решения задач на ЭВМ в такой постановке должны быть представлены соответствующими алгоритмами и программами обработки данных.
|
|
Решение на ЭВМ
I
данные —> ЭВМ —> результаты
При отсутствии готовых программ для решения задач возникает проблема создания соответствующих алгоритмов и программ. В любом случае необходимо подобрать и определить способы, методы и средства для решения поставленных задач.
Систематический подход к составлению программ предполагает в качесте первого этапа составление спецификаций - описаний форм ввода и хранения данных в ЭВМ, а также получения и вывода результатов. Эти спецификации в дальнейшем будут использоваться для оценки правильности созданных программ.
Для диалоговых программ в роли таких спецификаций выступают сценарии диалога -полные описания результатов и правил работы с ЭВМ при решении поставленных задач. Только после создания таких спецификаций должны составляться соответствующие им алгоритмы и программы.
Составление программ задача -> способы
4, I
сценарий -» алгоритмы
4, i
ЭВМ <— программа
Приведенная схема представляет основной принцип систематических методов составления алгоритмов и программ для решения различных прикладных задач - экономических, математических, физических, инженерных и т. д.
Особенностью систематических методов является возможность полного устранения ошибок из алгоритмов и программ. При этом подходе программы сверяются с описаниями алгоритмов, а алгоритмы - с описаниями сценариев и методов решения.
Такой систематический подход к составлению алгоритмов и программ может применяться к решению на ЭВМ любых прикладных задач с использованием самых различных языков программирования - Бейсик, Паскаль, Си и им подобные. Приведем примеры систематического решения задач.
|
|
Первая задача: подсчет площади треугольника по длинам сторон.
Постановка
Дано: а, Ь, с - длины сторон, Треб.: S - площадь треугольника, При:Г а > 0, b > 0, с > О,
1 а < b +c, b < a + c, c < a + b.
с
Сценарий
площадь треугольника длины сторон:
а =? <а>
b =? <b>
с =? <с>
а)-(рр = (а + b + с)/2 |
Метод решения S = д/р • (р
Ь) - (р - с)
площадь = <S>
недопустимы длины
Обратите внимание: в постановке задачи в исходные условия включены ситуации, когда решение может не существовать. А именно, здесь указаны три неравенства треугольника и усло-вия положительности длин сторон. При нарушении этих условий треугольника просто не сущест-вует и тем более нельзя говорить о его площади.
Для надежности программ такого рода ситуации (когда нет решений) должны быть пре-дусмотрены в сценарии диалога. В этих случаях в сценарий необходимо включить сообщения с диагностикой причин отказов: отсутствие решений, недопустимость данных, некорректность ко-манд, противоречивость фактов и т. п.
Алгоритм
алг «площадь треугольника»