- •3.1. Язык программирования Паскаль
- •3.2. Структура программы в Паскале. Ввод и вывод данных.
- •Var ij:integer; X: real;
- •Var a,b: real;
- •3.3. Работа в системе Турбо Паскаль
- •3.4. Условный оператор
- •Var a, b: integer;
- •3.5. Организация циклов
- •Var a, b: integer;
- •Var a, b: integer;
- •Var a, b: integer;
- •Var a, p: real; I, n: integer;
- •Var p, I, n: integer;
- •Var X, у: real;
- •Var a, s: real; I, n: integer;
- •Var a: array [1 .. N ] of real;
- •1. Вычисление суммы элементов массива.
- •Var a: array [1 .. N ] of real; s : real; I: integer;
- •2. Нахождение наибольшего элемента массива.
- •Var a: array [1 .. N ] of integer; max, I: integer;
- •3. Упорядочение массива по возрастанию.
- •Var a : array [ 1.. N ] of real; I, j: integer; c: real;
- •4. Поиск элемента в массиве.
- •Var a : array [1 .. N ] of real; X : real; I : integer;
- •3.7. Алгоритмы обработки таблиц
- •1. Вычисление суммы элементов главной диагонали квадратной таблицы.
- •Var b: array [ 1..N, 1..N ] of real; I, j: integer;
- •Var b: array [ 1.. N, 1 .. N ] of real; I, j: integer; s: real;
- •2. Нахождение наибольших элементов каждой строки таблицы.
- •Var b: array [1 .. N, 1 .. N ] of integer; I, j: integer; a: array [1 .. N ] of integer;
- •3. Нахождение сумм элементов столбцов таблицы.
- •Var b: array [1 .. N, 1 .. N ] of integer; s, I, j: integer; a: array [1 .. N ] of integer;
- •4. Перестановка строк таблицы.
- •Var b: array [ 1 .. N, 1 .. M ] of real; c: real; I, j, k, l: integer;
Var b: array [1 .. N, 1 .. N ] of integer; s, I, j: integer; a: array [1 .. N ] of integer;
begin
writeln ('вводите значения элементов таблицы по строкам');
writeln ('в конце каждой строки нажимайте <Enter>');
for i: = 1 to n do
begin
for j: = 1 to n do
read (b [ i, j ]);
writeln
end;
{построение массива сумм элементов столбцов таблицы}
for j: = 1 to n do
begin
S: = 0;
for i: = 1 to n do
S: = S + b [ i, j];
a [J]: = s
end;
writeln ('суммы элементов столбцов таблицы:');
for i: = 1 to n do
write (a [ i ])
end.
4. Перестановка строк таблицы.
В прямоугольной таблице В из n строк и m столбцов требуется поменять местами две строки. При решении этой задачи можно воспользоваться алгоритмом обмена значениями двух переменных из программы сортировки (пример Е14). Для этого достаточно организовать цикл по переменной столбца и, используя промежуточную переменную, менять местами каждую пару элементов, стоящих в одном столбце. При заданных номерах строк К и L решение выглядит так: 118
program E19;
const n = 3; m = 4;
Var b: array [ 1 .. N, 1 .. M ] of real; c: real; I, j, k, l: integer;
begin
write ('введите номера меняемых местами строк таблицы');
i, ib,
readln (К, L);
{ввод таблицы}
for i: = 1 to n do
begin
writeln (i, '-я строка таблицы');
for j: = 1 to m do
read (b [ i, j ])
end;
{перестановка строк}
for j: = 1 to m do
begin
c:= b[K,j];
b [ K, j ]: = b [ L, j ];
b [ L, j ]: = с
end;
{печать результатов}
writeln;
writeln ('таблица с переставленными строками: ');
for i: = 1 to n do
begin
for j: = 1 to m do
write (b [ i, j ]);
writeln
end
end.
Задания
В квадратной таблице, не содержащей отрицательных элементов, найдите корень квадратный из произведения диагональных элементов.
Найдите наибольший элемент квадратной таблицы.
Найдите наименьший элемент квадратной таблицы и замените его нулем.
В прямоугольной таблице замените все элементы их квадратами.
В целочисленной прямоугольной таблице увеличьте на 0,5 все отрицательные элементы.
В квадратной таблице найдите наибольший элемент диагонали.
Поменяйте местами первую и последнюю строки прямоугольной таблицы.
Найдите произведения элементов строк прямоугольной таблицы.
119