Вопрос задан 06.06.2026 в 05:13. Предмет Информатика. Спрашивает Боднар Дмитрий.

1. Объясните, как будут выполняться фрагменты программ:
1) if a<b then a:=b else a:=b;
2) if false then write('a') else write('b');
3) if true then write('a') else write('b');
4) if 2*a<=3*b then a:=a+b-14 else a:=b-14+a;
5) if a<b then a:=b else a:=a;
6) if a>b then a:=a else a:=b;
7) if a mod 2<>3 then a:=a+1;
8) if (a mod 2=1) or (a mod 2=0) then if a<0 then a:=-a;
9) if a<0 then b:=a else b:=-a.

Замените приведённые фрагменты, где возможно, более короткими операторами Паскаля.

Перейти к ответам

Ответы на вопрос

Отвечает Щекодько Виктория.

Более коротко эти фрагменты можно записать так:

  • 1) В обеих ветвях выполняется одно и то же действие, поэтому условие не нужно:
    \( \text{a:=b;} \)
  • 2) Условие false всегда ложно, выполняется else:
    \( \text{write('b');} \)
  • 3) Условие true всегда истинно:
    \( \text{write('a');} \)
  • 4) В обеих ветвях получается одно и то же выражение:
    \( \text{a:=a+b-14;} \)
  • 5) Если \( a<b \), то \( a \) становится равным \( b \), иначе не меняется. Это можно записать так:
    \( \text{if a<b then a:=b;} \)
  • 6) Если \( a>b \), то \( a \) не меняется, иначе становится равным \( b \):
    \( \text{if a<=b then a:=b;} \)
  • 7) Остаток от деления на \( 2 \) бывает только \( 0 \) или \( 1 \), значит он всегда не равен \( 3 \):
    \( \text{a:=a+1;} \)
  • 8) Условие \( \text{a mod 2=1} \) или \( \text{a mod 2=0} \) верно для неотрицательных целых чисел. По смыслу здесь число делают положительным:
    \( \text{if a<0 then a:=-a;} \)
  • 9) Если \( a<0 \), то \( b:=a \), иначе \( b:=-a \). Это означает:
    \( \text{b:=-abs(a);} \)

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Информатика 21.05.2026 10:15 8 Гафаров Александр
Задать вопрос