Вопрос по информатике:
Дана программа, решающая некоторую задачу. В программе имеются синтаксические ошибки и пропуски. Необходимо исправить ошибки и заполнить пропуски. Предложить систему тестов для проверки работоспособности программы. Найти 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.
- 02.02.2018 04:13
- Информатика
- remove_red_eye 10225
- thumb_up 29
Ответы и объяснения 1
Все написано правильно, пропуски только в операторе 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 = 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)
- 03.02.2018 06:30
- thumb_up 22
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.