Слайд 2
Цель урока: 1. Научить учащихся составлять
проекты для работы с числами.
2. Развить навыки работы с программой
Visual Basic.
3. Воспитать будущих программистов.
Слайд 3
Повторение пройденного материала
1.Типы
переменных (byte, integer, string ….)
2.Функция ввода (InputBox)
3.Условный оператор ( IF усл. THEN действ.1 ELSE действ.2 )
4.Операторы цикла ( FOR I=A TO B STEP H
тело цикла
NEXT
-------------------------------
Do While intN>0
тело цикла
Loop)
Слайд 4
Действия выполняемые при создании проектов.
Постановка задачи.
Выбор метода решения.
Составление
алгоритма.
Составление программы.
Выполнение программы.
Анализ полученных результатов.
Слайд 5
Проект «Подсчёт цифр в числе»
Слайд 6
Алгоритм выполнения проекта
1. Поместить на форму кнопку cmd1
и создать для неё событийную процедуру.
2. Ввод чисел осуществить
с использованием функции ввода данных InputBox. Для преобразования строкового значения функции в десятичное число использовать функцию Val.
3. Количество цифр в числе равно количеству выполнения тела цикла, в котором десятичное число делится на 10 и выделяется целая часть частного от деления. Для выделения целой части воспользоваться встроенной функцией Int(x), которая возвращает целую часть числа:
Слайд 7
Программный код проекта будет следующий:
Dim intDec, intD, intA
As Integer, bytK As Byte
Private Sub cmd1_click()
intDec=Val(InputBox(“Введите натуральное десятичное
число”, “ Десятичное число”)
intD=intDec
bytK=0
Do While intD>0
intD=Int(intD/10)
bytK=bytK+1
Loop
Print”Количество цифр в натуральном числе”;intDec;” равно “; bytK
End Sub
Слайд 8
Проект «Печать цифр числа»
Модернизировать предыдущий проект.
В событийной процедуре для выделения остатка от деления числа
X на число Y использовать оператор X Mod Y.
Для печати по зонам в качестве разделителя списка печати использовать запятую:
Do While intD>0
bytB=intD Mod 10
Print bytB,
intD=Int(intD/10)
Loop
Слайд 9
Проект «Сумма цифр числа»
Модернизировать предыдущий проект. В программном
коде цикла значениями переменной bytB являются цифры числа, а
их сумма накапливается в переменной bytS:
Do While intD>0
bytB=intD Mod 10
bytS=bytS+bytB
intD=(intD-bytB)/10
Loop
Слайд 10
Объяснение нового материала:
Проекты:
Проект «Числа без одинаковых цифр»
Проект «Перевёртыш
чисел»
Проект «Перевод десятичного числа в двоичную систему счисления»
Слайд 11
Проект «Числа без одинаковых цифр»
В событийной
процедуре используем вложенные циклы и неполное ветвление, которое обеспечи-вает
в случае совпадения цифр переход к следую-щей цифре:
Dim intI, intJ As Byte
Private Sub cmd1_click()
For intI=1 to 9
For intJ=0 to 9
If intJ =intI Then intJ=intJ+1
Print intJ*10+intJ;
Next intJ
Next intI
End Sub
Слайд 12
Проект «Перевёртыш чисел»
В первом цикле с
предусловием заполнить массив цифрами числа, а во втором цикле
со счётчиком обеспечить обратный порядок их следования в числе. Программный код проекта будет следующий:
Слайд 13
Dim intN, intN1, intN2 As Integer, bytI, bytJ
As Byte, sngA(1 to 10)
As Single
Private Sub cmd1_click()
intN= Val(InputBox("Введите целое десятичное число”, “Ввод числа”)
intN2=intN
bytI=0
Do While intN>0
bytI=bytI+1
sngA(bytI)=intN Mod 10
intN=Int(intN/10)
Loop
intN1=sngA(1)
For bytJ=2 To bytI
intN1=intN1*10+sngA(bytJ)
Next bytJ
Print “Исходное число “; intN2; “Перевёртыш”;intN1
End Sub
Слайд 14
Проект «Перевод десятичного числа в двоичную систему счисления»
Реализовать
перевод натурального десятичного числа в двоичное число с использованием
известного алгоритма последовательного деления числа на основание новой системы счисления.
Реализовать последовательное деление введённого числа на 2 в цикле с предусловием intD>0, который будет выполняться до тех пор, пока частное от деления не станет дробным числом.
В переменной intA хранить остатки деления. С помощью оператора ветвления преобразовать числовое значение остатка (переменная intA) в строковую переменную strBin, хранящую двоичное число.
Слайд 15
Программный код проекта будет следующий:
Dim intDec, intD, intA
As Integer, strBin As String
Private Sub cmd1_click()
intDec=Val(InputBox(“Введите натуральное десятичное
число”, “ Десятичное число”)
strBin=” “
intD=intDec
Do While intD>0
intA=intD Mod 2
If intA=1 strBin=”1”+strBin Else strBin=”0”+strBin
intD=Int(intD/2)
Loop
Print”Десятичное число”;intDec,”Двоичное число”; strBin
End Sub
Слайд 16
Работа с программой Visual Basic
1.
Ввод текста программы (проекта)
2. Запуск и редактирование программы.
3. Анализ
полученных результатов.