'

Основы программирования на Visual Basic

Понравилась презентация – покажи это...





Слайд 0

Основы программирования на Visual Basic Кафедра экономической информатики МГУ Андрей Олегович Медников


Слайд 1

История создания ЯП 1950 1960 1970 1980 FORTRAN Algol 60 Simula Algol-68 Cobol Lisp Pascal C SmallTalk Ada C++ Miranda BASIC Prolog Modula-2


Слайд 2

Требования к алгоритмам Наличие ввода исходных данных Наличие вывода результата выполнения Однозначность Общность Корректность Конечность Эффективность.


Слайд 3

Создание компьютерной игры Создание трехмерного графического движка. Написание модуля искусственного интеллекта созданий, населяющих уровень. Реализация управления с различных игровых манипуляторов. Создание звукового оформления. ...и так далее.


Слайд 4

Сложение 2 чисел Считать число А Считать число В Выполнить суммирование А + В Вывести результат сложения Закончить работу


Слайд 5

Решение уравнения ax=b Считать число А Считать число В Если число А = 0 и число В равно 0, то вывести на экран ответ (х – любое) и закончить программу. Если число А = 0 и число В не равно 0, то вывести на экран ответ (решений нет) и закончить программу. Вывести ответ В/А. Закончить программу


Слайд 6

Переменные в ЯП Переменная – это одна или несколько ячеек оперативной памяти компьютера, которым присвоено определенное имя, то есть просто некое место в памяти компьютера, причем чаще всего, определенного размера, в котором хранятся какие-то данные.


Слайд 7

Замечание об именах переменных Сравните: х1, у1 и MaxXResolution, MaxYResolution


Слайд 8

Обязательное объявление переменных до использования В VB для того, чтобы включить обязательное объявление переменных, необходимо в начале модуля поставить строку Option Explicit


Слайд 9

Объявление переменных Dim <имя переменной> As <имя типа> Private <имя переменной> As <имя типа> Public <имя переменной> As <имя типа> Static <имя переменной> As <имя типа>


Слайд 10

Если слово As опущено Dim MaxXRes, MaxYRes as Integer Переменной MaxXRes будет присвоен тип не Integer, как мы бы могли ожидать, а Variant


Слайд 11

Простые типы в VB


Слайд 12

Примеры объявлений перем. Dim MaxXRes As Integer, MaxYRes as Integer Dim Count As Long Dim CellIsEmpty As Boolean Dim QuestionText As String


Слайд 13

Оператор присваивания х=х+1 Этот оператор решает 3 важные задачи: Вычисление значения выражения в правой части оператора. Вычисление выражения в левой части оператора присваивания, выражение должно определять адрес ячейки памяти. Копирование значения, вычисленного на шаге 1, в ячейки памяти, начиная с адреса, полученного на шаге 2.


Слайд 14

Оператор присваивания [Let] <имя переменной> = <выражение>. MaxXRes = 1024 MaxYRes = 768 Count = 1000000 CellIsEmpty = True QuestionText = "Who am I?" Count = Count + 1 MaxNumbOfPoints = MaxXRes* MaxYRes NumbOfBits = NumbOfBytes*8


Слайд 15

Модуль в VB Sub Name1() … End Sub


Слайд 16

Ввод информации в VB stringvar = InputBox (Prompt [, Title]) MaxXRes = InputBox (“Введите макс. разр. по оси Х”)


Слайд 17

Вывод информации в VB MsgBox(prompt[, buttons] [, title] [, helpfile, context])


Слайд 18

Программа сложения 2 чисел 'Option Explicit Sub SumExamp() Dim A as Integer, B As Integer, Sum As Integer A = InputBox("Введите первое слагаемое") B = InputBox("Введите второе слагаемое") Sum = A + B MsgBox ("Сумма " & A & “ и " & B & “ = " & Sum) End Sub


Слайд 19

Обмен значений Dim A As Integer, B As Integer, Temp As Integer A = 5 B = 10 Temp = A A = B B = Temp


Слайд 20

Обмен значений в случае целых Dim A As Integer, B As Integer A = 5 B = 10 A = A + B B = A – B A = A – B


Слайд 21

Константы Const ИмяКонст [As ТипКонст] = ЗначКонст Const Pi As Double = 3.141592 Const Tax As Single = 0.13 Const Greeting = "Привет"


Слайд 22

Процедурная область действия Sub Sum() Dim A As Integer, B As Integer, C As Integer A = 5 B = 7 C = A + B MsgBox "Сумма А и В = " & C End Sub Sub Difference() Dim A As Integer, B As Integer, C As Integer A = 5 B = 7 C = A - B MsgBox " Разность А и В = " & C End Sub


Слайд 23

Модульная область действия Option Explicit Const Pi = 3.14159219841984 Sub CircleLength() Dim Radius As Double Dim Length As Double Radius = InputBox("Введите радиус…") Length = Radius * 2 * Pi MsgBox "Длина окружности радиуса " & Radius & " равна " & Length End Sub


Слайд 24

Переменные с один. именами в разных областях действия Option Explicit Const Test As Integer = 100 Sub Test1() Dim Test As Double Test = 3.1415 MsgBox Test End Sub Sub Test2() Dim Test As String Test = "aaaaaaaaa" MsgBox Test End Sub Sub Test3() MsgBox Test End Sub


Слайд 25

Время жизни переменных Время жизни переменных определяет, как долго переменная сохраняет свое значение. Переменная, объявленная внутри процедуры при помощи Dim, теряет свое значение при выходе из нее. Для объявления переменной на процедурном уровне, но со временем жизни модуля – Static. Static NumberOfCalls as Integer


Слайд 26

Математические операции ^ Возведение в степень * / Умножение и деление \ Целочисленное деление Mod Нахождение остатка + - Сложение и вычитание


Слайд 27

Операции сравнения > Больше, чем < Меньше, чем >= Больше или равно, чем <= Меньше или равно, чем = Равно <> Не равно


Слайд 28

Сравнение строк "фио"="фио" "фио"<>" фио" "фио" < "фио " "фиот" > "фио"


Слайд 29

Сравнение строки с шаблоном StrExpr Like Templ Символы в шаблоне: # * ? [list] [!list] В квадратных скобках также можно указать и диапазон ([a-z])


Слайд 30

Сравнение строки с шаблоном - пример Sub TemplateExamp() Dim MyCheck MyCheck = "aBBBa" Like "a*a" ' Возвращает True. MyCheck = "F" Like "[A-Z]" ' Возвращает True. MyCheck = "F" Like "[!A-Z]" ' Возвращает False. MyCheck = "a2a" Like "a#a" ' Возвращает True. MyCheck = "aM5b" Like "a[L-P]#[!c-e]" ' Возвращает True. MyCheck = "BAT123khg" Like "B?T*" ' Возвращает True. MyCheck = "CAT123khg" Like "B?T*" ' Возвращает False End Sub


Слайд 31

Логические операции Not Логическое Не And Логическое И Or Логическое Или


Слайд 32

Таблица истинности Х TRUE TRUE FALSE FALSE Y TRUE FALSE TRUE FALSE NOT X FALSE FALSE TRUE TRUE X AND Y TRUE FALSE FALSE FALSE X OR Y TRUE TRUE TRUE FALSE


Слайд 33

Порядок вычисления 1. Вначале всегда части выражения, заключенные в круглые скобки, если выражение в круглых скобках само сложное, то применяем эти же правила. 2. Затем выполняем в соответствии с приоритетом (смотри таблицу ниже) 3. Если равный уровень приоритета, то вычисляем слева направо.


Слайд 34

Приоритет операций Dim A As Integer, B As Integer A = 6+5*4 B = (6+5)*4 ‘ Внимание, A не равно B!!!


Слайд 35

Приоритет операций - Знаки арифметических операций - Знаки конкатенации строк - Операторы сравнения - Логические операторы


Слайд 36

Приоритет операций ^ - возведение в степень - - унарный минус */ - умножение и деление \ - целочисленное деление Mod - остаток +, - & <, <=, >=, Like, <> Not And Or Xor Eqv


