Определите результат работы фрагмента программы на Паскале:
… for i:=1 to 10 do a[i]:=i-1; z:=0; d:=0; h=1; for i:=1 to 10 do begin if i mod 2 <> 0 then z:=z+a[i]; if a[i] mod 3 = 0 then d:=d*a[i]; if a[i] <= 0 then h:=h+1; end; write (z, ' ', d, ' ', h); …
Определите результат работы фрагмента программы на Паскале:
… for i:=1 to 10 do a[i]:=i-1; z:=0; d:=1; h:=1; for i:=1 to 10 do begin if i mod 2 <> 0 then z:=z+a[i]; if a[i] mod 3 = 0 then d:=d*a[i]; if a[i] <= 0 then h:=h+1; end; write (z, ' ', d, ' ', h); …
Определите содержимое переменной в результате работы программы на Паскале, фрагмент которой приведен ниже:
… for i:=1 to 5 do a[i]:=i-6; m:=0; for i:=1 to 5 do if a[i]>m then m:=a[i]; …
Определите содержимое переменной в результате работы программы на Паскале, фрагмент которой приведен ниже:
… for i:=1 to 5 do a[i]:=i-6; m:=a[1]; for i:=1 to 5 do if a[i]>m then a[i]:=m; …
Определите содержимое переменной в результате работы программы на Паскале, фрагмент которой приведен ниже:
… for i:=1 to 5 do a[i]:=i; m:=0; for i:=1 to 5 do if a[i]<m then m:=a[i]; …
Определите содержимое переменной в результате работы программы на Паскале, фрагмент которой приведен ниже:
… for i:=1 to 5 do a[i]:=i-5; m:=a[1]; for i:=1 to 5 do if a[i]<m then m:=a[i]; …
В результате выполнения программы, фрагмент которой приведен ниже, элементы одномерного массива примут значения …
const n=10; k=5; var a: array [1..n+1] of integer; … for i:=1 to n do a[i]:=i; for i:=k to n do a[i+1]:=a[i]; a[k]:=0; …
В результате выполнения программы, фрагмент которой приведен ниже, элементы одномерного массива примут значения …
const n=10; k=5; … for i:=1 to n do a[i]:=i; for i:=k to (n-1) do a[i]:= a[i+1]; …
Что делает приведенная ниже программа на Паскале:
var a: string; b, i, j, st, n, s, x, k: integer; begin writeln ('введите число'); readln (a); n:=length(a); s:=0; for i:=1 to n do begin val (copy(a,n-i+1,1),x,k); st:=1; for j:=1 to n do st:=st*x; s:=s+st; end; val (a, x, k); if s=x then writeln ('+') else writeln ('-'); end.
Предскажите результат выполнения программы на Паскале (фрагмент ниже):
… a:='1234'; n:=length(a); while (n>1) do begin s:=0; for i:=1 to n do begin val (copy(a,i,1),x,k); s:=s+x; end; str(s,a); n:=length(a); end; writeln (s); …
В приведенной ниже программе организован ввод предложения и вывод…
var a: array [1..20] of string; s: string; i, n, j,k:integer; begin readln (s); n:=length(s); j:=1; for i:=1 to n do if copy(s,i,1)=' ' then j:=j+1 else a[j]:=a[j]+copy(s,i,1); for i:=1 to j do write (a[i]); end.
Назначение программы на Паскале…
var a: string; b, i, st, n, s, x, k:integer; begin readln (a); readln(b); n:=length(a); s:=0; st:=1; for i:=1 to n do begin val (copy(a,n-i+1,1),x,k); s:=s+x*st; st:=st*b; end; writeln (s); end.
Найдите ошибки в приведенной ниже программе на Паскале, которая выполняет перевод числа a из -ричной системы счисления (b<10) в 10-тичную:
var a: string; b, i, st, n, s, x, k:integer; begin readln (a); readln(b); n:=length(a); s:=0; for i:=1 to n do begin val (copy(a,i,1),x,k); s:=s+x*st; st:=st*b; end; writeln (s); end.
st
не присвоено начальное значение, равное "1" 
copy(a,i,1)
в цикле по i
идет "вырезка" символов не в обратном порядке. Правильно: copy(a,n-i+1,1)
 
