Главная страница
Навигация по странице:

  • Элемент массива

  • Описание одномерного массива

  • – массив, который содержит от 1 до 10 элементов вещественного типа (дробные числа)

  • 05_Задание_ЛР10. Лабораторная работа 10 Программирование задач с одномерными массивами Одномерные массивы


    Скачать 44.91 Kb.
    НазваниеЛабораторная работа 10 Программирование задач с одномерными массивами Одномерные массивы
    Дата24.12.2021
    Размер44.91 Kb.
    Формат файлаdocx
    Имя файла05_Задание_ЛР10.docx
    ТипЛабораторная работа
    #317038

    Лабораторная работа №10

    Программирование задач с одномерными массивами



    1. Одномерные массивы


    Массив – упорядоченный набор нумерованных величин одинакового типа. Массивы бывают одномерные (вектор-строка, вектор-столбец), двумерные (матрица) и многомерные (тензор).

    Вектор-строка имеет вид: .

    Пример: .

    Вектор-столбец имеет вид:

    .

    Пример: .

    Элемент массива – величина, входящая в состав массива.

    Индекс – порядковый номер элемента в одномерном массиве (целое число типа integer).

    Размерность массива – количество элементов в массиве.

    Одномерные массивы обычно обозначаются так: ; , где A – массив; n – размерность массива; i – индекс элемента; i‑тый элемент массива .
    Описание одномерного массива в разделе описания переменных (Var) на языке Pascal имеет вид:
    Mas : ARRAY [I min..I max] OF T;
    где Mas: – имя массива,

    array – «массив»,

    of – «из»,

    Imin – минимальное значение индекса элементa массива,

    Imax – максимальное значение индекса элементa массива,

    T – тип элементов массива.

    Оператор означает, что переменная Mas является массивом, который имеет индексы от Imin до Imax и состоит из элементов T типа.

    Пример:

    Var

    A:array[1..10] of real;
    Это означает, что переменная A – массив, который содержит от 1 до 10 элементов вещественного типа (дробные числа).
    Команда обращения к элементу массива на языке Pascal имеет вид:
    Mas[ Ind ]
    где Mas – имя массива,

    Ind – индекс элемента массива.

    Команда означает обращение к элементу массива Mas с порядковым номером Ind .

    Пример:

    a[1]; b[3]; c[i]; d[n]; f[k+1].
    Это означает: 1-й элемент массива A, 3-й элемент массива B, i-й элемент массива С, n элемент массива D, k+1 элемент массива F.


    2. Порядок выполнения лабораторной работы





    1. Зайти в Pascal ABC.

    1. Набрать текст программы для решения задачи № 1 и получить ответ для контрольного примера.

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

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

    4. Исправить программу так, чтобы она находила максимальное и минимальное значение в массиве.


    Пример задачи





    Задача 1.

    Дан одномерный массив A из n элементов. Найти сумму элементов массива:

    .

    Program Lab4;

    Var

    A:array[1..100] of real;

    i,n:integer;

    s:real;

    Begin

    writeln('Введи n');

    read(n);

    s:=0;

    writeln('Введи массив A');

    for i:=1 to n do

    begin

    read(A[i]);

    s:=s+A[i];

    end;

    writeln('s=',s:10:3);

    End.

    Контрольный пример.

    Исходные данные: ; .

    Ручной счёт: .

    Результат: .

    Экран пользователя.

    Введи n

    5

    Введи массив A

    1 2 3 5 -1

    s= 10.000





    Фрагменты вычисления характеристик одномерного массива





    Характеристика

    Для всех элементов ai

    Для части элементов

    1. Сумма

    s

    s:=0;

    for i:=1 to n do

    s:=s+A[i];

    s:=0;

    for i:=1 to n do

    if A[i]>z then

    s:=s+A[i];

    1. Количество

    k

    k:=n;

    k:=0;

    for i:=1 to n do

    if A[i]>z then

    k:=k+1;

    1. Произведение

    p

    p:=1;

    for i:=1 to n do

    p:=p*A[i];

    p:=1;

    for i:=1 to n do

    if A[i]>z then

    p:=p*A[i];

    1. Максимальное значение

    max

    max:=A[1];

    for i:=2 to n do

    if A[i]>max then

    max:=A[i];

    max:=-1E10;

    for i:=1 to n do

    if (A[i]>max) and (A[i]>z) then

    max:=A[i];

    1. Минимальное значение

    min

    min:=A[1];

    for i:=2 to n do

    if A[i]
    min:=A[i];

    min:=1E10;

    for i:=1 to n do

    if (A[i]z) then

    min:=A[i];

    1. Среднее значение

    sr

    s:=0;

    for i:=1 to n do

    s:=s+A[i];

    sr:=s/n;

    s:=0; k:=0;

    for i:=1 to n do

    if A[i]>z then

    begin

    s:=s+A[i]; k:=k+1;

    end;

    sr:=s/k;


    Фрагменты операций с одномерными массивами





    1. Ввод элементов массива

    writeln('Введи массив A');

    for i:=1 to n do

    read(A[i]);

    1. Вывод элементов массива

    writeln('Массив A');

    for i:=1 to n do

    writeln(A[i]:10:3);

    1. Замена элементов массива на величину z

    for i:=1 to n do

    A[i]:=z;

    1. Увеличение элементов массива на величину z

    (аналогично уменьшение, умножение, деление)

    for i:=1 to n do

    A[i]:=A[i]+z;

    1. Вычисление нового массива B прибавлением к элементам массива A величиныz

    (аналогично вычитанием, умножением, делением)

    for i:=1 to n do

    B[i]:=A[i]+z;

    1. Вычисление индекса максимального элемента imax

    (аналогично минимального)

    max:=A[1]; imax:=1;

    for i:=2 to n do

    if A[i]>max then

    begin

    max:=A[i]; imax:=i;

    end;

    1. Перестановка 1-го и 2-го элементов массива

    c:=A[1]; A[1]:=A[2]; A[2]:=c;

    3. Дополнительное задание





    1. Дан массив L(n). Найти количество элементов, больших корня из суммы положительных элементов.

    1. Дан массив G(q). Найти произведение неотрицательных элементов и сумму элементов в диапазоне от 10 до 20.

    2. Дан массив A(n). Найти сумму и количество элементов, равных среднему значению.

    3. Дан массив C(m). Найти отношение максимального к минимальному элементу.

    4. Дан массив D(n). Найти минимальный среди элементов, больших суммы, и найти количество элементов, не равных максимальному.

    5. Дан массив A(n). Сформировать новый массив B умножением элементов массива A на 100. В новом массиве переставить местами третий и предпоследний элементы.

    6. Дан массив A(n). Положительные элементы массива заменить на их сумму, а отрицательные элементы уменьшить на минимальный.

    7. Дан массив A(n). Найти сумму элементов на чётных местах и произведение элементов, кратных 3.

    8. Дан массив A(n). У нечётных элементов отбросить дробную часть числа, а у элементов с индексами, дающими остаток 1 при делении на 3, отбросить целую часть числа.

    9. Сформировать массив случайных чисел в диапазоне от 10 до 20 и округлить значения элементов, по модулю меньших 1.


    4. Контрольные вопросы





    1. Объясните понятие массива, его элемента, индекса, размерности? Перечислите виды массивов.

    1. Как обозначаются и описываются массивы и их элементы? Приведите примеры.

    2. Чем отличается вычисление суммы всех элементов от вычисления суммы части элементов?

    3. Чем отличается вычисление суммы части элементов от вычисления количества части элементов?

    4. Чем отличается вычисление суммы элементов от вычисления произведения элементов?

    5. Чем отличается вычисление суммы элементов от вычисления среднего значения элементов?

    6. Чем отличается вычисление максимального элемента от вычисления минимального элемента?

    7. Чем отличается ввод элементов от их вывода?

    8. Чем отличается увеличение элементов на какую-либо величину от замены элементов на эту величину?

    9. Чем отличается увеличение элементов на какую-либо величину от аналогичного вычисления нового массива?

    10. Чем отличается вычисление максимального элемента от вычисления его индекса?

    11. Почему для перестановки элементов используется три оператора?

    12. Напишите, что означает каждая строка в вышеприведённой программе.

    13. Напишите программу к одной из задач дополнительного задания.




    написать администратору сайта