Скачиваний:
1
Добавлен:
01.04.2025
Размер:
135.68 Кб
Скачать

17.Операции над (строка, множество, массив, очередь, стек).

Задачи, решаемые на ЭВМ — это математические модели процессов или явлений

реальной жизни, в которых отражены наиболее существенные связи между реальными объектами. Модели реальных объектов вместе с присущими им связями образуют структуры данных. При решении задачи на ЭВМ структуры алгоритмов отображаются на структуру машинного языка, а структуры данных отображаются на структуру машинной памяти.

Память ЭВМ имеет дискретную структуру и состоит из линейной последовательности элементов, называемых ячейками. Каждая ячейка может содержать одно значение — машинное слово.

Простые переменные описывают структуры, состоящие из одного элемента.

Каждая простая переменная характеризуется одним значением. При отображении

на память ЭВМ имени простой переменной ставится в соответствие номер ячейки памяти, в которой хранится значение этой переменной.

Массив — структура, состоящая из множества элементов, упорядоченных в

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

Очередь — структура данных, организованная по принципу «первым пришел —

первым ушел». Обработка элементов очереди ведется последовательно один за другим. Элемент, который первым попал в очередь, первым и обрабатывается и при этом покидает очередь.

Добавление новых элементов производится в конец очереди.

Стек — структура данных, организованная по принципу «последним пришел —

первым ушел». При записи в стек очередной элемент заносится в его вершину, а остальные элементы продвигаются вниз без изменения порядка. При выборке из стека выбирается элемент из его вершины, а все остальные элементы без изменения порядка сдвигаются вверх, так что в вершину попадает элемент, поступивший в стек предпоследним. Стек можно отобразить на одномерный массив. Значение i = 0 перед чтением из стека служит

признаком того, что стек пуст, а значение i = n (n — размерность массива) перед записью в стек — признаком того, что стек переполнен.

Строка — структура данных, описывающая последовательность символов из

некоторого алфавита. Дан фрагмент алгоритма, в котором переменные a, b, c имеют тип «строка», переменные i, k — тип «целое». Значения строк записываются в одинарных кавычках, например, b:= ‘память’.

Используются функции:

Длина(а) — возвращает количество символов в строке а (тип «целое»).

Извлечь(a,i) — возвращает i-ый символ в строке а, начиная слева (тип «строка»).

Склеить(a,b) — возвращает строку, в которой записаны подряд символы строки а, затем строки b.

Элементы массива D[1..5] равны соответственно 3, 4, 5, 1, 2. Определить значение выражения D [D [5] ] – D [D [3] ]. (Ответ: 2)

Дан фрагмент программы:

цел таб А[1..12,1..12]

нц

для i:=1 до 12

нц

для j:= 1 до 12

если mod(I + j, 2) = 0

то А[i, j] = 0

иначе А[i, j] = 1

кц .

Определить значение суммы A[1, 6] + A[2, 7] + A[3, 8] + A[4, 9] + A[5, 10] после выполнения фрагмента программы. (Ответ: 5)

Комментарий к решению. Для заполнения двумерного массива требуется два цикла для: внешний — для ввода по строке и внутренний (вложенный) — для ввода по столбцам. Заполнение матрицы А[12, 12] происходит по правилу: если сумма индексов элемента матрицы четна, то элементу присваивается значение 0, иначе — 1. После заполнения матрицы нечетные строки будут

иметь вид 0101…01, а четные — 1010…10. В вычисляемой сумме у всех входящих в нее элементов сумма индексов нечетна, поэтому все элементы равны 1. Сумма пяти единиц равна 5.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]