Вопрос задан 05.07.2026 в 16:54. Предмет Информатика. Спрашивает Максимова Таня.

В Паскаль. 1. Найти наибольший элемент и его номер в последовательности, элементы которой вводятся с клавиатуры. Размер произвольный. 2. Упорядочить данную последовательность по убыванию. Элементы вводятся с клавиатуры. Размер произвольный. 3. Упорядочить данную последовательность по убыванию. Массив задан датчиком случайных чисел на интервале [-54,33]. Размер произвольный. 4. Массив А вводится с клавиатуры. Сформировать новый массив В, состоящий из положительных элементов массива А. Размер произвольный.

Перейти к ответам

Ответы на вопрос

Отвечает Дудин Максим.

Ниже приведены решения всех 4 задач на языке Pascal (Free Pascal / Turbo Pascal стиль). Во всех примерах размер массива задаётся пользователем во время выполнения программы.


1. Найти максимальный элемент и его номер в последовательности

pascal
program MaxElement;

var
a: array[1..1000] of integer;
n, i, max, pos: integer;

begin
write('Введите количество элементов: ');
readln(n);

write('Введите элементы: ');
for i := 1 to n do
read(a[i]);

max := a[1];
pos := 1;

for i := 2 to n do
if a[i] > max then
begin
max := a[i];
pos := i;
end;

writeln('Максимальный элемент: ', max);
writeln('Его номер: ', pos);
end.

2. Упорядочить последовательность по убыванию (ввод с клавиатуры)

Используем сортировку пузырьком:

pascal
program SortDescending;

var
a: array[1..1000] of integer;
n, i, j, temp: integer;

begin
write('Введите количество элементов: ');
readln(n);

write('Введите элементы: ');
for i := 1 to n do
read(a[i]);

for i := 1 to n - 1 do
for j := 1 to n - i do
if a[j] < a[j + 1] then
begin
temp := a[j];
a[j] := a[j + 1];
a[j + 1] := temp;
end;

writeln('Отсортированный массив по убыванию:');
for i := 1 to n do
write(a[i], ' ');
end.

3. Упорядочить последовательность по убыванию (массив заполняется случайными числами [-54..33])

pascal
program RandomSortDescending;

var
a: array[1..1000] of integer;
n, i, j, temp: integer;

begin
randomize;

write('Введите количество элементов: ');
readln(n);

for i := 1 to n do
a[i] := random(88) - 54; { диапазон [-54..33] }

writeln('Исходный массив:');
for i := 1 to n do
write(a[i], ' ');
writeln;

for i := 1 to n - 1 do
for j := 1 to n - i do
if a[j] < a[j + 1] then
begin
temp := a[j];
a[j] := a[j + 1];
a[j + 1] := temp;
end;

writeln('Отсортированный массив по убыванию:');
for i := 1 to n do
write(a[i], ' ');
end.

4. Сформировать массив B из положительных элементов массива A

pascal
program PositiveArray;

var
a, b: array[1..1000] of integer;
n, i, k: integer;

begin
write('Введите количество элементов массива A: ');
readln(n);

write('Введите элементы массива A: ');
for i := 1 to n do
read(a[i]);

k := 0; { индекс массива B }

for i := 1 to n do
if a[i] > 0 then
begin
k := k + 1;
b[k] := a[i];
end;

writeln('Массив B (положительные элементы):');
for i := 1 to k do
write(b[i], ' ');
end.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос