Перевод числа из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления. Определение заданной информации (фамилии и уровень среднемесячного дохода). Расчёт процентного отношения затрат

Страницы работы

Содержание работы

Задание 1.

1.1.  Перевести данное число из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления; X2         X8,

X2         X16 без математических вычислений.

а) 164(10).

164   2              

  0    82   2       

         0    41  2                   

                1  20  2            

                     0  10 2   

                          0  5   2        

                              1   2   2  

                                   0   1    2

                              1    0   

10 100 100(2)  в восьмеричной: 010(2)   = 2(8); 100(2)   = 4(8); 100(2)   = 4(8); = 244(8).

10 100 100(2)   в шестнадцатеричной: 1010(2)   = А(16); 0100(2)   = 4(16); = А4(16).

Ответ: 164(10) = 10 100 100(2) = 526(8) = 156(16).

б) 712,25(10).

1 011 001 000(2)  в восьмеричной: 001(2)   = 1(8); 011(2)   = 3(8); 001(2)   = 1(8); 000(2) = 0(8); = 1310(8).

1 011 001 000(2)  в шестнадцатеричной: 0010(2)   = 2(16); 1100(2)   = С(16); 1000 = 8(16); = 2С8.                                                                R = 712,25 – 712 = 0,25

                                                                                   R = 0,25 * 2 = 0,5 < 0 = 0(2)

012 в восьмеричной: 010(2) = 2(8); = 2(8).                  R = 0,5 * 2 = 1 ≥ 1 = 1(2)

012 в шестнадцатеричной: 0100(2) = 4(16); = 4(16).   R = 1 – 1 = 0

                                                                                   Расчёт завершён.

712  2        

  0  356  2  

        0  178  2                         

              0   89   2                  

                    1   44  2            

                          0   22   2  

                                0   11   2

                                      1    5    2

                                            1    2    2

                                                  0    1    2

                                                        1    0

Ответ: 712,25(10) = 1 011 001 000,01(2) = 1310,2(8) = 2С8,4(16).

в) 11,89(10).

 Примечание. В задании необходимо получить пять знаков после запятой в двоичном формате.                    

 11    2          1 011(2) в восьмеричной: 001(2) = 1(8); 011(2) = 3(8); = 13(8).                             

  1     5     2    1 011(2) в шестнадцатеричной: 1011(2) = В(16); = В(16).                        

         1     2    2                                                      R = 11,89 – 11 = 0,89       

                0    1   2                                                 R = 0,89 * 2 = 1,78  ≥  1 = 1(2)             

                      1   0                                                 R = R – 1 = 1,78 – 1 = 0,78

                                                                              R = 0,78 * 2 = 1,56  ≥  1 = 1(2)

                                                                              R = R – 1 = 1,56 – 1 = 0,56

                                                                              R = 0,56 * 2 = 1,12 ≥ 1 = 1(2)                                  

                                                                              R = R – 1 = 1,12 – 1 = 0,12

                                                                              R = 0,12 * 2 = 0,24 < 1 = 0(2)

                                                                                                                     R = 0,24 * 2 = 0,48  <  1 = 0(2)

                                                                              Пять знаков получено.

111 00(2) в восьмеричной: 111(2) = 7(8); 000(2) = 0(8); = 7(8).

111 00(2) в шестнадцатеричной: 1110(2) = Е(16); 0000(2) = 0(16); = Е(16).

Ответ: 11,89(10) = 1 011,111 00(2) = 141,7(8) = 61,Е(16).

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

а) 1001111(2).

 6   5   4    3   2   1   0

1 0 0 1 1 1 1 = 26 + 23 + 22 + 21 + 20 = 64 + 8 + 4 + 2 + 1 = 79(10).

Ответ: 79(10).

б) 1100111,01(2).

 6   5    4   3   2   1   0,    -1  -2

1 1 0 0 1 1 1, 0 1 = 26 + 25 + 22 + 21 + 20, 2-2 = 64 + 32 + 4 + 2 + 1, 0,25 = 103,25(10).

Ответ: 103,25(10).

в) 413,41(8).

 2   1    0    -1  -2

4 1 3, 4 1 = 4 * 82 + 81 + 3 * 80, 4 * 6-1 + 6-2 = 256 + 8 + 3, 0,5 + 0,0625 = 267,5625(10).

Ответ: 267,5625(10).

г) 118,8С(16).

 2   1    0,   -1  -2

1 1 8, 8 С = 162 + 161 + 8 * 160, 8 * 16-1 + С * 16-2 = 256 + 16 + 8, 0,5 + 0,046875 = 280, 546875(10).

Ответ: 280, 546875(10).

1.3.  Сложить числа.

а) 1100001100(2) + 1100011001(2).

    1          1 1

    1 1 0 0 0 0 1 1 0 0

    1 1 0 0 0 1 1 0 0 1

 1 1 0 0 0 1 0 0 1 0 1.

