Тест с ответами: “Одномерные массивы”
1. Укажите, какой из операторов используется для различного вывода значений массива:
for i:=1 to 10 do write (a[i], ‘ ‘);
а) вывод значений в одну строку +
б) вывод значений столбиком
в) правильны оба варианта
2. Укажите какой из операторов используется для различного вывода значений массива:
for i:=1 to 10 do writeln (a[i], ‘ ‘);
а) вывод значений в одну строку
б) вывод значений столбиком +
в) правильны оба варианта
3. Укажите правильное описание массива:
а) Var a: array 74 of integer;
б) Var a: array [1:100] of integer;
в) Var a:array[1..100] of integer; +
4. Указан фрагмент программы: const b: array [1..5] of integer = (4, 2, 3, 5, 7). Укажите значение элемента массива b[4]:
а) 5 +
б) 3
в) 7
5. Сопоставьте способы заполнения массива значениями:
Ввод каждого значения с клавиатуры:
а) randomize;
for i:=1 to 10 do a[i]:=random(100)
б)
в) for i:=1 to 10 do read (a[i]) +
6. Сопоставьте способы заполнения массива значениями:
С помощью оператора присваивания (случайными числами):
а) for i:=1 to 10 do read (a[i])
б) randomize;
for i:=1 to 10 do a[i]:=random(100) +
в)
7. Сопоставьте способы заполнения массива значениями:
С помощью оператора присваивания (по формуле):
а) randomize;
for i:=1 to 10 do a[i]:=random(100)
б) for i:=1 to 10 do read (a[i])
в)
8. Что называется массивом:
а) совокупность конечного числа данных одного тип +
б) совокупность бесконечного числа данных одного типа
в) совокупность конечного числа данных различных типов
9. Какой ряд данных можно назвать целочисленным массивом:
а) 1,5,f,c,7
б) сентябрь, октябрь, ноябрь, декабрь
в) 1,3,5,7,9 +
10. Целочисленный массив обозначается:
а) А: array [1..5] of real;
б) А: array [1..5] of integer; +
в) А: array [1..5] of strong;
11. В массиве индексом называется:
а) порядковый номер элемента массива +
б) значение элемента массива
в) имя массива
12. В записи “a[5]=10” – А обозначает:
а) значение пятого элемента массива
б) имя массива +
в) индекс элемента массива
13. Что называется одномерным массивом:
а) совокупность конечного числа данных однотипных типов +
б) совокупность конечного числа данных различных типов
в) совокупность бесконечного числа данных однотипных типов
14. Целочисленный массив А заполнен последовательно числами: 15, 17, 13, 19. Укажите, значение элемента массива А[3]:
а) 17
б) 15
в) 13 +
15. Для заполнения массива путем ввода чисел с клавиатуры в Паскале используется оператор:
а) readln +
б) for i:=1 to 10 do
в) writeln
16. Выберите способ описания в программе массива F, состоящего из 20 целых чисел:
а) Var f:array[1..20] of real;
б) Var f:array[1..20] of integer; +
в) Var f:array[1..n] of integer;
17. Фрагмент программы
t:=a[n];
for i:=n−1 downto 1 do
a[i]:=a[i+1];
a[1]:=t;
а) сдвигает все элементы массива а вправо на одну позицию
б) присваивает первому элементу массива а значение переменной t
в) сдвигает все элементы массива а влево на одну позицию +
18. Оператор: for i:=1 to 20 do
if a[i] 0 then writeln (a[i]);
выводит на экран:
а) отрицательные элементы массива а
б) ненулевые элементы массива а +
в) положительные элементы массива а
23. Фрагмент программы заполнения целочисленного массива А десятью случайными числами из интервала [0, 10]:
а) for i:=1 to 10 do a[i]:=random(10);
б) for i:=1 to 9 do a[i]:=random(11)−1;
в) for i:=1 to 10 do a[i]:=random(11); +
24. Описание одномерного целочисленного массива:
а) var а: array [1..5] of real;
б) var а: array [1..5] of integer; +
в) var а: array [1..5] of char;
25. Каким способом можно заполнить массив:
а) классическим
б) циклическим
в) ввод с клавиатуры +
26. Каким способом можно заполнить массив:
а) табличным
б) по формуле +
в) графическим
27. Каким способом можно заполнить массив:
а) случайным образом +
б) теоретическим
в) любым удобным
28. Для печати массива в окне результатов в Паскале используется оператор:
а) readln (a[i]);
б) for i:=1 to 10 do
в) writeln(‘a[‘,i,’]=’,a[i]); +
29. Найдите правильное описание массива:
а) D: array [1..5] of integer; +
б) D [1..5]: array of integer;
в) D: of [1..5] array of integer;
30. Массив данных имеет:
а) один тип данных
б) общее имя и один тип данных +
в) общее имя
Работа с массивами данных.
Одномерные и двумерные массивы
Одномерные и двумерные массивы
Количество индексов элементов массива определяет размерность массива.
В данном примере будет объявлен одномерный массив А, состоящий из 10 элементов.
В данном примере будет объявлен двумерный массив М, который можно представить в виде таблицы, состоящей из 4-х строк по 5 ячеек в каждой строке.
Содержимое элементов массива при объявлении равно нулю.
Работа с массивами
После объявления массива каждый его элемент можно обработать, указав идентификатор (имя) массива и индекс элемента в квадратных скобках. Например, запись M[2] позволяет обратиться ко второму элементу массива M.
При работе с двумерным массивом указываются два индекса. Например, запись
M[3,4] делает доступным для обработки значение элемента, находящегося в третьей строке четвертого столбца массива M.
Индексированные элементы массива называются индексированными переменными и могут быть использованы так же, как и простые переменные. Например, они могут находиться в выражениях в качестве операндов или использоваться в качестве аргументов в командах.
Присваивание значений элементам массива
Третьему элементу массива А будет присвоено значение 15.
Элементу массива М, находящемуся во второй строке четвертого столбца, будет присвоено значение 25.
Ввести значение в элемент массива можно также при помощи команды СПРОСИ.
Загрузка данных в массив
Загрузить данные в массив можно при помощи команды ЗАГРУЗИ.
Примеры для одномерного массива А.
загрузи в A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
конец загрузки
загрузи в A
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
конец загрузки
Если данных будет недостаточно, то часть элементов останется незаполненной. Если избыточно, то они отсекутся.
Пример для двумерного массива М.
загрузи в M
15 17 25 36 24 56 78 56 36 24
56 78 56 36 24 15 17 25 36 25
15 17 25 36 24 56 78 56 36 24
78 56 36 24 15 17 17 25 36 25
36 24 56 78 24 56 78 56 36 24
39 78 56 36 24 25 15 15 89 71
15 17 25 36 24 56 78 56 36 24
78 56 36 24 15 17 17 25 36 25
36 24 56 78 24 56 78 56 36 24
39 78 56 36 24 25 15 15 89 71
конец загрузки
Заполнение массива с помощью циклов
Заполнение одномерного массив.
повторить для x от 1 до 10 <
M[x] = 555
>
Заполнение двумерного массив с помощью вложенных циклов.
повторить для x от 1 до 5 <
повторить для y от 1 до 7 <
M[x,y] = 555
>
>
Заполнение массива случайными числами
Заполнить массив случайными числами можно при помощи цикла.
Пример заполнения элементов массива А псевдослучайными целыми числами в диапазоне от 10 до 99:
массив А[100]
переменная х
повторить для х от 1 до 100 <
А[х] = Int(случайное * 89) + 10
>
Вывод значений элементов массива
На экран будет выведено значение третьего элемента одномерного массива А.
Будут выведены значения всех элементов массива А.
Вывод массива в графическом виде
Необязательные параметры и взяты в скобки. Они обеспечивают отступ от начала координат (верхнего левого угла).
Замена и копирование значений в массивах
Команда для замены во всем массиве одного значения на другое.
Команда для копирования всех значений одного массива в другой массив. Количество элементов и размерность массивов должны совпадать.
Массив как способ структурирования данных
Когда данные образованы в структуру, можно их эффективно обрабатывать и успешно ими управлять. В этой статье будет рассмотрена такая структура данных, как массив. Данный способ структурирования хорошо известен в программировании и широко используется для решения различных практических задач.
Что такое массив?
Массив (array) представляет собой структуру данных, содержащую упорядоченный набор однотипных элементов. Тут следует привести несколько коротких терминов: — элементы массива — его составляющие компоненты, которые расположены в смежных местах памяти — соответствующих ячейках памяти; — длина — общее число элементов; — индекс — обозначение (имя, номер) позиции отдельного элемента. Индекс — это ссылка, обеспечивающая доступ к соответствующему элементу; — размерность — количество индексов.
Концепция
Концептуальную схему этой структуры данных можно увидеть на картинке ниже:
Что иллюстрирует диаграмма: 1. Массив можно назвать контейнером элементов. 2. У элементов есть значения, и они имеют определенный тип данных. 3. У каждого элемента есть свой индекс, который, как уже было сказано выше, применяется для выполнения доступа к этому элементу.
На очередной диаграмме можно увидеть, как объявляется массив в таких языках программирования, как Python и C ++. Глядя на синтаксис, можно сделать вывод, что при общей схожести возможны небольшие различия.
Объявление осуществляется тремя блоками данных: • именем массива (его можно в дальнейшем использоваться в качестве ссылки на коллекцию); • типом данных (к примеру, int (Integer), если речь идет о целых числах); • элементами — значениями данных.
Особенности массивов
Есть ряд общих свойств, которыми можно охарактеризовать array: • элементы хранятся в смежных ячейках памяти; • индекс обычно меньше, чем общее число элементов (это потому, что индексация начинается с нуля); • синтаксически, любая переменная, которая объявлена в качестве массива, способна хранить несколько значений; • практически все языки программирования имеют схожее «понимание» массивов, однако объявлять и инициализировать их они могут по-разному; • имя, тип данных и элементы — общие составляющие любых инициализаций.
Основные виды массивов по структуре
Структура данных может быть разной. Чаще всего сегодня используют одномерные и двумерные массивы. В одномерных у элемента есть только один индекс. Представим одномерный массив с именем A. Чтобы получить доступ к i-ому элементу, надо указать имя массива и индекс (номер) необходимого элемента: A[i].
В двумерном массиве (в матрице) структура представлена в виде таблицы. Доступ в матрицу производится также еще и по номерам строки и столбца, на пересечении которых и находится нужный элемент:
A[i, j]
Здесь A — имя массива, i – номер строки, j – номер столбца в матрице.
Хотя в различных языках программирования работа с такими структурами данных может отличаться, однако главные принципы в большинстве случаев неизменны. В известном языке Pascal обращение к 2-мерному массиву будет осуществляться именно так, как в примере выше: A[i, j]. А вот уже в языке C++ обращение будет следующим: A[i][j].
Какие еще бывают массивы?
Выше описывались массивы, которые относят к статическому типу — число элементов фиксировано и постоянно. Но есть и другие массивы, размер которых может меняться в процессе выполнения программы, — динамические. Они характеризуются непостоянностью размера, и это неплохо, ведь работа становится более гибкой. Но следует учесть, что сам процесс обработки таких структур усложняется, что не может не влиять и на быстродействие операции. Правило «За все нужно платить» никто не отменял.
Второй момент, который стоит упомянуть, связан с однородностью массива. Однородность — важный критерий статической структуры данных. Если же однородность отсутствует, такой массив называют гетерогенным. Использование гетерогенных структур оправдано во многих случаях, но имеет недостатки, которые справедливы для структур динамических.
Зачем они вообще нужны?
Для применения существует масса причин, вот 2 основные: • массивы — одна из наиболее подходящих структур для реализации в коде однотипных данных и хранения в одной переменной нескольких значений; • операция поиска в такой структуре данных является более простой и быстрой, то есть один из профитов заключается в том, что экономится время обработки.
Также стоит напомнить, что недостаточно просто выбрать в качестве структуры массив. Дополнительно нужно определиться и со способом его представления, ведь сам по себе массив — это лишь общее обозначение. Разработчику же надо выбирать наиболее подходящий вид массива с учетом поставленной задачи.
Еще не конец: данные других типов
Какие еще структуры данных следует знать: — связные (связанные) списки. Группа узлов, вместе образующих последовательность. Каждый узел включает в себя фактические данные (они хранятся и бывают представлены любым типом данных) и ссылку-указатель на следующий узел последовательности; — стеки. Так называемая «стопка книг». Можно вставлять либо удалять компоненты только из начала (невозможно взять интересующую книгу из середины стопки, предварительно не взяв книги, лежащие сверху); — очереди. Стоящий первым обслуживается первым (принцип FIFO — first in, first out); — множества. Данные хранятся без определенного порядка, причем значение не повторяются; — Map. Данные хранятся в парах ключ-значение, каждый ключ является уникальным; — хэш-таблицы. В данных этого типа реализуется интерфейс map, позволяющий хранить пары ключ-значение. Вычисление индекса происходит с помощью функции, называющейся хэш-функцией; — двоичное дерево поиска. Каждое дерево имеет корневой узел, последний имеет 0 либо более дочерних узлов, каждый дочерний узел имеет 0 либо более дочерних узлов и т. п.; — префиксное дерево. Своеобразное дерево поиска. Данные хранятся в шагах, каждый шаг — узел дерева. Часто применяется для хранения слов; — двоичная куча. В каждом узле не больше двух детей. Все уровни заполнены полностью; — графы. Совокупности узлов (их называют вершинами) и связей (их называют ребрами) между этими вершинами. Сами графы еще называют сетями.
Источники: • https://coderlessons.com/tutorials/kompiuternoe-programmirovanie/osnovy-algoritmov/3-massiv-v-strukturakh-dannykh; • https://proglib.io/p/data-structures/; • https://kvodo.ru/osnovnye-struktury-dannyh.html.
Нашли ошибку в тексте? Напишите об этом в комментарии!
Массивы в C#: виды, примеры и работа с ними
Содержание статьи:
Массивы в C# и работа с ними
Массив — структура данных, содержащая ряд значений одинакового типа, расположенных последовательно, и обозначенная при помощи специального синтаксиса. Проще говоря, это набор однотипных значений хранящихся в последовательно расположенных ячейках памяти. Это полезная вещь избавила разработчиков от необходимости создавать тысячи переменных для каждого отдельно взятого значения. Вместо этого, с появлением такой структуры, мы просто делаем объявление переменной массива и добавляем туда поля одного типа данных, группируя их по определенному признаку. Уже оттуда можно получить доступ к конкретному элементу используя его порядковый номер (индекс).
Из основных преимущества массивов можно выделить: доступность значений хранящихся в различных ячейках памяти и более простое манипулирование данными (сортировка, перемещение и другие операции). Недостатки массива — ограничение его размера и условие однотипности (гомогенности) хранимых данных.
Далее поговорим о массивах на примере их реализации в языке C#.
Какие бывают массивы в языке C#
C# предоставляет нам на выбор 3 различных типа массивов:
Объявляем и инициализируем массив в C#
Для объявления C#-массива используется эта нехитрая конструкция:
тип данных [] имя массива ;
Объявление C#-массива / Источник: coderlessons.com
Следуюший шаг — инициализируем наш массив.
Инициализация — это процедура присваивания значений свободным ячейкам массива. Информация может присваиваться поэлементно, как в последнем действии предыдущего примера:
Инициализация массива / Источник: coderlessons.com
Теперь попытаемся вывести в консоль значения элементов массива:
Значения элементов / Источник: coderlessons.com
Этот код распечатает следующие значения :
Но есть еще и другой способ инициализации. Вместо использования ключевого слова new , необходимые значения нашего массива можно перечислить в фигурных скобках. Например:
Неявная типизация массива
Определение массива объектов
Длина массива
В этом примере рассматриваемое свойство используется для ссылки на последний элемент в массиве:
Доступ к элементам массива.
Как мы уже упоминали ранее, для доступа к элементу массива нужно воспользоваться его порядковым номером (индексом). Например:
Передача массива в метод
Стандартная форма, при которой одномерный массив передается в метод выглядит так:
Теперь все это можно соединить вместе, как показано в следующем примере:
Многомерные массивы
В многомерном массиве каждый элемент также является массивом. Например:
Здесь i — это многомерный массив, состоящий из двух элементов: <1, 2, 3>и <3, 4, 5>. Каждый элемент такого массива является массивом размером в 3 элемента. Чаще всего C#-разработчики применяют в своей работе двумерные массивы, их мы и рассмотрим более подробно.
Двумерный массив можно представить в виде таблицы с определенным количеством строк и столбцов.
Двумерный массив / Источник: metanit.com
Подмассивы <1, 2, 3>и <3, 4, 5>являются элементами нашего двумерного массива.
Вот как он объявляется в C#:
Здесь i — это двумерный массив состоящий из двух элементов, а каждый элемент представляет собой вложенный массив из 3 элементов. Если посчитать, всего в таком массиве можно хранить 6 элементов.
Примечание: Единственная запятая в этом коде [,] означает, что массив является двумерным.
Также как и с одномерным массивом, в C# мы можем инициализировать двумерный массив во время объявления. Например:
Еще мы можем указать количество строк и столбцов во время инициализации. Например:
Для доступа к элементам рассматриваемого нами массива — используем индексы. Например:
Элементы двумерного массива в C# / Источник: metanit.com
Пример 2D-массива:
В приведенном выше примере мы создали 2D-массив с элементами <2, 3>и <4, 5>.
и использовали номера индексов для доступа к элементам:
Зубчатые массивы
Массив массивов (он же «зубчатый») отличается от многомерного тем, что в его состав могут входить подмассивы различной длины. Записывается он, при помощи двух пар квадратных скобок, при этом его длина обозначается только в в первой паре скобок. Например:
Здесь у нас массив digits содержащий в себе три подмассива. Причем размерность каждого из них не совпадает, схематично образуя своеобразные зубья, за счет разной длины.
В качестве подмассивов в нем можно использовать даже многомерные массивы:
На следующей картинке изображены примеры существующих в C# массивов:
Примеры существующих в C# массивов / Источник: metanit.com
Перебор массивов (foreach)
При помощи цикла foreach мы можем перебирать элементы в любом контейнере, в том числе и в массиве. Синтаксис для его объявления такой:
Класс System.Array
Кроме рассмотренных, данный класс содержит около двух десятков полезных статических методов и свойств.
Резюмируем:
Для тех людей, кому лучше один раз посмотреть, чем сто раз почитать — добавляем несколько ссылок на актуальные обучающие видеоролики от опытных C#-разработчиков:
Что такое массивы / Одномерный массив
Как работать с массивом на самом деле
Pascal | Лекция №5
Массивы
СОДЕРЖАНИЕ:
Тип в программировании – это множество, для которого оговорен некоторый набор операций над элементами – значениями, которые могут принимать переменные этого типа. Существуют четыре стандартных типа Паскаля: типы Real, Integer (это числовые множества), тип Char (множество символов), тип Boolean. Однако в Паскале имеются средства, позволяющие определять, исходя из имеющихся типов, новые типы. Различают следующие структурированные типы данных:
В данной лекции мы подробно рассмотрим массивы.
Определение массива
Массивы, как и циклы, — величайшее изобретение программирующего человечества. Массивы приходят на помощь тогда, когда приходится иметь дело с наборами однотипных и однородных данных (например, координаты точки в двумерном, трехмерном пространстве).
Массив – это упорядоченная последовательность однотипных элементов определенной длины, имеющая общее имя. Номер элемента в последовательности называется индексом. Количество элементов в массиве не может быть изменено в процессе выполнения программы. Элементы массива размещаются в памяти последовательно и нумеруются от 1 до n, где n – их количество в массиве. К каждому элементу массива имеется прямой доступ. Это означает, что для того чтобы обратиться к какому-либо элементу массива, нет нужды перебирать все его предыдущие элементы, достаточно указать номер этого элемента.
Массив имеет следующие характеристики:
Массивы могут быть одномерными и многомерными. Но мы ограничимся рассмотрением только одномерных и двумерных массивов.
Одномерные массивы – массивы, в которых элементы пронумерованы последовательно по порядку: первый элемент, второй, третий и т.д. Для обозначения элементов одномерного массива используется один индекс.
Двумерные массивы – массивы, в которых данные условно организованы в виде таблицы (матрицы), где положение каждого элемента определяется номером строки т номером столбца. Для обозначения элементов двумерного массива используются два индекса: первый индекс для обозначения номера строки, второй индекс для обозначения номера столбца.
По аналогии с математикой одномерные числовые массивы часто называют векторами, а двумерные – матрицами.
Значения индексов можно задать непосредственно числом (прямая адресация) – A(1), A(4,2) или косвенно, указав в индексе идентификатор переменной, которая позволит вычислить индекс (косвенная адресация) – A(i), A(i, j+2).
При работе с массивами в программе они должны быть объявлены (описаны), т.е. указаны имя массива, тип элементов массива, его размерность.
При обращении к элементу массива, значение индекса которого выходит за допустимые границы, появляется сообщение об ошибке.
Одномерные массивы: описание, ввод и вывод, обработка массива
Описать массив можно двумя способами.
В разделе описания переменных мы можем описать массив следующим образом:
Здесь A – название массива;
Array – служебное слово;
n1,n2 – соответственно номер первого и последнего элемента массива;
– любой из уже изученных типов.
Количество элементов массива будет равно (n2- n1+1).
означает, что полученный массив будет состоять из 20 вещественных чисел, первое из которых будет иметь номер 1, последнее – 20. Наш массив будет иметь имя Massiv.
Описание массива заключается в создании нового оригинального типа. Для того, чтобы программист мог создавать свои новы типы в Паскале существует раздел описания типов Type. Этот раздел находится между разделом описания констант и разделом описания переменных.
После этого в разделе описания переменных мы можем описать массив, который имеет созданный нами тип, например,
В данном случае мы сначала описали новый тип Mas – массив из десяти целых чисел с номерами от 10 до 19, затем описали переменную B типа Mas.
В большинстве случаев для обработки массивов используются циклы. В цикле имеется возможность поочередно перебрать все элементы массива.
Для ввода массива с клавиатуры может быть использован цикл следующего вида: пусть имеется массив с именем A, состоящий из n элементов, тогда
В этом случае пользователь вводит через пробел n элементов массива. Для ввода элементов массива с новой строки используется оператор ReadLn. Ввод данных в массив происходит следующим образом: сначала значение счетчика цикла равно 1; выполняется операция Read (A[1]); поле чего счетчик цикла становится равным 2; выполняется операция Read (A[2])… и т.д. до значения i=n включительно.
Для вывода массива на экран используется следующий цикл:
В данном случае на экран в одну строку будут выведены все n элементов массива, после чего курсор переместится на одну строку вниз.
Как уже было сказано выше, для обработки массивов используются циклы.
Пример: пусть имеется массив M, состоящий из n элементов с номерами от 1 до n. Найти сумму элементов массива, вывести ее на экран.
Двумерные массивы: описание, ввод и вывод, обработка массива
В математике очень распространено такое понятие как матрица. Матрица – это таблица из коэффициентов A=(aij). Элементы матрицы образуют столбцы и строки. Первый индекс ( i ) указывает номер строки, второй ( j ) – номер столбца, на пересечении которых находится элемент aij.
Определим некоторые действия над матрицами:
В программировании матрицы удобно представлять с помощью двумерных массивов.
Описание двумерных массивов отличается от описания одномерных массивов только тем, что мы указываем начальное и конечное значение для обоих индексов:
Здесь n1,n2 – начальное и конечное значения первого индекса;
m1,m2 – начальное и конечное значения второго индекса.
Это массив, состоящий из 10*20*30=6000 целых чисел и занимающий в памяти 6000*2=12000 байт. В Паскале нет ограничения сверху на размерность массива. Однако в каждой конкретной реализации Паскаля ограничивается объем памяти, выделяемый под массивы. В Турбо Паскале это ограничение составляет 64 Кбайта.
В Паскале не допускается употребление динамических массивов, т.е. таких, размер которых определяется в процессе выполнения. Изменение размеров массива происходит через изменение в тексте программы и повторную компиляцию. Для упрощения таких изменений удобно определять индексные параметры в разделе констант:
Теперь для изменения размеров массива Mas и всех операторов программы, связанных с этими размерами, достаточно отредактировать только одну строку в программе – раздел констант.
Для ввода и вывода двумерных массивов используются два вложенных цикла.
Для обработки двумерных массивов также используются два вложенных цикла.
Пример: найти произведение массива A на число L.
Обр-ку дв. массива см. Рапаков стр.126!
Действия над массивом как единым целым
Такие действия допустимы лишь в двух случаях:
В обоих случаях массивы должны иметь одинаковые типы (тип индексов и тип элементов).
При выполнении операции присваивания P := Q все элементы массива P станут равны соответствующим элементам массива Q.
Как уже отмечалось, в многомерных массивах переменная с индексом может обозначать целый массив. Например,
| Год | Месяц | |||||||||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | |
| 1981 | -23 | -17 | -8 | 7 | 14 | 18 | 25 | 19 | 12 | 5 | -4 | -19 |
| 1982 | -17 | -10 | -3 | 6 | 8 | 13 | 28 | 24 | 6 | 2 | -13 | -20 |
| … | … | … | … | … | … | … | … | … | … | … | … | … |
| 1990 | -10 | -15 | -4 | 9 | 13 | 17 | 23 | 20 | 10 | 8 | -14 | -20 |
если в таблице H требуется, чтобы данные за 1989г. были такими же, как и за 1981г. (девятой строке присвоить значение первой строки), то это можно делать так:
А если нужно поменять местами значения этих строк, то это делается через третью переменную того же типа:
где P описана так:
Контрольные вопросы











