Алгоритмы работы на сотовом мобильном телефоне

Тип работы:
Контрольная
Предмет:
Коммуникации, связь, цифровые приборы и радиоэлектроника


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Санкт-Петербургский университет телекоммуникаций

им. проф. М. А. Бонч-Бруевича

КОНТРОЛЬНАЯ РАБОТА

Техника микропроцессорных систем в коммутации

Санкт-Петербург

2009

1. Задание

Проектирование табличным методом алгоритмов работы на сотовом мобильном телефоне GA 628 Ericsson.

Уточнения к проектированию:

1. Мобильный телефон подготовлен к работе и исправен.

2. Исходное состояние перед разработкой первого алгоритма — телефон отключен.

3. Исходное состояние перед разработкой остальных алгоритмов — телефон в режиме ожидания.

4. При наборе цифр (например, номер абонента и т. д.) абонент нажимает соответствующие цифры (первую, вторую, третью и т. д.). Значения цифр не учитываются.

5. При наборе букв слова абонент нажимает соответствующие буквы (первую, вторую и т. д.). Названия букв не учитываются.

6. Считать, что все функции, являющиеся оплачиваемыми услугами, доступны.

Таблица 1.

Таблица задания варианта.

№ варианта

Выполняемые таблицы

9

1

2

3

4

2. 3

2.4. 1−2.4. 4

2. 12

2. 7

2. Теоретическая часть

Сотовый телефон как автомат. В любом виде работ (физических, умственных) использование инструментов позволяет повысить качество и сократить время работы. В умственных работах такими инструментами являются формулы, графики, модели и т. д. Их характерным свойством является, как правило, абстрактность, позволяющая расширить круг реальных задач. Абстрактность инструментов ставит задачу: как перейти от конкретного описания к инструменту, описание работы которого идет на абстрактном уровне?

Решением данной задачи является перевод конкретного описания работы объекта в описание его работы в символическом виде.

Работа с сотовым телефоном на уровне действий пользователя может быть описана с использованием двух компонент: действий пользователя и состояний системы «сотовая связь». В символическом виде эти компоненты представим (закодируем) в виде двух символьных наборов.

X1, X2,…, Xi,…, Xm — набор действий пользователя. Каждое действие интерпретируется как сигнал Xi, приходящий в систему «сотовая связь».

S1, S2,…, Sj,…, Sn — набор состояний, в которые переходит система «сотовая связь», под действием сигналов X1, X2,…, Xi,…, Xm.

С использованием символьных наборов описание работы на сотовом телефоне можно интерпретировать в следующем виде: на каждое действие Xi система «сотовая связь» реагирует, переходя в одно из своих состояний Sj.

Такая символическая интерпретация позволяет использовать модель абстрактного дискретного автомата как удобный инструмент для проектирования алгоритмов работы на сотовом мобильном телефоне.

В методических рекомендациях для работы используется таблица переходов (рис. 1). Общий принцип описания работы автомата с помощью такой таблицы заключается в следующей последовательности действий.

1. Вписать в строки названия всех сигналов (поле «названия сигналов»).

2. Заполнить поле «названия состояний» всеми состояниями автомата и их кодировкой (S0,S1 и т. д.).

3. Заполнить столбцы кодировками состояний.

4. Описание работы автомата таблицей сводится к следующей последовательности действий:

· - в клетку на пересечении:

· - строки, в которой записан соответствующий сигнал X (t);

· - и столбца, который соответствует состоянию S (t-1);

· - записывается код состояния S (t), в которое переходит алгоритм под действием сигнала X (t) при состоянии S (t-1).

На рис. 1 таблицей переходов описан фрагмент работы автомата по:

t = 1 X1+S0> S1

t = 2 X3+S1> S2

t = 3 X2+S2> S3 (1)

t = 4 X3+S2> S4

t = 5 X2+S4> S2

названия

сигналов

Названия состояний

Sn…

S1…

S0…

Состояния в S (t-1)

S0

S1

S2

S3

S4

X1

S1

X2

S3

S2

X3

S2

S4

Рис. 1. Фрагмент описания работы автомата таблицей переходов

В столбце «Названия сигналов» выписаны построчно входные сигналы X1, X2, X3 (названия сигналов и состояний в примере не даны). Столбцы S0, S1, S2, S3, S4 являются состояниями в S (t-1) по:

S (t) = f [X (t), S (t-1) ]. (2)

В клетке на пересечении соответствующей строки с сигналом X (t) и столбца S (t-1) ставится состояние S (t), соответствующее описанию (1). При разработке логических алгоритмов в виде таблиц такого вида необходимо соблюдать условие однозначности переходов.

