2. Приведены фрагменты программы. Какое значение получит х после завершения программы? 1)
X:=0;
for i:=1 to 5 do
for k:=i+1 to 5 do
х=х+1;
2)
X:=0;
for i:=1 to 5 do for k:=i+1 to 5-i do
x:=x+1;
4)
X:=103;
for i:=1 to 3 do for k:=0 to i do
x:=x+(k-i);
3. Допишите программу и выведите результат.
1)
for i:=1 to 4 do
begin
ifi mod 2 = 0 then
n:=i+1
else
n:=i;
for k:=1 to n do
write(n-i, );
writeln;
end;
2)
for i:=1 to 3 do
for k:=3 downto 1 do for n:=i-k to (i+k) div 2 do write(n,');
3)
x:=0;
for i:=1 to 5 do
for k:=i-1 to i+1 do
х=х+k;
Если знак доллара стоит перед именем столбца и номером строки ячейки, то ссылка абсолютная. Если только перед именем столбца или только перед номером строки, то ссылка смешанная.
Например:
1. $A$5 - абсолютная ссылка, "заморожен" весь адрес, при копировании в любое место таблицы ссылка не меняется.
2. $A5 - смешанная ссылка, "заморожено" имя столбца. При копированни имя столбца останется неизменным, а номер строки меняется относительно того откуда копируем.
первая программа
program pr1 ;
var i , n : integer ;
var s : real ;
begin
n := 0 ; { количество найденных чётных чисел }
s := 1 ; { получившееся произведение }
for i := 15 to 30 do
if i mod 2 = 0 then begin
n := n + 1 ;
s := s * i ;
end ;
writeln ('kolicestvo chetnyh chisel=' , n , ' proizvedenie=' , s ) ;
end.
(Если я правильно догадался, что добуток значит произведение. Произведение такого кол-ва чисел будет слишком большим для разрядности целого числа, поэтому придётся использовать вещественное, а результат из-за этого получится приближённым).
вторая
program pr2 ;
var i : integer ;
var k : real ;
begin
k = 0 ;
for i := 6 downto 1 do
k := k + cos ( 1. / i ) ;
writeln ('K=' , k:10:8 ) ;
end.
(странный ряд. Чаще дают по-другому, типа 1/cos(x), ну что есть - то есть. Тогда всё ок).