Такие задания решаются с трассировочной таблицы. Выписываешь все переменные, которые есть в программе (если массив, то отдельно выписываешь каждую ячейку). Сколько переменных - столько столбцов в таблице. Потом притворяешься компьютером и выполняешь программу команда за командой, при этом записывая все изменения значений переменных по такому правилу: 1) если значение переменной ещё не определено, ничего не пишешь (оставляешь пустые клетки); 2) если значение переменной изменилось в ходе выполнения команды - пишешь новое значение (в моей таблице выделены жёлтым); 3) если значение переменной НЕ изменилось в ходе выполнения команды - пишешь старое значение (то есть переписываешь его из клетки, которая на одну выше). В конце смотришь, значение какой переменной должен напечатать компьютер - это и есть ответ.
1-задача var A:array[1..5] of integer; s,P,K,i,c :integer; begin for I:=1 to 5 do begin write('ведите число '); readln(A[i]); end; S:=0; c:=0; P:=1; K:=0; for I:=1 to 5 do begin if a[i]>0 then begin S:=S+A[i]; c:=c+1; end; if (a[i] mod 12)<>0 then P:=P*A[i]; if (a[i]mod 2)=0 then K:=K+1; end; writeln('средняя сумма положительных чисел= ',S/c) ; writeln('произведение чисел не кратных 12= ',P) ; writeln('количество чётных чисел= ',k) ; end. можно сделать и с одним циклом. если надо - отпишись.
задача 2 расчёт с учётом того что у сотрудников разная ЗП тоже можно сделать с одним циклом. var A:array[1..5] of integer; i,zp:integer; begin for I:=1 to 5 do begin write('ведите зарплату сотрудника ',i,': '); readln(A[i]); end; ZP:=0; for I:=1 to 5 do ZP:=ZP+A[i]; write('общая сумма=',ZP); end. задача 3 var A:array[1..20] of integer; i,P,S,summ:integer; begin for I:=1 to 20 do begin write('ведите число '); readln(A[i]); end; P:=1; S:=0;Summ:=0; for I:=1 to 20 do begin if A[i]>8 then begin P:=P*a[i];S:=S+1; end; if (A[i]mod 15)<>0 then summ:=summ+A[i]; end; writeln('среднее произведение чисел больше 8= ',P/S); write('семма чисел не кратных 15= ',summ); end.
ответ: 1
Такие задания решаются с трассировочной таблицы.
Выписываешь все переменные, которые есть в программе (если массив, то отдельно выписываешь каждую ячейку). Сколько переменных - столько столбцов в таблице. Потом притворяешься компьютером и выполняешь программу команда за командой, при этом записывая все изменения значений переменных по такому правилу:
1) если значение переменной ещё не определено, ничего не пишешь (оставляешь пустые клетки);
2) если значение переменной изменилось в ходе выполнения команды - пишешь новое значение (в моей таблице выделены жёлтым);
3) если значение переменной НЕ изменилось в ходе выполнения команды - пишешь старое значение (то есть переписываешь его из клетки, которая на одну выше).
В конце смотришь, значение какой переменной должен напечатать компьютер - это и есть ответ.