Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




¯

данные ® ЭВМ ® результаты

 

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

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

Для диалоговых программ в роли таких спецификаций выступают сценарии диалога - полные описания результатов и правил работы с ЭВМ при решении поставленных задач. Только после создания таких спецификаций должны составляться соответствующие им алгоритмы и программы.

 

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

задача ® способы

¯ ¯

сценарий ® алгоритмы

¯ ¯

ЭВМ программа

 

Приведенная схема представляет основной принцип систематических методов составления алгоритмов и программ для решения различных прикладных задач - экономических, математических, физических, инженерных и т. д.

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

Такой систематический подход к составлению алгоритмов и программ может применяться к решению на ЭВМ любых прикладных задач с использованием самых различных языков программирования - Бейсик, Паскаль, Си и им подобные. Приведем примеры систематического решения задач.

Первая задача: подсчет площади треугольника по длинам сторон.

 

a b

 

c

Постановка Сценарий

Дано: а, b, с - длины сторон, площадь треугольника

Треб.: S - площадь треугольника, длины сторон:

При: а > 0, b > 0, с > 0, а =? <а>

a < b +c, b < a + c, c < a + b. b =? <b>

с =? <с>

           
     
 


Метод решения площадь = <S>

S = недопустимы длины

р = (а + b + с)/2

 

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

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

 

Алгоритм Программа

алг «площадь треугольника» ' площадь треугольника

нач cls

вывод («площадь треугольника»)? «площадь треугольника»

вывод («длины сторон:»)? «длины сторон:»

запрос («а=», a) input «a=», a

запрос («b=», b) inpnt «b=», b

запрос («с=», с) input «c=», c

если не (а > 0 и b > 0 и с > 0) то if a<=0 or b<=0 or c<=0 then

вывод («недопустимы длины»)? «недопустимы длины»

инеc не (а < b + с и b < а + elseif not (a < b+ с and b < а + с

+с и с<а+b)то and с < а + b) then

вывод («недопустимы длины»)? «недопустимы длины»

иначе else

р:= (а + b + с)/2 р = (а+ b +с)/2

S := S = sqr (p*(p-a)*(p-b)*(p-c))

вывод («площадь=», S)? «площадь=», S

все end if

кон end

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

В общем случае математическая постановка задач должна содержать не только условия допустимости данных, но и точное описание требований к результатам:

1) дано: перечень исходных данных;

2) треб: перечень требуемых данных;

3) где: требования к результатам;

4) при: условия допустимости данных.

Вторая задача: определение среднего арифметического последовательности из N чисел х1, х2,..., хN. Приведем постановку, метод решения и сценарий диалога для решения этой задачи.

 

Постановка задачиСценарий

Дано: N - количество чисел, среднее N чисел

x1, х2,.., хN - числа, чисел =? <N>

Треб.: s - среднее N чисел. *

Где: s = (х1, + х2 +...+ хN)/ N. 1: <х1>

При: N > 0. 2: <х2>

………..

Метод решения N: <хN>

               
       
 
 
 


S0 = 0 среднее = <s>

Sk = Sk-1 + хk

[k = 1,..., N] недопустимо N

s = SN / N

 

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

Приведем алгоритм и программу обработки данных, составленные в точном соответствии с выбранным сценарием и методом решения:

 

АлгоритмПрограмма

алг «среднее арифметическое» ' среднее арифметическое

нач cls

вывод («среднее N чисел»)? «среднее N чисел»

запрос («чисел=», N) input «чисел=», N

S:= 0 S = 0

если N <= 0 то if N <= 0 then

вывод («недопустимо N»)? «недопустимо N»

инеc N > 0 то elseif N > 0 then

от k = 1 до N цикл for k = 1 to N

вывод (k, «:»)? k, «:»

запрос (x) input x

S:= S + x S = S + x

кцикл next k

s:= S/N s = S/N

вывод («среднее =», s)? «среднее=», s

все end if

кон end

 

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

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

Третья задача: определение самого легкого из учеников по данным из таблицы, содержащей N строк:




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 361; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.