Коррекции в такой таблице просты. Например, новые связи при тех же сигналах и состояниях вводятся путем постановки соответствующего состояния в клетку на пересечении нужных столбца и строки. Новое состояние вводится добавлением столбца, а новый сигнал — добавлением строки.

3. Разработка алгоритмов функций

Общие сведения о телефоне.

/

3

/

Рисунок 2 — Внешний вид телефона GA 628 Ericsson

1 — Антенна

2 — Динамик (внутри)

3 — Клавиатура

4 — Микрофон (внутри)

6 — Индикатор состояния телефона (находится на торцевой стороне)

6 — Дисплей

3.1 Описание исходных функций

3.1.1 Включение и отключение телефона с вводом пин_кода

ВКЛЮЧЕНИЕ. Нажмите и придерживайте немного клавишу NO, пока не услышите щелчка. На дисплее будет выведен запрос пин_кода в виде: PIN.

Введите значение Вашего пин_кода (4 цифры). Очередная цифра не высвечивается, а вместо неё даётся символ *. Таким образом, после ввода пин_кода на экране будет: PIN ****.

Нажмите клавишу YES.

При правильно введённом значении пин_кода начинается поиск сети (последовательно высвечиваются: Ericsson, ПОИСК).

После нахождения сети на дисплее появляется картинка, данная на рисунке 2. Данное состояние телефона называется РЕЖИМОМ ОЖИДАНИЯ. В него система приходит после выполнения любой заданной функции!

ОТКЛЮЧЕНИЕ. Нажмите и придерживайте клавишу NO, пока не услышите щелчка, и дисплей не погаснет. (При включении телефона необходимо снова вводить пин_код).

алгоритм сотовый мобильный телефон

3.1.2 Исходящий вызов.

(пункт 2.4.1. метод. указаний)

1. Введите телефонный номер (7 цифр). В случае неправильно введённой цифры коррекция осуществляется кратковременным нажатием клавиши CLR.

2. Нажмите клавишу YES. На дисплее высветится Calling (осуществление вызова), далее Connecting (идёт соединение) и загорается значок телефонной трубки.

3. НОМЕР ЗАНЯТ. Вы услышите сигнал ЗАНЯТО, и на дисплее даётся сообщение: Busy (занято). В этом случае возможны следующие действия:

— нажать YES (повтор вызова);

— нажать NO (отказ от вызова).

4. НОМЕР СВОБОДЕН. Возможны следующие варианты действий:

— абонент Б нажимает YES (ответ на вызов);

— абонент Б нажимает NO (отказ от вызова), затем пользователь нажимает на NO и телефон переходит в состояние ожидания.

5. ОКОНЧАНИЕ РАЗГОВОРА.

— Первым разговор оканчивает пользователь. Он нажимает клавишу NO, и телефон переходит в режим ожидания.

— Первым разговор оканчивает абонент Б. Он нажимает клавишу NO, затем пользователь нажимает клавишу NO и телефон переходит в режим ожидания.

3.1.3 Входящий вызов

(пункт 2.4.2. метод. указаний)

В случае входящего вызова раздаётся телефонный звонок, на экране дисплея выводится сообщение Answer? (Ответ?)

1. Ответ на вызов — нажмите YES.

2. Отказ от вызова — нажмите NO.

Окончание разговора соответствует исходящему вызову.

3.1.4 Отключение и включение микрофона при разговоре

(пункт 2.4.3. метод. указаний)

1. При ведении разговора Вы можете ВРЕМЕННО поставить вызов на УДЕРЖАНИЕ, нажав YES. При этом будет отключен Ваш микрофон (абонент Б Вас не услышит).

2. Для включения микрофона снова нажмите YES.

3.1.5 Использование телефона как блокнота при разговоре

(пункт 2.4.4. метод. указаний)

1. Во время разговора введите продиктованный телефонный номер (7 цифр) с помощью клавиатуры. Номер сохраняется на дисплее (считать, что это номер абонента Б1).

2. Когда Вы закончите разговор, то можете нажать YES для осуществления вызова по номеру с дисплея. (В этом варианте записанный номер тождественен набранному номеру абонента Б при исходящем вызове).

3.1.6 Осуществление вызова по списку последних набранных номеров

(пункт 2. 12. метод. указаний)

1. Нажмите и придержите CLR для очистки дисплея.

2. Нажмите YES (На экране выводится последний набранный номер). Если он Вас устраивает, то переходите к п. 3, либо просмотрите список и выберите требуемый номер.

3. Нажмите YES (осуществление вызова).

3.2 Описание табличных алгоритмов

ВКЛЮЧЕНИЕ ТЕЛЕФОНА. Исходное состояние мобильного телефона: «Телефон ОТКЛЮЧЕН». После действия по включению телефона алгоритм работы на нём перейдёт в состояние: «Телефон ВКЛЮЧЕН».

1. Принимаем исходное состояние алгоритма за S0 и в верхней части таблицы записываем: 0 — «Телефон отключен».

2. В клетку на пересечении строки «Нажать NO и удерживать» и столбца «S (t-1) = 0» ставим 1.

3. Принимаем состояние «Телефон включен» за S1 и в шапку таблицы записываем: 1 — «Телефон включен».

ВВОД пин_кода. Согласно описанию после включения телефона необходимо ввести пин_код (4 цифры). Пользователь последовательно нажимает заданные цифры (1ю, 2ю, 3ю и 4ю). После каждого нажатия алгоритм переходит в следующее состояние, например, после нажатия 1й цифры, алгоритм из состояния S1 переходит в состояние S2 «Введена 1я цифра пин_кода». В клетке на пересечении строки «Ввести 1ю цифру» и столбца «S (t-1) = 1» ставим 2. Название этого состояния записываем в шапку таблицы. После нажатия 4й цифры алгоритм переходит в состояние S5. Затем, по описанию ввода пин_кода, необходимо действие «Нажать YES». В клетке на пересечении строки «Нажать YES» и столбца «S (t-1) = 5» ставим 6. Состояние S6 обозначаем как «Введён пин_код», и записываем его в шапку таблицы. Это состояние алгоритма работы в режиме ожидания. В это состояние алгоритм приходит после выполнения любой функции, данной в меню.

Дополнение алгоритма с учётом нестандартных вариантов

По описанию ошибки ввода знаков исправляются клавишей CLR, а выключение телефона действием «Нажать NO и удерживать».

При ОДИНОЧНОМ нажатии клавиши CLR, алгоритм переходит в ПРЕДЫДУЩЕЕ состояние. Например, если была введена 4я цифра пин_кода (состояние S5) и затем нажата клавиша CLR, то алгоритм из «S (t-1) = 5» перейдёт в S4. В клетку на пересечении строки «Нажать CLR» и столбца «S (t1) = 5» ставим 4 (Но если рассматривать вариант стандартной работы, то там выполняется действие «Нажать YES» и алгоритм переходит в S6). Следовательно, технология заполнения клеток в строке «Нажать CLR» состоит в том, что в клетку на пересечении строки «Нажать CLR» и соответствующего столбца ввода цифры ставим предыдущее состояние S (t-1).

По описанию при нажатии и удерживании клавиши CLR все предыдущие введённые цифры стираются, и алгоритм переходит в состояние до ввода цифр. Для пин_кода это S1. Следовательно, в клетку на пересечении строки «Нажать CLR и удерживать» и соответствующего столбца ввода цифры S (t-1) ставим S1.

Таблица 2 — Таблица переходов состояний реализации функций включение и отключение телефона с вводом пин_кода

Номер названия состояния

0 — Телефон отключен

1 — Телефон включен

2 — Введена 1я цифра пин_кода

3 — Введена 2я цифра пин_кода

4 — Введена 3я цифра пин_кода

5 — Введена 4я цифра пин_кода

6 — Введён пин_код (режим ожидания)

Названия действий пользователя

НОМЕРА СОСТОЯНИЙ в S (t-1)

0

1

2

3

4

5

6

Нажать NO и удерживать

1

0

0

0

0

0

0

Ввести 1ю цифру

2

Ввести 2ю цифру

3

Ввести 3ю цифру

4

Ввести 4ю цифру

5

Нажать YES

6

Нажать CLR

1

1

2

3

4

6

Нажать CLR и удерживать

1

1

1

1

1

6

2) Разработка алгоритма стандартных вариантов

НЕВЕРНЫЙ ВВОД пин_кода. Пользователь последовательно нажимает цифры (1ю, 2ю, 3ю и 4ю). После каждого нажатия алгоритм переходит в следующее состояние, например, после нажатия 1й цифры, алгоритм из состояния S1 переходит в состояние S2 «Введена 1я цифра пин_кода». В клетке на пересечении строки «Ввести 1ю цифру» и столбца «S (t-1) = 1» ставим 2. Название этого состояния записываем в шапку таблицы. После нажатия 4й цифры алгоритм переходит в состояние S5. Затем, по описанию ввода пин_кода, необходимо действие «Нажать YES». В клетке на пересечении строки «Нажать YES» и столбца «S (t-1) = 5» ставим 7. Состояние S7 обозначаем как «Неверный ввод пин_кода с 1й попытки», и записываем его в шапку таблицы. Пользователю предлагается ввести пин_код ещё 2 раза (аналогично, пользователь вводит неверно). После 3й попытки SIM-карта блокируется, а пользователю предлагается ввести PUK_код.

ВВОД PUK_кода. Пользователь последовательно нажимает заданные цифры (1ю, 2ю, 3ю и 4ю). После каждого нажатия алгоритм переходит в следующее состояние, например, после нажатия 1й цифры, алгоритм из состояния S17 переходит в состояние S18 «Введена 1я цифра PUK_кода». В клетке на пересечении строки «Ввести 1ю цифру» и столбца «S (t-1) = 17» ставим 18. Название этого состояния записываем в шапку таблицы. После нажатия 4й цифры алгоритм переходит в состояние S21. Затем, по описанию ввода PUK_кода, необходимо действие «Нажать YES». В клетке на пересечении строки «Нажать YES» и столбца «S (t-1) = 21» ставим 22. Состояние S22 обозначаем как «Введён PUK_код», и записываем его в шапку таблицы. Далее требуется ввести PUK_код ещё раз, и после окончания ввода PUK_кода повторно и нажатия кнопки YES алгоритма работы телефона переходит в режиме ожидания. В клетке на пересечении строки «Нажать YES» и столбца «S (t-1) = 26» ставим 6.

ИЗМЕНЕНИЕ пин_кода. По описанию любая реализация функции начинается из состояния ожидания S6. Телефон может быть выключен, что соответствует состоянию S0. Записываем эти состояния в шапку шаблона. Действие «Нажать «для входа в главное меню переводит алгоритм из S6 в S27. Действие «Найти меню: БЛОКИРОВКИ» переводит алгоритм из S27 в S28. Далее «Нажать YES» для входа в меню «БЛОКИРОВКИ» (состояние S29). Следующее действие — «Найти подменю: БЛОКИРОВКА КАРТЫ» — переводит алгоритм в состояние S30. Затем «Нажать YES» для входа в подменю «БЛОКИРОВКА КАРТЫ» (переход в состояние S31). Далее необходимо «Найти функцию: НОВЫЙ PIN» — алгоритм перейдёт из состояния S31 в S32. Для выбора этой функции «Нажать YES» (переход в состояние S33). Далее предлагается ввести старый пин_код, ввести новый пин_код и ввести новый пин_код ещё раз (эти действия аналогичны вводу пин_кода при включении телефона), после проведения этой операции телефон переходит в режим ожидания.

Дополнение алгоритма с учётом нестандартных вариантов

При нахождении в любом из пунктов меню клавиша CLR возвращает алгоритм в режим ожидания (S6), а клавиша NO — на предыдущий уровень меню. Следовательно, при заполнении клеток строки «Нажать CLR» в пересечении с состояниями нахождения в меню необходимо записать 6, а строки «Нажать NO» — значение предыдущего состояния S (t-1). В остальном, принцип описания аналогичен данному в алгоритме включения и отключения телефона.

Таблица 3 — Таблица переходов состояний реализации функций блокировка и разблокировка SIM_карты

Номер названия состояния

0 — Телефон отключен

1 — Телефон включен

2 — Введена 1я цифра пин_кода

3 — Введена 2я цифра пин_кода

4 — Введена 3я цифра пин_кода

5 — Введена 4я цифра пин_кода

6 — Введён PUK_код повторно, SIM_карта разблокирована (режим ожидания)

7 — Неверный ввод пин_кода с 1й попытки

8 — Введена 1я цифра пин_кода (2я попытка)

9 — Введена 2я цифра пин_кода (2я попытка)

10 — Введена 3я цифра пин_кода (2я попытка)

11 — Введена 4я цифра пин_кода (2я попытка)

12 — Неверный ввод пин_кода со 2й попытки

13 — Введена 1я цифра пин_кода (3я попытка)

14 — Введена 2я цифра пин_кода (3я попытка)

15 — Введена 3я цифра пин_кода (3я попытка)

16 — Введена 4я цифра пин_кода (3я попытка)

17 — Неверный ввод пин_кода с 3й попытки (блокировка SIM_карты)

18 — Введена 1я цифра PUK_кода

19 — Введена 2я цифра PUK_кода

20 — Введена 3я цифра PUK_кода

21 — Введена 4я цифра PUK_кода

22 — Введён PUK_код

23 — Введена 1я цифра PUK_кода (повторно)

24 — Введена 2я цифра PUK_кода (повторно)

25 — Введена 3я цифра PUK_кода (повторно)

26 — Введена 4я цифра PUK_кода (повторно)

Названия действий пользователя

НОМЕРА СОСТОЯНИЙ в S (t-1)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

Нажать NO и удерживать

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Ввести 1ю цифру

2

8

13

18

23

Ввести 2ю цифру

3

9

14

19

24

Ввести 3ю цифру

4

10

15

20

25

Ввести 4ю цифру

5

11

16

21

26

Нажать YES

7

12

17

22

6

Нажать CLR

1

1

2

3

4

6

7

7

8

9

10

12

12

13

14

15

17

17

18

19

20

22

22

23

24

25

Нажать CLR и удерживать

1

1

1

1

1

6

7

7

7

7

7

12

12

12

12

12

17

17

17

17

17

22

22

22

22

22

Продолжение таблицы 3 — Таблица переходов состояний реализации функций изменение пин_кода

Номер названия состояния

0 — Телефон отключен

6 — Изменён пин_кода (режим ожидания)

27 — Выбрано МЕНЮ

28 — Найдено МЕНЮ БЛОКИРОВКИ

29 — Выбрано МЕНЮ БЛОКИРОВКИ

30 — Найдено МЕНЮ БЛОКИРОВКА КАРТЫ

31 — Выбрано МЕНЮ БЛОКИРОВКА КАРТЫ

32 — Найдена ФУНКЦИЯ НОВЫЙ PIN

33 — Выбрана ФУНКЦИЯ НОВЫЙ PIN

34 — Введена 1я цифра старого пин_кода

35 — Введена 2я цифра старого пин_кода

36 — Введена 3я цифра старого пин_кода

37 — Введена 4я цифра старого пин_кода

38 — Введён старый пин_код

39 — Введена 1я цифра нового пин_кода

40 — Введена 2я цифра нового пин_кода

41 — Введена 3я цифра нового пин_кода

42 — Введена 4я цифра нового пин_кода

43 — Введён новый пин_кода

44 — Введена 1я цифра нового пин_кода (повторно)

45 — Введена 2я цифра нового пин_кода (повторно)

46 — Введена 3я цифра нового пин_кода (повторно)

47 — Введена 4я цифра нового пин_кода (повторно)

Названия действий пользователя

НОМЕРА СОСТОЯНИЙ в S (t-1)

6

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

Нажать NO и удерживать

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Нажать

27

Найти Блокировки

28

Найти Блок. карты

30

Найти Новый PIN

32

Ввести 1ю цифру

34

39

44

Ввести 2ю цифру

35

40

45

Ввести 3ю цифру

36

41

46

Ввести 4ю цифру

37

42

47

Нажать YES

29

31

33

38

43

6

Нажать NO

6

6

6

28

28

30

30

32

32

32

32

32

32

32

32

32

32

32

32

32

32

32

Нажать CLR

6

6

6

6

6

6

6

33

33

34

35

36

38

38

39

40

41

43

43

44

45

46

Нажать CLR и удерживать

6

6

6

6

6

6

6

33

33

33

33

33

38

38

38

38

38

43

43

43

43

43

3) Разработка инструмента

Исходящий вызов. Реализация в алгоритме функций отключение/включение микрофона и использование телефона как блокнота не являются логически сложной. Более сложны в логике реализации функция непосредственного установления соединения и на фоне работы этой функции реализация функции отключение/включение микрофона, имеющей два состояния: микрофон включен и микрофон отключен. Для чёткого представления их взаимодействия разработаем инструмент, упрощающий их проектирование в табличном виде.

Для этого проведём анализ взаимодействия указанных функций. Функцию установления соединения с абонентом Б при наиболее типовом варианте «абонент Б ответил» можно представить в виде последовательности компонент:

НАБОР номера абонента Б > РАЗГОВОР > ОКОНЧАНИЕ РАЗГОВОРА

На компоненте Набор номера абонента Б функции отключение/включение микрофона и использование телефона как блокнота не имеет смысла, следовательно, остаются две компоненты: разговор и окончание разговора.

Разговор. Наложение функции отключение/включение микрофона на эту функцию даёт следующие варианты:

— разговор при состоянии микрофон включен;

— разговор при состоянии микрофон отключен.

Наложение функции использование телефона как блокнота на функцию разговора даёт следующие варианты:

— во время разговора введён номер абонента Б1;

— во время разговора номер абонента Б1 не вводился.

Окончание разговора без реализации функций отключение/включение микрофона и использование телефона как блокнота по описанию возможно в одном из двух вариантов:

— 1 м разговор оканчивает абонент А;

— 1 м разговор оканчивает абонент Б.

На основе анализа на рисунке 3 приведена графическая схема, показывающая взаимодействие компонент функций непосредственного установления соединения, функции отключение/включение микрофона и использование телефона как блокнота.

На рисунке 3 сокращения в виде «1й — аб. А», «2й — аб. Б» обозначают последовательность окончания разговора абонентами, А и Б. Для упрощения описания схемы возможные варианты окончания разговора обозначены буквами a, b, …, j. На линиях указаны номера столбцов таблицы, реализующие соответствующие состояния.

Вариант a. Первым разговор оканчивает абонент А, затем абонент Б.

Вариант b. Первым разговор оканчивает абонент Б, затем абонент А.

Вариант c. Во время разговора абонент, А отключает микрофон и, не включая его, оканчивает разговор, затем абонент Б оканчивает разговор.

Вариант d. Во время разговора абонент, А отключает микрофон, а абонент Б, не дожидаясь его включения, оканчивает разговор, затем абонент А, не включая микрофона, оканчивает разговор.

Вариант e. Во время разговора абонент, А отключает микрофон, а абонент Б, не дожидаясь его включения, оканчивает разговор, затем абонент, А включает микрофон и оканчивает разговор.

Вариант f. Во время разговора абонент, А записывает номер абонент Б1. Первым разговор оканчивает абонент А, затем абонент Б.

Вариант g. Во время разговора абонент, А записывает номер абонент Б1. Первым разговор оканчивает абонент Б, затем абонент А.

Вариант h. Во время разговора абонент, А записывает номер абонент Б1 и отключает микрофон, не включая его, оканчивает разговор, затем абонент Б оканчивает разговор.

Вариант i. Во время разговора абонент, А записывает номер абонент Б1 и отключает микрофон, а абонент Б, не дожидаясь его включения, оканчивает разговор, затем абонент А, не включая микрофона, оканчивает разговор.

Вариант j. Во время разговора абонент, А записывает номер абонент Б1 и отключает микрофон, а абонент Б, не дожидаясь его включения, оканчивает разговор, затем абонент, А включает микрофон и оканчивает разговор.

/

3

/

Рисунок 3 — Графическая схема как инструмент для реализации функций вызова табличным методом

Разработка алгоритма стандартных вариантов

НАБОР НОМЕРА абонента Б. Принцип набора номера аналогичен вводу пин_кода, но набирается 7 цифр. Таким образом, после ввода 1й цифры алгоритм перейдёт из состояния ожидания (S6) в состояние S48, а после ввода 7й цифры — в состояние S54. Затем, по описанию, пользователю необходимо выполнить действие «Нажать YES» для начала вызова. При этом алгоритм переходит в состояние S55 «Введён номера абонента Б (ожидание ответа от абонента Б)». Из этого состояния по алгоритму возможны следующие варианты: абонент Б отвечает на вызов; абонент Б занят; абонент Б не отвечает; абонент Б отклоняет вызов; абонент, А отменяет посылку вызова.

Абонент Б отвечает на вызов, выполнив действие «Б Нажать YES» для ответа. В клетку на пересечении строки «Б Нажать YES» и столбца «S (t1) = 55» ставим 58 — «Разговор абонентов, А и Б (мкф. вкл., номер Б1 не введён)».

Абонент Б состояние ЗАНЯТО. В клетку на пересечении строки «Б Состояние ЗАНЯТО» и столбца «S (t-1) = 55» ставим 56 — «Абонента Б занят». Из этого состояния по алгоритму абонент, А может «Нажать NO» и завершить вызов: в клетку на пересечении строки «Нажать NO» и столбца «S (t-1) = 56» ставим 6 — «режим ожидания». Так же, абонент, А может «Нажать YES» и повторить вызов: в клетку на пересечении строки «Нажать YES» и столбца «S (t-1) = 56» ставим 55.

Абонент Б не отвечает. Абонент, А нажимает «Нажать NO» и оканчивает вызов. В клетку на пересечении строки «Нажать NO» и столбца «S (t-1) = 55» ставим 6 — «режим ожидания».

Абонент Б отклоняет вызов. В клетку на пересечении строки «Б Нажать NO» и столбца «S (t-1) = 55» ставим 57 — «Абонента Б отказывается от разговора». Из этого состояния по алгоритму абонент, А может «Нажать NO» и завершить вызов: в клетку на пересечении строки «Нажать NO» и столбца «S (t-1) = 57» ставим 6 — «режим ожидания».

Абонент, А отменяет посылку вызова. В клетку на пересечении строки «Нажать NO» и столбца «S (t-1) = 55» ставим 6 — «режим ожидания».

ОТКЛЮЧЕНИЕ/ВКЛЮЧЕНИЕ МИКРОФОНА ПРИ РАЗГОВОРЕ. Оно осуществляется нажатием клавиши YES. Нажатие клавиши первый раз отключает микрофон и переводит алгоритм из состояния S58 в S59. В клетку на пересечении строки «Нажать YES» и столбца «S (t-1) = 58» ставим 59 — «Разговор абонентов, А и Б (мкф. откл., номер Б1 не введён)». Вторичное нажатие клавиши переводит алгоритм из S59 снова в S58. Аналогично переключение между состояниями S66 и S67 при введённом 7-значном номере абонента Б1 (использование телефона как блокнота).

ИСПОЛЬЗОВАНИЕ ТЕЛЕФОНА КАК БЛОКНОТА. Ввод номера абонента Б1 во время разговора аналогичен вводу номера из режима ожидания.

ОТВЕТ НА ВЫЗОВ. Для инициализации входящего вызова абонент Б, набрав номер, выполняет действие «Б Нажать YES». При этом алгоритм перейдёт из состояния S6 в S74 — «Входящий вызов от абонента Б (звонок)». Из этого состояния по алгоритму абонент, А может «Нажать YES» и принять входящий вызов: в клетку на пересечении строки «Нажать YES» и столбца «S (t-1) = 74» ставим 58. Так же, абонент, А может «Нажать NO» и отклонить входящий вызов: в клетку на пересечении строки «Нажать NO» и столбца «S (t-1) = 74» ставим 6 — «режим ожидания».

ОКОНЧАНИЕ РАЗГОВОРА. Согласно схеме (рисунок 3) оно возможно в нескольких вариантах.

Микрофон включен, номер Б1 не введён (варианты a, b). Алгоритм в S58.

Вариант a. Первым разговор оканчивает абонент А. Он выполняет действие «Нажать NO». В клетку на пересечении строки «Нажать NO» и столбца «S (t-1) = 58» ставим 6 — «режим ожидания».

Вариант b. Первым разговор оканчивает абонент Б. Он выполняет действие «Б Нажать NO». В клетку на пересечении строки «Б Нажать NO» и столбца «S (t-1) = 58» ставим 68 — «Первым разговор окончил абонент Б (мкф. вкл., номер Б1 не введён)». Затем абонент, А выполняет действие «Нажать NO». В клетку на пересечении строки «Нажать NO» и столбца «S (t-1) = 68» ставим 6 — «режим ожидания».

Микрофон отключен, номер Б1 не введён (варианты c, d, e). Алгоритм в S59.

Вариант c. Первым разговор оканчивает абонент А. Он выполняет действие «Нажать NO». В клетку на пересечении строки «Нажать NO» и столбца «S (t-1) = 59» ставим 6 — «режим ожидания».

Вариант d. Первым разговор оканчивает абонент Б. Он выполняет действие «Б Нажать NO». В клетку на пересечении строки «Б Нажать NO» и столбца «S (t-1) = 59» ставим 69 — «Первым разговор окончил абонент Б (мкф. откл., номер Б1 не введён)». Затем абонент А, не включая микрофон, выполняет действие «Нажать NO». В клетку на пересечении строки «Нажать NO» и столбца «S (t-1) = 69» ставим 6 — «режим ожидания».

Вариант e. Данный вариант является модификацией варианта d и реализуется из состояния S69. В этом состоянии абонент, А выполняет действие «Нажать YES», то есть включает микрофон. В клетку на пересечении строки «Нажать YES» и столбца «S (t-1) = 69» ставим 70 — «Абонент, А включает мкф., абонент Б закончил разговор (номер Б1 не введён)». Затем абонент, А выполняет действие «Нажать NO». В клетку на пересечении строки «Нажать NO» и столбца «S (t-1) = 70» ставим 6 — «режим ожидания».

Варианты f, g, h, i, j (введён 7-значный номер абонента Б1) реализуются аналогично, но вместо состояния ожидания (S6) алгоритм переходит в состояние «Введена 7я цифра номера абонента Б» — S54.

Дополнение алгоритма с учётом нестандартных вариантов

Принцип описания аналогичен данным ранее.

Таблица 4 — Таблица переходов состояний реализации функций вызова

Номер названия состояния

0 — Телефон отключен

6 — Изменён пин_кода (режим ожидания)

48 — Введена 1я цифра номера абонента Б

49 — Введена 2я цифра номера абонента Б

50 — Введена 3я цифра номера абонента Б

51 — Введена 4я цифра номера абонента Б

52 — Введена 5я цифра номера абонента Б

53 — Введена 6я цифра номера абонента Б

54 — Введена 7я цифра номера абонента Б

55 — Введён номера абонента Б (ожидание ответа от абонента Б)

56 — Абонента Б занят

57 — Абонента Б отказывается от разговора

58 — Разговор абонентов, А и Б (мкф. вкл., номер Б1 не введён)

59 — Разговор абонентов, А и Б (мкф. откл., номер Б1 не введён)

60 — Введена 1я цифра номера абонента Б1

61 — Введена 2я цифра номера абонента Б1

62 — Введена 3я цифра номера абонента Б1

63 — Введена 4я цифра номера абонента Б1

64 — Введена 5я цифра номера абонента Б1

65 — Введена 6я цифра номера абонента Б1

66 — Разговор абонентов, А и Б (мкф. вкл., введён 7-значный номер абонента Б1)

67 — Разговор абонентов, А и Б (мкф. откл., введён 7-значный номер абонента Б1)

68 — Первым разговор окончил абонент Б (мкф. вкл., номер Б1 не введён)

69 — Первым разговор окончил абонент Б (мкф. откл., номер Б1 не введён)

70 — Абонент, А включает мкф., абонент Б закончил разговор (номер Б1 не введён)

71 — Первым разговор окончил абонент Б (мкф. вкл., введён 7-значный номер абонента Б1)

72 — Первым разговор окончил абонент Б (откф. вкл., введён 7-значный номер абонента Б1)

73 — Абонент, А включает мкф., абонент Б закончил разговор (введён 7-значный номер абонента Б1)

74 — Входящий вызов от абонента Б (звонок)

Названия действий пользователя и абонента Б

НОМЕРА СОСТОЯНИЙ в S (t-1)

6

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

Нажать NO и удерживать

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Ввести 1ю цифру

48

60

Ввести 2ю цифру

49

61

Ввести 3ю цифру

50

62

Ввести 4ю цифру

51

63

Ввести 5ю цифру

52

64

Ввести 6ю цифру

53

65

Ввести 7ю цифру

54

66

Нажать YES

55

55

59

58

67

66

70

73

58

Нажать NO

6

6

6

6

6

6

6

6

6

6

6

54

54

6

6

6

54

54

54

6

Б Нажать YES

74

58

Б Нажать NO

57

68

69

68

68

68

68

68

68

71

72

Б Состояние ЗАНЯТО

56

Нажать CLR

6

6

48

49

50

51

52

53

6

6

6

6

6

60

61

62

63

64

65

66

6

6

6

6

Нажать CLR и удерживать

6

6

6

6

6

6

6

6

6

6

6

6

6

60

60

60

60

60

60

60

59

6

6

6

6

6

6

6

4) Разработка алгоритма стандартных вариантов

СТИРАНИЕ СОДЕРЖИМОГО ЯЧЕЙКИ ПАМЯТИ. По описанию любая реализация функции начинается из состояния ожидания S6. Телефон может быть выключен, что соответствует состоянию S0. Записываем эти состояния в шапку шаблона. Действие «Нажать «для входа в главное меню переводит алгоритм из S6 в S27. Действие «Найти меню: ВЫБОР ПО ИМЕНИ» переводит алгоритм из S27 в S75 («Найдено МЕНЮ: ВЫБОР ПО ИМЕНИ»). Далее «Нажать YES» для входа в меню «ВЫБОР ПО ИМЕНИ» (состояние S76 — «Выбрано МЕНЮ: ВЫБОР ПО ИМЕНИ»). Следующее действие — «Найти ИМЯ» — переводит алгоритм в состояние S77 («Найдено ИМЯ»). Затем «Нажать CLR и удерживать» для удаления выделенной записи (переход в состояние S78 — «Выбрана ФУНКЦИЯ: СТЕРЕТЬ ЗАПИСЬ»). Далее «Нажать YES» подтверждения удаления (переход в состояние S6).

Дополнение алгоритма с учётом нестандартных вариантов

Принцип описания аналогичен данным ранее.

Таблица 5 — Таблица переходов состояний реализации функций стирание содержимого ячейки памяти

Номер названия состояния

0 — Телефон отключен

6 — Изменён пин_кода (режим ожидания)

27 — Выбрано МЕНЮ

75 — Найдено МЕНЮ: ВЫБОР ПО ИМЕНИ

76 — Выбрано МЕНЮ: ВЫБОР ПО ИМЕНИ

77 — Найдено ИМЯ

78 — Выбрана ФУНКЦИЯ: СТЕРЕТЬ ЗАПИСЬ

Названия действий пользователя

НОМЕРА СОСТОЯНИЙ в S (t-1)

6

27

75

76

77

78

Нажать NO и удерживать

0

0

0

0

0

0

Нажать

27

Найти Выб. по им.

75

Найти Имя

77

Нажать YES

76

6

Нажать NO

6

6

6

75

75

77

Нажать CLR

6

6

6

6

Нажать CLR и удерживать

6

6

6

78

6

Литература

В. А. Манохин «Проектирование табличным методом алгоритмов работы на сотовых мобильных телефонах: Методические рекомендации к курсовому проектированию». СПбГУТ. — СПб, 2003

ПоказатьСвернуть
Заполнить форму текущей работой