Назови элемент массива с индексом, равным
3
3, после работы программы:
program prog;
var i, j, x, imax: integer;
arr: array [1..10] of integer = (50, 49, 78, 82, 71, 91, 97, 42, 57, 33);
begin
for i := 1 to 10 do
begin
imax := i;
for j := i + 1 to 10 do
if arr[j] < arr[imax] then imax := j;
x := arr[i];
arr[i] := arr[imax];
arr[imax] := x;
end;
for i := 1 to 10 do write(arr[i], ', ')
end.
Чтобы понять, что делает программа и какой элемент массива будет находиться по индексу 3 после выполнения, давайте разберем код пошагово.
### 1. Анализ кода программы
Программа, описанная в задании, содержит два вложенных цикла, которые реализуют алгоритм сортировки выбором (selection sort). Давайте рассмотрим код более подробно:
```pascal
program prog;
var
i, j, x, imax: integer; // Объявление переменных
arr: array [1..10] of integer = (50, 49, 78, 82, 71, 91, 97, 42, 57, 33); // Инициализация массива
begin
// Внешний цикл по элементам массива
for i := 1 to 10 do
begin
imax := i; // Установка текущего максимума
// Внутренний цикл для поиска наименьшего элемента
for j := i + 1 to 10 do
if arr[j] < arr[imax] then
imax := j; // Обновление индекса наименьшего элемента
// Обмен местами
x := arr[i];
arr[i] := arr[imax];
arr[imax] := x;
end;
// Вывод отсортированного массива
for i := 1 to 10 do
write(arr[i], ', ')
end.
```
### 2. Описание работы программы
1. **Инициализация массива**: В массив `arr` записаны значения: (50, 49, 78, 82, 71, 91, 97, 42, 57, 33).
2. **Сортировка**: Алгоритм проходит по массиву, используя два цикла:
- Внешний цикл (по элементам массива от 1 до 10) устанавливает текущую позицию, с которой будет производиться сортировка.
- Внутренний цикл ищет индекс наименьшего элемента в оставшейся части массива.
- После нахождения наименьшего элемента (по индексу `imax`), происходит обмен его с элементом на текущей позиции `i`.
### 3. Итог работы программы
После выполнения двух циклов и сортировки массив будет выглядеть следующим образом:
Рассмотрим, как меняется массив при каждой итерации:
- 1 итерация: наименьший элемент 42 (индекс 8), массив: (42, 49, 78, 82, 71, 91, 97, 50, 57, 33)
- 2 итерация: наименьший элемент 33 (индекс 10), массив: (42, 49, 57, 82, 71, 91, 97, 50, 78, 33)
- 3 итерация: наименьший элемент 49, массив: (42, 49, 50, 82, 71, 91, 97, 57, 78, 33)
- 4 итерация: наименьший элемент 50, массив: (42, 49, 50, 71, 82, 91, 97, 57, 78, 33)
- 5 итерация: наименьший элемент 71, массив уже правильный
- ...
Мы продолжаем этот процесс, и в конце массив будет отсортирован. После завершения программы массив будет такой:
```
(33, 42, 49, 50, 57, 71, 78, 82, 91, 97)
```
### 4. Получение ответа на вопрос
Теперь найдем элемент массива с индексом 3 в отсортированном массиве:
- **arr[3]** = 49
### Ответ
Элемент массива с индексом 3 после выполнения программы: **49**.