Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

informatique-1-btp

.pdf
Скачиваний:
32
Добавлен:
22.05.2015
Размер:
2.8 Mб
Скачать

 

Вариант

 

Вариант

 

(рис. 13.2)

 

(рис. 13.3)

1.

[a;b] = [10;15], h = 0,5

13.

[a;b] = [0;4], h = 0,25

2.

[a;b] = [15;20], h = 0,25

14.

[a;b] = [4;8], h = 0,25

3.

[a;b] = [20;25], h = 0,5

15.

[a;b] = [8;12], h = 0,1

4.

[a;b] = [25;30], h = 0,25

16.

[a;b] = [12;16], h = 0,1

5.

[a;b] = [30;35], h = 0,5

17.

[a;b] = [16;20], h = 0,2

6.

[a;b] = [10;20], h = 1

18.

[a;b] = [14;18], h = 0,2

7.

[a;b] = [15;25], h = 1

19.

[a;b] = [18;22], h = 0,25

8.

[a;b] = [20;30], h = 1

20.

[a;b] = [20;24], h = 0,25

9.

[a;b] = [25;35], h = 1

21.

[a;b] = [0;8], h = 0,5

10. [a;b] = [10;25], h = 1,5

22.

[a;b] = [20;22], h = 0,25

11. [a;b] = [15;30], h = 1,5

23.

[a;b] = [18;24], h = 0,5

12. [a;b] = [20;35], h = 1,5

24.

[a;b] = [2;10], h = 0,5

Практическая работа 14

СЛОЖЕНИЕ ЧИСЕЛ С ПЛАВАЮЩЕЙ ТОЧКОЙ

Справка 1

Сложение чисел с плавающей точкой выполняется с нормализованными числами. В соответствии с принципом позиционности любое число в десятичной системе счисления можно представить в виде произведения двух чисел, одно из которых меньше 1, а другое представляет собой некоторую степень 10. Такое представление чисел называется записью с плавающей точкой. В этой записи число имеет 4 характеристики:

знак числа

знак порядка

порядок (степень числа 10)

мантисса (дробная часть числа)

Число называется нормализованным, если представлено в виде

A10 = M1010 p10, где 0 M10 < 1

Сложение чисел с плавающей точкой выполняется в соответствии со следующим

алгоритмом:

1.Представить числа А1 и А2 в нормализованном виде, записав отдельно значения мантисс и порядков

2.Уравнять порядки по числу с бóльшим порядком

3.Уравнять число цифр в мантиссе по числу, порядок которого не изменился

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

5.Нормализовать сумму, оставив число цифр в мантиссе равным числу цифр мантиссы числа порядок которого не изменялся

Пример

Найдем сумму чисел А1 = 9,6098 и А2 = 98,009 по правилу сложения чисел с плавающей точкой. В соответствии с алгоритмом имеем:

Шаг

Число

 

Нормализованное

Порядок

Мантисса

Число

 

 

 

число

 

 

цифр в

 

 

 

 

 

 

мантиссе

1

А1 = 9,6098

 

0,96098 101

p1 = 1

96098

5

А2 = 98,009

 

0,98009 102

p2 = 2

98009

5

2

А1

 

0,096098 102

2

096098

6

3

 

0,09609 102

09609

5

4

А1 + А2

 

1,07618 102

2

5

 

0,10761 103

3

10761

5

+

А1 = 0,09609 102

 

 

 

 

 

 

 

 

 

 

А2 = 0,98009 102 1,07618 102

Нормализуем полученный результат 1,07618 102 = 0,10761 103

Ответ: 0,10761 103

Задание 1

Найдите сумму чисел А1 и А2; А3 и А4 по правилу сложения чисел с плавающей точкой, оформив решение в Word.

Примечание

1.Оформить в Word решение задания 1 для нахождения суммы чисел А1 и А2 в соответствии с вариантом, опираясь на Справку 1

2.Оформить в Word решение задания 1 для нахождения суммы чисел А3 и А4 в соответствии с вариантом, опираясь на Справку 1

3.Записать ответ

4.Сохранить файл на своем носителе

 

 

Вариант

 

Вариант

1.

А1 = 7,0832; А2 = 146,752

13. А1

= 293,876; А2 = 9275,84

 

А3

=8,94; А4 = 75,48603

А3 = 52,337; А4 = 483,6562

2.

А1

= 19,741; А2 = 541,28

14. А1

=76,1091; А2 = 2615,98

 

А3

=499,23; А4 = 54,6037

А3

= 43,8; А4 = 8199,804

3.

А1

= 36,2051; А2 = 1634,47

15. А1

= 9,0398; А2 = 235,697

 

А3

= 34,5; А4 = 9277,801

А3 = 5,97; А4 = 89,58609

4.

А1

= 5,933; А2 = 7414,022

16. А1

= 7,1094; А2 = 135,7821

 

А3

= 2,7; А4 = 739,67

А3 = 8,123; А4 = 342,9876

5.

А1

= 87,973; А2 = 429,846

17. А1

= 18,0143; А2 = 955,841

А3 = 633,84; А4 = 146,526

А3 = 7,62; А4 = 68,29353

6.

А1

= 261,719; А2 = 8615,52

18. А1

= 68,514; А2 = 238,19

 

А3

= 41,227; А4 = 394,7552

А3 = 577,03; А4 = 49,1123

7. А1

= 66,372; А2 = 238,7054

19.

А1 = 15,1247; А2 = 2743,56

А3

= 9,7; А4 = 71933,1299

А3 = 25,6; А4 = 8368,712

8. А1

= 3,963; А2 = 58140,713

20.

А1 = 6,844; А2 = 8523,131

А3

= 824,7; А4 = 9012,881

А3 = 3,6; А4 = 847,58

9. А1

= 54,9924; А2 = 742,91

21.

А1

= 95,752; А2 = 318,735

А3

= 2719,22; А4 = 34,176

А3

= 251,62; А4 = 428,417

10. А1= 792,7539; А2 = 61,44

22.

А1

= 372,827; А2 = 9526,61

А3

= 4,2581; А4 = 553,119

А3

= 50,116; А4 = 405,8664

11. А1= 2,15; А2 = 8068,113

23.

А1

= 55,491; А2 = 327,6943

А3

= 99,306; А4 = 452,0116

А3

= 8,5; А4 = 60120,1388

12. А1 =73,822; А2 = 7319,55

24.

А1

= 4,052; А2 = 69251,804

А3

= 358,474; А4 = 1,8765

А3

= 915,6; А4 = 8123,773

Практическая работа 15

ПРЯМОЙ, ОБРАТНЫЙ И ДОПОЛНИТЕЛЬНЫЙ КОДЫ ЦЕЛЫХ И ВЕЩЕСТВЕННЫХ ЧИСЕЛ

Справка 1

Целые и вещественные числа представляются в памяти компьютера по-разному. Диапазон значений целых величин зависит от количества бит памяти,

отведенных для их хранения (см. табл. 15.1).

Таблица 15.1. Объѐм памяти, отводимой на хранение целых величин разного типа

Тип целых величин

Byte

Integer

shortint

LongInt

Word

Объѐм памяти,

1 байт

2 байта

1 байт

4 байтах

2 байта

отводимый на

(8 бит)

(16 бит)

(8 бит)

(32 бита)

(16 бит)

хранение

 

 

 

 

 

Одним из способов представления целых чисел в памяти компьютера является

прямой, обратный и дополнительный код.

В представлении целых чисел в памяти компьютера разряды нумеруются справа налево, начиная с 0, самый левый (старший) разряд указывает на знак числа:

если он содержит нуль, то число положительное

если он содержит единицу, то число отрицательное

Алгоритм получения прямого кода целого числа

1.Определить объѐм памяти, отводимой на хранение целого числа по его типу (см.

табл. 15.1)

2.Начертить таблицу из двух строк, число столбцов в которой соответствует числу бит, отводимых на хранение числа

3.Пронумеровать в первой строке столбцы справа налево, начиная с нулевого

4.Записать в столбец таблицы, содержащий старший бит (крайний левый столбец) 0 или 1 в зависимости от знака числа (0 – для положительных чисел, 1 – для отрицательных)

5.Перевести десятичное целое число в двоичную систему счисления (см. практическая работа 9, задание 1)

6.Записать полученное двоичное число во вторую строку таблицы так, чтобы число занимало разряды 0, 1, 2 и т.д.

7.Дописать незначащие нули в остальные столбцы таблицы

Пример

Получим прямой код целого числа 37 типа Integer. Согласно алгоритму определим объѐм памяти, отводимой на хранение целого числа типа Integer. Из таблицы 15.1 следует, что на этот тип отводится 2 байта, то есть 16 бит памяти.

Начертим таблицу из 2 строк и 16 столбцов и пронумеруем столбцы первой строки справа налево, начиная с нулевого.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Запишем в пятнадцатый столбец число 0, так как 37 – положительное число.

15

0

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

То есть 3710 = 1001012

Допишем незначащие нули в остальные столбцы таблицы и получим прямой код числа 37 типа integer

Прямой код числа 37 в двух байтах (тип integer)

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

 

0

 

0

0

0

0

0

0

0

0

0

1

0

0

1

0

1

Задание 1

Запишите прямые коды целых чисел, считая, что числа объявлены величиной типа:

а) Integer б) byte

в) LongInt

Решение оформите в Word.

Примечание

1.Вызвать Word, записать название практической работы, свой вариант и номер задания

2.Оформить в Word решение задания 1 согласно варианту для положительного числа, считая его типом Integer, опираясь на Справку 1:

записать положительное число согласно варианту и оформить в Paint его перевод в двоичную систему счисления (см. пример из Справки 1)

вставить в Word оформленный в Paint перевод в двоичную систему счисления

записать рядом с числом в десятичной системе счисления полученное двоичное число

сделать заголовок таблицы, записав текст «а) Прямой код», полученное двоичное число и в скобках рядом с ним текст «тип Integer»

вставить таблицу, содержащую 16 столбцов и 2 строки

заполнить таблицу (см. пример из Справки 1)

3.Оформить в Word решение согласно варианту для положительного числа, считая его типом byte, опираясь на Справку 1

сделать заголовок таблицы, записав текст «б) Прямой код», полученное в п. 1 двоичное число и в скобках рядом с ним текст «тип byte»

вставить таблицу, содержащую 8 столбцов и 2 строки

заполнить таблицу (см. пример из Справки 1)

4.Оформить в Word согласно варианту решение для положительного числа, считая его типом LongInt, опираясь на Справку 1

сделать заголовок таблицы, записав текст «в) Прямой код», полученное в п. 1 двоичное число и в скобках рядом с ним текст «тип LongInt»

вставить таблицу, содержащую 32 столбца и 2 строки

заполнить таблицу (см. пример из Справки 1)

5.Оформить в Word решение задания 1 согласно варианту для отрицательного числа, считая его типом Integer, опираясь на Справку 1:

записать отрицательное число согласно варианту и оформить в Paint перевод его модуля в двоичную систему счисления (см. пример из Справки 1)

вставить в Word оформленный в Paint перевод в двоичную систему счисления

записать рядом с числом в десятичной системе счисления полученное двоичное число со знаком минус

сделать заголовок таблицы, записав текст «а) Прямой код», полученное отрицательное двоичное число и в скобках рядом с ним текст «тип Integer»

вставить таблицу, содержащую 16 столбцов и 2 строки

заполнить таблицу (см. пример из Справки 1), учитывая, что в 15 бите будет стоять число 1

6.Оформить в Word решение для отрицательного числа согласно варианту, считая его типом byte, опираясь на Справку 1:

сделать заголовок таблицы, записав текст «б) Прямой код», полученное в п. 5 отрицательное двоичное число и в скобках рядом с ним текст «тип byte»

вставить таблицу, содержащую 8 столбцов и 2 строки

заполнить таблицу (см. пример из Справки 1), учитывая, что в 7 бите будет стоять число 1

7.Оформить в Word решение для отрицательного числа согласно варианту, считая его типом LongInt, опираясь на Справку 1:

сделать заголовок таблицы, записав текст «в) Прямой код», полученное в п. 5 отрицательное двоичное число и в скобках рядом с ним текст «тип LongInt»

вставить таблицу, содержащую 32 столбца и 2 строки

заполнить таблицу (см. пример из Справки 1), учитывая, что в 31 бите будет стоять число 1

8.Сохранить файл на своем носителе

Вариант

Вариант

Вариант

Вариант

1. 103 и -910

7. 789 и -310

13. 449 и -653

19. 597 и -293

2. 254 и -897

8. 880 и -269

14. 571 и -502

20. 338 и -729

3. 313 и -712

9. 974 и -112

15. 683 и -419

21. 981 и -164

4. 464 и -653

10. 198 и -903

16. 715 и -320

22. 831 и -275

5. 529 и -516

11. 247 и -864

17. 864 и -293

23. 752 и -309

6. 601 и -425

12. 368 и -760

18. 901 и -114

24. 608 и -419

Справка 2 Алгоритм получения обратного кода целого числа из прямого кода

1.Определить знак числа

2.Если число положительное, то обратный код числа совпадает с прямым (см. Справка 1)

3.Если число отрицательное, то следует выполнить следующие действия:

получить прямой код целого числа (см. Справка 1)

начертить вторую таблицу, содержащую столько же строк и столбцов, сколько содержит таблица для прямого кода

пронумеровать в первой строке столбцы справа налево, начиная с нулевого

записать в столбец таблицы, содержащий старший бит (крайний левый столбец) число 1

заполнить вторую строку таблицы, инвертируя значения прямого кода (т.е. заменяя 0 на 1, а 1 на 0) кроме знакового

Пример

Получим обратный код целого числа -37 типа Integer. Так как число отрицательное, то используем алгоритм получения обратного кода целого числа из

прямого кода для отрицательных чисел. Согласно алгоритму получим прямой код для числа -37. Используем представление для прямого кода числа 37 из примера справки 1, заменив знаковый разряд числом 1:

Прямой код числа -37 в двух байтах (тип integer)

 

15

 

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

 

 

1

 

 

0

0

0

0

0

0

0

0

0

1

0

0

1

0

1

Получим обратный код, заполнив вторую таблицу, содержащую 2 строки и 16 столбцов инвертированными значениями прямого кода (разряды с 0 по 14):

Обратный код числа -37 в двух байтах (тип integer)

 

15

 

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

 

 

1

 

 

1

1

1

1

1

1

1

1

1

0

1

1

0

1

0

Задание 2

Запишите обратные коды целых чисел, считая, что числа объявлены величиной типа:

а) Integer б) byte

в) LongInt

Решение оформите в Word.

Примечание

1.Открыть документ Word, созданный в задании 1

2.Записать текст «Задание 2»

3.Оформить в Word решение задания 2 для положительного числа согласно варианту задания 1, считая его типом Integer, опираясь на Справку 2:

скопировать из задания 1 таблицу, содержащую 16 столбцов и 2 строки, озаглавленную «а) Прямой код положительного двоичного числа … типа Integer» (вместо многоточия записано двоичное число)

вставить таблицу

снова вставить таблицу и озаглавить еѐ текстом «а) Обратный код положительного двоичного числа … типа Integer»

4.Оформить в Word решение для положительного числа согласно варианту задания 1, считая его типом byte, опираясь на Справку 2:

скопировать из задания 1 таблицу, содержащую 8 столбцов и 2 строки, озаглавленную «а) Прямой код положительного двоичного числа … типа byte»

вставить таблицу

снова вставить таблицу и озаглавить еѐ текстом «а) Обратный код положительного двоичного числа … типа byte»

5.Оформить в Word решение для положительного числа согласно варианту задания 1, считая его типом LongInt, опираясь на Справку 2:

скопировать из задания 1 таблицу, содержащую 32 столбца и 2 строки, озаглавленную «а) Прямой код положительного двоичного числа … типа

LongInt»

вставить таблицу

снова вставить таблицу и озаглавить еѐ текстом «а) Обратный код положительного двоичного числа … типа LongInt»

6.Оформить в Word решение задания 2 для отрицательного числа согласно варианту задания 1, считая его типом Integer, опираясь на Справку 2:

скопировать из задания 1 таблицу, содержащую 16 столбцов и 2 строки, озаглавленную «а) Прямой код отрицательного двоичного числа … типа

Integer»

вставить таблицу

снова вставить таблицу и озаглавить еѐ текстом «а) Обратный код отрицательного двоичного числа … типа Integer»

заменить в таблице 0 на 1 (1 на 0) во всех битах кроме знакового с номером 15 (см. пример из Справки 2)

7.Оформить в Word решение для отрицательного числа согласно варианту задания 1, считая его типом byte, опираясь на Справку 2:

скопировать из задания 1 таблицу, содержащую 8 столбцов и 2 строки, озаглавленную «а) Прямой код отрицательного двоичного числа … типа byte»

вставить таблицу

снова вставить таблицу и озаглавить еѐ текстом «а) Обратный код отрицательного двоичного числа … типа byte»

заменить в таблице 0 на 1 (1 на 0) во всех битах кроме знакового с номером 7 (см. пример из Справки 2)

8.Оформить в Word решение для отрицательного числа согласно варианту задания 1, считая его типом LongInt, опираясь на Справку 2:

скопировать из задания 1 таблицу, содержащую 32 столбца и 2 строки, озаглавленную «а) Прямой код отрицательного двоичного числа … типа

LongInt»

вставить таблицу

снова вставить таблицу и озаглавить еѐ текстом «а) Обратный код отрицательного двоичного числа … типа LongInt»

заменить в таблице 0 на 1 (1 на 0) во всех битах кроме знакового с номером 31 (см. пример из Справки 2)

9.Сохранить файл на своем носителе

Справка 3

Алгоритм преобразования целого числа из прямого кода в дополнительный код

1.Определить знак числа

2.Если число положительное, то дополнительный код числа совпадает с прямым (см. Справка 1)

3.Если число отрицательное, то следует выполнить следующие действия:

получить прямой код целого числа (см. Справка 1)

получить обратный код целого числа (см. Справка 2)

выполнить сложение с числом 1 двоичного числа, записанного в обратном коде (в запись числа не включать значение знакового разряда)

начертить третью таблицу, содержащую столько же строк и столбцов, сколько содержит таблица для прямого или обратного кода

пронумеровать в первой строке столбцы справа налево, начиная с нулевого

записать в столбец таблицы, содержащий старший бит (крайний левый столбец) число 1

заполнить вторую строку таблицы (кроме знакового разряда) полученными при сложении битами двоичного числа

Пример

Получим дополнительный код целого числа -37 типа Integer. Так как число отрицательное, то используем алгоритм получения дополнительного кода целого числа из прямого кода для отрицательных чисел. Согласно алгоритму получим прямой код для числа -37. Используем представление для прямого кода числа 37 из примера справки 1, заменив знаковый разряд числом 1:

Прямой код числа -37 в двух байтах (тип integer)

 

15

 

14

13

12

11

10

9

8

7

6

5

4

3

 

2

1

0

 

 

1

 

 

0

0

0

0

0

0

0

0

0

1

0

0

 

1

0

1

 

 

 

 

Запишем обратный код, пользуясь примером из Справки 2

 

 

 

 

 

 

 

 

 

 

 

 

Обратный код числа -37 в двух байтах (тип integer)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

 

14

13

12

11

10

9

8

7

6

5

4

3

 

2

1

0

 

 

1

 

 

1

1

1

1

1

1

1

1

1

0

1

1

 

0

1

0

Выполним сложение числа 111.1111.1101.10102, записанного в обратном коде, с числом 1:

111.1111.1101.10102

+

12 111.1111.1101.10112

Получим дополнительный код, заполнив третью таблицу, содержащую 2 строки и 16 столбцов полученными значениями при сложении обратного кода с числом 1 (разряды с 0 по 14):

Дополнительный код числа -37 в двух байтах (тип integer)

 

15

 

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

 

 

1

 

 

1

1

1

1

1

1

1

1

1

0

1

1

0

1

1

Задание 3

Запишите дополнительные коды целых чисел, считая, что числа объявлены величиной типа:

а) Integer б) byte

в) LongInt

Решение оформите в Word.

Примечание

1.Открыть документ Word, созданный в задании 1

2.Записать текст «Задание 3»

3.Оформить в Word решение задания 3 для положительного числа согласно варианту задания 1, считая его типом Integer, опираясь на Справку 3:

скопировать из задания 2 таблицы, содержащую 16 столбцов и 2 строки, озаглавленную «а) Прямой код положительного двоичного числа … типа Integer» и «а) Обратный код положительного двоичного числа … типа Integer»

вставить таблицы

скопировать таблицу «а) Обратный код положительного двоичного числа … типа Integer»

вставить скопированную таблицу и озаглавить еѐ «а) Дополнительный код положительного двоичного числа … типа Integer»

4.Оформить в Word решение для положительного числа согласно варианту задания 1, считая его типом byte, опираясь на Справку 3:

скопировать из задания 2 таблицы, содержащую 8 столбцов и 2 строки, озаглавленную «а) Прямой код положительного двоичного числа … типа byte» и «а) Обратный код положительного двоичного числа … типа byte»

вставить таблицы

скопировать таблицу «а) Обратный код положительного двоичного числа … типа byte»

вставить скопированную таблицу и озаглавить еѐ «а) Дополнительный код положительного двоичного числа … типа byte»

5.Оформить в Word решение для положительного числа согласно варианту задания 1, считая его типом LongInt, опираясь на Справку 3:

скопировать из задания 2 таблицы, содержащую 32 столбца и 2 строки, озаглавленную «а) Прямой код положительного двоичного числа … типа LongInt» и «а) Обратный код положительного двоичного числа … типа

LongInt»

вставить таблицы

скопировать таблицу «а) Обратный код положительного двоичного числа … типа LongInt»

вставить скопированную таблицу и озаглавить еѐ «а) Дополнительный код положительного двоичного числа … типа LongInt»

6.Оформить в Word решение задания 3 для отрицательного числа согласно варианту задания 1, считая его типом Integer, опираясь на Справку 3:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]