Объяснение:
) Анализируем программу и определяем назначение каждой из переменных в ней:
N – определяет, какая часть массива Dat реально используется в вычислениях (из него используются элементы с индексами от 1 до N, то есть пять первых элементов);
S – используется для накопления суммы этих элементов массива;
m – изначально равно нулю, а затем переприсваивается – в нее заносится значение элемента массива, если этот элемент больше, чем текущее значение m. Это – типичный алгоритм поиска максимума. Значит, в m определяется (и в конце работы программы выводится на экран) максимальное значение среди обрабатываемых N элементов массива. 2) Итак, из пяти значений массива максимальное равно 10. Каким может быть наибольшее возможное значение суммы этих элементов?
Очевидно, сумма будет наибольшей, если каждое из слагаемых (элементов массива) будет возможно наибольшим. А наибольшее возможное значение элемента массива уже определено: оно равно 10. Если каждый элемент этой части массива будет равен 10, то вычисленный максимум будет равен 10. (Если какие-то элементы массива меньше 10, то это не даст максимально возможную сумму. Если же какие-то элементы массива больше 10, то максимум был бы равен уже не 10, а этому большему значению.)
3) Итак, заданному условию соответствует случай, когда каждый из обрабатываемых пяти элементов массива равен 10. Тогда их сумма (максимально возможная) будет равна 5*10 = 50.
ответ: 50.
1 нравится комментирова
1) полная таблица истинности каждого выражения с пятью переменными содержит 2^5 = 32 строки;
2) в каждой таблице содержится по 4 единицы и по 28 нулей, ( то есть 32-4);
3) выражение a v - b равно нулю тогда, когда a = 0 или b = 1;
4) min количество единиц в таблице истинности выражения a v - b будет тогда, когда там будет наибольшее число нулей, то есть в max количество строк одновременно a = 0 и b = 1;
5) по условию a = 0 в 28 строках, и b = 1 в 4 строках, поэтому выражение a v - b может быть равно нулю не более чем в 4 строках, а оставшиеся 32 – 4 = 28 могут быть равны 1.
ответ: 28.
Объяснение:
Поделитесь своими знаниями, ответьте на вопрос:
Дан двумерный массив размером 6×6. массив задается генератором случайных чисел.поменять местами в каждой строке минимальный и последний элемент. решить на pascalabc.net оформить в виде процедуры.
procedure MatPrint(a:array[,] of integer);
begin
for var i:=0 to Length(a,0)-1 do begin
for var j:=0 to Length(a,1)-1 do Write(a[i,j]:4);
Writeln
end
end;
procedure MatSwap(a:array[,] of integer);
begin
for var i:=0 to Length(a,0)-1 do begin
var jmin:=0;
for var j:=1 to Length(a,1)-1 do
if a[i,j]<a[i,jmin] then jmin:=j;
Swap(a[i,jmin],a[i,Length(a,1)-1])
end
end;
begin
var a:=MatrixRandom(6,6,-99,99);
Writeln('Исходный массив');
MatPrint(a);
MatSwap(a);
Writeln('Результирующий массив');
MatPrint(a)
end.
Тестовое решение:
Исходный массив
-19 88 -17 20 36 -74
40 -88 84 54 34 -86
-13 -58 62 -55 -51 80
-46 -35 -86 -57 -84 -29
10 -55 -68 -49 12 78
29 -86 -19 17 -79 61
Результирующий массив
-19 88 -17 20 36 -74
40 -86 84 54 34 -88
-13 80 62 -55 -51 -58
-46 -35 -29 -57 -84 -86
10 -55 78 -49 12 -68
29 61 -19 17 -79 -86