a = 3, b = 1, c = 2
if a > b (3 > 1): M = a (M = 3, условие сработало - эту ветку выполняем)
else: M = b (условие сработало - эту ветку пропускаем)
if c > b (2 > 1): M = c (M = 2, условие сработало - эту ветку выполняем)
else: M = b (условие сработало - эту ветку пропускаем)
M = 2
if c > M: M = c
a = 3, b = 1, c = 2
if a > b (3 > 1): M = a (M = 3)
else: M = b (условие сработало - эту ветку пропускаем)
if c > M (2 > 3): M = c (условие НЕ сработало - эту ветку пропускаем)
M = 3
Объяснение:
В первой программе сначала сравнивают первое и второе число и переменной М присваивают значение большего из них. Затем сравнивают второе и третье число и переменной М присваивают значение большего из них. Если первое и третье число больше второго числа, то программа выдаёт неверный результат.
Во второй программе сначала сравнивают первое и второе число и переменной М присваивают значение большего из них. Затем сравнивают третье число и переменную М и переменной М присваивают значение третьего числа, если оно больше. Программа выдаёт верный результат.
Поделитесь своими знаниями, ответьте на вопрос:
Разобраться хотя бы пунк а) хочу понять , пробовала но не получилось, как именно написать if =
Допустим, в языке есть встроенная функция
Min(a,b) которая определяет мин из двух значений. Тогда алгоритм выглядит так
х=Мin(a,b);
x=Min(x,c);
А если нужно найти мин из N чисел, которые запрятаны в массив А(n), то так
x=999999999999999999999; // какое-то ОЧЕНЬ большое число
Для ц=1 по N цикл
x = Min(x,A(ц));
КонецЦикла;
А что, если такой функции в языке нет, спросишь ты, тогда её нужно написать самому, например, так
Функция Min(a,b)
Если a<b Тогда
Возврат(а);
Иначе
Возврат(b);
КонецЕсли;
КонецФункции
Вот и всЁ! Учитесь мыслить алгоритмически структурно, разбивая сложный алгоритм на ряд простых и понятных, и всё будет очень просто.
Успехов!