Определите значение s после выполнения следующих операторов. s1: =0; i: =1; repeat s1: =s1+i*i; i: =i-1 until i< =1; s2: =1; n: =1; for i: =2 to n do s2: =s2+5*i; s: =s1+s2;

aliko705 aliko705    3   10.06.2019 09:00    3

Ответы

s = 2.

Объяснение:

Чтобы было удобнее ориентироваться, прикреплю скрин с кодом и буду комментировать каждую строку.

Нумерация - номер строки на скрине.

Значение переменной буду выделять жирным курсивом, комментарии курсивом.

Идем по строкам.

1. Переменной "s1" присваивается значение "0".

s1:=0;

2. Переменной "i" присваивается значение "1".

i:=1;

3. Начинается цикл с постусловием (Repeat-Until). Его особенности:

Выполняется до тех пор, пока условие (until...) ложно.Сначала выполняется цикл и только после этого проверяется условие. То есть даже если условие ложно, то цикл выполнится хотя бы один раз.

Заходим в цикл.

4. Переменной "s1" присваивается выражение:"s1+i*i". Так как нам известны значения всех переменных, подставим их в выражение:

s1:=0+1*1.

Посчитав, получим:

s1:=1.

5. Переменной "i" присваивается значение "i-1". Считаем:

i:=1-1.

i:=0.

6. Дошли до проверки истинности условия.

Для удобства переведем данную конструкцию на алгоритмический язык:

Повторять

...

Пока i <=1.

Понимаем, что цикл "Repeat-Until" будет выполняться, пока условие "i<=1" ложно.

Так как нам известно значение переменной "i", проверим истинность условия:

0<=1.

Так как ноль меньше единицы, то данное условие истинное, следовательно выполнять цикл еще раз не нужно.

7. Переменной "s2" присваивается значение "1".

s2:=1.

8. Переменной "n" присваивается значение "1"

n:=1.

9. Дошли до цикла "For". Данный цикл выполняется до тех пор, пока значение счетчика не достигло заданного максимального значения.

В нашем случае счетчик начинается с двух и цикл должен выполняться до тех пор, пока значение переменной "i" не станет равно значению переменной "n".

Запишем для наглядности на алгоритмическом языке:

Для i = 2 до 1 делать...

Понимаем, что значение переменной "i" уже больше значения переменной "n", поэтому цикл For выполняться не будет.

10. Переменной "s" присваиваем значение выражения "s1+s2". Считаем:

s:=1+1.

Итого получаем:

s:=2.

Что и является ответом.


Определите значение s после выполнения следующих операторов. s1: =0; i: =1; repeat s1: =s1+i*i; i: =
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика