Основы алгоритмизации и программирования

advertisement
Основы алгоритмизации и
объектно – ориентированного
программирования
1
Алгоритм и его
формальное исполнение
2
Алгоритм – это строго детерминированная
последовательность действий, описывающая процесс
преобразования объекта из начального состояния в
конечное, записанная с помощью понятных
исполнителю команд.
Пример: Алгоритм приготовления блюда
быстрого питания, например, лапша
BigBon:
1. Высыпать в емкость содержимое пакетик.
2. Налить в емкость 200 мл горячей воды.
3. Тщательно перемешать.
3
Алгоритмы широко используются в технике и
системах управления объектами. В любой системе
управления существует управляющий объект, который
является исполнителем алгоритма управления.
Каждый исполнитель обладает определенным
набором команд – системой команд, которые он
может выполнить. Алгоритм должен быть понятен
исполнителю, т.е. должен содержать только те
команды, которые входят в систему команд
исполнителя.
4
Представление информационного процесса в
форме алгоритма позволяет поручить его
автоматическое исполнение различным техническим
устройствам, среди которых особое место занимает
компьютер.
Алгоритм, записанный на «понятном» компьютеру
языке программирования, называется программой.
5
Компьютер может выполнить алгоритм, если он
записан на языке, понятном компьютеру.
Информацию в компьютере обрабатывает процессор,
следовательно, алгоритм должен быть записан на
машинном языке.
Составление и отладка таких программ
достаточно трудоемка, поэтому разработаны языки
программирования высокого уровня, кодирующие
алгоритмы в привычном для человека виде (в виде
предложений).
6
Свойства алгоритмов:
Результативность и дискретность – алгоритм должен
обеспечивать преобразование объекта из начального
состояния в конечное за определенное число шагов.
Массовость – один и тот же алгоритм может
применятся к большому количеству однотипных
объектов.
Детерминированность – команды алгоритма должны
выполняться в строго определенной
последовательности.
Выполнимость и понятность команд – алгоритма
должен содержать команды, входящие в систему
команд исполнителя и записанные на понятном для
исполнителя языке.
7
«Основные типы алгоритмических
структур»
8
Начало
1. Линейный алгоритм
Алгоритм, в котором
команды
выполняются
последовательно одна
за другой, называется
линейным
алгоритмом.
Выкопать в земле ямку
Опустить в ямку саженец
Закопать ямку с саженцем землей
Полить саженец водой
Конец
9
2. Алгоритмическая структура «ветвление»
В алгоритмической структуре «ветвление» та или
иная серия команд выполняется в зависимости от
истинности условия.
Пример:
ЕСЛИ хочешь быть здоров, ТО закаляйся, ИНАЧЕ
валяйся весь день на диване.
Условие
Серия 1
Серия 2
10
3. Алгоритмическая структура «выбор»
В алгоритмической структуре «выбор» выполняется
одна из нескольких последовательностей команд при
истинности соответствующего условия.
Условие
1
Условие
2
Серия 1
Серия 2
Серия 3
11
4.Алгоритмическая структура «цикл»
А) циклы со счетчиком
Б) циклы с условием
Счетчик
Условие
Тело цикла
Тело цикла
12
Задание:
Составьте алгоритм преобразования слова
«информатика» в слово «форма».
13
Основы объектно – ориентированного
визуального программирования
14
Приложения на языке объектно –
ориентированного программирования Visual Basic
строятся из готовых объектов, входящих в
программную библиотеку этой системы
программирования.
Система объектно – ориентированного
программирования дает возможность
визуализировать процесс создания графического
интерфейса разрабатываемого приложения, т.е.
позволяют создавать объекты и задавать значения их
свойств с помощью диалоговых окон системы
программирования.
15
Классы объектов, экземпляры класса и семейства
объектов
Программные объекты обладают свойствами, могут
использовать методы и реагируют на события.
Классы объектов являются «шаблонами»,
определяющими наборы свойств, методов и событий. По
этим шаблонам создаются объекты.
В языке Visual Basic основными являются классы
объектов, реализующие графический интерфейс
приложения.
16
Объект, созданный по «шаблону» класса объектов,
является экземпляром класса и наследует весь набор
свойств, методов и событий данного класса.
Семейство объектов представляет собой объект,
содержащий несколько объектов, экземпляров одного
класса.
17
Объекты: свойства, методы, события
Свойства объектов (Properties) – каждый объект обладает
определенным набором свойств, первоначальные значения
которых можно установить с использованием диалогового
окна системы программирования.
Значения свойств объектов можно изменять в
программном коде:
Объект.Свойство = Значение Свойства
18
Методы объектов (Methods) – для того, чтобы объект
выполнил какую-либо операцию, необходимо применить
метод, которым он обладает.
Многие методы имеют аргументы, которые позволяют
задать параметры выполняемых действий.
Для присваивания аргументам конкретных значений
используется двоеточие и знак равенства, друг от друга
аргументы отделяются запятой.
Объект.Метод арг1:=значение, арг2:=значение
19
События (Events) – представляют собой действие,
распознаваемое объектом.
Событие может создаваться пользователем или быть
результатом воздействия других программных объектов.
В качестве реакции на события вызывается
определенная процедура, которая может изменять
значения свойств объектов, вызывать его методы и т.д.
20
Графический интерфейс и событийные процедуры.
Графический интерфейс необходим для реализации
интерактивного диалога пользователя с приложением.
Основой для создания графического интерфейса
разрабатываемого приложения является форма.
Форма –это объект, представляющий собой окно на
экране, в котором размещаются управляющие
элементы.
21
Классы управляющих элементов (Controls):
-Текстовые поля (TextBox)
-Метки (Label)
-Списки (ListBox)
-Графические окна (PictureBox)
-Командные кнопки (CommandButton)
-Переключатели (CheckBox)
-Флажки (OptionsButton)
22
На форму может быть помещено несколько
экземпляров одного класса управляющих элементов.
Управляющие элементы – это объекты, являющиеся
элементами графического интерфейса приложения и
реагирующие на события, производимые
пользователем или программными объектами.
Объектам необходимо присваивать имена, которые
дают возможность распознать их тип и значение.
23
Для каждого события можно запрограммировать
отклик, т.е.реакцию объекта на произошедшее
событие. В качестве отклика выполняется некоторая
последовательность действий – событийная
процедура.
Имя процедуры включает в себя имя объекта и имя
события: Объект_Событие()
Событийная процедура представляет собой
подпрограмму, которая начинает выполняться после
реализации определенного события.
24
Каждая процедура представляет собой
отдельный программный модуль, который
реализует определенный алгоритм.
Событийная процедура начинается с ключевого
слова Sub (subroutine- подпрограмма) и
заканчивается ключевыми словами End Sub
Sub Объект (1)_Событие ()
Объект (2). Свойство = Значение Свойства
Объект (3). Метод арг1: = знач, арг2:= знач
…
End Sub
25
Интегрированная среда разработки
языка Visual Basic 2005
26
Visual Basic 2005 – является системой
программирования (позволяет кодировать алгоритмы) и
средой проектирования (позволяет осуществлять
визуальное конструирование графического интерфейса).
Результатом процессов программирования и
проектирования является проект, который объединяет в
себе программный код и графический интерфейс.
Visual Basic содержит программу транслятор, поэтому
проекты выполняются в самой системе либо могут быть
преобразованы в приложения, которые выполняются в ОС
Windows.
27
Визуальное конструирование графического
интерфейса проекта производится в окне Конструктор
форм. Оно располагается в центре окна разработки
проектов и содержит форму, являющуюся основой
графического интерфейса проекта.
Форма представляет собой окно, на котором
размещаются другие объекты – элементы управления:
кнопки, текстовые поля, надписи и т.д.
28
29
Элементы среды VBasic:
1. Панель инструментов (ToolBox)
2. Окно Конструктор форм
3. Окно Программный код (Code)
4. Окно Свойства объекта (Properties)
5. Окно Просмотр объектов (Object Browser)
6. Окно Проводник проекта(Project)
7. Окно Расположение формы (Form Layout)
30
31
Этапы разработки проекта
1. Создание графического интерфейса
В окне Конструктор форм на форму помещаются
управляющие элементы.
2. Задание значений свойств объектов графического
интерфейса
С помощью окна Свойства объекта задаются
значения свойств управляющих элементов,
помещенных на форму.
3. Создание программного кода
В окне Редактор кода производится ввод и
редактирование программного кода процедур
32
4. Сохранение проекта
А)File- Save Form1.frm as…frm1.frm
Сначала сохраняется форма. Файл с формой и
кодами сохранится под именем формы с
расширением FRM
Б) File- Save Project as…prj1.vbp
Затем будет сохранен проект под именем с
префиксом PRJ1 и расширением VBP.
На диске будут сохранены три файла: файл формы
(*.frm), файл проекта (*.vbp) и
вспомогательный файл (*.vbw)
Для каждого проекта рекомендуется создавать
отдельную папку на диске.
33
5. Компиляция проекта в приложение
Проект можно преобразовать в приложение,
которое может выполняться в среде
операционной системы.
Проект необходимо сохранить в исполняемом
файле (*.exe) с помощью команды
File – Make…
34
Форма и размещение на ней
управляющих элементов
35
Проект «Создание графического интерфейса»
Цель: Создание
проекта, в котором
после запуска на форме
печатается некоторый
текст, например
«Первый проект»
36
Порядок создания проекта:
1. Запустить Visual Basic. Создать новый проект
командой File – New –Standard
2. С помощью Панели инструментов на форму
(Form1) поместить метку(Label1) ,
текстовое поле(Text1) и
командную кнопку (Command).
3. С помощью окна Свойства объекта изменить
значения свойств формы и управляющих
элементов согласно таблице:
37
Класс объектов
Form
(форма)
Свойство
Значение
по умолчанию
Name
Form1
Frm1
Caption
Form1
Первый проект
желтый
Back Color
Label
(надпись)
Textbox
(текстовое поле)
Name
Label1
Lbl1
Caption
Label1
Первый проект
Back Color (цвет фона)
зеленый
Fore Color (цвет надписи)
синий
Font (размер шрифта)
18
Alignment (выравнивание)
center
Name
Text1
Txt1
Caption
Text1
Первый проект
Fore Color (цвет надписи)
красный
Font (размер шрифта)
14
начертание курсивное
center
Alignment (выравнивание)
Command Button
(командная
Новое значение
Name
Command1
Cmd1
Caption
Command1
Метод Print
38
4. Двойным щелчком по кнопке CommandButton
(cmd1) вызвать окно Программный код с пустой
процедурой cmd1_Click() и ввести процедуру:
frm1. Print “Первый проект на языке Visual Basic”
Font.Size=12
5. Проект можно запускать на выполнение
командой: Run – Start
6. Сохранить файл формы и файл проекта в папку
«11 классы»
39
Тип, имя, значение переменной
40
Переменная в программе представлена именем и
служит для обращения к данным определенного
типа. Конкретное значение переменной хранится в
ячейках оперативной памяти.
Тип переменной определяется типом данных,
которые могут быть значениями переменной.
Значениями переменных числовых типов (Byte,
Integer, Long, Single, Double) являются числа;
логических (Boolean) – True или False, строковые
(String) – последовательность символов и так далее.
41
В Visual Basic имя каждой переменной
уникально и не может меняться в процессе
выполнения программы.
Имя может состоять из различных символов
(латинские , русские буквы, цифры и т.д.), но
обязательно должно начинаться с буквы и не
должно включать знак «.»
Количество знаков в имени не может быть
более 255.
42
В Visual Basic переменные объявляются с помощью
оператора Dim:
Dim ИмяПеременной [As Тип Переменной]
Переменные, значения которых не меняются в
процессе выполнения программы, называются
константами:
Const ИмяКонстанты [AsТип]=
ЗначениеКонстанты
43
Основные типы переменных VB:
Byte - предназначен для хранения целых чисел от 0 до 255.
Если переменной такого типа присвоить значение, выходящее
за эти пределы, то Visual Basic сгенерирует ошибку.
Integer - предназначен для хранения целых чисел в диапазоне
-32768 до +32767, т.е. размер памяти, выделяемой под такую
переменную состовляет 2 байта. (256*256=65536). Символ
для обозначения - "%". Зачем он нужен, мы рассмотрим
далее.
Long - предназначен для хранения целых чисел в диапазоне
-2147483648 до +2147483647, т.е. размер памяти, выделяемой
под такую переменную состовляет 4 байта.
(65536*65536=4294967296). Символ для обозначения - "&".
44
String - предназначен для хранения строковой (символьной) информации, т.е.
попросту говоря - текста. Может хранить до 2 Гб. текста. Символ для
обозначения - "$".
Single - предназначен для хранения дробных чисел, с точностью до 7 цифр.
Диапазон отрицательных значений от -3.402823Е38 до -1.401298Е-45. Диапазон
положительных значений от 1.401298Е-45 до 3.402823Е38. Длина числа может
достигать 38 знаков. Занимает 4 байта памяти. Вычисления с данными
переменными будут приблизительными и менее быстрыми, чем с переменными
целого типа. Символ для обозначения - "!".
Double - предназначен для хранения дробных чисел, с точностью до 16 цифр.
Диапазон отрицательных значений
от 1.79769313486232Е308 до -4.94065645841247Е-324.
Диапазон положительных значений
от 4.94065645841247Е-324 до 1.79769313486232Е308.
Длина числа может достигать 300 знаков. Занимает 8 байта памяти.
Вычисления с данными переменными будут приблизительными и менее
быстрыми, чем с переменными целого типа. Используется для научных
расчетов. Символ для обозначения - "#".
45
Currency - Данный тип создан для того, чтобы избежать ошибок
при преобразовании чисел из десятичной формы в двоичную и
наоборот (Невозможно представить 1/10 как сумму 1/2, 1/4 и т.д).
Данный тип может иметь до 4 цифр после запятой, и до 14 перед
ней. Внутри данного диапазона вычисления будут точными.
Вычисления выполняются так же медленно, как и в случае
переменных Single и Double. Данный тип очень подходит для
финансовых расчётов. Символ для обозначения - "@".
Date - Этот тип данных позволяет хранить значения времени и
даты в промежутке от полуночи 1 января 100 года до полуночи
31 декабря 9999 года. Если переменной присевается только
значение даты, то время равняется 00:00.
46
Boolean - очень важный и распространённый тип данных.
Позволяет хранить так называемые булевы значения, т.е. только
два значения - True и False. (По-русски Правда и Ложь).
Используется тогда, когда вам нужно хранить только значение
Да или Нет.
Variant - Переменная типа Variant может содержать данные
любого типа. Visual Basic автоматически производит
необходимые преобразования данных, поэтому не стоит
беспокоится об этом. Использование такого типа данных
замедляет работу программы, т.е. требуется время и ресурсы для
преобразования типов. Поэтому рекомендую всегда
воздерживаться от применения этого типа данных, за
исключением специфических случаев, например, возвращение
функцией массива возможно только при использовании типа
Variant.
47
Арифметические, строковые и логические
выражения.
Присваивание.
48
В состав арифметических выражений могут
входить переменные числового типа, числа, знаки
арифметических операций, а также математические
функции. Порядок вычисления в соответствии с
общеизвестным порядком выполнения арифметических
операций (возведение в степень, умножение и деление,
сложение и вычитание), который может изменятся с
помощью скобок.
49
В состав строковых выражений могут входить
переменные строкового типа, строки (последовательности
символов) и строковые функции.
Строками являются любые последовательности
символов, заключенные в кавычки: “информатика”, “2002”.
Над переменными и строками может производится
операция конкатенации -операция объединения строк или
значений строковых переменных в единую строку.
50
В состав логических выражений могут входить
логические переменные, логические значения, результаты
операций сравнения чисел(>, <, =, >=, <= и пр.) и строк, а
также логические операции.
Логические выражения могут принимать лишь два
значения: True(Истина) и False(Ложь):5>3- истинно; 2*2=5 –
ложно.
Над элементами логических выражений производятся
следующие логические операции: логическое умножение –
And, логические сложение – Or, логические отрицание – Not.
51
Переменная может получить или изменить значение
с помощью оператора присваивания:
[Let] Имя Переменной = Выражение
Ключевое слово Let часто не используют.
52
Проект «Переменные»
Цель: создать проект в котором,
при нажатии на кнопку «Вычислить» будет производится деление двух чисел с
различной точностью;
при нажатии на кнопку «Конкатенация»строковая переменная strC примет
значение «информатика»;
при нажатии на кнопку «Логика» логическая переменная blnC примет значение
False (ложь)
53
1.Командная кнопка cmd1 - «Вычислить»
В окне Программный код объявить переменные для их использования
в программе:
Dim intA, intB As Integer, bytC As Byte, sngD As Single, dblE As Double
Dim strA, strB As String
Dim blnA, blnB, blnC As Boolean
Private Sub cmd1_Click()
intA = 2
intB = 3
bytC = intA / intB
sngD = intA / intB
dblE = intA / intB
frm1.Print bytC, sngD, dblE
End Sub
54
2. Командная кнопка cmd2 – «Конкатенация»
В окне Программный код вести событийную процедуру:
Private Sub cmd2_Click()
strA = "форма"
strB = "ин" + strA + "тика"
frm1.Print strB
End Sub
55
3.Командная кнопка cmd3 – «Логика»
В окне Программный код ввести событийную процедуру:
Private Sub cmd3_Click()
blnA = 5 > 3
blnB = 2 * 2 = 5
blnC = blnA And blnB
frm1.Print blnC
End Sub
56
Выполнение программ
компьютером
57
1.Чтобы процессор выполнил программу, программа
и данные должны быть загружены в оперативную
память.
2. В оперативной памяти должна быть программа –
переводчик (транслятор), автоматически
переводящая программу с языка программирования
на машинный язык.
Компьютер может выполнить программы,
написанные на том языке программирования,
транслятор которого размещен в оперативной
памяти.
58
Трансляторы бывают двух типов:
1) Интерпретаторы –программы, которые обеспечивают
последовательный перевод инструкций программы на
машинный язык и их выполнение.
Достоинство-удобство отладки программы, пошаговое выполнение
Недостатки- низкая скорость выполнения
2) Компиляторы –программы, которые переводят весь
текст программы на машинный язык и сохраняют его
в исполняемом файле ( с расширением exe).
Достоинство-большая скорость выполнения программы
Недостатки- трудоемкость отладки, т.к.невозможно пошаговое
исполнение программы
59
Процесс выполнения программы:
1.ввод текста программы в оперативную память
2.перевод программы на машинный язык
3.выполнение программы
4. С помощью метода PRINT производится вывод
значений переменных на форму, реализующую
графический интерфейс программы.
Значения переменных считываются из памяти и
высвечиваются на экране монитора.
60
Функции в языке программирования
Visual Basic 2005
61
Функции входят в состав выражений, значения
которых присваиваются переменным. Для каждого
допустимого набора аргументов можно определить
значение функции.
Функции могут быть различных типов:
-Математические,
-Строковые,
-Ввода, вывода
-Даты и времени и др.
62
В языке Visual Basic 2005 математические функции
реализуются с помощью методов:
-Синус Math.Sin( )
-Косинус Math.Cos( )
-Квадратный корень Math.Sgrt ( )
-И др.
63
В строковых функциях строками являются либо
аргументы, либо возвращаемые функциями значения:
-Функция вырезания левой подстроки Left ( )
-Функция вырезания правой подстроки Right ()
-Функция вырезания произвольной подстроки Mid ( )
-Функция определения длины строки Len ( )
-Функция Asc ( )
-Функция Chr( )
64
Функции ввода и вывода данных:
InputBox - выводит окно с запросом на ввод значения.
Параметры такие же, как и у функции MsgBox.
MsgBox- выводит на экран окно сообщения (Message
Box) которое будет ждать клика на одной из кнопок.
Возвращает число Integer, по которому можно
определить какую кнопку нажал пользователь
65
Функции даты и времени:
Date - возвращает текущую дату.
DateDiff - возвращает разность между двумя датами.
DateSerial - возвратит дату, указанную по частям
DateValue (string) - возвращает дату, заданную в виде
строки
и др.
66
Проект «Обычный калькулятор».
Цель:Создать калькулятор, который будет
производить арифметические действия над целыми
десятичными числами, которые будут вводится и
выводится в текстовые поля на форме.
67
Для создания приложения «Обычный
калькулятор» используем функцию Val.
Функция Val – функция преобразования данных
из одного типа в другой, аргументом которой
является строка, а значением число:
Val (Строка$)
Эта функция применяется для преобразования
строкового значения свойства Text текстовых полей
в число, которое затем используется в
арифметических выражениях.
68
Private Sub cmdPlus_Click()
txt3.Text = Val(txt1.Text) + Val(txt2.Text)
End Sub
Private Sub cmdMinus_Click()
txt3.Text = Val(txt1.Text) - Val(txt2.Text)
End Sub
Private Sub cmdUmn_Click()
txt3.Text = Val(txt1.Text) * Val(txt2.Text)
End Sub
Private Sub cmdDelen_Click()
txt3.Text = Val(txt1.Text) / Val(txt2.Text)
End Sub
Private Sub cmdExit_Click()
End
End Sub
69
Проект «Перевод чисел»
Цель: создать проект,
который позволит
переводить целые числа из
десятичной системы
счисления в восьмеричную
и шестнадцатеричную и
обратно.
70
Функции Str, Hex, Oct позволяют производить
преобразование десятичных чисел в десятичные,
восьмеричные и шестнадцатеричные числа в строковой
форме.
Аргументом функции является десятичное число, а
значением – строка:
Str(число)
Oct(число)
Hex(число)
71
Коды событийных процедур:
1)Sub cmdDecOct_Click()
txtOct.Text = Oct(Val(txtDec.Text))
End Sub
2)Sub cmdDecHex_Click()
txtHex.Text = Hex(Val(txtDec.Text))
End Sub
3)Sub cmdOctDec_Click()
txtDec.Text = Val("&O" + txtOct.Text)
End Sub
4)Sub cmdHexDec_Click()
txtDec.Text = Val("&H" + txtHex.Text)
End Sub
72
Задание
Выполните перевод чисел десятичных чисел 9, 17,
243 в восьмеричную и шестнадцатеричную
систему счисления последовательно щелкая по
кнопкам Dec-Oct и Dec-Hex:
910=__8=___16
1710=___8=___16
24310=___8=___16
73
Проект «Коды символов»
Цель: создать проект,
который выводит
числовой код
введенного символа,
а также
распечатывает
символы по
числовым кодам, т.е.
выводит
кодировочную
таблицу символов
74
Функция Asr осуществляет преобразование строки
в числовой код (в таблице кодировки) первого
символа.
Аргументом функции является строка, а значением
– число:
Asr(Строка$)
Функция Chr осуществляет преобразование
числового кода в соответствующий ему символ.
Аргументом функции является число, а значением –
символ:
Chr (Число)
75
Коды событийных процедур:
1.Описание используемых в программе функций:
Dim strA As String, N As Integer
2.для кнопки «Код символа»:
Sub cmdS_Click()
txtN.Text = Asc(txtS.Text)
End Sub
3.для кнопки «Кодировочная таблица»:
Sub cmdT_Click()
For N = 255 To 0 Step -1
strA = Chr(N)
Print "Числовой код"; N; " - "; strA
Next N
End Sub
76
Задание
С помощью программы «Коды символов»
закодируйте по буквам
1) свое имя
2) слово «информатика»
Пример: Оля - 238 235 255
77
Проект «Строковый калькулятор»
Цель: создание
строкового
калькулятора, который
позволяет производить
различные
преобразования строк:
Конкатенация-сложение
строк;
Mid$ -вырезание
подстроки;
Len – определение длины
строки;
Asc –определяет числовой
код первого символа
строки
78
В функции определения длины строки
Len(Строка$) аргументом является строка Строка$ :
Len (Строка$)
В функциях вырезания подстроки Left(Строка$,
Длина%), Right (Строка$, Длина%), Mid
(Строка$, Позиция%, Длина%) аргументами
являются строка Строка$ и числа или целочисленные
переменные Длина% и Позиция%. Функции
возвращают строковое значение, длина которого
равна Длина%.
Синтаксис функций:
Left(Строка$, Длина%)
Right (Строка$, Длина%),
Mid (Строка$, Позиция%, Длина%)
79
Коды событийных процедур:
1)
Конкатенация
Private Sub cmdCon_Click()
txt3.Text = txt1.Text + txt2.Text
End Sub
2)
Mid$
Private Sub cmdMid_Click()
txt3.Text = Mid$(txt1.Text, Val(txt1Mid.Text), Val(txt2Mid.Text))
End Sub
3)
Len
Private Sub cmdLen_Click()
txt3.Text = Len(txt1.Text)
End Sub
4) Asc
Private Sub cmdAsc_Click()
txt3.Text = Asc(txt1.Text)
End Sub
80
Задание
Модернизировать проект добавив
возможности вырезания из строки левой и
правой подстрок, определение позиции начала
подстроки в строке и преобразования числового
кода символа в символ.
81
Проект «Проверка знаний»
Цель: Создать проект, который контролирует знания.
Алгоритм контроля должен реализовывать следующие операции:
-задать вопрос;
-запросить ответ и запомнить введенное с клавиатуры значение;
-полученный ответ сравнить с правильным
и в зависимости от выполнения или невыполнения этого условия,
реализовывать различные действия
82
Функция InputBox позволяет вводить данные с
помощью диалоговой панели ввода. В качестве аргументов
выступают три строки, значением функции является
строка. Синтаксис функции:
InputBox (Приглашение$, Заголовок$, [По умолчанию$]
Функкция MsgBox (Панель сообщений)позволяет
выводить сообщения не на форме, а на специальной панели
сообщений. Функция MsgBox возвращает определенное
значение, которое может быть присвоено какой-либо
переменной. Синтаксис функции:
MsgBox(Сообщение$ [, ЧисКод1+ЧисКод2][, Заголовок$])
83
Dim bytB, bytN As Byte, strA, strB As String
Sub cmd1_Click()
strA = InputBox("Введите ваше имя и фамилию:", "Регистрация")
bytB = MsgBox("Уважаемый " + strA + ", Вы готовы к проверке знаний?", 36, "Конец
регистрации")
If bytB = 7 Then End
strC = InputBox("Чему равен 1 байт?:", "Первый вопрос")
If strC = "8 бит" Then MsgBox "Правильно!", 0, "Первый вопрос" _
Else MsgBox "Неправильно!", 0, "Первый вопрос": bytN = bytN + 1
strC = InputBox("Переведите десятичное число 5 в двоичную систему счисления:",
"Второй вопрос")
If strC = "101" Then MsgBox "Правильно!", 0, "Второй вопрос" _
Else MsgBox "Неправильно!", 0, "Первый вопрос": bytN = bytN + 1
MsgBox "Уважаемый " + strA + ", Вы сделали " + Str(bytN) + " ошибок!", 0, "Конец
опроса"
End Sub
84
Проект «Дата»
Цель: создать проект,
позволяющий печатать
текущую дату и
количество дней,
прошедших с начала
третьего тысячелетия
85
Функция Date возвращает значение текущей
даты, которое можно присвоить переменным типа
Date.
Значение даты представляется в виде тройки
чисел #Месяц/Число/Год#, разделенных знаком
«/».
Разностью значений переменных типа Date
является число дней между датами.
86
Описание используемых в программе
функций:
Dim dtmA, dtmB As Date
Событийная процедура для кнопки «Дата»:
Sub cmd1_Click()
dtmA = Date
dtmB = #1/1/2001#
Print "Сегодня "; dtmA
Print "С начала третьего тысячелетия
прошло"; dtmA - dtmB; “дней”
End Sub
87
Проект «Секундомер»
Цель: создать проект, каждую
секунду выводящий в текстовое
поле текущее время
88
1. Разместить объект Timer под именем tmr1,
свойство Interval –1000;
2. Поместить на форму текстовое поле txtTime
3. Ввести событийную процедуру:
Sub tmr1_Timer()
txtTime.Text = Time$
End Sub
89
Проект «Расположение формы на экране монитора
и управляющих элементов на форме».
Угринович 7-9/ Практикум/ Visual Basic/Форма и
управляющие элементы/Проект 5.1.
Цель: Создать проект, в котором после
запуска, форма располагается в центре
экрана монитора, а четыре кнопки
располагаются в центре формы. После
щелчка по кнопкам они должны
перемещаться в углы формы.
90
Коды событийных процедур:
Private Sub Form_Load ( )
frm1.Move (Screen.Width - frm1.Width) / 2, (Screen.Height - frm1.Height) / 2
End Sub
Private Sub cmd1_Click( )
cmd1.Move 0, 0
End Sub
Private Sub cmd2_Click()
cmd2.Move frm1.Width - cmd3.Width, 0
End Sub
Private Sub cmd3_Click()
cmd3.Move frm1.Width - cmd3.Width, frm1.Height - cmd3.Height
End Sub
Private Sub cmd4_Click()
cmd4.Move 0, frm1.Height - cmd4.Height
End Sub
91
Графические возможности языка
Visual Basic
92
На формах (Form) или в графических окнах
(PictureBox) можно рисовать различные
графические примитивы с использованием
графических методов:
Scale –позволяет задавать систему координат и
масштаб для формы или окна;
Pset – установка точки с заданными координатами и
цветом;
Line – рисование линии, прямоугольника или
закрашенного прямоугольника заданного цвета;
Circle – рисование окружности, овала или дуги с
заданными координатами центра, радиусом, цветом,
начальным и конечным углами дуги и
коэффициентом сжатия.
93
Проект «Построение графика функции»
Цель: построить график
функции y=sinx в
графическом окне с
использованием
графических методов.
94
Проект «Движение круга»
Цель: создать проект, в
котором на форме в
графическом поле будет
производится движение
круга
95
Анимация
Для создания анимации- иллюзии движения на экране
какого – либо объекта применяется принцип смены
кадров (изображений), как это делается в
мультипликации.
Программа, имитирующая движение, должна
реализовывать следующие этапы:
-
создание изображения на экране;
-
реализация временной паузы для того, чтобы глаз
зафиксировал изображение;
-
проведение коррекции изображения.
96
Анимация часто используется для изображения
движения объектов.
Для регулирования скорости движения объекта
используют пустой цикл: чем большее количество раз
он будет выполняться, тем медленнее будет двигаться
объект.
97
Download