Разработка программ преобразования форматов двоичных данных и сортировок
Особенности разработки программы, преобразующей массив чисел в соответствующий формат. Анализ двоично-десятичного кодирования. Стандарты кодирования текстов. Юникод как единый стандарт кодировки для множества алфавитов. Примеры арифметики с ДД-кодами.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 07.06.2016 |
Размер файла | 99,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://allbest.ru
Разработка программ преобразования форматов двоичных данных и сортировок
Индивидуальное задание
1. Подготовить для аналитической части реферативный материал на тему:
Двоично-десятичное кодирование. Арифметические действия над ДД-кодами. Стандарты кодирования текстов. Примеры арифметики с ДД-кодами привести на основе чисел из таблицы п.2 после их перевода в ДД.
2. Задача для разработки алгоритма и программной реализации на Эмуляторе микро-ЭВМ СМ-1800
Пользуясь программой-монитором, занести в память ЭВМ, начиная с адреса 500016, следующий массив из 10 восьмиразрядных констант:
Адрес16 |
Константа16 |
Адрес16 |
Константа16 |
|
5000 |
FF |
5005 |
00 |
|
5001 |
35 |
5006 |
F4 |
|
5002 |
57 |
5007 |
9A |
|
5003 |
8D |
5008 |
07 |
|
5004 |
80 |
5009 |
0A |
Будем рассматривать эти коды как массив однобайтных целых положительных чисел без знака.
Составить программу, которая сортирует исходный массив (с адреса 500016) по возрастанию и преобразует его в массив кодов символов шестнадцатеричных цифр КОИ-7 с адреса 700016 (700016 - символ старшей шестнадцатеричной цифры 1-го числа, 700116 - символ младшей шестнадцатеричной цифры 1-го числа и т.д.).
Программу располагать в памяти с ячейки 400016.
- Двоично- десятичное кодирование
- Неупакованный десятичный код является подмножеством международной таблицы кодирования символов ASCII (Таблица). Видно, что для хранения неупакованных десятичных чисел требуется в два раза больше памяти, так как каждая цифра представляется 8-битным кодом.
Введение
программа юникод кодирование
Основной задачей работы является разработать программу, преобразующую массив чисел в соответствующий формат. Перед тем, как приступить непосредственно к выполнению практической задачи, требовалось выполнить и аналитическую часть работы, а именно, подготовить реферативный материал по теме двоично-десятичное кодирование, арифметические действия над ДД - кодами, стандарты кодирования текста, также привести примеры арифметики с ДД - кодами на основе данных чисел. В практической части требовалось начертить блок-схему алгоритма с поясняющим текстом, написать распределение памяти и листинг программы с комментарием, создать программу перевода чисел.
Задача для разработки алгоритма и программной реализации на эмуляторе микроэвм СМ - 1800.
Пользуясь программой-монитором, занести в память ЭВМ, начиная с адреса 500016, следующий массив из 10 восьмиразрядных констант:
Адрес16 |
Константа16 |
Адрес16 |
Константа16 |
|
5000 |
FF |
5005 |
00 |
|
5001 |
35 |
5006 |
F4 |
|
5002 |
57 |
5007 |
9A |
|
5003 |
8D |
5008 |
07 |
|
5004 |
80 |
5009 |
0A |
Будем рассматривать эти коды как массив однобайтных целых положительных чисел без знака.
Составить программу, которая сортирует исходный массив (с адреса 500016) по возрастанию и преобразует его в массив кодов символов шестнадцатеричных цифр КОИ-7 с адреса 700016 (700016 - символ старшей шестнадцатеричной цифры 1-го числа, 700116 - символ младшей шестнадцатеричной цифры 1-го числа и т.д.).
Программу располагать в памяти с ячейки 400016.
1.Аналитическая часть
Язык - множество символов и совокупность правил, определяющих способы составления из этих символов осмысленных сообщений. Семантика - система правил и соглашений, определяющая толкование и придание смысла конструкциям языка.
Кодирование информации - это процесс формирования определенного представления информации. При кодировании информация представляется в виде дискретных данных. Декодирование является обратным к кодированию процессом. В более узком смысле под термином "кодирование" часто понимают переход от одной формы представления информации к другой, более удобной для хранения, передачи или обработки. Компьютер может обрабатывать только информацию, представленную в числовой форме. Вся другая информация (например, звуки, изображения, показания приборов и т. д.) для обработки на компьютере должна быть преобразована в числовую форму.
Как правило, все числа в компьютере представляются с помощью нулей и единиц (а не десяти цифр, как это привычно для людей). Иными словами, компьютеры обычно работают в двоичной системе счисления, поскольку при этом устройства для их обработки получаются значительно более простыми. Ввод чисел в компьютер и вывод их для чтения человеком может осуществляться в привычной десятичной форме, а все необходимые преобразования выполняют программы, работающие на компьютере.
2.Двоично-десятичное кодирование
Компромиссная система, для удобства восприятия данных человеком и корректной работы компьютера, двоично-десятичная запись чисел.
Принцип построения этой системы достаточно прост: каждая десятичная цифра преобразуется прямо в свой десятичный эквивалент из 4 бит, например:
369110=0011 0110 1001 0001DEC:
Десятичное число3691
Двоично-десятичное число0011011010010001
Преобразуем двоично-десятичное число 1000 0000 0111 0010 в его десятичный эквивалент. Каждая группа из 4 бит преобразуется в её десятичный эквивалент. Получим 1000 0000 0111 0010DЕС = 807210:
Двоично-десятичное число1000000001110010
Десятичное число8072
Микропроцессоры используют чистые двоичные числа, однако понимают и команды преобразования в двоично-десятичную запись. Полученные двоично-десятичные числа легко представимы в десятичной записи, более понятной людям.
Форматы представления десятичных чисел
В настоящее время распространены два формата представления десятичных чисел в микропроцессорах - упакованный двоично-десятичный код (BCD-Binary-Coded Decimal) и неупакованный десятичный код.
Упакованный BCD-код - это такое представление десятичного числа, когда каждая десятичная цифра представляется 4-х битным двоичным позиционным кодом 8-4-2-1. При этом байт содержит две десятичные цифры. Младшая десятичная цифра занимает правую тетраду (биты 3 : 0), старшая - левую тетраду (биты 7 :4).
Многоразрядные BCD-числа занимают несколько смежных байт. Если число является знаковым, то для представления знака в BCD-формате отводится старшая тетрада старшего байта. Для кодирования знака можно использовать шесть двоичных кодовых комбинаций, которые не используются для представления десятичных цифр. Это коды 1010-1111 (A-F в шестнадцатеричном представлении). Обычно для кодирования знака плюс применяют код 1100 (C), а для знака минус - 1101 (D). На рисунке показано BCD-представление десятичного числа "-12345":
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
|
«-» |
«1» |
|||||||
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
|
«2» |
«3» |
|||||||
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
|
«4» |
«5» |
Неупакованный десятичный код является подмножеством международной таблицы кодирования символов ASCII (Таблица). Видно, что для хранения неупакованных десятичных чисел требуется в два раза больше памяти, так как каждая цифра представляется 8-битным кодом.
Преимущества
Упрощён вывод чисел на индикацию -- вместо последовательного деления на 10 требуется просто вывести на индикацию каждый полубайт. Аналогично, проще ввод данных с цифровой клавиатуры.
Для дробных чисел (как с фиксированной, так и с плавающей запятой) при переводе в человекочитаемый десятичный формат и наоборот не теряется точность.
Упрощены умножение и деление на 10, а также округление.
По этим причинам двоично-десятичный формат применяется в калькуляторах -- калькулятор в простейших арифметических операциях должен выводить в точности такой же результат, какой подсчитает человек на бумаге.
Недостатки
· Усложнены арифметические операции.
· Требует больше памяти.
· В двоично-десятичном коде 8421-BCD существуют запрещённые комбинации битов:
Запрещённые в 8421-BCD битовые комбинации
1010 |
1011 |
1100 |
|
1101 |
1110 |
1111 |
Запрещённые комбинации возникают обычно в результате операций сложения, так как в 8421-BCD используются только 10 возможных комбинаций 4-х битового поля вместо 16. Поэтому, при сложении и вычитании чисел формата 8421-BCD действуют следующие правила:
При сложении двоично-десятичных чисел каждый раз, когда происходит перенос бита в старший полубайт, необходимо к полубайту, от которого произошёл перенос, добавить корректирующее значение 0110.
При сложении двоично-десятичных чисел каждый раз, когда встречается недопустимая для полубайта комбинация, необходимо к каждой недопустимой комбинации добавить корректирующее значение 0110 с разрешением переноса в старшие полубайты.
При вычитании двоично-десятичных чисел, для каждого полубайта, получившего заём из старшего полубайта, необходимо провести коррекцию, отняв значение 0110.
Операции над двоично-десятичными числами:
Упакованные BCD-числа можно только складывать и вычитать. Для выполнения других действий над ними их нужно дополнительно преобразовывать либо в неупакованный формат, либо в двоичное представление. Из-за того, что упакованные BCD-числа представляют не слишком большой интерес, мы их рассмотрим кратко.
Сложение упакованных BCD-чисел
Вначале разберемся с сутью проблемы и попытаемся сложить два двузначных упакованных BCD-числа.
Сложение упакованных BCD-чисел
67 = 0110 0111
+
75 = 0111 0101
=
142 = 1101 1100 = 220
Как видим, в двоичном виде результат равен 1101 1100 (или 220 в десятичном представлении), что неверно. Это происходит по той причине, что микропроцессор не подозревает о существовании BCD-чисел и складывает их по правилам сложения двоичных чисел. На самом деле, результат в двоично-десятичном виде должен быть равен 0001 0100 0010 (или 142 в десятичном представлении).
Видно, что как и для неупакованных BCD-чисел, для упакованных BCD-чисел существует потребность как-то корректировать результаты арифметических операций.
Микропроцессор предоставляет для этого команду daa:
daa (Decimal Adjust for Addition) -- коррекция результата сложения для представления в десятичном виде.
Команда daa преобразует содержимое регистра al в две упакованные десятичные цифры по алгоритму, приведенному в описании команды daa.
Получившаяся в результате сложения единица (если результат сложения больше 99) запоминается в флаге cf, тем самым учитывается перенос в старший разряд.
Аналогично сложению, микропроцессор рассматривает упакованные BCD-числа как двоичные и, соответственно, выполняет вычитание BCD-чисел как двоичных.
Вычитание упакованных BCD-чисел
Выполним вычитание 67-75. Так как микропроцессор
выполняет вычитание способом сложения, то и мы последуем
этому:
67 = 0110 0111
+
-75 = 1011 0101
=
-8 = 0001 1100 = 28 ???
Как видим, результат равен 28 в десятичной системе счисления, что является абсурдом. В двоично-десятичном коде результат должен быть равен 0000 1000 (или 8 в десятичной системе счисления).
При программировании вычитания упакованных BCD-чисел программист, как и при вычитании неупакованных BCD-чисел, должен сам осуществлять контроль за знаком. Это делается с помощью флага cf, который фиксирует заем из старших разрядов.
Само вычитание BCD-чисел осуществляется простой командой вычитания sub или sbb. Коррекция результата осуществляется командой das:
das (Decimal Adjust for Substraction) -- коррекция результата вычитания для представления в десятичном виде.
Команда das преобразует содержимое регистра al в две упакованные десятичные цифры по алгоритму, приведенному в описании команды das.
Стандарты кодирования текстов
Разные стандарты кодировки для разных алфавитов Стандарт кодировки, сохраняемый вместе с текстовым файлом, предоставляет информацию, необходимую для того, чтобы отображать текст на экране. Например, в кодировке «кириллица (Windows)» знаку Й соответствует числовое значение 201. При открытии файла, содержащего эту букву, на компьютере, использующем кодировку «кириллица (Windows)», будет прочтено числовое значение 201 и на экране отобразится знак Й.
Однако если тот же самый файл открыть на компьютере, использующем другую кодировку, то он отобразит знак, которому соответствует числовое значение 201, в том стандарте кодировки, который использует данный компьютер по умолчанию. Например, если компьютер использует стандарт кодировки «Западная Европа (Windows)», этот знак в оригинальном файле, созданном в кодировке «кириллицы», будет отображаться как E, а не Й, поскольку в кодировке «Западная Европа (Windows)» значение 201 отображает знак E.
Юникод: единый стандарт кодировки для множества алфавитов
Чтобы избежать проблем, связанных с кодированием и раскодированием файлов, можно сохранять файлы в кодировке Юникод. Юникод включает наборы знаков для большинства языков, которые в наши дни используются на компьютерах. Файлы в кодировке Юникод можно открывать и читать на компьютере с англоязычной системой независимо от того, на каком языке написан текст. Подобным же образом, если использовать англоязычную систему для сохранения файла в кодировке Юникод, файл может включать знаки которые отсутствуют в западноевропейских алфавитах, в частности греческие, кириллические, арабские или японские знаки.
Стандарт представления символов ASCII - это 7-битовое описание кода символа. Поскольку в персональных компьютерах используются байты, состоящие из 8 бит, производители компьютеров часто определяют наборы символов, использующие 256 кодов вместо 128 кодов ASCII. В результате получается «расширенный набор символов» (extended character set), который включает в себя набор символов ASCII и до 128 других символов.
ASCII -коды десятичных цифр
Десятичная цифра |
ASCII -код |
Десятичная цифра |
А8СП-код |
|
0 |
$30 |
5 |
$35 |
|
1 |
$31 |
6 |
$36 |
|
2 |
$32 |
7 |
$37 |
|
3 |
$33 |
8 |
$38 |
|
4 |
$34 |
9 |
$39 |
Расширенный набор символов, который Windows и программы для Windows в большинстве случаев используют, называется набор символов ANSI (ANSI character set), фактически он является международным стандартом ISO.
Стандарт кодировки символов UNICODE. Стандарт Unicode был предложен некоммерческой организацией Unicode Consortium, образованной в 1991 г. Для представления каждого символа в этом стандарте используются два байта: один байт для кодирования символа, другой для кодирования признака. Тем самым обеспечивается информационная совместимость данного способа кодирования со стандартом ASCII.
3.Примеры арифметики с ДД- кодами на основе чисел из таблицы п.2 после их перевода в ДД
ДД-код |
Константа16 |
ДД-код |
Константа16 |
|
1111 1111 |
FF |
0000 0000 |
00 |
|
0011 0101 |
35 |
1111 0100 |
F4 |
|
0101 0111 |
57 |
1001 1010 |
9A |
|
1000 1101 |
8D |
0000 0111 |
07 |
|
1000 0000 |
80 |
0000 1010 |
0A |
Пример сложения:
80 (1000 0000) + 35 (0011 0101) = 115 (0001 0001 0101)
Пример вычитания:
80 (1000 0000) - 35 (0011 0101) = 45 (0100 0101)
4.Практическая часть
Блок-схема алгоритма
Листинг программы с комментариями.
Адрес |
Машин. код |
Метка |
Код Ассемблера |
Комментарий |
|
4000 |
31 00 80 |
|
LXI SP,8000H |
Создание стека программы |
|
4003 |
06 0A |
|
MVI B,0AH |
Установка начальных значений счётчиков цикла |
|
4005 |
0E 09 |
L1: |
MVI C,09H |
||
4007 |
21 01 50 |
|
LXI H,5001H |
Указываем адреса первой пары элементов массива |
|
400A |
11 00 50 |
|
LXI D,5000H |
||
400D |
1A |
L2: |
LDAX D |
Загрузка в аккумулятор элемента массива |
|
400E |
BE |
|
CMP M |
Сравниваем со следующим элементом массива |
|
400F |
DA 18 40 |
|
JC L3 |
Если первый элемент меньше, переход по метке, иначе |
|
4012 |
C5 |
|
PUSH B |
Сохраняем счётчики в стек |
|
4013 |
4E |
|
MOV C,M |
Меняем элементы массива местами
|
|
4014 |
77 |
|
MOV M,A |
||
4015 |
79 |
|
MOV A,C |
||
4016 |
12 |
|
STAX D |
||
4017 |
C1 |
|
POP B |
Восстанавливаем счётчики из стека |
|
4018 |
23 |
L3: |
INX H |
Переход к следующей паре элементов |
|
4019 |
13 |
|
INX D |
||
401A |
0D |
|
DCR C |
Уменьшаем счётчики и проверяем не закончилась ли сортировка |
|
401B |
C2 0D 40 |
|
JNZ L2 |
||
401E |
05 |
|
DCR B |
||
401F |
C2 05 40 |
|
JNZ L1 |
||
4022 |
C3 25 40 |
|
JMP KOI |
Переход к процедуре формирования кодов КОИ-7 |
|
4025 |
21 00 50 |
KOI: |
LXI H,5000H |
Адрес исходного массива |
|
4028 |
11 00 70 |
|
LXI D,7000H |
Адрес нового массива |
|
402B |
01 0A 00 |
|
LXI B,000AH |
Инициализация счётчика |
|
402E |
7E |
A1: |
MOV A,M |
Загружаем в аккумулятор число |
|
402F |
A7 |
|
ANA A |
Обнуляем флаг CY |
|
4030 |
1F |
|
RAR |
Перемещаем старшую тетраду в правую часть байта |
|
4031 |
1F |
|
RAR |
||
4032 |
1F |
|
RAR |
||
4033 |
1F |
|
RAR |
||
4034 |
E6 0F |
|
ANI 0FH |
Обнуляем старшую тетраду |
|
4036 |
F6 30 |
|
ORI 30H |
Записываем в старшую тетраду «3» |
|
4038 |
FE 39 |
|
CPI 39H |
Сравниваем полученное с 39H |
|
403A |
DA 40 44 |
|
JC M1 |
Если меньше39H, переход по метке, иначе |
|
403D |
FE 39 |
|
CPI 39H |
Сравниваем с 39H |
|
403F |
CA 44 40 |
|
JZ M1 |
Если равно 39H, переход по метке, иначе |
|
4042 |
C6 07 |
|
ADI 07H |
Добавляем 7, для выравнивая с кои-7 |
|
4044 |
12 |
M1: |
STAX D |
Сохраняем полученное число |
|
4045 |
13 |
|
INX D |
||
4046 |
7E |
|
MOV A,M |
Загружаем в аккумулятор число |
|
4047 |
E6 0F |
|
ANI 0FH |
Обнуляем старшую тетраду |
|
4049 |
F6 30 |
|
ORI 30H |
Записываем в старшую тетраду «3» |
|
404B |
FE 39 |
|
CPI 39H |
Сравниваем с 39H |
|
404D |
DA 57 40 |
|
JC M2 |
Если меньше39H, переход по метке, иначе |
|
4050 |
FE 39 |
|
CPI 39H |
Сравниваем с 39H |
|
4052 |
CA 57 40 |
|
JZ M2 |
Если равно 39H, переход по метке, иначе |
|
4055 |
C6 07 |
|
ADI 07H |
Добавляем 7, для выравнивая с кои-7 |
|
4057 |
12 |
M2: |
STAX D |
Сохраняем полученное число |
|
4058 |
13 |
|
INX D |
||
4059 |
23 |
|
INX H |
Переход к следующему числу |
|
405A |
0D |
|
DCR C |
Уменьшение счётчика |
|
405D |
C2 2E 40 |
|
JNZ A1 |
Если обработаны не все числа, переход по метке |
|
4060 |
C3 40 00 |
|
JMP 0040 H |
Выход в монитор |
Результаты работы программы
По адресу 5000 лежит массив исходных данных:
Адрес |
Константа16 |
|
5000 |
FF |
|
5001 |
35 |
|
5002 |
57 |
|
5003 |
8D |
|
5004 |
80 |
|
5005 |
00 |
|
5006 |
F4 |
|
5007 |
9A |
|
5008 |
07 |
|
5009 |
0A |
По адресу 7000 лежит массив результатов:
Адрес |
Константа16 |
|
7000 |
30 30 |
|
7002 |
30 37 |
|
7004 |
30 41 |
|
7006 |
33 35 |
|
7008 |
35 37 |
|
700A |
38 30 |
|
700C |
38 44 |
|
700E |
39 41 |
|
7010 |
46 34 |
|
7012 |
46 46 |
Исходному массиву соответствует:
Адрес |
Константа16 |
|
5000 |
00 |
|
5001 |
07 |
|
5002 |
0A |
|
5003 |
35 |
|
5004 |
57 |
|
5005 |
80 |
|
5006 |
8D |
|
5007 |
9A |
|
5008 |
F4 |
|
5009 |
FF |
5.Описание средств вычислительной техники
Выполнение задания осуществлялось на эмуляторе микро ЭВМ СМ - 1800 (Эмулятор Смирнова), установленном на ПК на базе процессора AMD Atlon(tm) X2 240 2.79 ГГц 3.25 ГБ ОЗУ. ОС Windows XP Pro SP3.
В результате проделанной работы можно сделать следующие выводы: разработанная программа, по моему мнению, является хоть и не очень простой, но эффективной. Она обладает интерфейсом, хотя и примитивным, который позволяет заносить числа в память, а не использовать стандартную команду S, и выводит результат на консоль, что значительно упрощает работу с программой. Поставленная задача довольно простая и вариантов её исполнения мало, наверное, можно только упростить программу, удалив подпрограммы ввода и вывода.
Литература
1. В.Н. Гиляров - ПРОГРАММИРОВАНИЕ В КОДАХ ДЛЯ МИКРОЭВМ СМ - 1800 Методические указания, 2006
2. В.Н. Гиляров - СТАНДАРТНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ. МОНИТОР. Методические указания, 2006.
Размещено на Allbest.ru
Подобные документы
Анализ двоичной, восьмеричной и шестнадцатеричной систем счисления и перевода десятичных чисел. Форматы хранения чисел с плавающей точкой. Программа для преобразования массива констант в формат числа с плавающей точкой на эмуляторе микро-ЭВМ СМ-1800.
курсовая работа [266,9 K], добавлен 24.12.2013Исследование процесса разработки и кодирования приложения для перевода двоичных чисел в шестнадцатеричные в операционной системе Linux. Изучение требований к надежности и программной документации. Определение основных состояний интерфейса программы.
курсовая работа [2,4 M], добавлен 23.06.2012Общие сведения об управляющих автоматах, построенных на основе принципа программируемой логики. Программно-вычислительный комплекс разработки эффективных форматов микрокоманд для различных способов кодирования. Алгоритмы кодирования операционной части.
дипломная работа [2,1 M], добавлен 26.06.2012Методы арифметического кодирования. Основные функции программ, реализующие алгоритмы кодирования по методам Хаффмана, Голомба, Фибоначчи и Элиаса. Разработка программно-аппаратных средств оптимального арифметического кодирования и их экономический расчет.
дипломная работа [1,1 M], добавлен 26.05.2012Общая характеристика и преимущество использования двоично-десятичных чисел с плавающей точкой. Разработка цифрового автомата. Функциональное назначение выводов корпуса МК51, арифметико-логического устройства, портов. Примеры деления данных чисел.
курсовая работа [719,3 K], добавлен 12.09.2015Порядок и основные этапы построения двоичных неравномерных эффективных кодов с помощью методики Хаффмена. Сравнительная характеристика полученных кодов. Кодирование текста построенными кодами. Разработка марковских процедур для кодирования слов.
лабораторная работа [520,7 K], добавлен 29.09.2011Синтез автомата для преобразования двоично-десятичного кода. Кодировка алфавитов и состояний. Построение булевых функций, минимизация. Разметка вход-выходных слов для автомата Мили и автомата Мура. Реализация на элементах малой степени интеграции.
контрольная работа [141,5 K], добавлен 14.10.2012Понятие двоично-десятичного кода (ДДК), его получение и использование. Изучение арифметико-логических устройств, использующихся для обработки ДДК. Алгоритмы сложения, вычитания, умножения и деления ДДК при помощи арифметико-логических устройств.
контрольная работа [145,5 K], добавлен 05.09.2010Описание метода сжатия информации на основе двоичных кодирующих деревьев Хаффмана. Среда разработки Delphi версии 7.0. Понятия объектно-ориентированного программирования. Программа, разработанная в Delphi. Реализация на Delphi метода кодирования Хаффмана.
курсовая работа [2,1 M], добавлен 26.03.2013Обзор электронного документа, его информационное содержание и виды. Разработка программы автоматической обработки текстовых материалов: выбор сред разработки, извлечение понятийной области, получение стека суждений. Стандарты кодирования информации.
дипломная работа [3,9 M], добавлен 10.05.2014