Арифметические выражения записываются по следующим правилам:
Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.
Индексы элементов массивов записываются в квадратных (школьный АЯ, Pascal) или круглых (Basic) скобках.
Для обозначения переменных используются буквы латинского алфавита.
Операции выполняются в порядке старшинства: сначала вычисление функций, затем возведение в степень, потом умножение и деление и в последнюю очередь — сложение и вычитание.
Операции одного старшинства выполняются слева направо. Однако, в школьном АЯ есть одно исключение из этого правила: операции возведения в степень выполняются справа налево. Так, выражение 2**(3**2) в школьном АЯ вычисляется как 2**(3**2) = 512. В языке QBasic аналогичное выражение 2^3^2 вычисляется как (2^3)^2 = 64. А в языке Pascal вообще не предусмотрена операция возведения в степень, в Pascal x^y записывается как exp(y*ln(x)), а x^y^z как exp(exp(z*ln(y))*ln(x)).
Похожая на задачу программа, только теперь у нас проверяется другое условие (s+n < 100), что вроде как считается более сложным. Но здесь ничего сложного нет, здесь проще всего сделать своеобразную трассировочную таблицу.
Изначально s = 0, n = 40.
Пойдем по порядку, 1 итерация, s = 25, n = 35, 25 + 35 = 60, 60 у нас меньше 100, значит цикл выполняется еще раз.
2 итерация, s = 50, n = 30, 50 + 30 = 80, 80 меньше 100, цикл снова выполняется.
3 итерация, s = 75, n = 25, 75 + 25 = 100, 100 не меньше 100, следовательно, цикл останавливается, s у нас равна 75, это и будет нашим ответом.
Арифметические выражения записываются по следующим правилам:
Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.
Индексы элементов массивов записываются в квадратных (школьный АЯ, Pascal) или круглых (Basic) скобках.
Для обозначения переменных используются буквы латинского алфавита.
Операции выполняются в порядке старшинства: сначала вычисление функций, затем возведение в степень, потом умножение и деление и в последнюю очередь — сложение и вычитание.
Операции одного старшинства выполняются слева направо. Однако, в школьном АЯ есть одно исключение из этого правила: операции возведения в степень выполняются справа налево. Так, выражение 2**(3**2) в школьном АЯ вычисляется как 2**(3**2) = 512. В языке QBasic аналогичное выражение 2^3^2 вычисляется как (2^3)^2 = 64. А в языке Pascal вообще не предусмотрена операция возведения в степень, в Pascal x^y записывается как exp(y*ln(x)), а x^y^z как exp(exp(z*ln(y))*ln(x)).
Удачи!Похожая на задачу программа, только теперь у нас проверяется другое условие (s+n < 100), что вроде как считается более сложным. Но здесь ничего сложного нет, здесь проще всего сделать своеобразную трассировочную таблицу.
Изначально s = 0, n = 40.
Пойдем по порядку, 1 итерация, s = 25, n = 35, 25 + 35 = 60, 60 у нас меньше 100, значит цикл выполняется еще раз.
2 итерация, s = 50, n = 30, 50 + 30 = 80, 80 меньше 100, цикл снова выполняется.
3 итерация, s = 75, n = 25, 75 + 25 = 100, 100 не меньше 100, следовательно, цикл останавливается, s у нас равна 75, это и будет нашим ответом.
ответ: s = 75