Системы счисления.
Составление алгоритмов
Заданы три числа А, В, С (таблица 1) соответственно в десятичном, двоичном и шестнадцатеричном виде. Каждое из этих чисел представить в двух других видах и в восьмеричном виде. А10=93. В2=1 110 001. С16=D5. В заданном одномерном массиве найти сумму и произведение положительных элементов, сумму и произведение отрицательных элементов. Из полученных результатов сформировать новый массив. Г.) В-С… Читать ещё >
Системы счисления. Составление алгоритмов (реферат, курсовая, диплом, контрольная)
Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
«Комсомольский-на-Амуре государственный технический университет»
Кафедра математического обеспечения и применения ЭВМ
РАСЧЕТНО-ГРАФИЧЕСКОЕ ЗАДАНИЕ
по специальности: 10 503 — Математическое обеспечение и администрирование информационных систем
на тему: «СИСТЕМЫ СЧИСЛЕНИЯ. СОСТАВЛЕНИЕ АЛГОРИТМОВ»
Руководитель работы М. Е. Щелкунова Исполнитель Д. А. Кантимиров
Задание
1.) Заданы три числа А, В, С (таблица 1) соответственно в десятичном, двоичном и шестнадцатеричном виде. Каждое из этих чисел представить в двух других видах и в восьмеричном виде. А10=93. В2=1 110 001. С16=D5
а.) Организую перевод в двоичную систему счисления.
93:2=46 (1)
46:2=23 (0)
23:2=11 (1)
11:2=5 (1)
5:2=2 (1)
2:2=1 (0)
А2=1 011 101
Организую перевод в шестнадцатеричную систему счисления.
93:16=5 (D)
А16=5D
Организую перевод в восьмеричную систему счисления.
93:8=11 (5)
11:8= 1 (3)
А8=135
б.) В2=1 110 001
Организую перевод в десятичную систему счисления.
6 543 210 (нумерую числа по разрядам)
В10=1*26+1*25+1*24+1=64+32+16+1=11 310
В10=113
Организую перевод в шестнадцатеричную систему счисления.
113:16=7 (1)
В16=71
Организую перевод в восьмеричную систему счисления.
113:8=14 (1)
14:18=1 (6)
В8=161
в.) С16= D5
Организую перевод в десятичную систему счисления.
1 0 (нумерую числа по разрядам)
D5
С10=13*16+5=213
С10=213
Организую перевод в двоичную систему счисления.
213:2=106 (1)
106:2=53 (0)
53:2=26 (1)
26:2=13 (0)
13:2=6 (1)
6:2=3 (0)
3:2=1 (1)
С2=11 010 101 (т.к. 1 находящаяся на 8-ой позиции указывает на отрицательное число, в восьмиразрядную сетку число не влезает, буду работать в шестнадцатиразрядной) Организую перевод в восьмеричную систему счисления
213:8=26 (5)
26:8=3 (2)
С8=325
2. Используя числа, заданные в таблице 1, вычислить по правилам двоичной арифметики: А+ B, А — B, В — А, B — C для ЭВМ с длиной разрядной сетки, равной 8. Выполнить проверку (перевести результаты в десятичную систему счисления).
а.) А+В.
А2=1 011 101
В2=1 110 001
Произвожу операцию сложения столбиком
11 001 110 (так как результат в восьмиразрядную сетку число не влезает, буду работать в шестнадцатиразрядной)
А+В=110 011 102
Проверка Х=110 011 102
Х10=1*27+1*26+1*23+1*22+1*2=128+64+8+4+2=206
А10+ В10=93+113=206
206=206 — верно б.) А-В А2=1 011 101
В2=1 110 001
Для того, чтобы вычитание заменить сложением, перевожу В вВ (инвертирую).
В2=1 110 001
Инвертирую
_______1
Произвожу операцию сложения, А иВ.
11 101 100 (т.к 8 число является единицей, это указывает на то, что число отрицательное. Необходимо проводить инвертирование).
Инвертирую
_______1
— 10 100 ;
А-В=-10 100
Проверка А-В=-10 100; А-В=-(1*24 + 1*22)=-20
А-В=93−113= -20
— 20=-20 — верно в.) В-А А2=1 011 101
В2=1 110 001
Для того, чтобы вычитание заменить сложением, перевожу, А вА (инвертирую).
А2=1 011 101
Инвертирую
_______1
Произвожу операцию сложенияА и В.
100 010 100 (т.к. существует девятое число, то можно сделать вывод о логическом переполнении, следовательно от девятого знака необходимо избавиться.)
В-А=10 100
Проверка В-А=10 100; В-А=1*24+1*22=20
В-А=113−93=20
20=20 — верно.
г.) В-С С2=11 010 101 (т.к. 1 находящаяся на 8-ой позиции указывает на отрицательное число, в восьмиразрядную сетку число не влезает, буду работать в шестнадцатиразрядной) В2=1 110 001
Для того, чтобы вычитание заменить сложением, перевожу С вС (инвертирую).
С2=11 010 101
Инвертирую
_______________1
Произвожу операцию сложенияС и В.
1 111 111 110 011 100 (т.к 16 число является единицей, это указывает на то, что число отрицательное. Необходимо проводить инвертирование).
Инвертирую
_______________1
— 1 100 100 ;
В-С=-1 100 100
Проверка В-С=-1 100 100; В-С=-(1*26+1*25+1*22)= -(64+32+4)=-100
В-С=113−213=-100
— 100=-100 — верно.
3.) Представить указанное в таблице число в четырехбайтовом IEEE формате.
А=345.867
Перевожу число в двоичную систему, при этом целая часть переводится отдельно от дробной.
Й 345:2=172 (1)
172:2=86 (0)
86:2=43 (0)
43:2=21 (1)
21:2=10 (1)
10:2=5 (0)
5:2=2 (1)
2:2=1 (0)
34 510=1010110012
ЙЙ 0.876*2=1.752 (1)
0.752*2=1.504 (1)
0.504*2=1.008 (1)
0.008*2=0.016 (0)
0.016*2=0.032 (0)
0.032*2=0.064 (0)
0.064*2=0.128 (0)
0.128*2=0.256 (0)
0.256*2=0.512 (0)
0.512*2=1.024 (1)
0.024*2=0.048 (0)
0.048*2=0,096 (0)
0.096*2=0.192 (0)
0.192*2=0.384 (0)
0.384*2=0.768 (0)
0.8672=111 000 000 100 000
Формирую число А2=101 011 001.111000000100000
Привожу число к необходимому виду А2=1.1 011 001 111 000 000 102 400 *10-8
Работая с порядком десяти
P=127−8=11 910
119:2=59 (1)
59:2=29 (1)
29:2=14 (1)
14:2=7 (0)
7:2=3 (1)
3:2=1 (1)
Р2=1 110 111
А2=1.1 011 001 111 000 000 102 400*101 110 1112
Заполняю разрядную сетку IEEE формата А=111 011 101 011 001 106 763 521 982 464
Знак Степень Метиса Ответ:111 011 101 011 001 106 763 521 982 464
4.) Определить, попадает ли точка с произвольно заданными координатами (х, у) в заштрихованную область. Точки х, у задать самостоятельно.
Задача сводится к нахождению пределов выделенной области. Для облегчения этой задачи я разделил график на две части.
Функция f1 лежащая выше оси Oy является формулой полуокружности, при у>0.
(x-x0)2+(y-y0)2?r2 ,
где r-радиус.
(x+1)+y2?1
y2?1-(x+1)2
y?+2
Точка попадёт в область f1 при:
у>0
y?+2
Фигура f2 лежащая ниже оси Oy является прямоугольником, при y<0
Точка попадёт в область f1 при:
y?0
y>-0.5
x?-2
x?0
Для упрощения алгоритма ввожу логические переменные, принимающие значения истина или ложь.
L1= y?+2 и у>0
L2= x?-2 и x?0 и y>-0.5 и y?0
Блок-схема
-+
5.) Пусть a1=b1=1; ak = 3• bk-1 + 2• ak-1; bk = 2• ak-1 + bk-1, k = 2,3, …
Дано натуральное число n. Вычислить Задача сводится к накоплению суммы из выражений содержащих члены.
S=S+x, где ак и вк описываются как одномерные статистические массивы, а к! будет описан с помощью переменной F.
Первый член ряда равен:
X1=2/(1+1+1)*1=2/3
Цикл начинаю со второго элемента. Для избавления от бесконечного цикла, ввожу ограничение для предела к (n).
;
6.) Разработать алгоритм обработки одномерных числовых массивов. Массивы задать самостоятельно, предусмотреть печать всех результатов.
В заданном одномерном массиве найти сумму и произведение положительных элементов, сумму и произведение отрицательных элементов. Из полученных результатов сформировать новый массив.
Пусть а-одномерный, числовой, динамический массиы.
S1- сумма положительных элементов
P1- произведение положительных элементов
S2- сумма отрицательных элементов
P2- произведение отрицательных элементов
z-одномерный, числовой, статистический массив, содержащий результаты.
;
-+
7.) Разработать алгоритм обработки двумерных числовых массивов. Массивы задать самостоятельно, предусмотреть печать всех результатов.
В заданной действительной матрице размером заменить элементы нулями, если не равен, и 1 — в противном случае, где i — номер строки.
Пусть а (i, j)-динамический, двумерный числовой массив.
i-количество строк
j-количество столбцов Задача сводится к нахождению максимального элемента в строке (max) и сравнения его с элементами данной строки.
;
-+