Цель урока: 1. Научить учащихся составлять проекты для работы с числами. 2. Развить навыки работы с программой Visual Basic. 3. Воспитать будущих программистов.
Cлайд 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)
Cлайд 4
Действия выполняемые при создании проектов. Постановка задачи. Выбор метода решения. Составление алгоритма. Составление программы. Выполнение программы. Анализ полученных результатов.
Cлайд 5
Проект «Подсчёт цифр в числе»
Cлайд 6
Алгоритм выполнения проекта 1. Поместить на форму кнопку cmd1 и создать для неё событийную процедуру. 2. Ввод чисел осуществить с использованием функции ввода данных InputBox. Для преобразования строкового значения функции в десятичное число использовать функцию Val. 3. Количество цифр в числе равно количеству выполнения тела цикла, в котором десятичное число делится на 10 и выделяется целая часть частного от деления. Для выделения целой части воспользоваться встроенной функцией Int(x), которая возвращает целую часть числа:
Cлайд 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
Cлайд 8
Проект «Печать цифр числа» Модернизировать предыдущий проект. В событийной процедуре для выделения остатка от деления числа X на число Y использовать оператор X Mod Y. Для печати по зонам в качестве разделителя списка печати использовать запятую: Do While intD>0 bytB=intD Mod 10 Print bytB, intD=Int(intD/10) Loop
Cлайд 9
Проект «Сумма цифр числа» Модернизировать предыдущий проект. В программном коде цикла значениями переменной bytB являются цифры числа, а их сумма накапливается в переменной bytS: Do While intD>0 bytB=intD Mod 10 bytS=bytS+bytB intD=(intD-bytB)/10 Loop
Cлайд 10
Объяснение нового материала: Проекты: Проект «Числа без одинаковых цифр» Проект «Перевёртыш чисел» Проект «Перевод десятичного числа в двоичную систему счисления»
Cлайд 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
Cлайд 12
Проект «Перевёртыш чисел» В первом цикле с предусловием заполнить массив цифрами числа, а во втором цикле со счётчиком обеспечить обратный порядок их следования в числе. Программный код проекта будет следующий:
Cлайд 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
Cлайд 14
Проект «Перевод десятичного числа в двоичную систему счисления» Реализовать перевод натурального десятичного числа в двоичное число с использованием известного алгоритма последовательного деления числа на основание новой системы счисления. Реализовать последовательное деление введённого числа на 2 в цикле с предусловием intD>0, который будет выполняться до тех пор, пока частное от деления не станет дробным числом. В переменной intA хранить остатки деления. С помощью оператора ветвления преобразовать числовое значение остатка (переменная intA) в строковую переменную strBin, хранящую двоичное число.
Cлайд 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
Cлайд 16
Работа с программой Visual Basic 1. Ввод текста программы (проекта) 2. Запуск и редактирование программы. 3. Анализ полученных результатов.