
22
Построение алгоритма может происходить двумя путями:
1. Базовые элементы могут соединяться в последовательность, образуя
конструкцию следования.
2. Одна базовая конструкция может вкладываться в другую конструкцию, так как
внутри составных команд могут быть использованы другие составные команды.
Алгоритм может развиваться как “вширь” подключением в цепочку новых конструкций,
так и “вглубь” включением одних конструкций в другие.
Алгоритм сначала формулируется в общих чертах, а затем уточняется путем
детализации более крупных действий через более мелкие. Это метод пошаговой
детализации или метод “сверху вниз”. При построении алгоритма по принципу «сверху
вниз» задача разбивается на более простые подзадачи. Если для какой-то подзадачи уже
построен алгоритм, то он может быть включен в разрабатываемый алгоритм.
Готовые алгоритмы, целиком включаемые в состав разрабатываемого алгоритма,
называют вспомогательными или подчиненными алгоритмами.
;
Подпрограммы — вспомогательные алгоритмы, записанные на языках
программирования.
S Для работы с целыми числами в языках программирования используются стандартные
функции div — деление нацело и mod — остаток от деления нацело.
S Результатом выполнения операции x div y будет целое число, округленное по
направлению к 0, например, 17 div 8 = 2, 3 div 5 = 0.
S Результатом выполнения операции x mod y = x – (x div y)*y будет целое число —
остаток от деления нацело x на y, например, 17 mod 8 = 1, 3 mod 5 = 3.
S Операции *, /, div, mod имеют одинаковый приоритет.
S Определить значения переменных a и b после вычисления выражений:
a := 15 div (16 mod 7), b := 34 mod a*5 – 29 mod 5*2. (Ответ: a = 7, b = 22)
4 СТРУКТУРЫ ДАННЫХ
Задачи, решаемые на ЭВМ — это математические модели процессов или явлений
реальной жизни, в которых отражены наиболее существенные связи между реальными
объектами. Модели реальных объектов вместе с присущими им связями образуют
структуры данных. При решении задачи на ЭВМ структуры алгоритмов отображаются на
структуру машинного языка, а структуры данных отображаются на структуру машинной
памяти.
S
Память ЭВМ имеет дискретную структуру и состоит из линейной последовательности
элементов, называемых ячейками. Каждая ячейка может содержать одно значение — машинное
слово.
;
Простые переменные описывают структуры, состоящие из одного элемента.
Каждая простая переменная характеризуется одним значением. При отображении
на память ЭВМ имени простой переменной ставится в соответствие номер ячейки памяти,
в которой хранится значение этой переменной.
;
Массив — структура, состоящая из множества элементов, упорядоченных в
соответствии со значениями индексов.
В зависимости от числа индексов различают массивы одномерные, двумерные и
т. д. Массив как структура данных характеризуется тем, что с помощью индексов
обеспечивается прямой доступ к любому элементу массива.
;
Очередь — структура данных, организованная по принципу «первым пришел —
первым ушел».
Обработка элементов очереди ведется последовательно один за другим. Элемент,
который первым попал в очередь, первым и обрабатывается и при этом покидает очередь.
Добавление новых элементов производится в конец очереди.
;
Стек — структура данных, организованная по принципу «последним пришел —
первым ушел».