560 likes | 656 Views
Visual Basic для базового курса ( 8-х и 9-х классов ). Глезденев В.И., Удальцова А.И. – учителя информатики СОШ №3. Команды VB: AutoRedraw = True - разрешение вывода на форму; InputBox - окно запроса значения переменной; MsgBox - окно вывода сообщения;
E N D
Visual Basic для базового курса (8-х и 9-х классов) Глезденев В.И., Удальцова А.И. – учителя информатики СОШ №3
Команды VB: AutoRedraw = True - разрешение вывода на форму; InputBox - окно запроса значения переменной; MsgBox - окно вывода сообщения; Print - вывод на форму текстовых сообщений. Первая программа: Private Sub Form_Load() Form1.AutoRedraw = True im = InputBox("Вашеимя?", "Запрос") MsgBox ("Привет, " + im + "!") Print im + ", ты справился с заданием." Print "Нажмите х для завершения работы." End Sub Для запуска программы даем команду Пуск – Старт (F5) / Run – Start (F5) Или нажимаем на кнопку
Арифметические и логические операции. Private Sub Form_Load() AutoRedraw = True a = InputBox("Переменная A=", "Значение A") b = InputBox("Переменная B=", " Значение B") a = Val(a) b = Val(b) Print "A="; a; "B="; b Print "A+B="; a + b Print "A-B="; a - b Print "A*B="; a * b Print "A/B="; a / b Print "A\B="; a \ b Print "A>B -"; a > b Print "A<B -"; a < b Print "A=B -"; a = b Print "A MOD B ="; a Mod b Print "B^2 ="; b ^ 2 Print "Кореньиз A ="; Sqr(a) End Sub Результат работы программы
Линейный алгоритм. Решение задач. Private Sub Form_Load() AutoRedraw = True a = InputBox("Введите значение а",_ "длина прямоугольника") b = InputBox("Введите значение b",_ "ширина прямоугольника") a = Val(a) b = Val(b) Print "длина прямоугольника"; a Print "ширина прямоугольника"; b s=a*b Print "Площадьпрямоугольника"; s End Sub При вводе чисел с десятичной дробью необходимо целую часть числа отделять от дробной точкой: цена - 35.7, количество – 0.45
Линейный алгоритм. Решение задач. Private Sub Form_Load() AutoRedraw = True a = InputBox("Введите цену товара",_ "цена товара") b = InputBox("Введите количество товара",_ "количество товара") a = Val(a) b = Val(b) Print "цена товара ="; a Print "количество товара ="; b s = a * b r = Fix(s) k = Fix((s - r) * 100 + 0.5) Print "стоимость товара="; r; " р. "; k; " коп." EndSub
нет ? да действие Условный оператор IF (краткая форма). Запись в одну строку: IF <условие> THEN <действие> Запись, если действий много IF <условие> THEN <действие_1> <действие_2> … <действие_N> END IF Графическое представление условного оператора краткой формы
Решение задач. Private Sub Form_Load() Form1.AutoRedraw = True d = InputBox("Введите значение D",_ "количество привезенных столов") e = InputBox("Введите значение E",_ "количество помещений") f = InputBox("Введите значение F", _ "кол-во для 1-го помещения") d = Val(d) e = Val(e) f = Val(f) Print "количество привезенных столов ="; d Print "количество помещений ="; e Print "количество столов для одного помещения ="; f n = e * f If d >= n Then Print "Столами заставят "; e; " помещений" If d < n Then Print "Столами заставят "; Fix(d / f); " помещений" If d >= n Then Print "Да, столов хватит. Лишних - "; d - n If d < n Then Print "Нет, столов не хватит. Не хватает - "; n - d End Sub
действие_2 нет ? да действие_1 Условный оператор IF (полная форма). Запись в одну строку: IF <условие> THEN <дейст_1> ELSE <дейст_2> Запись, если действий много IF <условие> THEN <действие_1_1> … <действие_1_N> ELSE <действие_2_1> … <действие_2_N> ENDIF Графическое представление условного оператора краткой формы
Решение задач. Private Sub Form_Load() AutoRedraw = True a = InputBox("Введите значение А", "Ввод А") b = InputBox("Введите значение В", " Ввод В") a = Val(a): b = Val(b) Print "1- йспособ" Print "a="; a; " b="; b If a > b Then Max = a Else Max = b Print "Максимальноезначение ="; Max If a < b Then Min = a Else Min = b Print "Минимальное значение ="; Min a = InputBox("Введите значение А", "Ввод А") b = InputBox("Введите значение В", " Ввод В") a = Val(a): b = Val(b) Print "2- й способ " Print "a="; a; " b="; b Max = a If b > Max Then Max = b Print " Максимальное значение ="; Max Min = a If b < Min Then Min = b Print " Минимальное значение ="; Min End Sub
Логические функции: NOT, AND, OR. Private Sub Form_Load() AutoRedraw = True a = InputBox("Введите значение А", "Ввод А") b = InputBox("Введите значение В", " Ввод В") c = InputBox("Введите значение C", " Ввод C") a = Val(a): b = Val(b) : c = Val(c) Print "a="; a; " b="; b ; " c="; c Max = a If b > Max Then Max = b If c > Max Then Max = c Print " Максимальное значение ="; Max Min = a If b < Min Then Min = b If c < Min Then Min = c Print " Минимальное значение ="; Min If (a<Max) AND (a>Min) Then p=a If (b<Max) AND (b>Min) Then p=b If (c<Max) AND (c>Min) Then p=c Print " Промежуточное значение ="; p End Sub
Некоторые свойства формы в VB. Height – высота формы; Width – ширина формы; Единица измерения в VB twp – твипы (10 twp = 1 точка на экране) Изменять ширину и высоту формы можно разными способами: 1. Мышкой (ЛКМ на квадраты границ формы); 2. Вокнесвойств; 3. Непосредственно в программе: Private Sub Form_Load() AutoRedraw = True Height = 4000 Width = 6000 End Sub
Width, 0 0,0 0,Height Координаты в VB.
Цветав VB: RGB(0, 0, 0) – черный; RGB(0, 0, 255) – синий; RGB(0, 255, 0) – зеленый; RGB(0, 255, 255) – голубой; RGB(255, 0, 0) – красный; RGB(255, 0, 255) – фиолетовый; RGB(255, 255, 0) – желтый; RGB(255, 255, 255) – белый; Графические методы: Line(X1,Y1)-(X2,Y2) - линия, где (X1,Y1) – начало, (X2,Y2) – конец. Line(X1,Y1)-(X2,Y2), RGB(255, 0, 0),B - незакрашенный прямоугольник (рамка), где (X1,Y1) – левый верхний угол, (X2,Y2) – правый нижний угол, RGB(255, 0, 0) – цвет красный, B – рамка; Line(X1,Y1)-(X2,Y2), RGB(255, 0, 0),BF– закрашенный RGB(255, 0, 0) красным цветом прямоугольник;
Графические методы: Circle(X,Y),R – окружность с центром в (X,Y) и радиусом R; Pset(X,Y),RGB(255, 0, 0) – точка с координатами (X,Y) и цветом RGB(255, 0, 0); ForeColor = RGB(255, 0, 0) –установка цвета рамок, окружностей, точек; FillColor= RGB(255, 0, 0) - установка цвета заливки рамок, окружностей; FillStyle = 3 - установка стиля заливки; (ниже приведены все стили) CLS – очистка формы или графического объекта. Point(X,Y) – определяет цвет в указанной точке.
Использование графических методов
N=1 N=2 N=3 Графика с условием. Private Sub Form_Load() AutoRedraw = True End Sub Private Sub Command1_Click() n = InputBox("Значение N (1 или 2 или 3)", "Ввод N") n = Fix(Val(n)): Cls If n = 1 Then FillColor = RGB(255, 0, 0): FillStyle = 6 Line (100, 100)-(1100, 1100), , B End If If n = 2 Then FillColor = RGB(255, 255, 0): FillStyle = 7 Line (200, 200)-(1700, 700), , B End If If n = 3 Then FillColor = RGB(0, 0, 255): FillStyle = 5 Circle (2000, 2000), 800 End If If (n > 3) OR (n <1) Then _ Print " данноедействиеневозможно. N="; n End Sub
Командные кнопки. Командные кнопки. На панели инструментов расположены основные элементы управления выполнением программы. Рассмотрим командную кнопку (Command Button). Выбираем на панели инструментов данный объект (ЛКМ), на форме рисуем кнопку, как показано на рис. Изменяем свойство Caption на «Задание 1». Добавляем еще две кнопки: «Задание 2», «Задание 3». Кнопки не копировать, рисовать каждую в отдельности.
pi/2 0 pi 2*pi 3*pi/2 2000 1 3000 4 2 1400 1500 3 Масштаб: 1 клетка – 200х200 twp Дуги.
1 2 3 4 5 Сектора.
10 15 5 Решение текстовых задач. Задание №3. «Занятость в кружках». Из 30 учащихся класса музыкой занимаются 10 ребят, 15 – плаванием, 5 – не ходят ни на музыку, ни на плавание. Построить круговую диаграмму распределения учащихся по кружкам. Const pi = 3.1415 Private Sub Command3_Click() FillColor = RGB(255, 0, 0) FillStyle = 7 Circle (2000, 2000), 1000, , -0.001, -2 * pi / 3 FillColor = RGB(0, 255, 0) FillStyle = 6 Circle (2000, 2000), 1000, , -2 * pi / 3, -5 * pi / 3 FillColor = RGB(0, 0, 255) FillStyle = 5 Circle (2000, 2000), 1000, , -5 * pi / 3, -2 * pi End Sub
200 2600 100 X X1,Y1 R Y 1500 Случайные числа. Случайное расположение фигур.
2400 300 200 B X1, Y1 A X1+B, Y1+A 1400 Случайные числа. Случайное расположение фигур.
Цикл FOR. Последовательности отрезков.
Последовательности отрезков и прямоугольников.
Последовательности прямоугольников.
Последовательности прямоугольников.
Последовательности случайных чисел.
Гистограмма последовательности случайных чисел.
Выделение чисел из последовательности случайных чисел по условию.
Выделение чисел из последовательности случайных чисел по условию.
Выделение максимальных и минимальных значений в последовательности случайных чисел.
X, Y DX DY X+DX, Y+DY Относительные координаты.
Задание №2 Private Sub Command3_Click() Cls: X=100: Y=3000 A=400: H=800 FOR i=1 TO 8 LINE(X, Y)-(X+A, Y) LINE (X+A, Y)-(X+A/2, Y-H) LINE (X+A/2, Y-H)-(X, Y) X=X+600: H=H+200 NEXT i End Sub ‘ используяотносительныекоординаты: Private Sub Command4_Click() Cls: X = 100: Y = 3000 A = 400: H = 800 For i = 1 To 8 PSet (X, Y): Line -Step(A, 0) Line -Step(-A / 2, -H): Line -Step(-A / 2, H) X = X + 600: H = H + 200 Next i End Sub Относительные координаты.
A C B D A C B D Построение фигур случайным образом
Случайное появление фигур на форме. Timer.
Циклы: Do While … Loop; Do Until … Loop; Do … Loop While; Do … Loop Until. Погрузка грузовика:
Массивы. Замена элементов в массиве.
Массивы. Замена рядом стоящих элементов.
Графики уравнений: y = | x | y = | x - 2 | | х - 2 | = а
График уравнения: y = | | x+ 3 | – 4 |
График уравнения | x + 2 | + |x - 3 | = а y = 1 – 2 x y = 2 x - 1 y = 5
График уравнения | x + 3 | – | x - 1 | = а y = 4 y = 2 x + 2 y = - 4
3 Цикл в цикле. 4