Укажите все условные операторы, записанные в полной форме. 1. if x y then x:=y else y:=x; 2. if x=y then write ('равны') else write ('не равны'); 3. if x>y then x:=y else y:=x; 4. if x<>y then begin x:=0; y:=0; end;
похоже на условный оператор if. Однако в случае циклических операторов их тела могут выполняться далеко не один раз. В случае if, если логическое выражение в заголовке возвращает истину, то тело выполняется единожды. После этого поток выполнения программы возвращается в основную ветку и выполняет следующие выражения, расположенные ниже всей конструкции условного оператора.
В случае while, после того как его тело выполнено, поток возвращается к заголовку цикла и снова проверяет условие. Если логическое выражение возвращает истину, то тело снова выполняется. Потом снова возвращаемся к заголовку и так далее.
Цикл завершает свою работу только тогда, когда логическое выражение в заголовке возвращает ложь, то есть условие выполнения цикла больше не соблюдается. После этого поток выполнения перемещается к выражениям, расположенным ниже всего цикла. Говорят, "происходит выход из цикла".
Понятно, что тут нужен цикл для суммирования четырех членов вида
A²ˣ⁺¹ / [(2*х+1)*B²ˣ], х = 1, 2, 3, 4 и тут есть два варианта. Первый - считать, как написано. И на сегодня это правильный вариант, поскольку видна исходная формула. Второй - завести две добавочные переменные, в одну поместить A³, во вторую В². А затем получать следующие степени, домножая каждый раз на А² и В соответственно. Но это растянет программу и скроет исходную формулу от восприятия, что затруднит поиск ошибок. К счастью, современная версия языка Pascal - PascalABC.NET - обзавелась операцией возведения в степень и на ней прграмма будет выглядеть очень просто.
похоже на условный оператор if. Однако в случае циклических операторов их тела могут выполняться далеко не один раз. В случае if, если логическое выражение в заголовке возвращает истину, то тело выполняется единожды. После этого поток выполнения программы возвращается в основную ветку и выполняет следующие выражения, расположенные ниже всей конструкции условного оператора.
В случае while, после того как его тело выполнено, поток возвращается к заголовку цикла и снова проверяет условие. Если логическое выражение возвращает истину, то тело снова выполняется. Потом снова возвращаемся к заголовку и так далее.
Цикл завершает свою работу только тогда, когда логическое выражение в заголовке возвращает ложь, то есть условие выполнения цикла больше не соблюдается. После этого поток выполнения перемещается к выражениям, расположенным ниже всего цикла. Говорят, "происходит выход из цикла".
Понятно, что тут нужен цикл для суммирования четырех членов вида
A²ˣ⁺¹ / [(2*х+1)*B²ˣ], х = 1, 2, 3, 4 и тут есть два варианта. Первый - считать, как написано. И на сегодня это правильный вариант, поскольку видна исходная формула. Второй - завести две добавочные переменные, в одну поместить A³, во вторую В². А затем получать следующие степени, домножая каждый раз на А² и В соответственно. Но это растянет программу и скроет исходную формулу от восприятия, что затруднит поиск ошибок. К счастью, современная версия языка Pascal - PascalABC.NET - обзавелась операцией возведения в степень и на ней прграмма будет выглядеть очень просто.
===== PascalABC.NET =====
begin
var (a, b) := ReadReal2('Введите А и В:');
var y := SeqGen(4, x -> A ** (2 * x + 1) /
((2 * x + 1) * B ** (2 * x)), 1).Sum;
y.Println
end.