
- •Алгоритмитизация и программирование Лекция 1
- •Общие сведения
- •Модель osi. Понятие об интерфейсах и протоколах. Рекомендация itu-t X.200
- •1.3. Системы счисления
- •Лекция 2
- •2.1. Способы описания алгоритмов функционирования узла коммутации
- •2.2. Описание алгоритмов с помощью диаграммы состояний
- •2.3. Описание алгоритмов с помощью временной диаграммы
- •Описание алгоритмов с помощью текстового описания
- •Лекция 3
- •3.2. Типы данных
- •3.3. Арифметические операторы
- •3.4. Операторы сравнения
- •3.5. Побитовые операторы
- •3.6. Кодовые таблицы
- •3.7. Ввод/вывод данных
- •Лекция 4
- •4.2. Переменные
- •4.3. Ввод/вывод данных
- •4.4. Арифметические операции
- •4.5. Взаимосвязь чисел и литер
- •Лекция 5
- •5.1. Базовые конструкции
- •5.2. Операторы базовых конструкций
- •If (условие) {операторы 1}
- •If совместно с else
- •Лекция 6
- •6.1. Функции
- •6.2. Массивы
- •6.3. Указатели
- •Лекция 7
- •7.1. Операции с файлами
- •7.2. Открытие текстового файла для записи
- •7.3. Открытие текстового файла для чтения
- •Программный файл генерации случайных чисел “generation.Exe”. В результате создается текстовый файл с именем “qwerty.Dot”.
- •Лекция 8
- •8.1. Создание и инициализация строк
- •8.2. Функции для работы со строками
- •Лекция 9
- •9.1. Структуры
- •9.2. Формирование контрольной суммы
1.3. Системы счисления
Система счисления состоит из символов и правил их применения. Вес каждого символа зависит от его позиции в изображаемом числе. Счет позиции ведется справа налево, самый правый символ имеет наименьший вес, самый левый – наибольший.
Наиболее распространенной является десятичная система счисления. Она использует десять символов – 0,1,2,3,4,5,6,7,8,9. Вес первого (самого правого) символа числа умножается на 100, следующего – на 101 и т.д. Например, десятичное число 3567 представляется как 3∙103 + 5∙102 +6∙101 +7∙100 = 3567.
Цифровые вычислительные устройства используют двоичную систему счисления (двоичный код). Она использует два символа – 0 и 1. Вес первого (самого правого) символа числа умножается на 20, следующего – на 21 и т.д. Например, десятичное число 3567 в двоичном коде представляется как 1∙211 + 1∙210 +0∙29 +1∙28 +1∙27 + 1∙26 + 1∙25 +0∙24+ 1∙23 + 1∙22 +1∙21 +1∙20 = 1101111011112 = 2048 + 1024 + 256 + 128 + 64 + 32 + 8 + 4 + 2 + 1 = 3567.
Для сокращения записи вместо двоичного кода используют восьмеричную и шестнадцатеричную системы счисления. Соответствие между значениями символов в десятичной, двоичной восьмеричной и шестнадцатеричной системе счисления приведено в табл. 3.1.
Табл. 1.1 – Соответствие кодов различных систем счисления
Десятичный код |
Двоичный код |
Восьмеричный код |
Шестнадцатеричный код |
0 |
0000 |
0 |
0 |
1 |
0001 |
1 |
1 |
2 |
0010 |
2 |
2 |
3 |
0011 |
3 |
3 |
4 |
0100 |
4 |
4 |
5 |
0101 |
5 |
5 |
6 |
0110 |
6 |
6 |
7 |
0111 |
7 |
7 |
8 |
1000 |
10 |
8 |
9 |
1001 |
11 |
9 |
10 |
1010 |
12 |
A |
11 |
1011 |
13 |
B |
12 |
1100 |
14 |
C |
13 |
1101 |
15 |
D |
14 |
1110 |
16 |
E |
15 |
1111 |
17 |
F |
Задание. Выполнить лабораторную работу 1 (Побитовые операции).
Лекция 2
2.1. Способы описания алгоритмов функционирования узла коммутации
Алгоритм – набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное число действий. Описание алгоритма функционирования узла коммутации (сетевого элемента) может быть представлено в виде диаграммы состояний, временной диаграммы, текстового описания или в совокупности указанных способов.
Хорошим правилом описания алгоритмов является его представление во всех трех формах – в виде SDL-диаграммы, временной диаграммы и текстового описания.
2.2. Описание алгоритмов с помощью диаграммы состояний
Описание сложных алгоритмов удобно описывать в виде диаграммы состояний, используя язык спецификаций и описания (Specification and Description Language, SDL), используя Рекомендацию ITU-T Z.100.
SDL опирается на идею расширенной машины с конечным числом состояний (Finite State Machines, FSM). FSM представляет собой аппаратно-программный автомат, действующий по принципу воздействие-ответ. Для обработки любого процесса используются четыре устройства (рис. 2.1): входной порт (Input port), FSM, таймеры (Timer) и входные данные (Variable).
Variable
Входные данные
Входные данные
(переменные)
FSM
Input port
Входной порт
Input signal
Входной сигнал
Output signal
Выходной сигнал
Имя сообщения
Timer
Timer
Таймер
Рис. 2.1. Расширенная FSM
Во входном порту образуется очередь входных сигналов (Input signal), которые там хранятся до момента их взятия в обработку FSM. Входные сигналы (воздействия) от разных источников обрабатываются FSM в порядке их поступления. Каждый входной сигнал имеет вид дискретного сообщения, содержащее имя и входные данные. Для каждого состояния FSM хранит список ожидаемых сообщений. Если входное сообщение соответствует списку ожидаемых сообщений, то FSM в соответствии с входными данными производит транзакцию, т.е. необходимые действия (например, генерирует выходной сигнал источнику/ам воздействий) для перехода в следующее состояние. Если входное сообщение отсутствует в списке, то оно игнорируется. Если во входном порту сообщения отсутствуют, то FSM остается в прежнем состоянии. Для исключения “зависания” процесса FSM таймирует время ожидания поступления очередного сообщения. Поведение FSM в зависимости от входных сообщений отображается в виде диаграммы состояний.
Диаграмма состояний использует следующие основные символы.
С
имвол
Start
(Старт) используется для обозначения
начала функционирования системы (при
включении питания).
С
имвол
State
(Состояние) обозначает состояние
процесса, которое сохраняется до момента
поступления внешнего воздействия
(стимула). В теле символа имеется имя
состояния и его порядковый номер.
С
имвол
Input
(ввод) обозначает внешнее воздействие.
Имеет лист стимулов, каждый стимул имеет
список сигналов. В теле символа содержится
имя воздействия.
С
имвол
Label
(Соединитель) используется для соединения
различных символов при ограниченном
формате листа. Имеет свое имя.
Символ Procedure Call (Обработка вызова) обозначает действия, выполняемые ПО для обслуживания вызова. В теле символа содержится краткое описание действия.
С
имвол
Comment
(комментарий) используется для
дополнительных пояснений, не поместившихся
в теле символа.
С
имвол
Decision
(Решение) используется при ветвлении
процесса в зависимости от данных. В теле
символа содержится вопрос. Положительный
ответ обозначается Yes (Да), отрицательный
ответ обозначается No (Нет).
С
имвол
Output
(Вывод) используется для вывода данных,
полученных в результате обработки
вызова. В теле символа содержится имя
действия.
С
имвол
сохранения данных для обработки в другом
состоянии. В теле символа содержатся
сохраняемые параметры.
С
имвол
Stop
(Стоп) используется для обозначения
завершения функционирования системы
(при выключении питания).
Порядок выполнения операций во времени – сверху-вниз. Одна из сторон взаимодействия располагается слева, другая – справа. Описание действия и значения таймеров прилагается в текстовом формате.
SDL-диаграммы широко применяются при описании алгоритма функционирования узлов коммутации в сетях связи интегрального обслуживания (Integrated Services Digital Network, ISDN) в виде Рекомендаций сектора стандартизации электросвязи Международного союза электросвязи (International Telecommunication Union - Telecommunication sector, ITU-T).
В узле ISDN используются четыре уровня. Первые четыре верхних уровня образуют подсистему пользователя (ISDN User Part, ISUP) и изображены в виде одной подсистемы управления вызовом (Call Control). Блок-схема обслуживания соединений представлена на рис. 2.2.
Управление вызовом,
L4-L7
Primitives

Управление протоколом
Q.931, L3
Блок, описываемый SDL-диаграммами в Рекомендации ITU-T Q.931
Сообщения к/от сети связи

Сообщения к/от абоненту связи
L2
Интерфейс
пользователь-сеть
L2
L1


ISDN

Абонентский участок
L1
Рис. 2.2. Стек протоколов соединения на абонентском участке
Например, алгоритм функционирования третьего уровня в виде SDL-диаграмм и текстового описания представлен в Рекомендации ITU-T Q.931 (рис. 2.3).
Рис. 2.3. Установление соединения в ISDN (стр.192)