Подсчитать количество четных элементов в каждом столбце матрицы размером МхN, элементы которой задаются с датчика случайных чисел на интервале [-98; 54].
Не знаю, что за автоматизация, но запрос на выборку выглядит так: SELECT * FROM my_table или же запрос на выборку с условием SELECT * FROM my_table WHERE name="kek2255" при этом еще можно использовать операторы AND(И) и OR(ИЛИ) SELECT * FROM my_table WHERE name="Иван" AND first_name="Иванов" SELECT * FROM my_table WHERE name="Иван" OR name="Дмитрий" и понятное дело их можно комбинировать SELECT * FROM my_table WHERE (name="Иван" AND first_name="Иванов") OR (name="Дмитрий" AND first_name="Дмитриев") Можно выполнять запрос из нескольких таболиц SELECT t1.*, t2.* FROM my_table AS t1, my_table2 AS t2 WHERE t1.id = t2.id_ref
Здесь: SELECT - Сам оператор выборки * - это поля выборки, в данном случае все поля(*) -звездочка это значит все поля, но можно просто перечислить id, name, first_name и т.д. При выборе из 2-х и более таблиц указываются префиксы таблицы - это может быть как полное название таблицы(my_table.id) или псевдоним, которое мы указали (FROM my_table AS t1) t1 - будет псевдонимом и выбррка полей будет таким (t1.id, t1.name ...) FROM - Обязательное ключевое слово(оператор) означает ИЗ(from) WHERE - Не обязательный оператор условия (ГДЕ) Если перевести запрос на русский язык, то будет как в 1С:) ВЫБРАТЬ * ИЗ моя_таблица ГДЕ Имя = "Иван" Надеюсь
var a: array[1..100, 1..100] of real; max, min: real; sum, product: real; i, j, m, n, k: integer;
begin {ввод матрицы} if handsfree then begin n := random(20) + 2; m := random(20) + 2; end else begin write('n, m ='); readln(n, m); end;
writeln('Данные матрицы:'); for i := 1 to m do begin for j := 1 to n do if handsfree then begin a[i, j] := random(100) - 50; write(a[i, j]:4, ' ') end else read(a[i, j]); writeln; end;
{минимумы и максимумы} max := a[1, 1]; min := a[1, 1]; for i := 1 to m do for j := 1 to n do begin if max < a[i, j] then max := a[i, j]; if min > a[i, j] then min := a[i, j]; end; writeln('max = ', max); writeln('min = ', min);
{сумма, произведение, пр. агригаты} sum := 0; product := 1; for i := 1 to m do for j := 1 to n do if a[i, j] <> 0 then {если нужен фильтр} begin sum := sum + a[i, j]; product := product * a[i, j]; k := k + 1; end; writeln('sum = ', sum); writeln('product = ', product); writeln('average = ', sum / (n * m)); writeln('average (selected) = ', sum / k); end.
SELECT * FROM my_table
или же запрос на выборку с условием
SELECT * FROM my_table WHERE name="kek2255"
при этом еще можно использовать операторы AND(И) и OR(ИЛИ)
SELECT * FROM my_table WHERE name="Иван" AND first_name="Иванов"
SELECT * FROM my_table WHERE name="Иван" OR name="Дмитрий"
и понятное дело их можно комбинировать
SELECT * FROM my_table WHERE (name="Иван" AND first_name="Иванов") OR (name="Дмитрий" AND first_name="Дмитриев")
Можно выполнять запрос из нескольких таболиц
SELECT t1.*, t2.* FROM my_table AS t1, my_table2 AS t2
WHERE t1.id = t2.id_ref
Здесь:
SELECT - Сам оператор выборки
* - это поля выборки, в данном случае все поля(*) -звездочка это значит все поля, но можно просто перечислить id, name, first_name и т.д. При выборе из 2-х и более таблиц указываются префиксы таблицы - это может быть как полное название таблицы(my_table.id) или псевдоним, которое мы указали (FROM my_table AS t1) t1 - будет псевдонимом и выбррка полей будет таким (t1.id, t1.name ...)
FROM - Обязательное ключевое слово(оператор) означает ИЗ(from)
WHERE - Не обязательный оператор условия (ГДЕ)
Если перевести запрос на русский язык, то будет как в 1С:)
ВЫБРАТЬ * ИЗ моя_таблица ГДЕ Имя = "Иван"
Надеюсь
const
handsfree = true;
var
a: array[1..100, 1..100] of real;
max, min: real;
sum, product: real;
i, j, m, n, k: integer;
begin
{ввод матрицы}
if handsfree then begin
n := random(20) + 2;
m := random(20) + 2;
end
else begin
write('n, m =');
readln(n, m);
end;
writeln('Данные матрицы:');
for i := 1 to m do
begin
for j := 1 to n do
if handsfree then begin
a[i, j] := random(100) - 50;
write(a[i, j]:4, ' ')
end
else
read(a[i, j]);
writeln;
end;
{минимумы и максимумы}
max := a[1, 1];
min := a[1, 1];
for i := 1 to m do
for j := 1 to n do
begin
if max < a[i, j] then max := a[i, j];
if min > a[i, j] then min := a[i, j];
end;
writeln('max = ', max);
writeln('min = ', min);
{сумма, произведение, пр. агригаты}
sum := 0;
product := 1;
for i := 1 to m do
for j := 1 to n do
if a[i, j] <> 0 then {если нужен фильтр}
begin
sum := sum + a[i, j];
product := product * a[i, j];
k := k + 1;
end;
writeln('sum = ', sum);
writeln('product = ', product);
writeln('average = ', sum / (n * m));
writeln('average (selected) = ', sum / k);
end.