?>
1. Определите значение переменной a после выполнения фрагмента программы a := 10; if a > 5 then a := a + 10 else a := a - 3; if a b then M := a else M := b; if c > b then M := c else M := b; При каких наборах значений a, b, c эта программа работает неверно? 1 a = 3; b = 2; c = 1 2 a = 2; b = 1; c = 3 3 a = 1; b = 2; c = 3 4 a = 2; b = 3; c = 1 5 a = 1; b = 3; c = 2 6 a = 3; b = 1; c = 2 3. Какое число нужно записать вместо многоточия, чтобы в результате работы фрагмента программы были напечатаны ровно четыре звездочки? x:=...; while x < 9 do begin writeln('*'); x := x + 1; end; 4. С цикла for вычислите значение выражения 2*3 + 3*4 + ... + 39*40 5. Сколько ячеек памяти будет отведено для хранения массива A, заданного таким образом? var A: array[-7..7] of integer; 6. Массив из десяти элементов заполнили, а потом изменили. Чему будет равна сумма значений элементов массива после выполнения фрагмента программы? for i := 1 to 10 do A[i]:=i; for i := 2 to 10 do A[i]:= A[i - 1]; 7. Программист написал программу, вычисляющую сумму элементов массива A, десятичная запись которых заканчивается на 6. Какое условие он записал вместо многоточия? s := 0; for i := 1 to n do begin if ... then s:= s + A[i] end;
Ответы
х=7690 - условие
var x, L, M: integer;
begin readln(x);
L:=0;
M:=0;
while x > 0 do begin
1) L:= L + 1 = 1;
M:= M + x mod 10 = 0;
x:= x div 10 = 7 69;
2) L:= L + 1 = 2;
M:= M + x mod 10 = 9;
x:= x div 10 = 7 6;
3) L:= L + 1 = 3;
M:= M + x mod 10 = 15;
x:= x div 10 = 7 ;
4) L:= L + 1 = 4;
M:= M + x mod 10 = 22;
x:= x div 10 = 0;
end;
writeln(L);
write(M);
end.
L = 4; M = 22
Объяснение:
1)L:= L + 1 = 0 + 1 = 1;
M:= M + x mod 10 = 0 + 0 (остаток) = 0;
x:= x div 10 = 7690 : 10 = 769 (остаток 0 здесь не пишется);
2)L:= L + 1 = 1 + 1 = 2;
M:= M + x mod 10 = 0 + 9 (остаток) = 9;
x:= x div 10 = 769 : 10 = 76 (остаток 9 здесь не пишется);
3)L:= L + 1 = 2 + 1 = 3;
M:= M + x mod 10 = 9 + 6 (остаток) = 15;
x:= x div 10 = 76 : 10 = 7 (остаток 6 здесь не пишется);
4)L:= L + 1 = 3 + 1 = 4;
M:= M + x mod 10 = 15 + 7 (остаток) = 22;
x:= x div 10 = 7 : 10 = 0 (остаток 7 здесь не пишется);