Задания для контрольной работы. В одномерном массиве, состоящем из п вещественных элементов, вычислить:
Вариант 1.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) сумму отрицательных элементов массива;
2) произведение элементов массива, расположенных между максимальным и минимальным элементами.
Упорядочить элементы массива по возрастанию.
Вариант 2.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) сумму положительных элементов массива;
2) произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами.
Упорядочить элементы массива по убыванию.
Вариант 3.
В одномерном массиве, состоящем из п целочисленных элементов, вычислить:
1) произведение элементов массива с четными номерами;
2) сумму элементов массива, расположенных между первым и последним нулевыми элементами.
Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом - все отрицательные (элементы, равные нулю, считать положительными).
Вариант 4.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) сумму элементов массива с нечетными номерами;
2) сумму элементов массива, расположенных между первым и последним отрицательными элементами.
Сжать массив, удалив из него все элементы, модуль которых не превышает единицу. Освободившиеся в конце массива элементы заполнить нулями.
Вариант 5.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) максимальный элемент массива;
2) сумму элементов массива, расположенных до последнего положительного элемента.
Сжать массив, удалив из него все элементы, модуль которых находится в интервале [а, b]. Освободившиеся в конце массива элементы заполнить нулями.
Вариант 6.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) минимальный элемент массива;
2) сумму элементов массива, расположенных между первым и последним положительными элементами.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, равные нулю, а потом - все остальные.
Вариант 7.
В одномерном массиве, состоящем из п целочисленных элементов, вычислить:
1) номер максимального элемента массива;
2) произведение элементов массива, расположенных между первым и вторым нулевыми элементами.
Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй половине - элементы, стоявшие в четных позициях.
Вариант 8.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) номер минимального элемента массива;
2) сумму элементов массива, расположенных между первым и вторым отрицательными элементами.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает единицу, а потом - все остальные.
Вариант 9.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) максимальный по модулю элемент массива;
2) сумму элементов массива, расположенных между первым и вторым положительными элементами.
Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных.
Вариант 10.
В одномерном массиве, состоящем из п целочисленных элементов, вычислить:
1) минимальный по модулю элемент массива;
2) сумму модулей элементов массива, расположенных после первого элемента, равного нулю.
Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в четных позициях, а во второй половине - элементы, стоявшие в нечетных позициях.
Вариант 11.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) номер минимального по модулю элемента массива;
2) сумму модулей элементов массива, расположенных после первого отрицательного элемента.
Сжать массив, удалив из него все элементы, величина которых находится в интервале [а, Ь]. Освободившиеся в конце массива элементы заполнить нулями.
Вариант 12.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) номер максимального по модулю элемента массива;
2) сумму элементов массива, расположенных после первого положительного элемента.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых лежит в интервале [а, b], а потом - все остальные.
Вариант 13.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) количество элементов массива, лежащих в диапазоне от А до В;
2) сумму элементов массива, расположенных после максимального элемента.
Упорядочить элементы массива по убыванию модулей.
Вариант 14.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) количество элементов массива, равных нулю;
2) сумму элементов массива, расположенных после минимального элемента. Упорядочить элементы массива по возрастанию модулей.
Вариант 15.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) количество элементов массива, больших С;
2) произведение элементов массива, расположенных после максимального по модулю элемента.
Преобразовать массив таким образом, чтобы сначала располагались все отрицательные элементы, а потом - все положительные (элементы, равные нулю, считать положительными).
Вариант 16.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) количество отрицательных элементов массива;
2) сумму модулей элементов массива, расположенных после минимального по модулю элемента.
Заменить все отрицательные элементы массива их квадратами и упорядочить элементы массива по возрастанию.
Вариант 17.
В одномерном массиве, состоящем из п целочисленных элементов, вычислить:
1) количество положительных элементов массива;
2) сумму элементов массива, расположенных после последнего элемента, равного нулю.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает единицу, а потом - все остальные.
Вариант 18.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) количество элементов массива, меньших С;
2) сумму целых частей элементов массива, расположенных после последнего отрицательного элемента.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 20%, а потом - все остальные.
Вариант 19.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) произведение отрицательных элементов массива;
2) сумму положительных элементов массива, расположенных до максимального элемента.
Изменить порядок следования элементов в массиве на обратный.
Вариант 20.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) произведение положительных элементов массива;
2) сумму элементов массива, расположенных до минимального элемента.
Упорядочить по возрастанию отдельно элементы, стоящие на четных местах, и элементы, стоящие на нечетных местах.
Двумерные массивы
Примеры решения заданий
Задача 1. Даны действительные числа а1, ... ,аn, действительная квадратная матрица порядка n (n > 6). Получить действительную матрицу размера , вставив в исходную матрицу между пятым и шестым столбцами новый столбец с элементами а1, ... ,аn.
Решение: Фрагмент алгоритма решения задачи представлен на рис. 5.1.
Рис. 5.1. Фрагмент блок-схемы алгоритма решения задачи 1
Программа в Turbo Pascal будет иметь следующий вид:
Program ins_matrix;
Uses Crt;
Const n=10;
a: Array [l..n] of Real = _
(1,2,3,4,5,6,7,8,9,10);
Var x: Array [1..n, 1..n+1] of Real;
i:l..n; j:1..n+1;
Begin
For i:=l to n do
For j:=l to n do x [i,j]:=i/j;
For i:=1 to n do
Begin
For j:=n downto 6 do
x[i,j+1] :=x[i,j];
x[i,6]:=a[i];
End;
ClrScr;
For i:=l to n do
For j:=1 to n+1 do
Begin
If j=6
then TextColor(15)
Else TextColor(7);
GoToXY(j*6,i*2);
Write(x[i,j]:0:2)
End;
ReadLn;
End.
Задача 2. Создать алгоритм и написать программу для упорядочивания строк прямоугольной целочисленной матрицы размером 5х7 по возрастанию сумм их элементов.
Решение: Произведем упорядочивание методом прямого выбора. Алгоритм решения задачи представлен на рис. 5.2.
Рис. 5.2. Блок-схема алгоритма решения задачи 2
Программа в Turbo Pascal будет иметь следующий вид:
Program sort_matrix;
Uses crt;
Const
nrow = 5; ncol = 7;
Type
matr = array [1..nrow,1..ncol] of _ integer;
Var
a: matr;
sum: array [1..nrow] of longint;
i,j: integer; {номер минимального элемента}
nmin: integer;
{буфер для обмена значений строк матрицы}
b: integer;
{буфер для обмена значений массива сумм}
s: longint;
Begin
ClrScr; Randomize;
For i:=l to nrow do
For j:=1 to ncol do
Begin
a[i,j]:=Random(100);
GoToXY(j*4,i); Write(a[i,j])
End;
For i:=1 to nrow do
begin
sum[i]:=0;
For j:=1 to ncol do
sum[i]:=sum[i] + a[i,j];
End;
{ упорядочивание методом выбора }
For i:=1 to nrow-1 do
begin
nmin:=i;
For j:=i+1 to nrow do
If sum[j]<sum[nmin] then nmin:=j;
{обмен значений двух элементов массива сумм }
s:=sum[i];
sum[i]:=sum[nmin];
sum[nmin]:=s;
{ обмен значений двух строк матрицы }
For j:=1 to ncol do
begin
b:=a[i,j];
a[i,j]:=a[nmin,j];
a[nmin,j]:=b;
End;
End;
{ вывод упорядоченной матрицы }
For i:=l to nrow do
For j:=1 to ncol do
Begin
GoToXY(j*4,i);
Write(a[i,j])
End;
Задача 3. Дана действительная квадратная матрица порядка 9. Вычислить сумму тех ее элементов, расположенных на главной диагонали и выше нее, которые превосходят по величине все элементы, расположенные ниже главной диагонали.
Решение: Среди элементов матрицы, расположенных ниже главной диагонали, найдём наибольший. Тогда элементы, расположенные на главной диагонали и выше неё и превосходящие по величине найденный элемент, обладают указанным свойством. Они суммируются в отдельных циклах. Фрагмент алгоритма решения задачи представлен на рис. 5.3.
Программа в Turbo Pascal будет иметь следующий вид:
Program max_diag;
Uses Crt;
Var a: Array [1..9,1..9] of Real;
max,sum: Real;
i,j: 1..9;
Begin
ClrScr; Randomize;
For i:=l to 9 do
For j:=1 to 9 do
begin
a[i,j]:=Random*100;
If j<i
then TextColor(11)
Else TextColor(15);
GotoXY(j*7,i*2);
Write(a[i,j]:2:2);
End;
max:=a[2,1];
For i:=3 to 9 do
For j:=l to i-1 do
If a[i,j]>max
then max:=a[i,j];
sum:=0;
For i:=l to 9 do
For j:=i to 9 do
If a[i,j]>max
then sum:=sum+a[i,j];
If sum=0
then
Write('Указанных элементов нет':220)
Else
Write('Искомая сумма равна':210,sum);
ReadLn;
End.
Рис. 5.3. Блок-схема алгоритма решения задачи 3