Вопрос задан 07.05.2019 в 04:12. Предмет Информатика. Спрашивает Комиссаров Никита.

18. В массиве из 10 целых чисел заменить все элементы, меньшие среднего арифметического, на

минимальный элемент, а все большие – на максимальный. составить программу в Delphi7
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Слывка Богдан.

Лабораторная работа № 8. Работа с массивами

Теоретические сведения

Массив – это упорядоченный набор данных одного типа, снабженных индексами.

Индексы предназначены для нахождения определенного элемента массива, т.е. положение каждого элемента в массиве определяется его индексом. В этом и заключается упорядоченность. Тип компонент называется базовым типом массива.

В VBA массив рассматривается как переменная структурированного типа. Массиву присваивается имя, посред­ством которого можно ссылаться на него, как на единое целое, так и на любую из его компонент. Переменная с индексом — идентификатор компоненты мас­сива. Формат записи:

<имя массива> (<индекс>), где индекс может быть выражением порядкового типа.

Видим, что индексы принято указывать в круглых скобках после имени массива. По умолчанию нумерация элементов массива начинается с 0. Говорят, что 0 – базовый индекс.

Например, если А – массив из пяти чисел: 2, 3, 7, 9, 6, то А (0) = 2 – первый элемент массива, А (4) = 6 – последний.

Описание массива определяет имя, размер массива, базо­вый тип и производится в разделе переменных. В VBA имеются следующие способы описания массивов:

1.             <имя массива> (<номер последнего элемента>) [As <тип>]

2.             <имя массива> (<начальный индекс> To <конечный индекс>) [As <тип>]

Отметим, что второй способ позволяет изменить базовый индекс. Другим способом изменения базового индекса является использование оператора Option Base, который имеет следующий синтаксис:

Option Base <базовый индекс>

<базовый индекс> – единица или ноль.

Этот оператор применяется перед процедурой, аналогично оператору Option Explicit.

Например, для изменения базового индекса с 0 на 1 используется оператор Option Base 1.

Массив A, который был рассмотрен, требует одного индекса для указания любого элемента. Такой массив называется одномерным (или линейным) В одномерных массивах хра­нятся значения линейных таблиц. Примеры описания одно­мерных массивов:

1.             Dim A (12) As Byte

2.             Dim A (1 To 12) As Byte

3.             Dim Bin (5) As Integer

4.             Dim Str_mass (4) As String

5.             Dim K (7)

6.             Dim L (0 To 3)

Заполнение массива в программе производится поэлементно. Чаще всего для этого используется цикл с параметром, где в качестве параметра применяется индексная переменная. Возможно заполнение массива путем простого присвоения значения элементам:

Dim B (1 To 3) As Integer

B (1) = 2

B (2) = 18

B (3) = 6

Удобным способом определения одномерных массивов является функция Array, преобразующая список элементов, разделенных запятыми, в вектор из этих значений, и присваивающая их переменной типа Variant.

Dim A As Variant

A = Array (10, 20, 35, 70)

Иногда в процессе выполнения программы требуется изменять размер массива. В этом случае первоначально массив объявляют как динамический. Для этого при объявлении массива не указывают его размерность. Например,

Dim R () As Single

В программе следует вычислить необходимый размер массива и связать его с некоторой переменной, например, n; затем изменить размер динамического массива с помощью оператора ReDim:

ReDim [Preserve] Имя (<номер последнего элемента>) [As <тип>]

ReDim [Preserve] Имя (<начальный индекс> To <конечный индекс>) [As <тип>]

Preserve – ключевое слово, используемое для сохранения данных в существующем массиве при изменении значения последней размерности.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи в Delphi7 можно использовать следующий код:

```delphi program ReplaceArrayElements;

var arr: array[1..10] of Integer; sum, average, min, max: Integer; i: Integer;

begin // Ввод элементов массива for i := 1 to 10 do begin Write('Введите элемент массива ', i, ': '); ReadLn(arr[i]); end;

// Вычисление суммы элементов массива sum := 0; for i := 1 to 10 do sum := sum + arr[i];

// Вычисление среднего арифметического average := sum div 10;

// Нахождение минимального и максимального элементов min := arr[1]; max := arr[1]; for i := 2 to 10 do begin if arr[i] < min then min := arr[i]; if arr[i] > max then max := arr[i]; end;

// Замена элементов массива for i := 1 to 10 do begin if arr[i] < average then arr[i] := min else if arr[i] > average then arr[i] := max; end;

// Вывод измененного массива WriteLn('Измененный массив:'); for i := 1 to 10 do WriteLn(arr[i]); end. ```

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

Примечание: В коде предполагается, что пользователь будет вводить целые числа для элементов массива.

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

0 0

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

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

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