st
не "обнулена" в начале работы программы 
i
должен работать до (n-1)
 
Предскажите, какое содержимое будет находится в переменной
s
в результате работы программы на Паскале:var a, b, s, x: integer; begin a:=25; b:=5; s:=0; while a<>0 do begin x:=a mod b; s:=s*10 +x; a:=a div b; writeln (s); end; end.
Приведенная программа на Паскале позволяет …
var a, b, s, x: integer; begin readln (a); readln (b); s:=0; while a<>0 do begin x:=a mod b; s:=s*10 +x; a:=a div b; end; writeln (s); end.
a
из 10-тичной системы счисления в b
-ричную при b<10
 
a
из b
-ричной системы счисления при b<10
в 10-тичную 
а
(цифровой корень числа получают суммированием, затем суммированием цифр полученной суммы и так до тех пор, пока вновь полученная сумма не будет состоять из одной цифры) 
Найдите ошибки в приведенной ниже программе на Паскале, которая выполняет перевод числа из 10-тичной в -ричную систему счисления (b<10):
var a, b, s, x: real; begin readln (a); readln (b); s:=0; while (a<>0) do begin x:=a mod b; s:=s+x; a:=a div b; end; writeln (s); end.
While
неверно. Правильно: while (a>=0) do
 
a:=a div b; x:=a mod b; s:=s+x;
 
Предскажите результат выполнения программы на Паскале:var a: string; b, i, st, n, s, x, k:integer; begin a:='25'; b:=5; s:=0; st:=1; n:=length(a); for i:=1 to n do begin val (copy(a,n-i+1,1),x,k); s:=s+x*st; st:=st*b; end; writeln (s); end.
При совершении арифметических операций с "цифрами", хранящимися в строковых переменных используют процедуру (функцию) преобразования данных:
Val (у, х, p)
 
Str (х, у)
 
Round (х)
 
Trunc (х)
 
Для получения переноса в соседний разряд в результате арифметических операций с "цифрами", хранящимися в элементах массива (при работе со "сверхбольшими" числами) используют арифметическую операцию:
Приведенная программа на Паскале реализует алгоритм …
const m=…; var a, rez: array [1..m] of byte; i, n, x, k: integer; stroka: string; begin readln (stroka); readln (x); n:= length (stroka); for i:=1 to n do val (copy(stroka, i, 1), a[i], k); for i:=1 to n do rez[i]:= a[i] * x; for i:=n downto 2 do begin rez[i-1]:= rez[i-1]+rez[i] div 10; rez[i]:= rez[i] mod 10; end for i:=1 to n do write (rez[i]); end.
Приведенная программа на Паскале реализует алгоритм поразрядного умножения числа на число от 0 до 9, вводимых с клавиатуры приведена с ошибкой. Найдите ее.
const m=…; var a, rez: array [1..m] of byte; i, n, x, k: integer; stroka: string; begin readln (stroka); readln (x); n:= length (stroka); for i:=1 to n do val (copy(stroka, i, 1), a[i], k); for i:=1 to n do rez[i]:= a[i] * x; for i:=n downto 2 do begin rez[i-1]:= rez[i-1]+rez[i] mod 10; rez[i]:= rez[i] div 10; end for i:=1 to n do write (rez[i]); end.
rez[i-1]:= rez[i-1]+rez[i] mod 10
. Правильно:rez[i-1]:= rez[i-1]+rez[i] div 10
 
rez[i]:= rez[i] div 10
. Правильно:rez[i]:= rez[i] mod 10
 
for i:=n downto 2 do
. Правильно:for i:=2 to n do
 
val(copy(stroka, i, 1), a[i], k)
. Правильно:str(copy(stroka, i, 1), a[i], k)
 
В результате приведенной программы на Паскале на экран выводится:const m=…; var a, rez: array [1..m] of byte; i, n, x, k: integer; stroke: string; begin stroke:='1234'; x:=5; n:= length (stroka); for i:=1 to n do val (copy(stroka, i, 1), a[i], k); for i:=1 to n do rez[i]:= a[i] * x; for i:=n downto 2 do begin rez[i-1]:= rez[i-1]+rez[i] div 10; rez[i]:= rez[i] mod 10; end for i:=1 to n do write (rez[i]); end.