Экономика
ЗАДАНИЕ 1:
Набрать и протестировать на компьютере программу, организующую ввод -вывод двумерного массива целых чисел 3х4. Для ввода и вывода использовать процедуры, которые будут вызываться в основной программе.
Текст программы:
Program Prim;
Type vector=array[1..3] of integer;
matr=array[1..4] of vector ;
Var x:matr;
{Процедура ввода в режиме диалога}
Procedure wwod(var a:matr; Name:char);
Begin
for i:=1 to 3 do
for j:=1 to 4 do
begin
write(Name,'[',i,', j]=');
readln(a[i,j]);
end
End;
{Процедура вывода}
Procedure wywod(a:Matr);
Var i:integer;
Begin
for i:=1 to 3 do
begin
for j:=1 to 4 do
write(a[i,j]);
writeln;
end;
End;
{основная программа}
Begin
wwod(x, 'X');
writeln ('Ввод окончен.');
writeln ('Вывод: ');
wywod(x);
End.
ЗАДАНИЕ 2:
Видоизменить программу, добавив в нее описание и вызов процедуры, преобразующей введенный массив по следующему правилу: каждый элемент массива увеличивается на 4 - a[i,j]:=a[i,j]+4;.
На доске написано 16 чисел [92, 84, 64, 72, 77, 61, 89, 88, 91, 69, 75, 65, 68, 75, 52, 98] (именно в таком порядке). Дима играет в игру со следующими правилами:
перед каждым ходом на доске написано 2N чисел (N каждый раз разное)
на каждом ходе Дима выбирает, какую половину он хочет стереть — первые N чисел или последние N чисел
после этого Дима стирает выбранную половину и получает количество очков, равное максимальному стертому этим ходом числу.
игра заканчивается, когда на доске остается одно число, и оно не засчитывается Диме в очки
Какое максимальное число очков сможет набрать Дима?
Дана последовательность, состоящая из 10 чисел [7, 3, 10, 9, 8, 4, 1, 6, 2, 5]. Вы умеете за один ход поменять в ней местами два любых соседних числа. За какое минимальное количество ходов вы сможете получить последовательность, в которой все числа идут по возрастанию?