<em>1a)</em>
(-3-7)/(-1)+1 = <u>11 раз</u> выполнится цикл. Стандартная формула вычисления числа шагов.
<em>1b)
</em>Тут k меняется от 0 с шагом 4 до 14 (15 уже нельзя). По той же формуле:
(14-0)/4+1 = 3+1 = <u>4 раза</u> (деление мы выполняем нацело).
<em>1c)</em>
k присваивается значение 10, затем оно уменьшается на 1 (теперь k=9) и проверяется условие завершения цикла k>2.
Условие завершения истинно, поэтому цикл будет выполнен <u>1 раз</u>.
<em>2a)</em>
До входа в цикл s=0, а при каждом проходе по циклу s увеличивается на 1, если выполняется некое условие, т.е. s - это счетчик, значение которого выводится после окончания цикла.
Условие k mod 7 = 0 сообщает нам, что именно подсчитывается: сколько раз k будет делится на 7 без остатка. Значение k изменяется от 1 до 27 и легко найти на этом интервале все числа, кратные 7, если вспомнить таблицу умножения: 7, 14, 21.
Следовательно, будет выведено число <u>3</u>.
<em>2b)</em>
Здесь так же s=0 перед входом в цикл, но в теле цикла s увеличивается уже не на 1, а на k, т.е. это накопление суммы некоторых k. Первоначально k=1, а затем оно с шагом 4 растет, пока остается меньше 18, т.е k = 1, 5, 9, 13, 17. Сумма этих чисел и будет накоплена в s, так что s = 1+5+9+13+17 = <u>45</u>
<em>2с)</em>
Здесь выводится значение p. Перед входом в цикл ему присваивается уже не 0, а 1, так что тут "запахло" произведением, а не суммой. И действительно, в теле цикла p домножается на k, т.е. это произведение неких k. Посмотрим, каких именно.
Первоначально k=0. Входим в цикл, он типа repeat, поэтому входим, не думая. Первое же умножение p на 0 даст 0 и дальше уже нечего
думать: сколько не умножай, ноль нулем и останется. Так и будет выведено число <u>0</u>.
1. Можно осуществить обмен через операции сложение и вычитания, произведения и деления.
Например:
x:=x+y
y:=x-y
x:=x-y
2. Из недостатков вижу только то, что происходя вычисления а не только присваивания.
3. Если используется алгоритм со сложением и вычитанием, то его можно применять для вещественных чисел.
Вот.
В FCEditor удобно делать.
1 Кб = 1024 б
1/2 Кб = 512 б
Dim a(5,5)
print "введите элементы матрицы:"
for i = 1 to 5
for j = 1 to 5
input a(i,j)
next j
next i
sg=0
sp=0
for i = 1 to 5
sg = sg + a(i,i)
sp = sp +a(i, 5-i+1)
next i
print "сумма элементов главной диагонали ="; sg
print "сумма элементов побочной диагонали ="; sр