Ответ: 11000111001(2).

б) 111111111,001(2) + 1111111110,0101(2).

     1 1 1 1 1 1 1 1

     0 1 1 1 1 1 1 1 1 1, 0 0 1 0

     1 1 1 1 1 1 1 1 1 0, 0 1 0 1

  1 0 1 1 1 1 1 1 1 0 1, 0 1 1 1.

Ответ: 10111111101,0111(2).

1.4.  Выполнить вычитание.

а) 1001101100(2) – 1000010111(2).

                 1    1 1

     1 0 0 1 1 0 1 1 0 0

     1 0 0 0 0 1 0 1 1 1

              1 0 1 0 1 0 1.

Ответ: 1010101(2).

б) 1101100110(2) – 111000010(2).

    1 1

    1 1 0 1 1 0 0 1 1 0

    0 1 1 1 0 0 0 0 1 0

       1 1 0 1 0 0 1 0 0.

Ответ: 110100100(2).

1.5.  Выполнить умножение.

10001(2)  1010(2).

                                                                         1 0 0 0 1

                                                                               1 0 1 0

                                                                         1 0 0 0 1

                                                                   1 0 0 0 1

                                                                   1 0 1 0 1 0 1 0.

Задание 2.

Среди 88 работников предприятия определить фамилии и наиболее высоким и наименее низким уровнем среднемесячного дохода. Для работников в возрасте от 30 до 55 лет – распечатать на экране их фамилии, порядковые номера, средний заработок и стаж работы по специальности.

Введём обозначения: F(88) - массив фамилий работников; V(88) – массив возраста работников; SZ(88) – массив среднемесячного заработка; SR(88) – массив стажа работы по специальности; K – количество работников от 30 до 55 лет; SZN – минимальный среднемесячный заработок; SZM – максимальный среднемесячный заработок.

DIM F(88), V(88), SZ(88), SR(88)

? “Введём данные массивов”

FOR I = 1 TO 88

INPUT F(88), V(88), SZ(88), SR(88)

NEXT I

SZN = SZ(1)

FOR I = 1 TO 88

IF SZ(I) < SZN THEN GOTO 1 ELSE 2

1 ? “Фамилия работника:”; F

2 NEXT I

SZM = SZ(1)

FOR I = 1 TO 88

IF SZ(I) > SZM THEN GOTO 3 ELSE 4

3 ? “Фамилия работника:”; F

4 NEXT I

FOR I = 1 TO 88

IF V(I) > 29 OR V(I) < 56 THEN GOTO 5 ELSE 6

5 PRINT TAB F(I), I, SZ(I), SR(I)

6 NEXT I

Задание 3.

Расчёт процентного отношения затрат на один гектар в 2002 году к затратам на один гектар в 2003.

Наименование культуры

Затраты на 1 га, руб.

Урожайность, ц/га

В % к 2002 году

2002

2003

2002

2003

Затраты на 1 га

Урожай-ность, ц/га

план.

факт.

план.

факт.

1

2

3

4

5

6

7

8

9

Гр.8 = гр.4 / гр.2 * 100% (1); гр.9 = гр.7 / гр.5 * 100% (2).

На основании выше приведённой таблицы:

составить программу для обработки текстового массива, предусмотрев:

а) количество зерновых культур равное N;

б) составление блок-схемы алгоритма;

в) ввод данных с клавиатуры;

г) выводы результатов расчётов в виде таблицы;

д) вывод на экран.

При составлении программы для обработки текстового массива использовать формулы (1) – (2).

Введём обозначения: N – количество наименований культур; K$(N) – массив наименования культур; Z2(N) – массив затрат в 2002 году; ZF3(N) – массив фактических затрат в 2003 году; ZP3(N) – массив плановых затрат в 2003 году; U2(N) – массив урожайности в 2002 году; UF3(N) – массив фактической урожайности в 2003 году; UP3(N) – массив плановой урожайности в 2003 году; Z(N) – массив затрат на один гектар в 2003 в процентах к 2002; U(N) – массив урожайности центнеров на один гектар в 2003 в процентах к 2002.

INPUT “Сколько наименований культур?”; N

DIM K$(N), Z2(N), ZF3(N), ZP3(N), U2(N), UF3(N), UP3(N)

? “Введём данные массивов”

FOR I = 1 TO N

INPUT K$(N), Z2(N), ZF3(N), ZP3(N), U2(N), UF3(N), UP3(N)

NEXT I

PRINT STRING(4 * N, “-“)

FOR I = 1 TO N

Z(I) = ZF3(I) / Z2(I) * 100

U(I) = UF3(I) / U2(I) * 100

PRINT TAB(1); (K$(I)); (Z2(I)); (ZF3(I)); (ZP3(I)); (U2(I)); (UF3(I)); (UP3(I)); (Z(I)); (U(I))

PRINT STRING((4 * N, “-“)

NEXT I

Похожие материалы

Информация о работе