• Дана программа, решающая некоторую задачу. В программе имеются синтаксические ошибки и пропуски. Необходимо исправить ошибки и заполнить пропуски. Предложить систему тестов для проверки работоспособности программы. Найти max{min(a, b), min(c, d)}.

    var a, b, c, d, m, m1, m2: real;
    begin
    write('Введите четыре числа:')
    readln(a, b, c, d);
    if a if c if m writeln('Максимальный из минимальных элементов: ', m2:7:2)
    end.

Ответы 2

  • А где "система тестов"?
  • Все написано правильно, пропуски только в операторе if.if (a < b) then (m1 := a) else (m1 := b);if (c < d) then (m2 := c) else (m2 := d);if (m1 > m2) them (m := m1) else (m := m2);writeln ('Максимальный из минимальных элементов: ', m:7:2);end.Для тестирования можно взять разные варианты:1) a = 2, b = -2, c = 10, d = -3 (m1 = b = -2, m2 = d = -3, m = m1 = -2)2) a = 6, b = 6, c = 3, d = 4 (m1 = b = 6, m2 = c = 3, m = m1 = 6)Почему m1 = b, а не = а? Потому что в программе строгое неравенство.Если a < b, то m1 = a, если же a >= b, то m1 = b.Хотя для нас это все равно, получаем в итоге одно и тоже число.3) a = -7, b = -5, c = 8, d = 8 (m1 = a = -7, m2 = d = 8, m = m2 = 8)4) a = 0, b = 0, c = 0, d = 0 (m1 = b = 0, m2 = d = 0, m = m2 = 0)
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years