114
3) тест3 (проверка граничных ситуаций):
Иванов
начальник
2000
Петров
сотрудник
2000
Независимо от языка программирования и способа ввода-вывода данных отсутствие каких
бы то ни было ответов - есть «отказ», вывод избыточных данных или неполные данные - есть
«сбой», неправильный список - есть неправильный результат решения.
Правильными ответами с точностью до формулировок в этой задаче являются:
ответ1 (основной случай):
Иванов
начальник
2500
ответ2 (частный случай):
«никто не получает зарплату выше средней»
ответ3 (граничный случай):
«никто не получает зарплату выше средней»
Приведем правильное решение поставленной задачи в форме программы на языке Basic, в
которой исходные данные записываются в списке операторов data. Разработку приводимой ниже
программы проведем, начиная с составления сценария, в котором учитываются все ситуации и ча-
стные случаи постановки задачи.
Сценарий
список сотрудников:
<фамилия> <долж> <з/плата> *
средняя з/плата = <среднее>
з/плата выше средней:
<фамилия> <з/плата>
*
не получает никто
Программа
Алгоритм
' выше средней з/платы
алг «выше средней з/платы
сls
нач
? «сотрудники:»
вывод «сотрудники:»
do
цикл
read Hn$, dl$, zp
чтение fm$, dl$, zp
if fm$=«» then exit do
если fm$=«» то выход
? fm$, dl$, zp
вывод fm$, dl$, zp
sum = sum + zp
sum = sum + zp
n = n + 1
n = n + 1
loop
кцикл
sr = sum/n
sr = sum/n
? «средняя з/плата=»; sr
вывод («средняя 3/nлama=»;sr)
? «з/плата выше средней:»
вывод(«з/плата выше средней:»)
restore zplts
перезагрузка данных
|