
- •17.Операции над (строка, множество, массив, очередь, стек).
- •18. Модель, виды моделей.
- •19.Моделирование. Технология решения задачи при помощи компьютерного моделирования.
- •20.Системы счисления, классификация, свойства.
- •21.Перевод чисел из системы в систему.
- •22.Основные математические операции в двоичной системе.
- •23.Основные математические операции в восьмеричной системе.
- •24. Основные математические операции в шестнадцатеричной системе.
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.