Тема урока. Числа в памяти компьютера.

advertisement
9 класс.
Тема урока. Числа в памяти компьютера.
Цели урока:
I. Формирование предметной компетенции:
1. Познавательные:
o дать представление о положительных и отрицательных числах в
памяти компьютера;
o повторить понятия «система счисления», определение «бит»;
o повторить правила перевода чисел из двоичной СС в десятичную
и наоборот.
2. Практические:
o учить работать с калькулятором;
o учить с помощью алгоритма получать внутреннее представление
отрицательных чисел;
o учить получать число по его компьютерному коду.
II. Формирование метапредметных компетенций:
1. Деятельностные компетенции (развивающие цели):
o развивать внимание, логическое мышление, умение сопоставлять
и делать выводы.
2. Социальные компетенции:
o работать в команде, слушать и слышать учителя и
одноклассников, адекватно реагировать на ошибки, принимать
решения.
Тип урока - комбинированный урок.
План урока:
1. Постановка проблемы – вычисления с помощью приложения Калькулятор.
2. Целеполагание.
3. Работа с алгоритмами.
4. Практические задания на закрепление нового материала.
Все вы знаете приложение Калькулятор и умеете им пользоваться.
Сейчас я проведу несколько вычислений, ваша задача объяснить полученные
результаты.
Вид калькулятора – Программист.
Определение (в тетрадь) Часть памяти, в которой хранится число,
называется ячейкой памяти.
Для наших вычислений выберем минимальный размер ячейки – 1 байт.
Вычисляем 120+8 = -128 Откуда появился знак «-»?
Следующий пример -125-5 = 126?
Чем можно объяснить полученные результаты?
Идет обсуждение предположений.
Подсказка. Попробуем набрать число 130, не получается…
Какое наибольшее и наименьшее число можно ввести? 127 и -128.
Всего 256 чисел, а 256=28
Делаем вывод: диапазон представимых чисел зависит от размера ячейки
памяти.
Возьмем несколько положительных чисел и запишем в тетрадь их
компьютерные коды. Результат проверим с помощью Калькулятора.
27
128
15= 0
25= 0
45= 0
55= 0
75= 0
120= 0
26
64
0
0
0
0
1
1
25
32
0
0
1
1
0
1
24
16
0
1
0
1
0
1
23
8
1
1
1
0
1
1
22
4
1
0
1
1
0
0
21
2
1
0
0
1
1
0
20
1
1
1
1
1
1
0
Теперь введем противоположные числа и запишем их коды
Число
15
25
45
55
75
120
Код
Число
Код
00001111
-15
11110001
00011001
-25
11100111
00101101
-45
11010011
00110111
-55
11001001
01001011
-75
10110101
01111000 -120 10001000
Что общего у всех кодов положительных чисел? а у отрицательных?
Действительно – первый бит в записи кода указывает на знак числа: 1 – число
отрицательное, 0 – число положительное.
Итак получить компьютерный код положительного числа довольно просто:
1. Проверить, представимо ли данное число в указанной ячейке.
Размер ячейки
1 байт
2 байта
4 байта
Диапазон представимых чисел
[-128;127]
[-32 768;32 767]
[-2 147 483 648; 2 147 483 647]
2. Перевести число из 10-ной СС в двоичную.
3. Дописать слева нужное количество нулей (до 8-ми знаков).
Как же компьютер получает код и хранит отрицательные числа?
Сравнивая коды противоположных чисел можно заметить, что простая замена
первой цифры не приведет к нужному результату.
Дело в том, что для хранения отрицательных чисел используется
дополнительный код.
Перестроим нашу таблицу так, чтобы коды противоположных чисел оказались
друг под другом.
Число
Код
Число
Код
15
00001111
-15
11110001
11110001
25
00011001
-25
11100111
11100111
45
00101101
-45
11010011
11010011
55
00110111
-55
11001001
11001001
75
01001011
-75
10110101
10110101
120 01111000 -120 10001000
10001000
Становится очевидно, что код отрицательного числа получается из кода
положительного (противоположного данному) путем замены 0 на 1 и 1 на 0 (по
крайней мере, все цифры, кроме последней). Эта операция называется инверсия.
На самом деле инверсии подвергаются все цифры без исключения. Только
потом к результату инверсии необходимо прибавить 1.
Итак, мы получили алгоритм нахождения компьютерного кода отрицательного
числа, алгоритм нахождения дополнительного кода.
1. Получить прямой код (для положительного числа, противоположного
заданному). Обратить внимание на количество цифр – оно должно быть равно
размеру ячейки памяти.
2. Инвертировать прямой код.
3. Прибавить к результату инверсии 1.
4. Полученный результат и есть дополнительный код.
Проверим на калькуляторе.
Решим обратную задачу. Дан компьютерный код числа. Получить само
число.
а) 01100010 б) 00111110 в) 01010100
г) 11001111 д) 10010010 е) 11110011
а), б) и в) – числа положительные, переведем их из 2-ной СС в 10-ную.
011000102=64+32+2=9810
001111102=32+16+8+4+2=6210
010101002=64+16++4=8410
27
26 25 24 23 22 21 20
128 64 32 16 8 4 2 1
г),д),е) – числа отрицательные, это дополнительный код, прежде, чем
переводить коды из 2-ной в 10-ную СС, проведем инверсию и +1
г) 11001111 – дополнительный код
00110000 – инверсия дополнительного кода
00110000+1=00110001
001100012=32+16+1=4910
Так как изначально мы имели дело с дополнительным кодом, то Ответ: -49
Аналогично пункты д) и е) (самостоятельно с проверкой на доске)
Итог урока:
Что такое ячейка памяти?
Какой минимальный размер у ячейки памяти?
Как называется компьютерное представление целого положительного числа?
Как получить прямой код?
Что такое дополнительный код?
Как получить дополнительный код числа?
На что указывает первая цифра в записи компьютерного кода числа?
Как получить число по его компьютерному коду?
а) положительное
б) отрицательное
Download
Study collections