Дан алгоритм программы, объясните пожалуйста по возможности подробней для чего предназначена эта программа (она находит площадь какой-то фигуры-это единственное что мне известно). Мне не понятно как она вычисляет площадь (по какому принципу), что это за значения a, b и Q (почему вначале такое условие что а>Q*Q???). Может это величины сторон фигуры? но какой?
Эскизы прикрепленных изображений
оригинальное условие: abs(Q)>0
if StrToInt(BoolToStr(flag))=-1 then
if flag then
этот алгоритм нужно протестировать по методу "черного ящика". для этого нужно выделить правильные и неправильные классы эквивалентности (правильные, неправильные данные). я не могу этого сделать не поняв алгоритм. Поэтому я и прошу разъяснить мне, если кто понимает
Добавлено через 2 мин.
а дисциплина называется технология программирования
Ну почти угадала.
Какая тебе разница, ЧТО программа считает? Думаю, что ничего конкретного (потому что при подсчете площади явное присваивание конкретного значения, не зависящего от параметров, выглядит странно).
Обычно для таких заданий дают алгоритмы, не предназначенные для решения конкретной задачи.
Мы в прошлом году подобное делали, формулировка задания была такой:
но как же мне тогда понять какие входные значения правильные, а какие нет?
Я так понимаю, неправильные - это те, которые приводят в блок S -?
Н-дааа, задачка презабавненькая.. Тот, кто сочинял ее, откровенно развлекался . Я извиняюсь за встревание в давно утихший спор, но у меня есть два соображения..
1. Если считать, что сведения о том, что алгоритм вычисляет площадь - это часть условия, то единственный разумный кандидат на это действие есть S=a*Q (a и Q - стороны прямоугольника, скажем, или сторона и высота). Остальные как-то не проходят на эту роль.. Если так, то "правильные" данные должны приводить в этот блок. Тогда "правильными" нужно считать нечто вроде:
(a <= Q*Q) and ((a<=b) or (Q=0))
2. Задача находится в неподобающем разделе.
М | Переношу в Алгоритмы |