страница 1 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Похожие работы
|
Контрольная работа по информатике Системы счисления Вариант № … Котрольные работы - страница №1/1
![]() Пермский институт (филиал) ГОУ ВПО «Российский государственный торгово-экономический университет» Кафедра Информационных технологий Контрольная работа по информатике Системы счисления Вариант № …
Выполнил: студент группы Мз-11 Петров И. С. Проверил: доцент кафедры «Информационных технологий» к.т.н., Вологжанин О.Ю. 12 января 2009 г. г. Пермь
Задание 1. Позиционные системы счисления Представить числа в четырех системах счисления 10-ой, 2-ой, 8-ой и 16-ой:
10-ой (Dec), 2-ой (Bin), 8-ой (Oct), и 16-ой (Hex): 88810 , 6068 ,1000100010002 , 88816 Перевод числа 88810 в двоичную систему счисления: Делим в столбик нацело на 2 покуда возможно 8 8 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 0 2 1 ![]() Читаем и записываем с конца: 1101111000 Ответ: 88810 = 11011110002 Перевод в восьмеричную систему . Разбиваем на триады, начиная с младшего разряда и к крайней левой группе дописываем (до полной триады) незначащий нуль: 1101111000= 001 101 111 000 Заменим каждую двоичную триаду восьмеричным числом: 1 5 7 0 Ответ: 88810 = 11011110002 = 15708 Перевод в шестнадцатеричную систему. Разбиваем двоичное число на тетрады, начиная справа: 11 0111 10002 . Дополним левую группу до полной тетрады незначащим нулём. 0011 0111 1000 Заменяем соответствующими шестнадцатеричными цифрами: 3 7 8
Ответ: 88810 = 11011110002 = 15708 = 37816 Число 6068 Перевод в десятичную систему. 6068 = 6*82 + 0*81 + 6*80 = 512 + 0 + 6= 51810 Перевод в двоичную систему. Заменяем каждую цифру восьмеричного числа двоичными триадами: 6068 = 110 000 1102 Перевод в шестнадцатеричную систему. Число, полученное при переводе в двоичную систему, разбиваем на тетрады и заменяем их 16-ными цифрами. 1100001102= 0001 1000 01102= 18616 Ответ: 6068 = 51810 =1100001102 = 18616 Число 1000100010002 Перевод в десятичную систему 1000100010002=1*211+0*210+0*29+0*28+1*27+0*26+0*25+0*24+1*23+1*22+0*21+1*20= = 2048+0+0+0+128+0+0+0+8+4+0+1= 218910
1000100010002= 100 010 001 0002== 42108 Перевод в шестнадцатеричную систему: 1000100010002= 1000 1000 10002== 88816 Число 88816 Перевод в десятичную систему 88816 = 8*162 + 8*161 + 8*160 = 2048+128+8=218410 Перевод в двоичную систему. 88816 = 1000 1000 1000 2 = 1000100010002 Перевод в восьмеричную систему. 88816 = 1000100010002 = 100 010 001 0002= 42108 1.2. Представить (перевести) действительные числа в четырёх системах счисления 10-ой, 2-ой, 8-ой, и 16-ой : 88.810 , 6.068 , 110110.110112 , 88.816
Перевод десятичных цифр, целых и дробных, в другую позиционную систему проводится по разным правилам. Поэтому отдельно переведём целую и дробную часть 8 8 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Ответ: 88,810 = 1001000,00012 Перевод в 8-ю систему. Разбиваем полученное двоичное число на триады влево и право от запятой: 001 001 000, 000 100 крайние триады оказались не полными, дополняем их приписыванием нулей. Заменяем триады восьмеричными цифрами Ответ: 88,810 = 110,048 Перевод в 16-ю систему. Разбиваем двоичное число на тетрады; влево и вправо от запятой: 0100 1000, 0001. Заменяем тетради шестнадцатеричными цифрами Ответ: 88,810 = 48,116 Число: 6,068 Перевод в 10-ю систему (с учетом 4 цифр после десятичной запятой). ![]() Перевод в 2-ю систему. 6,068 = 110, 000 1102= 110,000112
6,068 = 110, 000112= 0110, 0001 10002= 6,1816 Число: 110110.110112 Перевод в 10-ю систему. ![]() Перевод в 8-ю систему. Разбиваем на триады 110110.110112= 110 110, 110 1102 =66,668 Перевод в 16-ю систему. Разбиваем на тетрады и используем табл. 2. 110110.110112= 0011 0110. 1101 10002= 36,D816 Число: 88.816 Перевод в 10-ю систему (с точностью до 4-х знаков). ![]() Перевод в 2-ю систему тетрадами 88.816 = 1000 1000, 00012= 10001000,00012 Перевод в 8-ю систему триадами 88.816 = 10001000,00012= 010 001 000, 000 1002= 210,048 Таблица
соответствий значений чисел в различных системах счисления
Задание 2. Разветвляющиеся вычислительные процессы. Составить схему вычислительного процесса и написать программу на языке Basic или Visual Basic 6.0.. Входные данные задать самостоятельно. Вычислить выражение Z = max(A, min(B, C+1, D))
Введем промежуточную переменную R и следующие обозначения: R= min(B,C+1,D), тогда Z=max(A, R) Схема вычисления будет содержать следующие символы действий: - Начало и Останов; - Ввод данных A,B,C.D; - Три символа Решения, проверяющих условия B>=C+1? и B>D? и C+1>D? - Четыре символа Процесс, присваивающие значение промежуточной переменной R; - Три символа Процесс, которые присваивают переменной Z определенное значение; ![]() ![]() ![]() ![]() ![]() Схема вычисления Z = max(A, min(B, C+1, D)) Для ввода исходных данных и вывода результата используем ввод и вывод под управлением списка. Исходные данные A, B, C, D будем вводить с клавиатуры, а результат Z выведем на дисплей. Для вычисления R и результата Z используем структурный логический оператор IF. Для “читаемости” снабдим программу комментариями на русском языке. Признаком комментария является символ “*” в первой позиции. Операторы Fortran набираются с 7-й позиции. * Вычисление Z = max(A, min(B, C+1, D)) * Ввод исходных данных А,В, C, D READ (*,*) A,B,C,D * Вычисление R = min(B,C+1,D) IF ( B <= C+1) THEN IF C+1>D THEN R = D ELSE R=C ENDIF ELSE
IF B * Вычисление Z = max(A,R) IF(A >= R) THEN Z = A ELSE
Z = R ENDIF
* Печать результата WRITE(*,*) ' Z= ',Z END
Все переменные в программе имеют тип Variant. Данные в переменные А, В, C, D вводятся с клавиатуры, а значение переменной Z выводится на экран дисплея. Ввод и вывод осуществляется под управлением списка. ‘ Вычисление Z = max(A, min(B, C+1, D)) ‘ Ввод исходных данных А,В, C, D INPUT ‘Введите A,B,C,D:’, A,B,C,D ‘ Вычисление R = min(B, C+1, D) IF ( B <= C+1) THEN IF C+1>D THEN R = D ELSE R=C ENDIF ELSE
IF B ‘ Вычисление Z = max(A,R) IF(A >= R) THEN Z = A ELSE
Z = R ENDIF
‘ Печать результата PRINT ' Z= ' ; Z END
DIM X(10) as Single, Y(15) as Single ‘ Ввод массивов DATA -20.42,-11.80,-19.90, 44.86, 47.98,-9.86,-22.17,-33.96,-33.72, 14.66,-8.99,-8.72,21.27,-17.38,13.32,-29.24,-31.40,8.34,-41.93, -4.20,40.57,-23.86, 28.52,-12.11,-21.03 FOR I = 1 TO 10 READ X(I) NEXT I FOR J = 1 TO 15 READ Y(J) NEXT J
‘ Задание начальных значений Xmin = X(1) Ymin = Y(1) ‘ Организация цикла по параметру I. Выбор Xmin FOR I = 2 TO 10 ‘ Выбор минимального элементов массива X и сохранение в Xmin IF(X(I) < Xmin )THEN Xmin = X(I) ENDIF NEXT I
‘ Организация цикла по параметру J. Выбор Ymin FOR J = 2 TO 15 ‘ Выбор минимального элементов массива Y и сохранение в Ymin IF(Y(J) < Ymin)THEN Ymin = Y(J) ENDIF
NEXT J ‘ Печать Xmin и Ymin PRINT ’ Xmin=’,Xmin,’ Ymin=’,Ymin ‘ Сравнение |Xmin| и |Ymin| IF(Xmin) > (Ymin))THEN PRINT ’ |Xmin| больше или равен |Ymin|’ ELSE PRINT ’ |Ymin| больше |Xmin|’ ENDIF END
Литература
|
ещё >> |