Слайд 37

Найти значение Result Dim Result As Boolean, X As Boolean Dim Y As Boolean, Z As Boolean Dim A As Integer, B As Integer A = 5: B = 10 X = FALSE: Y = TRUE: Z = FALSE Result = X AND (Y OR (Z AND Y) AND _ (NOT (X OR Z))) OR ( A > B)


Слайд 38

Оформление программы Символ разделения 2 операторов в одной строке - двоеточие: A = 5: B = 7 Если оператор не помещается в одной строке, пробел и подчеркивание: MyAddr = "Город:"& City&", улица:"&Street _ &"дом:"&Number Комментарий – все, что после апострофа Dim Count As Integer ‘Count – cчетчик числа элем.


Слайд 39

Оператор простого выбора If Условие Then Операторы [Else Операторы] Пример 1: If Balance - Check < 0 Then MsgBox “На вашем счету перерасход“ Пример 2: Sub TestIf() Dim Number as Integer Number = InputBox(“Введите число”) If Number > 0 Then MsgBox (“Положительн.”) Else MsgBox (“Отрицат.”) End Sub


Слайд 40

Многострочный оператор простого выбора If Условие Then Оператор1 … ОператорN End If Или же, при необходимости второй ветви: If Условие Then Оператор1 … ОператорN Else Оператор1 … ОператорN End If


Слайд 41

Многострочный оператор простого выбора If Balance - Check < 0 Then MsgBox "Ваши средства израсходованы!" MsgBox "Банк уведомлен!" Else Balance = Balance - Check End If


Слайд 42

Вложенные операторы If… Then Option Explicit Sub DiscountCalculation() Dim InitialPrice As Double, PriceToPay As Double InitialPrice = InputBox("Введите цену покупки") If InitialPrice > 10000 Then PriceToPay = InitialPrice * 0.9 Else If InitialPrice > 5000 Then PriceToPay = InitialPrice * 0.95 Else If InitialPrice > 1000 Then PriceToPay = InitialPrice * 0.9 Else PriceToPay = InitialPrice End If End If End If MsgBox "С вас - " & PriceToPay & " руб." End Sub


Слайд 43

Решение уравнения ax=b Option Explicit Sub LinearEq() Dim A as Double, B as Double, X as Double A = InputBox(“Введите коэф. А”) B = InputBox(“Введите коэф. B”) If (A = 0) And (B=0) Then MsgBox “Х – любое число” Else If A=0 Then MsgBox “Решений нет” Else X = B / A MsgBox “X =” & X End If End If End Sub


Слайд 44

Решение квадратного уравнения (не полн.) Option Explicit Sub SqrEq() Dim A as Double, B as Double, C as Double, D As Double Dim X1 as Double, X2 as Double A = InputBox(“Введите коэф. А”) B = InputBox(“Введите коэф. B”) C = InputBox(“Введите коэф. C”) D = B*B –4*A*C If D < 0 Then MsgBox “Решений нет” Else If D = 0 Then X = - B / (2*A) MsgBox “Решение – х = “ & X Else X1 = (-B – SQRT(D)/(2*A) X2 = (-B + SQRT(D)/(2*A) MsgBox “Решения: х1 = “ & X1 & “x2 = “ & X2 End If End If End Sub


Слайд 45

Оператор множественного выбора Select Case <Проверяемое выражение> Case <Список выражений1> <Операторы1> Case <Список выражений2> <Операторы2> … [Case Else <ОператорыElse> ] End Select Пример: Select Case Argument Case Is < 0 … Case 0 To 10 … Case 100, 1000, 10000 … Case Else … End Select


Слайд 46

Встроенные функции преобразования данных Asc(S) – код первого символа строки S Chr(X) – строка из 1 символа, соотв. коду Х Str(X) – строка, представляющая число Х Val(S) – число, соотв. числу, представленному строкой S, если строка содержит не только цифры и 1 точку, но возвращает 0.


×

HTML:





Ссылка: