bigpo.ru
добавить свой файл
1
Министерство образования РФ

Пермский институт (филиал) ГОУ ВПО

«Российский государственный торгово-экономический

университет»


Кафедра Информационных технологий


Контрольная работа

по информатике

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

Вариант № …


Котрольные работы индивидуально, без посредников

http://shitokryto.ru

ICQ: 482030413

Mail: shitokryto@mail.ru

Mob.: 89082204152


Выполнил: студент группы Мз-11

Петров И. С.


Проверил: доцент кафедры

«Информационных технологий»

к.т.н., Вологжанин О.Ю.


12 января 2009 г.

г. Пермь


Задание 1. Позиционные системы счисления

Представить числа в четырех системах счисления 10-ой, 2-ой, 8-ой и 16-ой:


№ п/п

Целые числа

Действительные числа

9

88810 , 6068 ,

1000100010002 , 88816

88.810 , 6.068 ,

110110.110112 , 88.816




    1. Представить (перевести) целые числа в четырёх системах счисления

10-ой (Dec), 2-ой (Bin), 8-ой (Oct), и 16-ой (Hex):


88810 , 6068 ,1000100010002 , 88816


Перевод числа 88810 в двоичную систему счисления:

Делим в столбик нацело на 2 покуда возможно

888 2

888 444 2

0 444 222 2

0 222 111 2

0 110 55 2

1 54 27 2

1 26 13 2

1 12 6 2

1 6 3 2

0 2 1

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


Перевод числа 88,810 в 2-ю систему счисления.

Перевод десятичных цифр, целых и дробных, в другую позиционную систему проводится по разным правилам. Поэтому отдельно переведём целую и дробную часть

88 2 0, 8

88 44 2 х 2

0 44 22 2 0 16

0 22 11 2 х 2

0 10 5 2 0 32

1 4 2 2 х 2

0 2 1 0 64

0 х 2

1 28


Ответ: 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


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

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


Таблица

соответствий значений чисел в различных системах счисления


Двоичная (Bin)

Восьмеричная (Oct)

Десятичная (Dec)

Шестнадцатеричная (Hex)

0

0

0

0

1

1

1

1

10

2

2

2

11

3

3

3

100

4

4

4

101

5

5

5

110

6

6

6

111

7

7

7

1000

10

8

8

1001

11

9

9

1010

12

10

A

1011

13

11

B

1100

14

12

C

1101

15

13

D

1110

16

14

E

1111

17

15

F

10000

20

16

10


Задание 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
ENDIF

* Вычисление Z = max(A,R)

IF(A >= R) THEN

Z = A

ELSE

Z = R

ENDIF

* Печать результата

WRITE(*,*) ' Z= ',Z

END


Программа на языке Basic

Все переменные в программе имеют тип 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
ENDIF

‘ Вычисление Z = max(A,R)

IF(A >= R) THEN

Z = A

ELSE

Z = R

ENDIF

‘ Печать результата

PRINT ' Z= ' ; Z

END


Задание 3. Циклические вычислительные процессы


Составить схему вычислительного процесса и написать программу на языке Basic или Visual Basic 6.0. Входные данные задать самостоятельно.


Даны массивы Xi , i=1,…,10. и Yj , j=1,2,…,15. Найти максимальные элементы массивов Xmax и Ymax. Определить, какой элемент меньше Xmax или Ymax и на сколько.


Схема алгоритма решения задачи:

































ДА

НЕТ



















Текст программы на языке Basic. Массивы A и B определены явно и имеют тип Single (действительные числа с обычной точностью). Остальные переменные имеют тип Variant. Ввод данных в массивы X и Y осуществляется в использование оператора DATA непосредственно из программы. Вывод производится на экран дисплея осуществляется под управлением списка.


‘ Поиск минимальных элементов в массивах и сравнение их

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


Литература


  1. Методические указания по выполнению контрольной работы. Кафедра информационных технологий ПИ(ф) ГОУ ВПО «РГТЭУ», г. Пермь. 2008 год.

  2. Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. Гост 19.701-90 (ИСО 5807-85).

  3. Кетков Ю.Л., Кетков А.Ю. Практика программирования: Бейсик, Си, Паскаль. Самоучитель. Спб.: БХВ – Петербург, 2001. – 480 с.

  4. Глушаков С.В. Сурядный А.С. Программирование на Visual Basic 6.0. М.: изд. «Фолио», 2005. – 497с.

  5. Райтингер М., Муч Г. Visual Basic 6.0. перевод с нем. Киев: «Ирина» BHV. 2001.-285с.

  6. Браун С. Visual Basic 6.0. Учебный курс. СПб. «Питер». 2001.-576 с.

  7. Варфоломеев В.И. Программные средства офисного назначение. Практикум М.: МГУК, 2001

  8. Хэдворсон М., М. Янг Эффективная работа с Microsoft office 2000 М.: Питер, 2001 - 1232 с.

  9. Информатика. Учебник для вузов. Под ред. Симоновича С.В. СПб.: «Питер», 2006.-640 с.