Міністерство освіти і науки Російської Федерації
Федеральне агентство з освіти
Державна освітня установа вищої професійної освіти
«Комсомольський-на-Амурі державний технічний університет»
Кафедра математичного забезпечення і застосування ЕОМ
Розрахунково-графічного завдання
по спеціальності: 010503 - Математичне забезпечення й адміністрування інформаційних систем
на тему: «Система числення. СКЛАДАННЯ АЛГОРИТМІВ »
Керівник роботи М.Є. Щелкунова
Виконавець Д.А. Кантіміров
2010
Завдання
Задані три числа А, В, С (таблиця 1) відповідно в десятковому, двійковому і шістнадцятковому вигляді. Кожне з цих чисел представити у двох інших видах і в вісімковому вигляді. А10 = 93. В2 = 1110001. С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 = 01011101
Організую переклад в шістнадцяткову систему числення.
93:16 = 5 (D)
А16 = 5 D
Організую переклад у вісімкову систему числення.
93:8 = 11 (5)
11:8 = 1 (3)
А8 = 135
б.) В2 = 1110001
Організую переклад в десяткову систему числення.
6543210 (нумеруються числа по розрядах)
1110001
В10 = 1 * 2 ^ 6 +1 * 2 ^ 5 +1 * 2 ^ 4 +1 = 64 +32 +16 +1 = 11310
В10 = 113
Організую переклад в шістнадцяткову систему числення.
113:16 = 7 (1)
В16 = 71
Організую переклад у вісімкову систему числення.
113:8 = 14 (1)
14:18 = 1 (6)
В8 = 161
в.) С16 = D 5
Організую переклад в десяткову систему числення.
1 0 (нумеруються числа по розрядах)
D 5
С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 = 0000000011010101 (тому що 1 знаходиться на 8-ій позиції вказує на від'ємне число, в восьмирозрядний сітку число не влазить, буду працювати в шестнадцатіразрядной)
Організую переклад у вісімкову систему числення
213:8 = 26 (5)
26:8 = 3 (2)
С8 = 325
2. Використовуючи числа, задані в таблиці 1, обчислити за правилами двійкової арифметики: А + B, А - B, В - А, B - C для ЕОМ з довжиною розрядної сітки, що дорівнює 8. Виконати перевірку (перевести результати в десяткову систему числення).
а.) А + В.
А2 = 01011101
В2 = 01110001
Проваджу операцію додавання стовпчиком
01011101
+
01110001
11001110 (так як результат у восьмирозрядний сітку число не влазить, буду працювати в шестнадцатіразрядной)
А + В = 00000000110011102
Перевірка
Х = 00000000110011102
Х10 = 1 * 2 ^ 7 +1 * 2 ^ 6 +1 * 2 ^ 3 +1 * 2 ^ 2 +1 * 2 = 128 +64 +8 +4 +2 = 206
А10 + В10 = 93 +113 = 206
206 = 206 - вірно
б.) А-В
А2 = 01011101
В2 = 01110001
Для того, щоб віднімання замінити складанням, перекладаю В в-В (інвертують).
В2 = 01110001
Інвертують
10001110
+
_______1
10001111
Проваджу операцію складання А і-В.
01011101
+
10001111
11101100 (т.к 8 число є одиницею, це вказує на те, що число негативне. Необхідно проводити інвертування).
Інвертують
00010011
+
_______1
-10100;
А-В =- 10100
Перевірка
А-В =- 10100; А-В =- (1 * 2 ^ 4 + 1 * 2 ^ 2) =- 20
А-В = 93-113 = -20
-20 =- 20 - вірно
в.) В-А
А2 = 01011101
В2 = 01110001
Для того, щоб віднімання замінити складанням, перекладаю А в-А (инвертирующий).
А2 = 01011101
Інвертують
10100010
+
_______1
10100011
Проваджу операцію складання-А і В.
01110001
+
10100011
100010100 (тому що існує дев'яте число, то можна зробити висновок про логічне переповненні, отже від дев'ятого знака необхідно позбутися.)
В-А = 00010100
Перевірка
В-А = 00010100; В-А = 1 * 2 ^ 4 +1 * 2 ^ 2 = 20
В-А = 113-93 = 20
20 = 20 - вірно.
р.) В-С
С2 = 0000000011010101 (тому що 1 знаходиться на 8-ій позиції вказує на від'ємне число, в восьмирозрядний сітку число не влазить, буду працювати в шестнадцатіразрядной)
В2 = 0000000001110001
Для того, щоб віднімання замінити складанням, перекладаю С у-С (инвертирующий).
С2 = 0000000011010101
Інвертують
1111111100101010
+
_______________1
1111111100101011
Проваджу операцію складання-С та В.
1111111100101011
+
0000000001110001
1111111110011100 (так як 16 число є одиницею, це вказує на те, що число негативне. Необхідно проводити інвертування).
Інвертують
0000000001100011
+
_______________1
-1100100;
В-С =- 1100100
Перевірка
В-С =- 1100100; В-С =- (1 * 2 ^ 6 +1 * 2 ^ 5 +1 * 2 ^ 2) = - (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)
34510 = 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 = 111000000100000
Формую число
А2 = 101011001.111000000100000
Наводжу число до необхідного увазі
А2 = 1.01011001111000000100000 * 10 -8
Працюючи з порядком десяти
P = 127-8 = 11910
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 = 01110111
А2 = 1.01011001111000000100000 * 10 01110111 2
Заповнюю розрядну сітку IEEE формату
А = 00111011101011001111000000100000
Знак Ступінь Метис
Відповідь: 00111011101011001111000000100000
4.) Визначити, чи потрапляє крапка з довільно заданими координатами (х, у) в заштрихованную область. Точки х, у задати самостійно.
Завдання зводиться до знаходження меж виділеної області. Для полегшення цього завдання я розділив графік на дві частини.
Функція f 1 лежить вище осі Oy є формулою півкола, при у> 0.
(X - x 0) 2 + (y - y 0) 2 ≤ r 2,
де r-радіус.
(X +1) + y 2 ≤ 1
y 2 ≤ 1 - (x +1) 2
y ≤ +
Точка потрапить в область f 1 при:
у> 0
y ≤ +
Фігура f 2 лежить нижче осі Oy є прямокутником, при y <0
Точка потрапить в область f 1 при:
y ≤ 0
y> -0.5
x ≥ -2
x ≤ 0
Для спрощення алгоритму вводжу логічні змінні, що приймають значення істина або брехня.
L 1 = y ≤ + і у> 0
L 2 = x ≥ -2 і x ≤ 0 і y> -0.5 і y ≤ 0
Блок-схема
- +
5.) Нехай a 1 = b 1 = 1; a k = 3 ∙ b k -1 + 2 ∙ a k -1; b k = 2 ∙ a k -1 + b k -1, k = 2,3, ...
Дано натуральне число n. Обчислити
Завдання зводиться до накопичення суми з виразів містять члени.
S = S + x, де ак і вк описуються як одномірні статистичні масиви, а до! буде описаний за допомогою змінної F.
Перший член ряду дорівнює:
X 1 = 2 / (1 +1 +1) * 1 = 2 / 3
Цикл починаю з другого елементу. Для позбавлення від нескінченного циклу, вводжу обмеження для межі к (n).
-
6.) Розробити алгоритм обробки одновимірних числових масивів. Масиви задати самостійно, передбачити друк всіх результатів.
У заданому одновимірному масиві знайти суму і твір позитивних елементів, суму і твір негативних елементів. З отриманих результатів сформувати новий масив.
Нехай а-одновимірний, числовий, динамічний масив.
S 1 - сума позитивних елементів
P 1 - твір позитивних елементів
S 2 - сума негативних елементів
P 2 - твір негативних елементів
z-одновимірний, числовий, статистичний масив, який містить результати.
-
- +
7.) Розробити алгоритм обробки двовимірних числових масивів. Масиви задати самостійно, передбачити друк всіх результатів.
У заданої дійсної матриці розміром замінити елементи нулями, якщо не дорівнює , І 1 - в іншому випадку, де i - номер рядка.
Нехай а (i, j)-динамічний, двовимірний числовий масив.
i-кількість рядків
j-кількість стовпців
Завдання зводиться до знаходження максимального елемента в рядку (max) і порівняння його з елементами цього рядка.
-
+
- +