End if end

Input x

Все кон

Нач

Все кон

Нач

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

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

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

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

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

если не (а > 0 и b > 0 и с > 0) то

вывод («недопустимы длины») инеc не (а < b + с и b < а + +с и с<а+b)то


Программа

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

? «площадь треугольника»? «длины сторон:» input «a=», a inpnt «b=», b input «c=», c

if a<=0 or b<=0 or c<=0 then? «недопустимы длины» elseif not (a < b+ с and b < а + с and с < а + b) then



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

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

S := д/ф • ( р

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

? «недопустимы длины» else р = (а+ b +с)/2

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

? «площадь=», S end if end


Рассмотренный пример служит иллюстрацией постановки задачи, в которой выделены как требуемые и исходные данные, так и условия допустимости исходных данных. Такая постановка задачипозволяет заранее выделить все случаи и ситуации недопустимости данных, что в даль-нейшем понадобится при составлении сценария диалога с компьютером. В общем случае математическая постановказадач должна содержать не только условия допустимости данных, но и точное описание требований к результатам: 1) дано:перечень исходных данных; 2) треб:перечень требуемых данных; 3) где:требования к результатам; 4) при:условия допустимости данных. Вторая задача:определение среднего арифметического последовательности из N чисел х1, х2,..., хN.Приведем постановку, метод решения и сценарий диалога для решения этой задачи. Сценарий

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

среднее N чисел чисел =? <N>

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

xi, х2,.., хn - числа, Треб.: s - среднее N чисел.

1: <хi> 2: <х2>

Где: s = (хb + х2 +...+ хN)/ N. При: N > 0.

 
N: <хN>

Метод решения

среднее = <s>
недопустимо N

S0 = 0 Г Sk = Sk-i + хk \ [k = 1,..., N] _ s = SN / N

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

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


Алгоритм

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

вывод («среднее N чисел») запрос («чисел=», N) S:= 0 если N <= 0 то

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

от k = 1 до N цикл вывод (k, «:»)


Программа

' среднее арифметическое cls? «среднее N чисел» input «чисел=», N S = 0 if N <= 0 then

? «недопустимо N» elseif N > 0 then for k = 1 to N? k, «:»



запрос (x)

S:= S + x кцикл s:= S/N вывод («среднее =», s)


S = S + x next k s = S/N? «среднее=», s


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

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

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

фамилияроствес

185
85

Иванов

165
65

Петрова

170
80

Сидоров


Сценарий

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

Данные об учениках фамилия вес
<Fami> <Vi>
 
 
<FаmN> <Vn>

Дано: (D1,..., DN) - данные учеников. где D = [Fam, R,V] - состав данных, Fam - фамилия, R - рост, V -вес Треб.: Famm - фамилия ученика. Где: m: Vm = Min (V1..., VN). При: N > 0.

самый легкий: Fam m > <Vm >

Метод решения

Min (V1,.. Vn):

min = V1

Представление данных dan: 'данные учеников: data «Иванов», «Вова», 180,80 data «»,»»,0,0

от k = 1 до п цикл

если Vk < min то

min: = Vk

кцикл

Выбранному сценарию, методу решения и представлению данных соответствуют следую-щие алгоритм и программа на Бейсике.


Алгоритм

алг «самый легкий ученик»


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow