у меня в коде лазаруса пишет ошибку мол недопустимые значения надо вписать в 1 линию мемо если что это задание на странице 163 інформатика 9клас риквінд. Вот код
procedure TForm1.Button1Click(Sender: TObject);
var a: array [0..7] of integer; i: integer;
begin
For i := 0 to 7 do a[i] := strtoint(memo1.Lines[i]);
for i := 0 to 7 do a[i] := a[i]+i;
Memo2.clear;
For i := 0 to 7 do Memo2.Lines.append(inttostr(a[i]));
end;
буду весьма благодарен за
a) 14
б) 10
Объяснение:
a)
s = 0 m = 5
для i от 2 до m выполнить s = s + i
т.к. m = 5 , то цикл примет вид
для i от 2 до 5 выполнить s = s + i
s = 0
i = 2 s = s + i = 0 + 2 = 2
i = 3 s = s + i = 2 + 3 = 5
i = 4 s = s + i = 5 + 4 = 9
i = 5 s = s + i = 9 + 5 = 14
s = 14
б)
s = 0 i = 5
пока условие i > 0 истинно (да) выполняется цикл
Действия в цикле:
1) i = i - 1
2) s = s + i
s = 0 i = 5
5 > 0 (да) выполняется цикл
Действия в цикле:
1) i = i - 1 = 5 - 1 = 4
2) s = s + i = 0 + 4 = 4
s = 4 i = 4
4 > 0 (да) выполняется цикл
Действия в цикле:
1) i = i - 1 = 4 - 1 = 3
2) s = s + i = 4 + 3 = 7
s = 7 i = 3
3 > 0 (да) выполняется цикл
Действия в цикле:
1) i = i - 1 = 3 - 1 = 2
2) s = s + i = 7 + 2 = 9
s = 9 i = 2
2 > 0 (да) выполняется цикл
Действия в цикле:
1) i = i - 1 = 2 - 1 = 1
2) s = s + i = 9 + 1 = 10
s = 10 i = 1
1 > 0 (да) выполняется цикл
Действия в цикле:
1) i = i - 1 = 1 - 1 = 0
2) s = s + i = 10 + 0 = 10
s = 10 i = 0
0 > 0 (нет) цикл не выполняется
s = 10 i = 0
Примечание:
Если к числу в двоичной системе счисления приписывать в конец цифры, то число увеличивается и никак не может уменьшится. Поэтому, n<f(n). Следовательно, перебор различных чисел, принадлежащих отрезку [90;160], можно смело ставить до 160 (можно и меньше, но лень расписывать вычисления).
ToBinary - функция перевода числа из десятичной СС в двоичную. Можно писать любой алгоритм, необязательно в точности использовать мой.
FromBinary - функция перевода числа из двоичной СС в десятичную. Можно писать любой алгоритм, необязательно в точности использовать мой.
func - функция, которая выполняет преобразования числа согласно условию (пункты 1, 2, 3, 4).
Код кажется большим только из-за процедур и begin/endов. Без них - всего то 7 строчек :). В скринах можно проверить, действительно ли 19 (40-22+1).
Пример работы: