Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Самостоятельная работа № 2. Решение.






 

Вариант 1.

 

1. Одно число в 2 раза больше другого, а их сумма равна 93. Найти эти числа.

 

Private Sub Command1_Click()

Text1 = (93 / 3) * 2

Text2 = 93 / 3

End Sub

 

 

   

2. Вычислить стороны треугольника BСи AC, если известна сторона AB и углы a и β.

 

Private Sub Command1_Click()

AB = InputBox(" Введите длину стороны АВ", " Сторона")

a = InputBox(" Введите угол А, выраженный в радианах", " Значение угла А")

b = InputBox(" Введите угол И, выраженный в радианах", " Значение угла B")

z = 3.14 - (a + b)

AC = AB * Sin(b) / Sin(z)

BC = AB * Sin(a) / Sin(z)

Text1 = AB

Text2 = a

Text3 = b

Text4 = AC

Text5 = BC

End Sub

 

3. Написать программу нахождения периметра треугольника, две стороны которого водятся с клавиатуры, а третья сторона равна арифметическому двух других.

 

Private Sub Command1_Click()

a = Val(Text1)

b = Val(Text2)

c = (a + b) / 2

Text4 = c

Text3 = a + b + c

End Sub

 

4. Запрашивается радиус окружности. Напишите программу и оформите проект, которая вычисляет длину этой окружности. Окружность строится в зависимости от введенного радиуса

 

Private Sub Command1_Click()

Picture1.Cls

Picture1.Scale (0, 0)-(100, 100)

a = Val(Text1)

Text2 = 2 * 3.14 * a

Picture1.Circle (50, 50), a, vbRed

End Sub

 

5. Напишите программу, выводящую на экран изображение куба.

Private Sub Command1_Click()

Picture1.Scale (-50, 50)-(50, -50)

'Picture1.Line (-50, 0)-(50, 0)

'Picture1.Line (0, 50)-(0, -50)

Picture1.Line (-20, 20)-(20, -20),, B

Picture1.Line (-20, 20)-(0, 40)

Picture1.Line (0, 40)-(40, 40)

Picture1.Line (40, 40)-(40, 0)

Picture1.Line (40, 0)-(20, -20)

Picture1.Line (40, 40)-(20, 20)

Picture1.Line (0, 0)-(-20, -20)

Picture1.Line (0, 40)-(0, 0)

Picture1.Line (0, 0)-(40, 0)

End Sub

 

 

Вариант 2 (Уровень В)

1. Запрашиваются диагонали ромба. Создайте проект, вычисляющий площадь ромба и строящий в соответствии с введенными диагоналями сам ромб.

 

 

Private Sub Command1_Click()

a = Val(Text1)

b = Val(Text2)

s = 1 / 2 * a * b

Text3 = s

c = b / 2

l = a / 2

Picture1.Scale (0, 0)-(300, 300)

Picture1.Line (50, 50)-(50, 50 + c)

Picture1.Line (50, 50 + c)-(50, (50 + c) + c)

Picture1.Line (50, 50 + c)-(50 - l, 50 + c)

Picture1.Line (50, 50 + c)-(50 + l, 50 + c)

Picture1.Line (50, 50)-(50 - l, 50 + c)

Picture1.Line (50 - l, 50 + c)-(50, (50 + c) + c)

Picture1.Line (50, (50 + c) + c)-(50 + l, 50 + c)

Picture1.Line (50 + l, 50 + c)-(50, 50)

End Sub

 

Private Sub Command2_Click()

End

End Sub

 

2.Найти сумму цифр четырехзначного числа.

 

Private Sub Command1_Click()

a = Val(Text1)

b = a \ 1000

c = Val(a \ 10 - b * 100)

c1 = c \ 10

d = Val(a \ 10 - b * 100 - c1 * 10)

e = Val(a Mod 10)

Text2 = b + c1 + d + e

End Sub

 

3. Найти площадь кольца, внутренний радиус которого равен r, а внешний – R (R> r)

 

Private Sub Command1_Click()

R1 = Val(Text4)

R2 = Val(Text5)

S1 = 3.14 * R1 ^ 2

Text1 = S1

S2 = 3.14 * R2 ^ 2

Text2 = S2

S3 = S2 - S1

Text3 = S3

End Sub

 

4. В прямоугольном треугольнике известны катет и гипотенуза. Найдите другой катет.

 

Private Sub Command1_Click()

a = Val(Text1)

c = Val(Text2)

b = Sqr(c ^ 2 - a ^ 2)

Text3 = b

End Sub

 

 

5. Напишите программу, выводящую на экран изображение пирамиды

 

Private Sub Command1_Click()

Picture1.Scale (0, 0)-(100, 100)

Picture1.Line (50, 20)-(30, 60)

Picture1.Line (50, 20)-(90, 60)

Picture1.Line (50, 20)-(10, 70)

Picture1.Line (50, 20)-(70, 80)

Picture1.Line (30, 60)-(90, 60)

Picture1.Line (90, 60)-(70, 80)

Picture1.Line (70, 80)-(10, 70)

Picture1.Line (10, 70)-(30, 60)

End Sub

 

 

Вариант 3 (Уровень С)

 

Vк=1/3 ПR2H Vц = ПR2H    

1. Составить программу вычисления объема цилиндра и конуса, которые имеют одинаковую высоту H и одинаковый радиус R.

 

Private Sub Command1_Click()

Picture1.Scale (0, 0)-(100, 100)

Picture1.Cls

r = Val(Text1)

h = Val(Text2)

V = 3.14 * r ^ 2 * h

Text3 = V

k = (1 / 3) * 3.14 * r ^ 2 * h

Text4 = k

Picture1.Circle (50, 20), r,,,, 0.3

Picture1.Circle (50, 20 + h), r,,,, 0.3

Picture1.Line (50 - r, 20)-(50 - r, 20 + h)

Picture1.Line (50 + r, 20)-(50 + r, 20 + h)

 

Picture1.Line (50 + r, 20 + h)-(50 - r, 20 + h)

Picture1.Line (50, 20)-(50 - r, 20 + h)

Picture1.Line (50, 20)-(50 + r, 20 + h)

Picture1.Line (50, 20)-(50, 20 + h)

End Sub

 

2. Составить программу для вычисления площади круга, вписанного в квадрат площадью S кв.см.

 

Private Sub Command1_Click()

a = InputBox(" введите сторону квадрата", " площадь")

Text1 = a

S1 = a ^ 2

Text2 = S1

r = a / 2

S2 = 3.14 * r ^ 2

Text3 = S2

End Sub

Private Sub Command2_Click()

End

End Sub

3. Разработайте проект, который находит площадь равнобедренной трапеции по ее основаниям и высоте. Трапеция должна быть нарисована. (S=1/2(a+b)*h)

Private Sub Command1_Click()

a = Val(InputBox(" ВВедите длину первого основания ", " Ввод данных"))

b = Val(InputBox(" ВВедите длину второго основания ", " Ввод данных"))

h = Val(InputBox(" ВВедите высоту ", " Ввод данных"))

s = 1 / 2 * (a + b) * h

Text1 = s

Picture1.Scale (0, 0)-(300, 300)

Picture1.Line (150, 150)-(150 + a, 150)

c = (a - b) / 2

Picture1.Line (150 + c, 150 - h)-((150 + c) + b, 150 - h)

Picture1.Line (150, 150)-(150 + c, 150 - h)

Picture1.Line (150 + a, 150)-((150 + c) + b, 150 - h)

End Sub

 

4. Определите координату середины отрезка (X, Y), если известны координаты концов отрезка: (X1, Y1) и (X2, Y2). Отрезок нарисовать.

Private Sub Command1_Click()

X1 = Val(InputBox(" Введите Х1", " задача"))

Y1 = Val(InputBox(" Введите Y1", " задача"))

X2 = Val(InputBox(" Введите X2", " задача"))

Y2 = Val(InputBox(" Введите Y2", " задача"))

Text1 = X1

Text2 = Y1

Text3 = X2

Text4 = Y2

X3 = (X1 + X2) / 2

Text5 = X3

Y3 = (Y1 + Y2) / 2

Text6 = Y3

End Sub

Private Sub Command2_Click()

Text1 = X1

Text2 = Y1

Text3 = X2

Text4 = Y2

X3 = (X1 + X2) / 2

Text5 = X3

Y3 = (Y1 + Y2) / 2

Text6 = Y3

End Sub

Построение диаграмм и графиков

 

 

Задача 1. Ввести численность населения Земли и построить диаграмму.

 

Private Sub Command1_Click()

X1 = Val(Text1)

X2 = Val(Text2)

X3 = Val(Text3)

X4 = Val(Text4)

X5 = Val(Text5)

X6 = Val(Text6)

‘Вычисление общего населения Земли

z = X1 + X2 + X3 + X4 + X5 + X6

' Вычисление углов для построения круговой диаграммы

a1 = X1 * 360 / z

a2 = a1 + X2 * 360 / z

a3 = a2 + X3 * 360 / z

a4 = a3 + X4 * 360 / z

a5 = a4 + X5 * 360 / z

a6 = a5 + X6 * 360 / z

 

' Вычисление процентного соотношения населения соответствующего континента к общему населению Земли

 

p1 = Round(X1 / z * 100)

p2 = Round(X2 / z * 100)

p3 = Round(X3 / z * 100)

p4 = Round(X4 / z * 100)

p5 = Round(X5 / z * 100)

p6 = Round(X6 / z * 100)

 

' Построение соответствующих секторов

Picture1.Scale (0, 0)-(100, 100)

‘ закрашиваем круг

Picture1.FillStyle = 0

‘ определяем цвет круга

Picture1.FillColor = vbRed

Picture1.Circle (50, 50), 30, vbRed, -6.28, -(a1 * 3.14 / 180)

Picture1.FillStyle = 0

Picture1.FillColor = vbGreen

Picture1.Circle (50, 50), 30,, -(a1 * 3.14 / 180), -(a2 * 3.14 / 180)

Picture1.FillStyle = 0

Picture1.FillColor = vbgrey

Picture1.Circle (50, 50), 30,, -(a2 * 3.14 / 180), -(a3 * 3.14 / 180)

Picture1.FillStyle = 0

Picture1.FillColor = vbBlue

Picture1.Circle (50, 50), 30,, -(a3 * 3.14 / 180), -(a4 * 3.14 / 180)

Picture1.FillStyle = 0

Picture1.FillColor = vbCyan

Picture1.Circle (50, 50), 30, vbCyan, -(a4 * 3.14 / 180), -(a5 * 3.14 / 180)

Picture1.FillStyle = 0

Picture1.FillColor = vbMagenta

Picture1.Circle (50, 50), 30, vbMagenta, -(a5 * 3.14 / 180), -(a6 * 3.14 / 180)

End Sub

 

Условный оператор.

 

Задача 67. Напишите программу, которые в зависимости от введенного числа либо вычисляют функцию, либо выдают сообщение, что функция не определена:

;

 

 

 

Private Sub Command1_Click()

x = Val(Text1)

If x = 0 Then Picture1.Print " Функция не определена " Else y = 1 / x

Text2 = y

End Sub

 

Задача 68. Напишите программу, которые в зависимости от введенного числа либо вычисляют функцию, либо выдают сообщение, что функция не определена:

 

Private Sub Command1_Click()

x = Val(Text1)

If x > 1 Or x < -1 Then y = Sqr(x ^ 2 - 1) Else Picture1.Print " Функция не определена"

Text2 = y

End Sub

 

 

Задача 69. Напишите программу для вычисления функции:

 

y =

 

Private Sub Command1_Click()

x = Val(Text1)

If x < = 0 Then y = x * Sin(x) Else y = Cos(x) / x

Text2 = y

End Sub

 

Задача 70. Напишите программу, определяющую четность или не четность введенного с клавиатуры целого числа.

 

 

Private Sub Command1_Click()

a = Val(Text1)

If a Mod 2 = 0 Then Picture1.Print " четное" Else Picture1.Print " нечетное"

End Sub

 

 

Задача 71. Напишите программу, находящую меньшее из двух, введенных с клавиатуры чисел.

 

Private Sub Command1_Click()

a = Val(Text1)

b = Val(Text2)

If a < b Then Min = a Else Min = b

Text3 = Min

End Sub

 

 

Задача 72. Напишите программу, запрашивающую у пользователя три разных целых положительных числа и находящую сумму двух наименьших из них.

 

 

Private Sub Command1_Click()

a = Val(Text1)

b = Val(Text2)

c = Val(Text3)

If a > b And a > c Then y = b + c

If b > a And b > c Then y = a + c

If c > a And c > b Then y = a + b

Text4 = y

End Sub

 

 

Задача 75. В одном из заданий мы уже вычисляли площадь треугольни­ка по формуле Герона. Теперь усложним нашу задачу. С клавиатуры запрашиваются целые числа а, Ь и с. Про­грамма проверяет, можно ли, представив, что эти числа оз­начают длины сторон, составить из них треугольник, затем рисует его на экране и вычисляет его площадь. Если тре­угольник с такими сторонами не существует, то на экране появляется соответствующее сообщение и картинка.

 

Private Sub Command1_Click()

X1 = Val(Text1)

Y1 = Val(Text2)

X2 = Val(Text3)

Y2 = Val(Text4)

X3 = Val(Text5)

Y3 = Val(Text6)

a = Sqr((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2)

b = Sqr((X3 - X2) ^ 2 + (Y3 - Y2) ^ 2)

c = Sqr((X3 - X1) ^ 2 + (Y3 - Y1) ^ 2)

If (a + b) < c Or (a + c) < b Or (b + c) < a Then Picture1.Print " такого треугольника не существует"

p = (a + b + c) / 2

p1 = a + b + c

Text7 = p1

s = Sqr(p * (p - a) * (p - b) * (p - c))

Text8 = s

Picture1.Scale (0, 0)-(200, 200)

Picture1.Line (X1, Y1)-(X2, Y2)

Picture1.Line (X2, Y2)-(X3, Y3)

Picture1.Line (X3, Y3)-(X1, Y1)

End Sub

 

Задача 82. Определите и выведите на экран номер квадранта, в котором расположена точка А(х, у), х и у — заданные целые числа.

Private Sub Command1_Click()

x = Val(Text1)

y = Val(Text2)

If x > 0 And y > 0 Then Picture1.Print " 1"

If x > 0 And y < 0 Then Picture1.Print " 4"

If x < 0 And y > 0 Then Picture1.Print " 2"

If x < 0 And y < 0 Then Picture1.Print " 3"

End Sub

Задача 83. Составьте программу, которая определяет, принадлежит ли точка М(х, у) кругу с центром в точке Z (а, b) и радиусом рав­ным r.

 

Private Sub Command1_Click()

x = Val(Text1)

y = Val(Text2)

a = Val(Text3)

b = Val(Text4)

r = Val(Text5)

If (x - a) ^ 2 + (y - b) ^ 2 < r ^ 2 Then Picture1.Print " принадлежит" Else Picture1.Print " не принадлежит"

End Sub

Задача 84. Составьте программу, которая определяет, принадлежит ли точка N (х, у, z) шару с центром в точке Z (а, b, с) и радиусом г.

 

Private Sub Command1_Click()

x = Val(Text1)

y = Val(Text2)

c = Val(Text6)

a = Val(Text3)

b = Val(Text4)

z = Val(Text7)

r = Val(Text5)

If (x - a) ^ 2 + (y - b) ^ 2 + (z - c) ^ 2 = r ^ 2 Then Picture1.Print " принадлежит " Else Picture1.Print " не принадлежит"

End Sub

Задача 85. Составьте программу, которая определяет, принадлежит ли точка М (х, у) окружности с центром в точке Z (а, b) и радиусом г.

Private Sub Command1_Click()

x = Val(Text1)

y = Val(Text2)

a = Val(Text3)

b = Val(Text4)

r = Val(Text5)

If (x - a) ^ 2 + (y - b) ^ 2 = r ^ 2 Then Picture1.Print " принадлежит" Else Picture1.Print " не принадлежит"

End Sub

 

 

Задача 86. Составьте программу, которая определяет, принадлежит ли точка N (х, у, z) сфере с центром в точке Z (а, b, с) и радиусом г.

Private Sub Command1_Click()

x = Val(Text1)

y = Val(Text2)

c = Val(Text6)

a = Val(Text3)

b = Val(Text4)

z = Val(Text7)

r = Val(Text5)

If (x - a) ^ 2 + (y - b) ^ 2 + (z - c) ^ 2 < r ^ 2 Then Picture1.Print " принадлежит " Else Picture1.Print " не принадлежит"

End Sub

 

 

Оператор множественного выбора

 

 

Вместо нескольких вложенных операторов If…Then, иногда удобнее использовать оператор выбора Select Case. Этот оператор имеет более компактную запись и позволяет осуществить единственный выбор из множества вариантов.

Select Case переменная

Case a(1)

переменная

Case a(2)

переменная

Case a(3)

переменная

Case else

переменная

End select

 

В данной конструкции управление передается той строке, для которой значение а(n) совпадает со значением переменной или выражения, указанных после Select Case. Если переменная не равна ни одному из значений а, то выполняется группа операторов, указанных после Case else.

В операторе Select Case возможно использование операций сравнения >, <, =, < >, > =, < =. В таком случае возможно задание интервала значений переменной и действий для них. Например, фрагмент кода, определяющий, положительную оценку получил наш герой или нет (оценка считывается из поля Text)

 

x = Val(Text1)

Select Case x

‘рассматриваются значения x< 3

Case x< 3

Textl1 = a + ", плохо, очень плохо. Придется пересдать"

‘рассматриваются значения x=4 и х=5

Case 4 to 5

Text1 = “Нормально, тема зачтена"

End Select

 

 

Задача. Составить программу, позволяющую получить словесное описание школьных отметок (1 - плохо, 2- неудовлетворительно, 3- удовлетворительно, 4-хорошо, 5 - отлично).

 

Dim a As String

Private Sub Command1_Click()

a = InputBox(" Представьтесь")

Label1 = a + ", какую оценку ты сегодня получил? "

End Sub

 

Private Sub Command2_Click()

x = Val(Text1)

Select Case x

Case 1

Label1 = a + ", плохо, очень плохо"

Case 2

Label1 = a + ", ваша оценка неудовлетворительно"

Case 3

Label1 = a + ", вы занимаетесь не очень хорошо, ваша оценка удовлетворительно"

Case 4

Label1 = a + ", ваша оценка хорошо"

Case 5

Label1 = a + ", молодец, отлично! "

Case Else

Label1 = " ты что, " + a + ", не знаешь какие оценки ставят в школе? "

End Select

End Sub

 

Задача 60. Требуется по номеру месяца определить время года и вывести соответствующий рисунок.

 

Private Sub Command1_Click()

a = Val(Text1)

‘Здесь должен быть указан полный путь к папке с картинками

p = " D: \Мои документы\УМК….\"

Select Case a

Case 1

Label2 = " Это январь. Зима"

Image1.Stretch = True

Image1.Picture = LoadPicture(p & " birch_snow.jpg")

Case 2

Label2 = " Это февраль. Зима"

Image1.Stretch = True

Image1.Picture = LoadPicture(p & " birch_snow.jpg")

Case 3

Label2 = " Это март Весна"

Image1.Stretch = True

Image1.Picture = LoadPicture(p & " icicles1.jpg")

Case 4

Label2 = " Это апрель. Весна"

Image1.Stretch = True

Image1.Picture = LoadPicture(p & " icicles1.jpg")

Case 5

Label2 = " Это май. Весна"

Image1.Stretch = True

Image1.Picture = LoadPicture(p & " cherry_trees.jpg")

Case 6

Label2 = " Это июнь. Лето"

Image1.Stretch = True

Image1.Picture = LoadPicture(p & " meadow_01.jpg")

Case 7

Label2 = " Это июль. Середина лета"

Image1.Stretch = True

Image1.Picture = LoadPicture(p & " meadow_01.jpg")

Case 8

Label2 = " Это август. Позднее лето"

Image1.Stretch = True

Image1.Picture = LoadPicture(p & " autumnpath.jpg")

Case 9

Label2 = " Это сентябрь. Осень"

Image1.Stretch = True

Image1.Picture = LoadPicture(p & " autumnpath.jpg")

Case 10

Label2 = " Это октябрь. Осень"

Image1.Stretch = True

Image1.Picture = LoadPicture(p & " autumnpath.jpg")

Case 11

Label2 = " Это ноябрь. Поздняя осень"

Image1.Stretch = True

Image1.Picture = LoadPicture(p & " leaves021.jpg")

Case 12

Label2 = " Это декабрь. Скоро Новый год!! "

Image1.Stretch = True

Image1.Picture = LoadPicture(p & " birch_snow.jpg")

 

End Select

End Sub

Задача 61. Разработайте проект, который по знаку арифметической операции выводит ее название.

Private Sub Command1_Click()

a = Text1

Select Case a

Case " *"

Label2 = " Это операция умножения"

Case " +"

Label2 = " Это операция сложения"

Case " /"

Label2 = " Это операция деления"

Case " ^"

Label2 = " Это операция возведения в степень"

Case " -"

Label2 = " Это операция вычитания"

Case Else

Label2 = " Нет такой операции"

End Select

End Sub

 

 

Использование для выбора переключателей

 

Попробуем непосредственно на форме разместить переключатели и посмотреть, как они работают. Пусть форма имеет вид:

 

 

Надо разместить Shape для фигур, четыре OptionButton для типа фигуры. Потом растянуть рамку Frame для цвета и поместить там три OptionButton, еще Frame для типа заливки с четырьмя OptionButton и наконец CommandButton для выхода.

 

Фигура (Shape) - Используется для отображения простых фигур: прямоугольника, квадрата, круга, эллипса и т.д.

 

Рамка (Frame) - Используется для функциональной или визуальной группировки элементов управления в рамку с заголовком

 

Перключатель (OptionButton) - Используется в тех случаях, когда пользователь должен сделать единственный выбор

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.067 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал