1. В паскале решить следующую задачу: у нас есть значения роста 25 учеников класса, отсортированных по алфавиту

  • 37
1. В паскале решить следующую задачу: у нас есть значения роста 25 учеников класса, отсортированных по алфавиту фамилий. Нам нужно определить рост ученика, который занял бы 10 место при сортировке учеников по росту в порядке возрастания, начиная с самого высокого ученика.

2. В паскале решить следующую задачу: у нас есть значения максимальной скорости 15 моделей автомобилей. Нам нужно определить максимальную скорость автомобиля, который является 6-ым по порядку самым быстрым автомобилем.

3. В каждом из 2 классов учится по 18 человек. У нас есть информация о средних оценках каждого ученика каждого класса по ряду предметов. Нам нужно определить, в каком из классов все значения для каждого класса равны.
Ярило
65
Конечно! Давайте решим каждую задачу по порядку.

1. Для решения этой задачи воспользуемся массивом, который будет содержать значения роста учеников. По алгоритму сортировки пузырьком отсортируем этот массив по возрастанию. Затем мы сможем определить 10-ое место по росту.

Ниже приведен код на языке Паскаль:


program Задача_1;
var
рост: array[1..25] of Integer;
i, j, temp: Integer;

begin
{ заполняем массив роста учеников }
рост[1] := 170;
рост[2] := 165;
рост[3] := 180;
{ остальные значения роста учеников }

{ сортировка пузырьком }
for i := 1 to 25 do
begin
for j := 1 to 25 - i do
begin
if рост[j] > рост[j + 1] then
begin
temp := рост[j];
рост[j] := рост[j + 1];
рост[j + 1] := temp;
end;
end;
end;

{ выводим рост ученика, занимающего 10-ое место }
writeln("Рост ученика, занимающего 10-ое место: ", рост[10]);
end.


2. Для решения этой задачи также воспользуемся массивом, который будет содержать значения максимальных скоростей автомобилей. Отсортируем этот массив по убыванию и затем определим 6-ую самую быструю максимальную скорость.

Ниже приведен код на языке Паскаль:


program Задача_2;
var
скорость: array[1..15] of Integer;
i, j, temp: Integer;

begin
{ заполняем массив значениями максимальных скоростей }
скорость[1] := 280;
скорость[2] := 275;
скорость[3] := 300;
{ остальные значения максимальных скоростей }

{ сортировка пузырьком }
for i := 1 to 15 do
begin
for j := 1 to 15 - i do
begin
if скорость[j] < скорость[j + 1] then
begin
temp := скорость[j];
скорость[j] := скорость[j + 1];
скорость[j + 1] := temp;
end;
end;
end;

{ выводим 6-ую самую быструю максимальную скорость }
writeln("Максимальная скорость автомобиля на 6-ом месте: ", скорость[6]);
end.


3. У нас есть два класса по 18 человек, и у каждого ученика есть информация о его средней оценке. Для решения этой задачи можно воспользоваться двумерным массивом, который будет содержать оценки каждого ученика. Зная количество людей в классах, мы можем рассчитать средние оценки для каждого класса.

Ниже приведен код на языке Паскаль:


program Задача_3;
const
количество_классов = 2;
количество_учеников_в_классе = 18;
var
оценки: array[1..количество_классов, 1..количество_учеников_в_классе] of Integer;
средняя_оценка_класса: array[1..количество_классов] of Real;
класс, ученик: Integer;
сумма_оценок: Integer;

begin
{ заполняем массив оценок учеников }
for класс := 1 to количество_классов do
begin
for ученик := 1 to количество_учеников_в_классе do
begin
write("Введите оценку ученика ", ученик, " в классе ", класс, ": ");
readln(оценки[класс, ученик]);
end;
end;

{ рассчитываем средние оценки для каждого класса }
for класс := 1 to количество_классов do
begin
сумма_оценок := 0;
for ученик := 1 to количество_учеников_в_классе do
begin
сумма_оценок := сумма_оценок + оценки[класс, ученик];
end;
средняя_оценка_класса[класс] := сумма_оценок / количество_учеников_в_классе;
end;

{ выводим средние оценки для каждого класса }
for класс := 1 to количество_классов do
begin
writeln("Средняя оценка в классе ", класс, ": ", средняя_оценка_класса[класс]:0:2);
end;
end.


Надеюсь, этот ответ будет понятен школьнику. Если у вас возникнут еще вопросы или понадобится помощь, пожалуйста, дайте знать!