Применение объектно-ориентированного программирования для перевода целых чисел в различные системы счисления.
Submitted by Elena Trunova on Tue, 22/10/2013 - 12:48
Урок информатики.
Тема: Применение объектно-ориентированного программирования для перевода целых чисел в различные системы счисления.
10 класс – информационно-технологический профиль.
Содержание:
1. Цели, задачи, тип урока, методы, формы и средства обучения на уроке.
2. Ход урока.
I этап. Постановка целей урока.
II этап. Актуализация знаний.
III этап. Систематизация материала.
IV этап. Закрепление.
V этап. Итоги урока.
Цели урока:
1. Формирование представлений об информации как одного из трех основополагающих понятий науки — вещества, энергии, информации, на основе которых строится современная научная картина мира.
2. Формирование общеучебных и общекультурных навыков работы с информацией.
3. Формирование умений и навыков, которые носят в современных условиях общенаучный, обще интеллектуальный характер.
4. Развитие у школьников теоретического, творческого мышления, а также формирование нового типа мышления, так называемого операционного мышления, направленного на выбор оптимальных решений.
5. Познакомить учащихся с понятием систем счисления, развитием систем счисления от буквенных до позиционных, дать понятие основания системы счисления.
6. Научить учащихся осуществлять переводы чисел из любой системы счисления в десятичную.
Задачи урока:
Воспитывающая:
1. Воспитывать самостоятельность и ответственность
2. Воспитывать необходимость связывать изучение нового материала с уже известными фактами;
3. Воспитывать ответственность за выполняемую работу;
4. Воспитывать аккуратность при выполнении вычислений.
5. воспитание самостоятельности, критичности в процессе принятия решения и за выполненную работу.
6. Содействовать в ходе урока формированию у учащихся интереса к данному языку программирования
Образовательные задачи:
1. Отработка навыков составления циклических алгоритмов и их программированию на языке Visual Basic.
2. систематизация знаний по системам счисления, способами записи чисел в разных системах счисления, взаимосвязь между системами счисления
3. Научить учащихся создавать обработчики событий, на примере проекта «Перевод целых чисел»
4. Обучение приемам построения алгоритмов с циклической структурой и их программированию на языке Visual Basic.
Развивающая:
Формирование навыков работы при создании программ, отработать приемы вставки в программу блоков цикла;
Формирование у учащихся приемов логического и алгоритмического мышления;
Развитие познавательного интереса, памяти, внимательности.
Формирование умений сравнивать и классифицировать, находить общее и различное, сопоставлять и делать выводы;
Программное обеспечение: презентация “Алгоритм перевода целых чисел и их кодирование на языке объектно-ориентированного программирования ”, созданная в программе MS PowerPoint, программная среда Visual Basic.
План урока:
1. Организационный момент. Мотивационное начало урока (мотивация учебно-познавательной деятельности).
2. Постановка целей урока.
3. Обобщение и систематизация знаний.
4. Подготовка к ЕГЭ. Закрепление и проверка изученного материала.
5. Теоретическая часть урока
6.Повторение циклических алгоритмических структур
7. Повторение алгоритмической структуры "выбор"
8. Практическая часть.
Тип урока: систематизация и закрепление полученных знаний.
Формы учебной работы учащихся: фронтальная, индивидуальная работа.
2. Эпиграф урока: “Всё есть число”.
ХОД УРОКА
1. Мотивационное начало урока.
2. Постановка целей урока и мотивация учебно-познавательной деятельности(слайд 3). Работа с интерактивной доской.
Срочное донесение
ЗАДАЧА. Шпион зашифровал каждую букву срочного донесения порядковым номером этой буквы в русском алфавите, получилось 3 19 7 6 19 20 29 24 10 19 13 16, и оставил шифровку в условленном месте (на камне).
Помогите сыщику расшифровать донесение.
Кодировочная таблица
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
А
Б
В
Г
Д
Е
Ё
Ж
З
И
Й
К
Л
М
Н
О
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
П
Р
С
Т
У
Ф
Х
Ч
Ш
Щ
Ъ
Ы
Ь
Э
Ю
Я
Ответ.
3
19
7
6
19
20
29
24
10
19
13
16
Учитель: Пифагорийцы говорили: “Всё есть число”, почему? А вы согласны с этим лозунгом?
Ученик: Да. Современного человека повсюду окружают числа: номера телефонов, машин, паспорта, стоимость товаров, покупки.
3. Обобщение и систематизация знаний.
Ø Учитель проводит беседу с учащимися, повторяя вместе с ними основные понятия темы:
1.Что такое система счисления? (Способ представления чисел и соответствующие ему правила действий над ними)
Учитель: Итак, число-величина, которая складывается из цифр по определенным правилам. Эти правила получили название Система счисления.
2. Что такое основание системы счисления? (Количество знаков, используемых для записи числа)
Основание системы счисления – количество различных символов или знаков, используемых для записи чисел (основание заложено в название систему счисления!).
3.Чем отличаются позиционные системы счисления от непозиционных? (В позиционных системах счисления вклад каждой цифры в величину числа зависит от ее положения)
4.Привести примеры позиционных и непозиционных систем счисления. (Десятичная – позиционная, римская – непозиционная)
Учитель: Примером позиционной системы счисления является система счисления древних шумеров (Вавилон) – шестидесятеричная. Кстати, с ней мы встречаемся и сегодня. Вспомните, где?
Ученик: При измерении времени, углов.
Учитель: Следующим представителем позиционных систем счислений является двенадцатеричная система счисления. На Руси счет велся дюжинами, вспомните, чему равна ДЮЖИНА?
Ученик: 12.
Учитель: Английский фунт тоже равен 12 шиллингам. А где у нас еще встречается двенадцатеричная система счисления?
Ученик: Год – 12 месяцев, половина суток – 12 часов, сервизы и столовые приборы рассчитаны на 12 персон.
Учитель: А почему 2 систему счисления используют в информатике?
Ученик: Связано с кодированием информации: записью на диск, передачей электрических сигналов.
А компьютеры используют двоичную систему потому, что она имеет ряд преимуществ перед другими системами:
· для ее реализации нужны технические устройства с двумя устойчивыми состояниями (есть ток — нет тока, намагничен — не намагничен и т.п.), а не, например, с десятью, — как в десятичной;
· представление информации посредством только двух состояний надежно и помехоустойчиво;
· возможно применение аппарата булевой алгебры для выполнения логических преобразований информации;
· двоичная арифметика намного проще десятичной.
Недостаток двоичной системы — быстрый рост числа разрядов, необходимых для записи чисел.
Учитель:Почему в компьютерах используются также восьмеричная и шестнадцатеричная системы счисления?
Двоичная система, удобная для компьютеров, для человека неудобна из-за ее громоздкости и непривычной записи.
Перевод чисел из десятичной системы в двоичную и наоборот выполняет машина. Однако, чтобы профессионально использовать компьютер, следует научиться понимать слово машины. Для этого и разработаны восьмеричная и шестнадцатеричная системы.
Числа в этих системах читаются почти так же легко, как десятичные, требуют соответственно в три (восьмеричная) и в четыре (шестнадцатеричная) раза меньше разрядов, чем в двоичной системе (ведь числа 8 и 16 – соответственно, третья и четвертая степени числа 2.
4. Подготовка к ЕГЭ.Задачи по ЕГЭ
Самостоятельная работа
I вариант
1. Укажите через запятую в порядке возрастания все основания систем счисления, в которых запись числа 39 оканчивается на 3.
39-3=36
Ответ: Основанием системы счисления должны быть делители числа 36, но больше 3 и меньше 39. Это 4,6,9,12,18 и 36
Акцентирует внимание учащихся на наиболее важных или проблемных вопросах.
Данный этап предусматривает следующие формы работы:
ü Повторение с элементами объяснения (объяснительно-иллюстративный метод)
ü Беседа с учащимися.
Учитель:Алгоритм позволяет формализовать решение задачи. Запись алгоритма должна производиться на языке, понятном исполнителю. Если исполнителем алгоритма является человек, то алгоритм может быть записан на естественном языке.
5.1.Алгоритм перевода целых десятичных чисел в двоичную систему счисления на естественном языке:
1)Ввести десятичное целое число.
2) В цикле с предусловием, пока исходное целое десятичное число или целое частное больше 0, выполнить вычисления:
2.1) Вычислить остаток от деления исходного целого десятичного числа или целого частного на основание новой системы (на 2).
2.2) Выполнить целочисленное деление целого десятичного числа или целого частного на основание новой системы (на 2).
2.3) Записать полученный остаток от деления слева от двоичного числа (остатки, записанные в обратном порядке, образуют двоичное число).
3) Вывести двоичное целое число.
Учитель: Для того чтобы сделать алгоритм более наглядным, часто используют блок-схемы. На блок-схеме хорошо видна структура алгоритма, по которой исполнителю (человеку) удобно отслеживать процесс его выполнения.
Блок-схема алгоритма перевода целых десятичных чисел в двоичную систему счисления.
5.2. Алгоритм перевода целых десятичных чисел в восьмеричную систему счисления на естественном языке:
1)Ввести десятичное целое число.
2) В цикле с предусловием, пока исходное целое десятичное число или целое частное больше 0, выполнить вычисления:
2.1) Вычислить остаток от деления исходного целого десятичного числа или целого частного на основание новой системы (на 8).
2.2) Выполнить целочисленное деление целого десятичного числа или целого частного на основание новой системы (на 8).
2.3) Записать полученный остаток от деления слева от восьмеричного числа (остатки, записанные в обратном порядке, образуют восьмеричное число).
3) Вывести восьмеричное целое число.
Блок-схема алгоритма перевода целых десятичных чисел в восьмеричную систему счисления.
Алгоритм перевода целых десятичных чисел в шестнадцатеричную систему счисления на естественном языке:
1)Ввести десятичное целое число.
2) В цикле с предусловием, пока исходное целое десятичное число или целое частное больше 0, выполнить вычисления:
2.1) Вычислить остаток от деления исходного целого десятичного числа или целого частного на основание новой системы (на 16).
2.2) Выполнить целочисленное деление целого десятичного числа или целого частного на основание новой системы (на 16).
2.3) Выразить остатки от деления цифрами новой системы счисления.
2.3) Записать полученный остаток от деления слева от шестнадцатеричного числа (остатки, записанные в обратном порядке, образуют шестнадцатеричное число).
3) Вывести шестнадцатеричное целое число.
Блок-схема алгоритма перевода целых десятичных чисел в шестнадцатеричную систему счисления.
6.Повторение циклических алгоритмических структур
Циклы с условием.
Цикл - это алгоритмическая конструкция, обеспечивающаямногократное выполнение одинаковой последовательности действий.
Цикл с предусловием используется для программирования процессов, в которых число повторений оператора цикла не известно, а задается некоторое условие его окончания.
проверка условия осуществляется в начале цикла (предусловие);
Формат оператора с проверкой условия в начале цикла(слайд 11)
Тело цикла выполняется, если Условие истинно, иначе осуществляется переход на оператор, расположенный послеLoop. Если первая проверка Условия даст результат “ложь”, то цикл не выполнится ни разу.
На языке Visual Basic и в VBA они записываются следующим образом:
DO WHILE условие Тело цикла
Перечень повторяющихся действий называют телом цикла. LOOP
Цикл с предусловие (цикл ПОКА)
Do While N > 0
R = N Mod 8
N = N \ 8
Oct = CStr(R) + Oct
Loop
В этом цикле проверяется условие и если оно выполняется (ИСТИНА), то выполняется тело цикла до ключевого слова LOOP, затем условие проверяется снова ... и так до тех пор пока условие истино.
7. Повторение алгоритмической структуры "выбор"
· Алгоритмическая структура "выбор" (Select Case) - при выполнении различных условий, выполняются различные серии команд.
Алгоритм "выбор" в Visual Basic и в VBA представляет собой следующий вид: Select Case Выражение (переменная, арифметическое выражение, значение какого то свойства ОБЪЕКТА и т.д.)End SelectSelect Case Условие1 Команды1 Case Условие2 Команды2 Case Условие3 Команды3 (и так далее) End Select
8. Практическая часть.
Учитель: Реализуем алгоритмы перевода чисел из десятичной в двоичную, восьмеричную и шестнадцатеричную системы счисления в форме проекта на языке объектно-ориентированного программирования VB.
Проект «Перевод целых чисел».
1. Выбрать форму и установить на ней необходимые элементы управления, действия которых описать программным кодом, то есть создать обработчики событий, реализующего перевод целых десятичных чисел в двоичную систему счисления, на языке программирования VisualBasic.NET
Анализ задачи:
Компьютерный практикум.
8.1. Создание графического интерфейса проекта на языке Visual Basic .NET:
1. Разместить на форме:
• текстовое поле TextBoxl для ввода целого числа в десятичной системе счисления;
• надпись Labell для вывода целого двоичного числа;
• надпись Label2 для вывода целого восьмеричного числа;
• надпись Label3 для вывода целого шестнадцатеричного числа;
• кнопку Button 1 для создания обработчика события, реализующего перевод целых чисел в двоичную систему счисления;
• кнопку Button2 для создания обработчика события, реализующего перевод целых чисел в восьмеричную систему счисления;
• кнопку Button3 для создания обработчика события, реализующего перевод целых чисел в шестнадцатеричную систему счисления.
2. Сделать графический интерфейс более привлекательным. Присвоить элементам управления новые значения свойств с помощью диалогового окна Свойства.
8.2. Обработчик события, реализующего перевод целых десятичных чисел в двоичную систему счисления, на языке программированияVisualBasic .NET
PublicClassForm1
'Объявить переменные:
Dim N As Integer 'десятичное число
Dim R As Integer 'остаток от деления исходного целого десятичного числа или целого частного на основание новой системы
Dim Bin As String 'двоичное число в строковой форме
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'1.Ввести десятичное целое число и другие начальные данные.
N = Val(TextBox1.Text)
Label1.Text = ""
Bin = ""
'2. В цикле с предусловием, пока исходное целое десятичное число или целое частное больше 0, выполнить вычисления:
Do While N > 0
'2.1. Вычислить остаток от деления исходного целого десятичного числа или целого частного на основание новой системы (на 2).
R = N Mod 2
'2.2. Выполнить целочисленное деление целого десятичного числа или целого частного на основание новой системы (на 2).
N = N \ 2
'2.3. Записать полученный остаток от деления слева от двоичного числа (остатки, записанные в обратном порядке, образуют двоичное число).
Bin = CStr(R) + Bin
Loop
'3. Вывести двоичное целое число.
Label1.Text = Bin
End Sub
8.3. Обработчик события, реализующего перевод целых десятичных чисел в восьмеричную систему счисления, на языке программированияVisualBasic .NET
'Объявить переменные:
Dim Oct As String 'восьмеричное число в строковой форме
Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'1.Ввести десятичное целое число и другие начальные данные.
N = Val(TextBox1.Text)
Label2.Text = ""
Oct = ""
'2. В цикле с предусловием, пока исходное целое десятичное число или целое частное больше 0, выполнить вычисления:
Do While N > 0
'2.1. Вычислить остаток от деления исходного целого десятичного числа или целого частного на основание новой системы (на 8).
R = N Mod 8
'2.2. Выполнить целочисленное деление целого десятичного числа или целого частного на основание новой системы (на 8).
N = N \ 8
'2.3. Записать полученный остаток от деления слева от восьмеричного числа (остатки, записанные в обратном порядке, образуют восьмеричное число).
Oct = CStr(R) + Oct
Loop
'3. Вывести восьмеричное целое число.
Label2.Text = Oct
End Sub
8.4. Обработчик события, реализующего перевод целых десятичных чисел в шестнадцатеричную систему счисления, на языке программированияVisualBasic .NET
'Объявить переменные:
Dim Hex As String 'шестнадцатеричное число в строковой форме
Dim H As String 'разряд шестнадцатеричного числа в строковой форме
Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'1.Ввести десятичное целое число и другие начальные данные.
N = Val(TextBox1.Text)
Label3.Text = ""
Hex = ""
'2. В цикле с предусловием, пока исходное целое десятичное число или целое частное больше 0, выполнить вычисления:
Do While N > 0
'2.1. Вычислить остаток от деления исходного целого десятичного числа или целого частного на основание новой системы (на 16).
R = N Mod 16
'2.2. Выполнить целочисленное деление целого десятичного числа или целого частного на основание новой системы (на 16).
N = N \ 16
'2.3. Выразить остатки от деления цифрами новой системы счисления.
H = CStr(R)
Select Case H
Case 10
H = "A"
Case 11
H = "B"
Case 12
H = "C"
Case 13
H = "D"
Case 14
H = "E"
Case 15
H = "F"
End Select
'2.4. Записать полученный остаток от деления слева от шестнадцатеричного числа (остатки, записанные в обратном порядке, образуют шестнадцатеричное число).
Hex = H + Hex
Loop
'3. Вывести шестнадцатеричное целое число.
Label3.Text = Hex
End Sub
End Class
8.5. Анализ задачи:
8.5.1. Запустить проект на выполнение, ввести в текстовое поле десятичное число, результат отобразить, заполнив таблицу:
Десятичная с.с.
Двоичная с.с.
Восьмеричная с.с.
Шестнадцатеричная с.с.
666
305
153
162
248
Найдите на предложенных карточках с буквами соответствующие числа и разложите их по порядку (сначала первая строка, затем вторая и т.д.)
Прочитайте, что получилась. Ответьте на вопрос: «Какого символа не хватает в получившейся фразе с точки зрения русского языка?»
Анализ задачи для слабых учащихся:
8.5. 2. Учащиеся, которые создадут только обработчик события, реализующего перевод целых десятичных чисел в двоичную систему счисления, на языке программированияVisualBasic .NET
КАРТОЧКА № 1
Используя таблицу кодировки букв и правила перевода чисел 2®10, расшифруйте приведенное слово: 11012 01002 10102 10112
Буква
А
В
Д
Е
Ж
И
К
Л
М
Н
О
П
Р
Ь
Ш
10-тичный код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ответ: _____________
Из таблицы составьте свое слово (3-4 буквы) и получите его двоичный код.
Ответ: _____________
КАРТОЧКА № 2
Используя таблицу кодировки букв и правила перевода чисел 2®10, расшифруйте приведенное слово: 10112 11002 01002 10002 11102
Буква
А
В
Д
Е
Ж
И
К
Л
М
Н
О
П
Р
Ь
Ш
10-тичный код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ответ: ___________
Из таблицы составьте свое слово (3-4 буквы) и получите его двоичный код.
Ответ: ___________
КАРТОЧКА № 3
Используя таблицу кодировки букв и правила перевода чисел 2®10, расшифруйте приведенное слово: 11002 01002 01012 10112
Буква
А
В
Д
Е
Ж
И
К
Л
М
Н
О
П
Р
Ь
Ш
10-тичный код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ответ: ____________
Из таблицы составьте свое слово (3-4 буквы) и получите его двоичный код.
Ответ: _____________
КАРТОЧКА № 4
Используя таблицу кодировки букв и правила перевода чисел 2®10, расшифруйте приведенное слово: 00102 10112 10002 11102 00102 10112
Буква
А
В
Д
Е
Ж
И
К
Л
М
Н
О
П
Р
Ь
Ш
10-тичный код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ответ: ______________
Из таблицы составьте свое слово (3-4 буквы) и получите его двоичный код.
Ответ: ______________
КАРТОЧКА № 5
1. Используя таблицу кодировки букв и правила перевода чисел 2®10, расшифруйте приведенное слово: 00112 01102 10112 11012
Буква
А
В
Д
Е
Ж
И
К
Л
М
Н
О
П
Р
Ь
Ш
10-тичный код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ответ: ______________
2. Из таблицы составьте свое слово (3-4 буквы) и получите его двоичный код.
Ответ: ______________
КАРТОЧКА № 6
Используя таблицу кодировки букв и правила перевода чисел 2®10, расшифруйте приведенное слово: 10002 10012 11012 00012 10102
Буква
А
В
Д
Е
Ж
И
К
Л
М
Н
О
П
Р
Ь
Ш
10-тичный код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ответ: ______________
Из таблицы составьте свое слово (3-4 буквы) и получите его двоичный код.
Ответ: ______________
КАРТОЧКА № 7
Используя таблицу кодировки букв и правила перевода чисел 2®10, расшифруйте приведенное слово: 11112 00012 10102 01002 10002 11102
Буква
А
В
Д
Е
Ж
И
К
Л
М
Н
О
П
Р
Ь
Ш
10-тичный код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ответ: ______________
Из таблицы составьте свое слово (3-4 буквы) и получите его двоичный код.
Ответ: ______________
КАРТОЧКА № 8
Используя таблицу кодировки букв и правила перевода чисел 2®10, расшифруйте приведенное слово: 01112 10002 00012 00112
Буква
А
В
Д
Е
Ж
И
К
Л
М
Н
О
П
Р
Ь
Ш
10-тичный код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ответ: ______________
9. Домашнее задание(слайд 19).
Учебник
§ 4.12., п.4.12.1.,стр. 262–271 (Угринович Н.Д., Информатика и ИКТ профильный уровень, 10 класс.– М.: БИНОМ. Лаборатория базовых знаний, 2008.)
Задача №1.
Существует ли такая система счисления, в которой 3 + 4 =7, 3 х 4 =13 и 39 +29 =70?
Решение задачи
Предположим, что такая система счисления существует, обозначим ее основание через P. Тогда справедлива следующая система уравнений относительно P
3P0 + 4P0 = 7P0,
3P0 х 4P0 = P+ 3P0,
3P + 9P0 + 2P + 9P0 = 7P.
Из двух последних уравнений следует, что P = 9.
Но в позиционной системе счисления с основанием 9 нет цифры "9", т.е. в этой системе счисления нельзя записать числа 29 и 39.
Значит такой системы счисления не существует.
Задача №2.
Для десятичного числа 371 найти систему счисления с основанием P, в которой данное число будет представлено теми же цифрами, но записанными в обратном порядке, т.е. 371 = 173p.
Задача №3 (дополнительная).
В названии какой известной восточной сказки фигурирует число, начертание которого представляет собой запись числа в недесятичной системе счисления?
Найдите, какому числу в десятичной системе счисления соответствует данная запись?
Ответ на дополнительный вопрос:
"Тысяча и одна ночь" (1001);
10012 = 910
10. Список используемой литературы:
Волченков Н.Г. Программирование на Visual Basic 6.0 – M.: Горячая линия – Телеком, 2001.
Гусева О.Л и др. Практикум по Visual Basic. – М.: Финансы и статистика, 2007.
Сафронов И. Visual Basic в примерах и задачах. – СПб.: БХВ - Петербург, 2010.
Угринович Н. Информатика и информационные технологии. 10–11 классы.– М.: Лаборатория базовых знаний, 2010.
Угринович Н., Босова Л., Михайлова Н. Практикум по информатике и информационным технологиям. – М.: Лаборатория базовых знаний, 2010.
Интренет-ресурнсы:
www.vbnet.ru
iit.metodist.ru
www.vbkids.narod.ru
Дополнительное задание.Тест
Фамилия, имя ________________________ Класс: _________
1. На форму могут быть помещены:
1. Программный код
2. Элементы управления
3. Другая форма
4. Комментарии к программе
2. Значения свойств формы и элементов управления могут быть
заданы с помощью окна:
Вопрос
№1
№2
№3
№4
Ответ:
1. Область элементов
2. Конструктор
3. Свойства
4. Вывод
3.Какой элемент управления может не только отображать текст, но
и получать его от пользователя?
1. Текстовое поле
2. Надпись
3. Кнопка
4. Выпадающий список
4. Какую функцию выполняют события вVisualBasic .NET?
1. Осуществляют запуск проекта на выполнение
2. Осуществляют компиляцию проекта
3. Осуществляют построение решения
4. Вызывают выполнение связанного с ними программного кода