type Oras = (Chisinau, Orhei, Balti, Tigina, Tiraspol); Zi = (L, Ma, Mi, J, V, S, D); Consum = array [Oras, Zi] of real; var C : Consum; r : Oras; z : Zi; i,k : integer; sum,min_r,max_r,min_z,max_z:real; n_max_r,n_min_r,n_max_z,n_min_z:integer; begin r:=Chisinau; randomize; for i:=1 to 5 do begin z:=L; for k:=1 to 7 do begin c[r,z]:=random*100; z:=succ(z); end; r:=succ(r); end; r:=Chisinau; for i:=1 to 5 do begin z:=L; case ord(r) of 0:writeln('Chisinau'); 1:writeln('Orhei'); 2:writeln('Balti'); 3:writeln('Tigina'); 4:writeln('Tiraspol'); end; for k:=1 to 7 do begin write(c[r,z]:6:2); z:=succ(z); end; r:=succ(r); writeln; end; writeln('Vsego za nedelu'); r:=Chisinau; min_r:=99999; max_r:=0; n_min_r:=-1; n_max_r:=-1; for i:=1 to 5 do begin z:=L; case ord(r) of 0:write('Chisinau sum='); 1:write('Orhei sum='); 2:write('Balti sum='); 3:write('Tigina sum='); 4:write('Tiraspol sum='); end; sum:=0; for k:=1 to 7 do begin sum:=sum+c[r,z]; z:=succ(z); end; if sum>max_r then begin max_r:=sum; n_max_r:=ord(r); end; if sum<min_r then begin min_r:=sum; n_min_r:=ord(r); end;
for k:=1 to 7 do begin r:=Chisinau; case ord(z) of 0:write('L sum='); 1:write('Ma sum='); 2:write('Mi sum='); 3:write('J sum='); 4:write('V sum='); 5:write('S sum='); 6:write('D sum='); end; sum:=0; for i:=1 to 5 do begin sum:=sum+c[r,z]; r:=succ(r); end; if sum>max_z then begin max_z:=sum; n_max_z:=ord(z); end; if sum<min_z then begin min_z:=sum; n_min_z:=ord(z); end; z:=succ(z); writeln(sum:8:2); end; writeln('Gorod c maximalnim potrebleniem'); r:=Chisinau; for i:=1 to 5 do begin if ord(r)=n_max_r then case ord(r) of 0:writeln('Chisinau'); 1:writeln('Orhei'); 2:writeln('Balti'); 3:writeln('Tigina'); 4:writeln('Tiraspol'); end; r:=succ(r); end; writeln('Gorod c minimalnim potrebleniem'); r:=Chisinau; for i:=1 to 5 do begin if ord(r)=n_min_r then case ord(r) of 0:writeln('Chisinau'); 1:writeln('Orhei'); 2:writeln('Balti'); 3:writeln('Tigina'); 4:writeln('Tiraspol'); end; r:=succ(r); end;
writeln('Den c maximalnim potrebleniem'); z:=L; for k:=1 to 7 do begin if ord(z)=n_max_z then case ord(z) of 0:writeln('L'); 1:writeln('Ma'); 2:writeln('Mi'); 3:writeln('J'); 4:writeln('V'); 5:writeln('S'); 6:writeln('D'); end; z:=succ(z); end; writeln('Den c minimalnim potrebleniem'); z:=L; for k:=1 to 7 do begin if ord(z)=n_min_z then case ord(z) of 0:writeln('L'); 1:writeln('Ma'); 2:writeln('Mi'); 3:writeln('J'); 4:writeln('V'); 5:writeln('S'); 6:writeln('D'); end; z:=succ(z); end;
1. Вспомните, как в используемом вами языке программирования
выделить в памяти массив A из N элементов и заполнить его нулями:
Место для ввода текста.
заполнить массив натуральными числами от 1 до N:
Место для ввода текста.
заполнить массив случайными числами в диапазоне [50,100]:
Место для ввода текста.
найти сумму всех элементов массива:
Место для ввода текста.
найти сумму чётных элементов массива:
Место для ввода текста.
найти количество отрицательных элементов массива:
Место для ввода текста.
найти максимальный элемент массива:
Место для ввода текста.
2. Представьте себе, что в кофейной чашке налит сок, а в стакане – кофе, и вы хотите, чтобы было наоборот. Что вы сделаете?
1)
2)
3)
3. Требуется поменять местами соседние элементы массива A, в котором чётное число элементов N. (1-й элемент меняется со 2-м, 3-й – с 4-м и т.д.) Выполните вручную следующий алгоритм для массива {1, 2, 3, 4} (N = 4).
for i in range(N):
поменять местами A[i] и A[i+1]
Заполните пропуски в таблице:
Почему этот алгоритм не сработал так, как нужно:
Место для ввода текста.
Какая ошибка произошла на последнем шаге выполнения цикла:
Место для ввода текста.
4. Предложите другое решение задачи из предыдущего задания, записав нужные операторы в теле цикла.
i = 1
while i < N:
5. Требуется выполнить реверс массива, то есть переставить элементы массива из N элементов в обратном порядке, так чтобы первый элемент стал последним, а последний – первым. С каким элементом нужно поменять местами
элемент A[0] c
элемент A[1] c
элемент A[i] c
6. Требуется выполнить реверс массива A, в котором N элементов. Выполните вручную следующий алгоритм для массива {1, 2, 3, 4} (N = 4).
for i in range(N):
поменять местами A[i] и A[N-1-i]
Заполните пропуски в таблице:
Почему этот алгоритм не сработал так, как нужно:
Место для ввода текста.
7. Запишите в тетради операторы, которые нужно добавить в тело цикла для того, чтобы выполнить реверс массива. Для обмена используйте вс переменную с.
for i in range(N // 2):
8. Запишите в тетради другое решение задачи реверса, которое использует цикл с условием (пока, while):
Место для ввода текста.
9. Катя торопилась и написала такой алгоритм поиска значения X в массиве:
i = 0
while A[i] != X:
i += 1
print( "A[", i, "]=", X )
Проверьте, используя ручную прокрутку, правильно ли сработает алгоритм, если искать в массиве {1, 2, 3} число 2? число 4?
10. Запишите фрагмент программы для поиска номера минимального элемента массива (он должен быть записан в переменную nMin):
nMin = 0
for j in range( ):
if then
11. Запишите в тетради фрагмент программы, который меняет местами элементы A[i] и A[nMin]. Используйте вс переменную c.
Место для ввода текста.
12. Нарисуйте в тетради интеллект-карту параграфа «Обработка массивов»
13. В переменных записаны значения a = 1, b = 2 и с = 3. Как изменятся значения переменных после выполнении алгоритма:
a b c
1 2 3
c = a
b = a
a = c
Исправьте один символ в программе так, чтобы получился правильный алгоритм обмена значений переменных a и b.
c = a
b = a
a = c
14. Что произойдет с массивом [1, 2, 3, 4] (N = 4) при выполнении следующего фрагмента программы:
for i in range(N-1):
A[i] = A[i+1]
Покажите, как меняются элементы массива и значение переменной i после выполнения каждого оператора:
15. Что произойдет с массивом [1, 2, 3, 4] (N = 4) при выполнении следующего фрагмента программы:
for i in range(N-1):
A[i+1] = A[i]
Покажите, как меняются элементы массива и значение переменной i после выполнения каждого оператора:
16. Что произойдет с массивом [1, 2, 3, 4, 5, 6] (N = 6) при выполнении следующего фрагмента программы:
i = 0
while i < N-2:
c = A[i]
A[i] = A[i+1]
A[i+1] = A[i+2]
A[i+2] = c
i += 3
Покажите, как меняются элементы массива, а также переменные i и c после выполнения каждого оператора:
type Oras = (Chisinau, Orhei, Balti, Tigina, Tiraspol);
Zi = (L, Ma, Mi, J, V, S, D);
Consum = array [Oras, Zi] of real;
var C : Consum;
r : Oras;
z : Zi;
i,k : integer;
sum,min_r,max_r,min_z,max_z:real;
n_max_r,n_min_r,n_max_z,n_min_z:integer;
begin
r:=Chisinau;
randomize;
for i:=1 to 5 do
begin
z:=L;
for k:=1 to 7 do
begin
c[r,z]:=random*100;
z:=succ(z);
end;
r:=succ(r);
end;
r:=Chisinau;
for i:=1 to 5 do
begin
z:=L;
case ord(r) of
0:writeln('Chisinau');
1:writeln('Orhei');
2:writeln('Balti');
3:writeln('Tigina');
4:writeln('Tiraspol');
end;
for k:=1 to 7 do
begin
write(c[r,z]:6:2);
z:=succ(z);
end;
r:=succ(r);
writeln;
end;
writeln('Vsego za nedelu');
r:=Chisinau;
min_r:=99999;
max_r:=0;
n_min_r:=-1;
n_max_r:=-1;
for i:=1 to 5 do
begin
z:=L;
case ord(r) of
0:write('Chisinau sum=');
1:write('Orhei sum=');
2:write('Balti sum=');
3:write('Tigina sum=');
4:write('Tiraspol sum=');
end;
sum:=0;
for k:=1 to 7 do
begin
sum:=sum+c[r,z];
z:=succ(z);
end;
if sum>max_r then
begin
max_r:=sum;
n_max_r:=ord(r);
end;
if sum<min_r then
begin
min_r:=sum;
n_min_r:=ord(r);
end;
r:=succ(r);
writeln(sum:8:2);
end;
writeln('Po dnyam nedeli');
z:=L;
min_z:=99999;
max_z:=0;
n_min_z:=-1;
n_max_z:=-1;
for k:=1 to 7 do
begin
r:=Chisinau;
case ord(z) of
0:write('L sum=');
1:write('Ma sum=');
2:write('Mi sum=');
3:write('J sum=');
4:write('V sum=');
5:write('S sum=');
6:write('D sum=');
end;
sum:=0;
for i:=1 to 5 do
begin
sum:=sum+c[r,z];
r:=succ(r);
end;
if sum>max_z then
begin
max_z:=sum;
n_max_z:=ord(z);
end;
if sum<min_z then
begin
min_z:=sum;
n_min_z:=ord(z);
end;
z:=succ(z);
writeln(sum:8:2);
end;
writeln('Gorod c maximalnim potrebleniem');
r:=Chisinau;
for i:=1 to 5 do
begin
if ord(r)=n_max_r then
case ord(r) of
0:writeln('Chisinau');
1:writeln('Orhei');
2:writeln('Balti');
3:writeln('Tigina');
4:writeln('Tiraspol');
end;
r:=succ(r);
end;
writeln('Gorod c minimalnim potrebleniem');
r:=Chisinau;
for i:=1 to 5 do
begin
if ord(r)=n_min_r then
case ord(r) of
0:writeln('Chisinau');
1:writeln('Orhei');
2:writeln('Balti');
3:writeln('Tigina');
4:writeln('Tiraspol');
end;
r:=succ(r);
end;
writeln('Den c maximalnim potrebleniem');
z:=L;
for k:=1 to 7 do
begin
if ord(z)=n_max_z then
case ord(z) of
0:writeln('L');
1:writeln('Ma');
2:writeln('Mi');
3:writeln('J');
4:writeln('V');
5:writeln('S');
6:writeln('D');
end;
z:=succ(z);
end;
writeln('Den c minimalnim potrebleniem');
z:=L;
for k:=1 to 7 do
begin
if ord(z)=n_min_z then
case ord(z) of
0:writeln('L');
1:writeln('Ma');
2:writeln('Mi');
3:writeln('J');
4:writeln('V');
5:writeln('S');
6:writeln('D');
end;
z:=succ(z);
end;
readln;
end.
1. Вспомните, как в используемом вами языке программирования
выделить в памяти массив A из N элементов и заполнить его нулями:
Место для ввода текста.
заполнить массив натуральными числами от 1 до N:
Место для ввода текста.
заполнить массив случайными числами в диапазоне [50,100]:
Место для ввода текста.
найти сумму всех элементов массива:
Место для ввода текста.
найти сумму чётных элементов массива:
Место для ввода текста.
найти количество отрицательных элементов массива:
Место для ввода текста.
найти максимальный элемент массива:
Место для ввода текста.
2. Представьте себе, что в кофейной чашке налит сок, а в стакане – кофе, и вы хотите, чтобы было наоборот. Что вы сделаете?
1)
2)
3)
3. Требуется поменять местами соседние элементы массива A, в котором чётное число элементов N. (1-й элемент меняется со 2-м, 3-й – с 4-м и т.д.) Выполните вручную следующий алгоритм для массива {1, 2, 3, 4} (N = 4).
for i in range(N):
поменять местами A[i] и A[i+1]
Заполните пропуски в таблице:
Почему этот алгоритм не сработал так, как нужно:
Место для ввода текста.
Какая ошибка произошла на последнем шаге выполнения цикла:
Место для ввода текста.
4. Предложите другое решение задачи из предыдущего задания, записав нужные операторы в теле цикла.
i = 1
while i < N:
5. Требуется выполнить реверс массива, то есть переставить элементы массива из N элементов в обратном порядке, так чтобы первый элемент стал последним, а последний – первым. С каким элементом нужно поменять местами
элемент A[0] c
элемент A[1] c
элемент A[i] c
6. Требуется выполнить реверс массива A, в котором N элементов. Выполните вручную следующий алгоритм для массива {1, 2, 3, 4} (N = 4).
for i in range(N):
поменять местами A[i] и A[N-1-i]
Заполните пропуски в таблице:
Почему этот алгоритм не сработал так, как нужно:
Место для ввода текста.
7. Запишите в тетради операторы, которые нужно добавить в тело цикла для того, чтобы выполнить реверс массива. Для обмена используйте вс переменную с.
for i in range(N // 2):
8. Запишите в тетради другое решение задачи реверса, которое использует цикл с условием (пока, while):
Место для ввода текста.
9. Катя торопилась и написала такой алгоритм поиска значения X в массиве:
i = 0
while A[i] != X:
i += 1
print( "A[", i, "]=", X )
Проверьте, используя ручную прокрутку, правильно ли сработает алгоритм, если искать в массиве {1, 2, 3} число 2? число 4?
10. Запишите фрагмент программы для поиска номера минимального элемента массива (он должен быть записан в переменную nMin):
nMin = 0
for j in range( ):
if then
11. Запишите в тетради фрагмент программы, который меняет местами элементы A[i] и A[nMin]. Используйте вс переменную c.
Место для ввода текста.
12. Нарисуйте в тетради интеллект-карту параграфа «Обработка массивов»
13. В переменных записаны значения a = 1, b = 2 и с = 3. Как изменятся значения переменных после выполнении алгоритма:
a b c
1 2 3
c = a
b = a
a = c
Исправьте один символ в программе так, чтобы получился правильный алгоритм обмена значений переменных a и b.
c = a
b = a
a = c
14. Что произойдет с массивом [1, 2, 3, 4] (N = 4) при выполнении следующего фрагмента программы:
for i in range(N-1):
A[i] = A[i+1]
Покажите, как меняются элементы массива и значение переменной i после выполнения каждого оператора:
15. Что произойдет с массивом [1, 2, 3, 4] (N = 4) при выполнении следующего фрагмента программы:
for i in range(N-1):
A[i+1] = A[i]
Покажите, как меняются элементы массива и значение переменной i после выполнения каждого оператора:
16. Что произойдет с массивом [1, 2, 3, 4, 5, 6] (N = 6) при выполнении следующего фрагмента программы:
i = 0
while i < N-2:
c = A[i]
A[i] = A[i+1]
A[i+1] = A[i+2]
A[i+2] = c
i += 3
Покажите, как меняются элементы массива, а также переменные i и c после выполнения каждого оператора:
Объяснение: