Основные этапы информационного моделирования

Информационное моделирование – это творческий процесс. Можно выделить основные этапы, характерные для создания самых разных моделей.

(1) Выделение исходной системы. Постановка задачи в естественной форме.

(2) Формализация задачи; построение информационной модели (проекта).

(3) Доказательство возможности решения задачи.

(4) Структурирование алгоритма; представление его в естественной форме.

(5) Выбор инструментальной среды.

(6) Построение схемы обработки данных.

(7) Формальное представление схемы обработки на языке исполнителя.

(8) Тестирование модели, исправление ошибок.

(9) Эксплуатация модели.

 

Первый этап – постановка задачи.Исходя из цели моделирования, определяется вид и форма представления информационной модели, а также степень детализации и формализации модели, определяются границы применимости создаваемой модели. На этом этапе также необходимо выбрать инструментарий, который будет использоваться при моделировании (например, компьютерную программу).

Следующий этап – построение модели. На этом этапе важно правильно выявить составляющие систему объекты, их свойства и взаимоотношения и представить всю эту информацию в уже выбранной форме. Создаваемую модель необходимо периодически подвергать критическому анализу, чтобы своевременно выявлять избыточность, противоречивость и несоответствие целям моделирования.

Третий –восьмой этапы – оценка качества модели, заключающаяся в проверке соответствия модели целям моделирования. Такая проверка может производиться путем логических рассуждений, а также экспериментов, в том числе и компьютерных. При этом могут быть уточнены границы применимости модели. В случае выявления несоответствия модели целям моделирования она подлежит частичной или полной переделке.

Последний этап – эксплуатация модели, ее применение для решения практических задач в соответствии с целями моделирования

 

Системы счисления.

Позиционные и непозиционные системы счисления

Одно и то же число можно представить по-разному. Например, число четыре можно представить в виде слова “четыре”, изобразить его по-древнеримски – IV, или договориться, что число обозначается соответствующим количеством палочек – |.

Способ представления чисел называется системой счисления. Системы счисления бывают двух видов – позиционные, в которых числовое значение каждой цифры в число зависит от ее номера разряда (позиции) в записи числа, и непозиционные – все остальные. Примером позиционной системы является общепринятая десятичная система: число состоит из трёх троек (333), но каждая цифра имеет разное числовое значение 3,30,300.Непозиционной – римская: Х означает 10, запись ХХ означает 20, т.е. каждая цифра имеет одно и тоже числовое значение Х(10)+Х(10).

Представление целых неотрицательных чисел

В позиционных системах значение записи целого числа определяется по следующему правилу: пусть anan-1an-2…a1a0 — запись числа A, аi – цифры, тогда

A = an·pn+ an-1·pn-1 + an-2·pn-2 +...+ a1·p1 + a0·p0 (1)

где p — целое число большее 1, которое называется основанием системы счисления.

Для того, чтобы при заданном p любое неотрицательное целое число можно было бы записать по формуле (1) и притом единственным образом, числовые значения различных цифр должны быть различными целыми числами, принадлежащими отрезку от 0 до p-1.

Пример:

1) Десятичная система: p = 10, цифры: 0,1,2,3,4,5,6,7,8,9.

Число 3635 = 3·103 + 6·102 + 3·101 + 5·100

2) Троичная система: p = 3, цифры: 0,1,2.

Число 1213 = 1·32 + 2·31 + 1·30

Замечание: нижним индексом в записи числа обозначается основание системы счисления, в которой записано число. Для десятичной системы счисления индекс можно не писать.

Представление отрицательных и дробных чисел

Во всех позиционных системах для записи отрицательных чисел, так же как и в десятичной системе используется знак ‘–‘. Для отделения целой части числа от дробной используется запятая. Значение записи числа A определяется по формуле, являющейся обобщением формулы (1):

A = an·pn+ an–1·pn–1 + …+ a1·p1 + a0·p0 + a–1·p–1 + a–2·p–2 +…+ am–1·p–(m–1) + amp–m (2)

Пример:

36,710 = 3·101 + 6·100 + 7·10–1

–3,2145 = –(3·50 + 2·5–1 + 1·5–2 + 4·5–3)

Перевод чисел из произвольной системы счисления в десятичную с/с.

Следует понимать, что при переводе числа из одной системы счисления в другую количественное значение числа не изменяется, а меняется только форма записи числа, так же как при переводе названия числа, например, с русского языка на английский.

Перевод чисел из произвольной системы счисления в десятичную выполняется непосредственным вычислением по формуле (1) для целых и формуле (2) для дробных чисел.

Перевод чисел из десятичной системы счисления в произвольную с/с.

Перевести число из десятичной системы в систему с основанием p – значит найти коэффициенты в формуле (2). Иногда это легко сделать простым подбором. Например, пусть нужно перевести число 23,5 в восьмеричную систему, для этого представим число 23,5 в виде суммы степеней числа 8.

Нетрудно заметить, что 23,5 = 16+7+0,5 = 2·8+7+4/8 = 2·81+7·80+4·8–1 =27,48.

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

1. Найдем частное и остаток от деления числа на p. Остаток будет очередной цифрой ai(i=0,1,2 …) записи числа в новой системе счисления.

2. Если частное равно нулю, то перевод числа закончен, иначе - пункт 1.

Замечание 1. Цифры aiв записи числа нумеруются справа налево.

Замечание 2. Если p>10, то необходимо ввести обозначения для цифр с числовыми значениями, большими или равными 10, обычно это латинские буквы.

Пример:

Перевести число 16510 в семеричную систему счисления.

165:7 = 23 (остаток 4) => a0 = 4 (цифра 0 разряда)

23:7 = 3 (остаток 2) => a1 = 2 (цифра 1 разряда)

3:7 = 0 (остаток 3) => a2 = 3 (цифра 2 разряда)

Выпишем результат: a2a1a0, т.е. 3247.

Выполнив проверку по формуле (1), убедимся в правильности перевода:

3247=3·72+2·71+4·70=3·49+2·7+4 = 147+14+4 = 16510.

Для перевода дробных частей чисел применяется алгоритм, полученный на основании формулы (2):

1. Умножим дробную часть числа на p.

2. Целая часть результата будет очередной цифрой am(m = –1,–2, –3 …) записи числа в новой системе счисления. Если дробная часть результата равна нулю, то перевод числа закончен, иначе применяем к ней пункт 1.

Замечание 1. Цифры amв записи числа располагаются слева направо в порядке возрастания абсолютного значения m.

Замечание 2. Обычно количество дробных разрядов в новой записи числа ограничивается заранее. Это позволяет выполнить приближенный перевод с заданной точностью. В случае бесконечных дробей такое ограничение обеспечивает конечность алгоритма.

Пример 1:Перевести число 0,625 в двоичную систему счисления.

0,625·2 = 1,25 (дробная часть 0,25; целая часть 1) => a–1 =1

0,25·2 = 0,5 (дробная часть0,5; целая часть 0) => a–2 = 0

0,5·2 = 1,00 (дробная часть 0,0 – перевод закончен; целая часть 1) => a–3 = 1

Итак, число 0,62510 = 0,a–1 a–2 a–3 = 0,1012

Выполнив проверку по формуле (2), убедимся в правильности перевода:

0,1012=1·2–1 + 0·2–2 + 1·2–3=1/2 + 1/8 = 0,5 + 0,125 = 0,625.

Пример 2:Перевести число 0,165 в четверичную систему счисления, ограничившись четырьмя четверичными разрядами.

0,165·4 = 0,66 (целая часть 0) => a–1=0

0,66·4 = 2,64 (целая часть 2) => a–2= 2

0,64·4 = 2,56 (целая часть 2) => a–3= 2

0,56·4 = 2,24 (целая часть 2) => a–4= 2

Итак, 0,16510 ≈ 0,02224

Выполним обратный перевод, чтобы убедиться, что абсолютная погрешность не более 4–4:

0,02224 = 0·4–1+2·4–2+2·4–3+2·4–4 = 2/16+2/64+2/256 = 1/8+1/32+1/128 = 21/128 = 0,1640625

|0,1640625–0,165| = 0,00094 < 4–4 = 0,00390625.

Перевод чисел из одной произвольной системы в другую

В этом случае сначала следует выполнить перевод числа в десятичную систему, а затем из десятичной - в требуемую.

Особым способом выполняется перевод чисел для систем с кратными основаниями.

Перевод чисел в систему счисления с кратным основанием

Пусть p и q – основания двух систем счисления. Будем называть эти системы системами счисления с кратными основаниями, если p = qn или q = pn, где n – натуральное число. Так, например, системы счисления с основаниями 2 и 8 являются системами счисления с кратными основаниями, т.к. 8 = 23, а системы 4 и 8 не являются кратными,т.к. 8 ≠ 4n

Пусть p = qn и требуется перевести число из системы счисления с основанием q в систему счисления с основанием p. Разобьем целую и дробную части записи числа на группы по n последовательно записанных цифр влево и вправо от запятой. Если количество цифр в записи целой части числа не кратно n, то надо дописать слева соответствующее количество нулей. Если количество цифр в записи дробной части числа не кратно n, то нули дописываются справа. Каждая такая группа цифр числа в старой системе счисления будет соответствовать одной цифре числа в новой системе счисления.В таблице 1 приведены значения цифр в наиболее часто используемых системах счисления.

Таблица 1

         
         
         
         
         
         
         
         
         
         
         
        A
        B
        C
        D
        E
        F
         

Пример:Переведем 1100001,1112 в 4-ную систему счисления.

Дописав нули и выделив пары цифр (так как основание 4 можно представить в виде степени основания 2, это 2 во 2 степени), получим01100001,11102.

Теперь выполним перевод отдельно каждой пары цифр, пользуясь пунктом «Перевод чисел из одной произвольной системы в другую» или таблицей 1:


012=110=14

102=210=24

002=010=04

 

012=110=14

112=310=34

102=210=24


Итак, 1100001,1112 = 01 10 00 01, 11 102 =1201,324.

Пример:Переведем 1100001,1112 в 8-ную систему счисления.

Дописав нули и выделив тройки цифр (так как основание 8 можно представить в виде степени основания 2, это 2 в 3 степени), получим001100001,1112.

Теперь выполним перевод отдельно каждой тройки цифр, пользуясь пунктом «Перевод чисел из одной произвольной системы в другую» или таблицей 1:


0012=110=18

1002=410=48

0012=110=18

1112=710=78


Итак, 1100001,1112 = 01 100001, 1112 =141,78.

Пусть теперь требуется выполнить перевод из системы с большим основанием q, в систему с меньшим основанием p, т.е. q = pn. В этом случае одной цифре числа в большей системе счисления соответствует n цифр числа в меньшей системе счисления.

Пример: Выполним проверку предыдущего перевода числа. Заменим каждую цифру восьмеричного числа тремя цифрами двоичного:

141,78= 001 100001, 1112=1100001,1112

Двоичная, восьмеричная, и шестнадцатеричная системы счисления.

В какой системе счисления лучше записывать числа – это вопрос удобства и традиций. С технической точки зрения, в ЭВМ удобно использовать двоичную систему, так как в ней для записи числа используются только две цифры 0 и 1, которые можно представить двумя легко различимыми состояниями “нет сигнала ” и “есть сигнал”.

Человеку, напротив, неудобно иметь дело с двоичными записями чисел из-за того, что они более длинные, чем десятичные и в них много повторяющихся цифр. Поэтому, при необходимости работать с машинными представлениями чисел используют восьмеричную или шестнадцатеричную системы счисления. Основания этих систем – целые степени двойки, и поэтому числа легко переводятся из этих систем в двоичную и обратно.

В шестнадцатеричной системе 16 цифр, поэтому для обозначения цифр после 9 используют первые шесть букв латинского алфавита:A,B,C,D,E,F. Их десятичные числовыезначения- 10,11,12, 13,14, 15 соответственно.

Пример: Переведем число 110101001010101010100,112 в шестнадцатеричную систему счисления.

Воспользуемся кратностью оснований систем счисления (16=24). Сгруппируем цифры по четыре, дописав слева и справа нужное количество нулей, и, сверяясь с таблицей 1, получим:

«2»           0100,  
«16»   А       4, С

110101001010101010100,112 = 1A9554,C16

 

Арифметические действия с числами в одной системе счисления.

При сложении чисел в одной системе надо иметь в виду, из каких цифр получаем число 10, например,

в 2-ной системе 12+12=102,

в 3-ной системе 23+13= 1+2= 1+1+1= 103,

в 8-ной системе 18+78 = 2+6=…=5 +3 =108, и т.д.

При сложении чисел по разрядам, если сумма цифр данного разряда равна или больше 10n, то в этом разряде оставляем цифру единиц, а старший разряд увеличиваем на 1.

Пример: сложим два 16-ричных числаDA6и F1C.

Складываем одноимённые разряды,если сумма цифр данного разряда равна или больше 16, то в этом разряде оставляем цифру разности суммы цифр и 16, а старший разряд увеличиваем на 1.

0) 6+C= (6+12)10=1810=(16+2)10=1016+216= 1216 (2 оставим в младшем разряде, а 1 переносим в старший разряд)

1) А+1 = (10+1)10 + 1 = (12)10 = С16 (12 это цифра С шестнадцатеричной системы)

2) D+F=(13+15)10 =(28)10 =(16 +12)10 =1С16 (12 это цифра С16, а в старший разряд переносим 1)

DA6 + F1C = 1СС216

При вычитании чисел,занятая единица из старшего разряда имеет числовое значение десятка данной системы счисления в младшем разряде.

Например: 102 - 12 =12; 1102 – 12 = 1012; 1108 – 58 = 1038 (из 0 вычесть 5 нельзя, занимаем из старшего разряда единицу, она в младшем разряде становится 10, 108 – 58 = 38 ); 1108-158=638.

    А В С
    5A   6C
А     6E  
В        
С        

Умножение и деление чисел производится аналогично, используя таблицу умножения цифр данной системы счисления, например, 16-ричной (фрагмент таблицы):

 

 





Подборка статей по вашей теме: