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

Презентация:



Advertisements
Похожие презентации
Описание переменных Dim [WithEvents] имя переменной[([индексы])] [As [New] тип] [, [WithEvents] имя переменной[([индексы])] [As [New] тип]]... Private.
Advertisements

Тип, имя и значение переменной.. Переменные. В объектно-ориентированных языках программирования, и в частности в языке Visual Basic, переменные играют.
Разветвляющаяся алгоритмы. Условные операторы Ветвление - выбор пути решения задачи в соответствии с выполнением или невыполнением некоторого условия выбора.
Урок 3 Turbo Pascal Язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623–1662) и разработан.
Объектно-ориентированный язык программирования. Переменная - эта поименованная ячейка памяти, хранящая какое-либо одно значение (одно число, один фрагмент.
1 Лекция 13 ОСНОВНЫЕ ПОНЯТИЯ ЯЗЫКА Visual Basic For Applications (VBA) План лекции Типы данных VBA Операции над данными VBA Описание типов данных VBA Имена.
Урок 6 Turbo Pascal Язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623–1662) и разработан.
Переменные задаются именами, которые определяют области памяти, в которых хранятся их значения. Значениями переменных могут быть данные различных типов.
Тип, имя и значение переменной. В объектно-ориентированных языках программирования переменные играют такую же важную роль, как и в процедурных языках.
Переменные: тип, имя, значение НАЧАЛА ПРОГРАММИРОВАНИЯ.
Итак, мы научились проектировать интерфейс программы. Но для полноценной программы этого не достаточно. Нужно написать код программы, который будет манипулировать.
Операторы языка. Арифметические операторы Арифметические операторы Арифметические операторы Арифметические операторы Операторы сравнения Операторы сравнения.
Работу выполнили ученицы 9 «Б» класса Гордеева Татьяна и Шебаршова Рита.
Алфавит и синтаксис языка программирования Visual Basic.
1 Прикладное программирование Kafmi21. ru – учеба – заочнику – прикладное программирование.
Числовые выражения В языке Q-basic. Переменные. Переменная - это область данных в памяти, имеющая имя. Переменная - это величина, которая может меняться.
Язык программирования Turbo Pascal. Программирование Программирование – это запись разработанного алгоритма на языке программирования. 4 Автор языка Паскаль.
Описание переменных в языке Visual Basic Презентацию подготовила учитель информатики МБОУ СОШ 3 г. Светлого Нетесова Н. А.
Тема 1. Введение 1.
«Ветвление» в VB If условие Then Действия End If If условие Then Действия 1 Else Действия 2 End If.
Транксрипт:

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

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

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

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

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

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

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

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

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

Объявление переменных Dim As Private As Public As Static As

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

Простые типы в VB BooleanTrue, False2 байта Byte0…2551 байт Integer байта Long~ … байта DecimalПримерно 30 десятичных цифр12 б. Single-3.4Е38…-1.4Е-45,1.4Е-45…3.4Е384 байта Double-1.7Е308…-4.9Е-324, 4.9Е-324…1.7Е3088 б. StringДо 2 16 символов Dateот 1 января 100 г. до 31 декабря 9999 г.8 б. ObjectСсылка на объект (указатель)4 байта Variant> 16 б.

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

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

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

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

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

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

Программа сложения 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

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

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

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

Процедурная область действия 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

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

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

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

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

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

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

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

Сравнение строки с шаблоном - пример 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

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

Таблица истинности ХTRUETRUEFALSEFALSE YTRUEFALSETRUEFALSE NOT XFALSEFALSETRUETRUE X AND YTRUEFALSEFALSEFALSE X OR YTRUETRUETRUEFALSE

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

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

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

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

Найти значение 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)

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

Оператор простого выбора 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

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

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

Вложенные операторы If… Then Option Explicit Sub DiscountCalculation() Dim InitialPrice As Double, PriceToPay As Double InitialPrice = InputBox("Введите цену покупки") If InitialPrice > 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 MsgBox "С вас - " & PriceToPay & " руб." End Sub

Решение уравнения 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 Sub

Решение квадратного уравнения (не полн.) 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 Sub

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

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