
- •Var a, b, с, d, xl, x2: real;
- •Var a, b: integer;
- •Var х, у, z: real;
- •Var X, у, rl,r2:real;
- •Var a,b,X: real;
- •Var a, b, X: real;
- •Var X, y: real;
- •Var X, y: real;
- •V ar X, y: real;
- •Var X,y: real;
- •Var X, y: real;
- •Var X, y: real;
- •Var X, y: real;
- •Var n, product: longint;
- •Var n: longint;
- •Var n: longint;
Var n, product: longint;
digit: integer;
begin
readln(N);
product := N mod 10;
while N >= 10 do begin
digit := N mod 10;
product := product * digit;
N := N div 10
end;
writeln ( product )
end.
Последовательно выполните следующее:
Определите, что выведет программа при вводе числа 532.
Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
выпишите строку, в которой сделана ошибка;
укажите, как надо исправить ошибку - приведите правильный вариант строки.
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится минимальную цифру этого числа. Программист торопился и написал программу неправильно:
Var n: longint;
digit, min_digit: integer;
begin
readln(N);
min_digit := 0;
while N > 0 do begin
digit := N mod 10;
if digit > min_digit then
min_digit := digit;
N := N div 10;
end;
writeln(min_digit);
end.
Последовательно выполните следующее:
Определите, что выведет программа при вводе числа 532.
Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
выпишите строку, в которой сделана ошибка;
укажите, как надо исправить ошибку - приведите правильный вариант строки.
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится количество цифр этого числа. Программист торопился и написал программу неправильно:
Var n: longint;
count: integer;
begin
readln(N);
count := 1;
while N > 1 do begin
count := count + 1;
N := N div 10;
end;
writeln(count);
end.
Последовательно выполните следующее:
Определите, что выведет программа при вводе числа 123.
Укажите одно число, для которого программа выводит неверный результат.
Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
выпишите строку, в которой сделана ошибка;
укажите, как надо исправить ошибку - приведите правильный вариант строки.
2. Выполните фрагмент программы и определите, что будет выведено на экран.
1)
a := 3 + 8*4;
b := (a div 10) + 14;
a := (b mod 10) + 2;
writeln(a*b:6);
2)
х := 11;
у := 5;
t := y;
у := х mod у;
x := t;
у := у + 2*t;
writeln(x);
writeln(y);
3)
a := 100;
b := 30;
a := a – b*3;
if a > b then
c := a – b
else c := b – a;
write(c);
4)
S:=0; i:=7;
while i > 1 do begin
S := S + i div 2;
i := i - 1;
end;
writeln(S);
5)
P:=1; i:=3;
while i <= 9 do begin
P := P * (i div 3);
writeln(P);
i := i + 1;
end;
6)
n := 1;
s := 0;
while n <= 101 do begin
s := s + 7;
n := n + 1
end;
writeln(S);
7)
n := 4;
s := 0;
while n <= 8 do begin
s := s + 15;
n := n + 1
end;
writeln(S);
8)
n := 0;
s := 512;
while s >= 0 do begin
s := s - 20;
n := n + 1
end;
writeln(n);
9)
for i:=1 to 4 do
for j:=1 to 3 do
write(i*j,’ ‘);
writeln;
10)
for a:=5 downto 2 do
for j:=1 to 3 do
s:=s+a;
writeln(s*j:5);
11)
for a:=5 downto 2 do
s:=0;
for j:=1 to 3 do
s:=s+a;
writeln(s*j:5);
12)
for a:=5 downto 2 do
begin
s:=0;
for j:=1 to 3 do
s:=s+a;
writeln(s*j:5);
end;
3. Анализ программ и алгоритмов
Ниже записана программа. Получив на вход число
, эта программа печатает два числа,
и
. Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 7.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
M:= M + x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 8.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
if x mod 2 = 0 then
M:= M + x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 0.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
if x mod 2 = 0 then
M:= M + x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 8.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
if x mod 2 = 1 then
M:= M + x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 7.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
M:= M + x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 8.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
if x mod 2 = 0 then
M:= M + x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 0.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
if x mod 2 = 0 then
M:= M + x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы:
for n:=1 to 100 do
A[n] := n - 10;
for n:=1 to 100 do
B[n] := A[n]*n;
Сколько элементов массива B будут иметь положительные значения?
Все элементы двумерного массива A размером 10х10 элементов первоначально были равны 0. Затем значения элементов меняются с помощью вложенного оператора цикла в представленном фрагменте программы:
for n:=1 to 4 do
for k:=n to 4 do begin
A[n,k] := A[n,k] + 1;
A[k,n] := A[k,n] + 1;
end;
Сколько элементов массива в результате будут равны 1?
Значения двумерного массива задаются с помощью вложенного оператора цикла в представленном фрагменте программы:
for n:=1 to 5 do
for k:=1 to 5 do
B[n,k] := n + k;
Чему будет равно значение B[2,4]?
Дан фрагмент:
for n:=l to 6 do
for m:=l to 5 do begin
C[n,m]:=C[n,m]+(2*n-m);
end;
Чему будет равно значение С[4,3], если перед этими командами значение С[4,3]=10?
Значения элементов двух массивов А и В размером 1 х 100 задаются с помощью следующего фрагмента программы:
for i:=1 tо 100 do
A[i] := 50 – i;
for i:=1 tо 100 do
B[i] := A[i] + 49;
Сколько элементов массива В будут иметь отрицательные значения?
Значения элементов двумерного массива А были равны 0. Затем значения некоторых элементов были изменены (см. представленный фрагмент программы):
n := 0;
for i:=1 tо 5 do
for j:=1 tо 6-i do begin
n := n + 1;
A[i,j] := n;
end;
Какой элемент массива будет иметь в результате максимальное значение?
Значения элементов двумерного массива А размером 5x5 задаются с помощью вложенного цикла в представленном фрагменте программы:
for i:=1 tо 5 do
for j:=1 tо 5 do begin
A[i,j] := i*j;
end;
Сколько элементов массива будут иметь значения больше 10?
Значения элементов двумерного массива А размером 5x5 задаются с помощью вложенного цикла в представленном фрагменте программы:
for i:=1 tо 5 do
for j:=1 tо 5 do begin
A[i,j] := i + j;
end;
Сколько элементов массива будут иметь значения больше 5?
Дан фрагмент программы:
for n:=1 tо 5 do
for m:=1 tо 5 do
C[n,m] := (m – n)*(m – n);
Сколько элементов массива С будут равны 1?
В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do
A[i]:= i + 1;
for i:=1 to 10 do
A[i]:= A[i-1];
Как изменяются элементы этого массива?
1) все элементы, кроме последнего, сдвигаются на 1 элемент вправо
2) все элементы, кроме первого, сдвигаются на 1 элемент влево
3) все элементы окажутся равны 1
4) все элементы окажутся равны своим индексам
В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do
A[i]:= i + 1;
for i:=10 downto 0 do
A[i]:= A[10-i];
Чему будут равны элементы этого массива?
В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do
A[i]:= i + 1;
for i:=0 to 10 do
A[i]:= A[10-i];
Чему будут равны элементы этого массива?
В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do
A[i]:= i - 1;
for i:=1 to 10 do
A[i-1]:= A[i];
A[10] := 10;
Как изменяются элементы этого массива?
1) все элементы, кроме последнего, окажутся равны между собой
2) все элементы окажутся равны своим индексам
3) все элементы, кроме последнего, сдвигаются на один элемент вправо
4) все элементы, кроме последнего, уменьшаются на единицу
В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do
A[i]:= i;
for i:=1 to 11 do
A[i-1]:= A[11-i];
Чему будут равны элементы этого массива?
В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=0 to 10 do begin
A[10-i]:=A[i];
A[i]:=A[10-i];
end;
Чему будут равны элементы этого массива?
Элементы двухмерного массива A размером NN первоначально были равны 1000. Затем значения некоторых из них меняют с помощью следующего фрагмента программы:
k := 0;
for i:=1 to N do
for j:=N-i+1 to N do begin
k:= k + 1;
A[i,j]:= k;
end;
Какой элемент массива в результате будет иметь минимальное значение?
Элементы двухмерного массива A размером 99 задаются с помощью следующего фрагмента программы:
for n:=1 to 9 do
for k:=1 to 9 do
A[n,k]:=n+k+1;
Сколько элементов массива A будут принимать четные значения?
Значения элементов двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы:
for n:=1 to 100 do
A[n] := n – 50;
for n:=1 to 100 do
B[101-n]:=A[n]*A[n];
Какой элемент массива B будет наименьшим?
В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные переменные k, i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=10 downto 0 do begin
k:=A[10-i];
A[10-i]:=A[i];
A[i]:=k;
end;
Чему будут равны элементы этого массива?
Элементы двухмерного массива A размером 44 первоначально были равны 0. Затем они изменяются с помощью следующего фрагмента программы:
for n:=1 to 4 do
for k:=n to 4 do
A[n,k]:=1;
Сколько элементов массива A будут равны 1?
Элементы двухмерного массива A размером 1010 первоначально были равны 1. Затем значения некоторых из них меняют с помощью следующего фрагмента программы:
for n:=1 to 4 do
for k:=1 to n+1 do begin
A[n,k]:=A[n,k]-1;
A[n,k+1]:=A[n,k]-1;
end;
Сколько элементов массива в результате будут равны 0?
Дан фрагмент программы, обрабатывающий массив А из 10 элементов:
n := 10;
for i:=1 tо n do A[i] := i;
j := 1;
for i:=1 tо n-1 do
if A[i] < A[i+1] then j := j + 1;
Чему будет равно значение переменной j после выполнения этого алгоритма?
Значения элементов двухмерного массива A[1..100,1..100] задаются с помощью следующего фрагмента программы:
for i:=1 to 100 do
for k:=1 to 100 do
if i = k then
A[i,k] := 1
else A[i,k] := -1;
Чему равна сумма элементов массива после выполнения этого фрагмента программы?
Значения элементов двухмерного массива A[1..100,1..100] задаются с помощью следующего фрагмента программы:
for i:=1 to 100 do
for k:=1 to 100 do
if i > k then
A[i,k] := 1
else A[i,k] := -1;
Чему равна сумма элементов массива после выполнения этого фрагмента программы?
Значения элементов двухмерного массива A[1..100,1..100] задаются с помощью следующего фрагмента программы:
for i:=1 to 100 do
for k:=1 to 100 do
if i > k then
A[i,k] := i
else A[i,k] := -k;
Чему равна сумма элементов массива после выполнения этого фрагмента программы?
Дан фрагмент программы, обрабатывающий массив А из 10 элементов:
j := 1;
for i:=1 tо 10 do
if A[i] = A[j] then j := i;
s := j;
Чему будет равно значение переменной s после выполнения этого алгоритма?
1) 1
2) 10
3) индексу элемента, равного первому, и имеющему наибольший индекс
4) индексу элемента, равного последнему, и имеющему наименьший индекс
Значения элементов двухмерного массива A[1..10,1..10] сначала равны 4. Затем выполняется следующий фрагмент программы:
for i:=1 to 6 do
for j:=1 to 5 do begin
A[i,j]:=A[i,j]+6;
A[j,i]:=A[j,i]+6;
end;
Сколько элементов массива будут равны 10?
Значения элементов двухмерного массива A[1..10,1..10] сначала равны 4. Затем выполняется следующий фрагмент программы:
for i:=1 to 4 do
for j:=1 to 5 do begin
A[i,j]:=A[i,j]+4;
A[j,i]:=A[j,i]+5;
end;
Сколько элементов массива будут равны 9?
Значения элементов двухмерного массива A[1..10,1..10] сначала равны 0. Затем выполняется следующий фрагмент программы:
for i:=1 to 4 do
for j:=2 to 5 do begin
A[i,j]:=A[i,j]+4;
A[j,i]:=A[j,i]+5;
end;
Сколько элементов массива будут равны 9?
В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные переменные k, i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=0 to 4 do begin
k:=A[i];
A[i]:=A[10-i];
A[10-i]:=k;
end;
Чему будут равны элементы этого массива?
В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные переменные k, i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=0 to 10 do begin
k:=A[i];
A[i]:=A[10-i];
k:=A[10-i];
end;
Чему будут равны элементы этого массива?
В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные переменные k, i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=0 to 4 do begin
k:=A[10-i];
A[10-i]:=A[i];
k:=A[i];
end;
Чему будут равны элементы этого массива?
В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленная переменная i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=0 to 9 do begin
A[i]:=A[i+1];
end;
Чему будут равны элементы этого массива?