Урок информатики в 10 классе на тему
«Системы счисления»
Цель: 1. Обобщить знания учащихся по теме «Системы счисления»
2. Развитие творческого мышления.
3. Воспитание собранности.
План урока: 1. Оргмомент
2. Работа по карточкам и у доски.
3. Программирование
4. Итог урока
Ход урока:
1. Тема «Системы счисления» имеет прямое отношение к математической теории чисел. Однако, в школьном курсе математики она, как правило, не изучается. Необходимость изучения этой темы в курсе информатики связана с тем фактом, что числа в памяти компьютера представлены в двоичной системе счисления, а для внешнего представления содержимого памяти, адресов памяти используют восьмеричную или шестнадцатеричную системы.
Система счисления – это определенный способ представления чисел и соответствующие ему правила действия над числами.
2. а)Три человека работают по карточкам
Карточка № 1
Перевести числа в десятичную систему счисления:
13,425 1201,1123 А816
Карточка № 2
Сравните 1101112 и 658
Карточка № 3
Вычислить: 10011,112+75,28+13,445. Получить результат в десятичной системе счисления.
б)У доски: 101112+638+С216.
Получить ответ в системах с основанием 8,10,2,16.
в) С классом: 1. В классе учится 20 учеников: 18 мальчиков и 8 девочек. В какой системе счисления посчитаны ученики? Обоснуйте свой ответ. Запишите количество мальчиков и девочек в десятичной системе счисления.
2. Даны два треугольника. Длины сторон, которых выражены в двоичном виде и равны соответственно 101,101,110 и 101,101,1000. Определить, площадь какого из треугольников больше.
3. Сейчас вы попробуете написать программу, которая переводила бы числа из двоичной системы счисления в десятичную или из десятичной системы счисления в двоичную. Работаем самостоятельно за компьютерами. Анализируем получившиеся результаты.
Примеры получившихся программ.
Программа перевода из десятичной системы в двоичную систему счисления.
var i,k,n, : integer;
a : array [1..1000] of integer;
begin
write (‘введите десятичное число '); read (n);
i:=1;
while n>=1 do begin
a[i]:=n mod 2;
n:= n div 2;
i:= i+1;
end;
for k:=i-1 downto 1 do
write (a[k]);
end.
CLS
INPUT "введите десятичное число", n
DO WHILE n1 < n
n1 = 2 ^ k
k = k + 1
LOOP
DIM a(k)
FOR i = k TO 1 STEP -1
a(i) = n MOD 2
n = n \ 2
NEXT
FOR i = 1 TO k
IF a(i) = 0 THEN c = c * 10 ELSE c = c * 10 + a(i)
NEXT
PRINT
PRINT c
Программа перевода из двоичной в десятичную
var c : string;
i,k,n,n1,j,p : integer;
a : array [1..1000] of integer;
begin
write ('введите двоичное число'); read (c);
n1:=length(c); k:=1;
for i:=n1 downto 1 do
begin
val(c[i],n,j);
p:=p+n*k;
k:=k*2;
end;
writeln(p);
end.
CLS
INPUT "введите двоичное число ", x
DO WHILE n1 < x
n1 = 10 ^ k
k = k + 1
LOOP
FOR i = 1 TO k
m = x MOD 10
a = a + m * 2 ^ (i - 1)
x = x \ 10
NEXT i
PRINT a
4. Коротко о главном: Число в позиционной системе счисления можно представить в виде суммы произведений составляющих его цифр на соответствующие степени основания системы (на этом основаны приемы перевода чисел из одной системы в другую).