Всё для Учёбы — студенческий файлообменник
1 монета
doc

Студенческий документ № 046124 из МГСУ НИУ (МГСУ-МИСИ)

Московский Государственный Строительный Университет

Институт "Экономики, управления и информационных систем в строительстве и недвижимости"

Кафедра "Системы автоматизированного проектирования"

Домашнее задание по дисциплине:

"Программирование на языках высокого уровня"

Вариант 2

Выполнил: студент ИСТАС-1-10/4С

Баринова Ю.С.

Проверил: доцент, Баранова О.М.

Москва 2010

Задание 1

Dim N, M, C, R, mas(0 To 7, 0 To 7) As Integer

Private Sub Command1_Click() 'выбор способа задания матрицы

If Option1.Value = True Then

Frame2.Visible = True

Else

Frame3.Visible = True

End If Frame1.Enabled = False

End Sub Private Sub Command2_Click() 'задание матрицы вручную

N = CSng(TN.Text)

M = CSng(TM.Text)

If N > 7 Or M > 7 Then

vvod = MsgBox("Колическтво строк и столбцов не должно превышать 7", 16, "Ошибка")

Form1.Print vvod

Else For i = 0 To N - 1 Step 1

For j = 0 To M - 1 Step 1

If i <> 0 Then

Text1(i * 7 + j).Enabled = True

Text1(i * 7 + j).BackColor = &HFFFFFF

Else Text1(j).Enabled = True

Text1(j).BackColor = &HFFFFFF

End If

Next j Next i

Command4.Visible = True

Command5.Enabled = True

Command2.Enabled = False

Command7.Visible = True

End If End Sub

Private Sub Command4_Click() 'заполнение матрицы и преобразование из одномерного в двумерный массив

N = CSng(TN.Text)

M = CSng(TM.Text)

For i = 0 To N - 1 Step 1

For j = 0 To M - 1 Step 1

If i <> 0 Then

If IsNumeric(Text1(i * 7 + j).Text) Then

mas(i, j) = CSng(Int(Text1(i * 7 + j).Text))

Else mas(i, j) = 0

End If

Else If IsNumeric(Text1(j).Text) Then

mas(i, j) = CSng(Int(Text1(j).Text))

Else mas(i, j) = 0

End If

End If Next j Next i

Call perestanovka

End Sub Private Sub Command5_Click() 'очистить

Call clear

TN.Text = "" TM.Text = ""

Command5.Enabled = False

Command2.Enabled = True

End Sub

Private Sub Command3_Click() 'автоматическое задание матрицы

Call clear R = CSng(Combo1.Text) * 10

Randomize N = Int(Rnd() * 7) + 1

Label5.Caption = CStr(N)

M = Int(Rnd() * 7) + 1

Label6.Caption = CStr(M)

For i = 0 To N - 1 Step 1

For j = 0 To M - 1 Step 1

If i <> 0 Then

Text1(i * 7 + j).Enabled = True

Text1(i * 7 + j).BackColor = &HFFFFFF

Text1(i * 7 + j).Text = CStr(Int((Rnd() * R)))

mas(i, j) = CSng(Int(Text1(i * 7 + j).Text))

Else Text1(j).Enabled = True

Text1(j).BackColor = &HFFFFFF

Text1(j).Text = CStr(Int(Rnd() * R))

mas(i, j) = CSng(Int(Text1(j).Text))

End If Next j

Next i Call perestanovka

Command6.Enabled = True

Command3.Enabled = False

End Sub Private Sub Command6_Click() 'очистить

Call clear Command3.Enabled = True

Command6.Enabled = False

End Sub Private Sub Command7_Click() 'очистить матрицу

For i = 0 To 48 Text1(i).Text = ""

Label9(i).Caption = ""

Label9(i).BackColor = &H80000016

Next i End Sub

Public Sub perestanovka() ' сортировка массива (из одномерного делаем двумерный)

For z = 0 To N For i = 0 To M

For j = i To M

If mas(z, j) > mas(z, i) Then

C = mas(z, j) mas(z, j) = mas(z, i)

mas(z, i) = C End If

Next j

Next i Next z

For i = 0 To N - 1 Step 1 'вывод пересортированного массива

For j = 0 To M - 1 Step 1

If i <> 0 Then

Label9(i * 7 + j).BackColor = &H8000000F

Label9(i * 7 + j).Caption = CStr(Int(mas(i, j)))

Else Label9(j).BackColor = &H8000000F

Label9(j).Caption = CStr(Int(mas(i, j)))

End If Next j Next i

End Sub Public Sub clear() 'очистка(квадратики массива неактивные и более серые)

For i = 0 To 48 Text1(i).Text = ""

Text1(i).Enabled = False

Text1(i).BackColor = &H80000016

Label9(i).Caption = ""

Label9(i).BackColor = &H80000016

Next i

End Sub Private Sub Command8_Click() 'сброс всего

Call clear N = 0

M = 0 Frame1.Enabled = True

Frame2.Visible = False

Frame3.Visible = False

Command4.Visible = False

Command7.Visible = False

Option1.Value = False

Option2.Value = True

End Sub Private Sub Command9_Click()

End End Sub

Задание 2

Dim minX, maxX, dX, k, ky, maxY1, maxY2, maxY, xp, PreX, PreY, TY, TX As Double

Private Sub Command1_Click() 'кнопка построить

minX = CDec(Text1.Text)

maxX = CDec(Text2.Text)

dX = CDec(Text3.Text)

k = Picture1.Width / (maxX - minX)

If minX >= (0.7) Then maxY1 = Sqr(10 * minX - 7) + 1 Else maxY1 = 0

If maxX >= (0.7) Then maxY2 = Sqr(10 * maxX - 7) + 1 Else maxY2 = 0

If maxY1 >= maxY2 Then maxY = maxY1 Else maxY = maxY2

ky = Picture1.Height / maxY

Label7.Caption = minX

Label8.Caption = maxX

Label11.Caption = (maxX + minX) / 2

Label9.Caption = maxX / 4 + minX * 3 / 4

Label10.Caption = minX / 4 + maxX * 3 / 4

Label12.Caption = -maxY / 3

Label13.Caption = maxY

Label14.Caption = 0

Label15.Caption = maxY / 3

Label16.Caption = 2 * maxY / 3

Picture1.Cls Picture1.Line (0, Picture1.Height * 0.75)-(Picture1.Width, Picture1.Height * 0.75)

For X = minX To maxX Step dX

If X = minX Then

PreX = X

PreY = Sqr(10 * X - 7) + 1

Picture1.PSet (PreX * k, Picture1.Height * 0.75 - PreY * ky)

Else TX = X

TY = Sqr(10 * X - 7) + 1

Picture1.Line (PreX * k, Picture1.Height * 0.75 - PreY * ky)-(TX * k, Picture1.Height * 0.75 - TY * ky)

PreX = TX PreY = TY

End If Next X End Sub

Private Sub Command2_Click() 'кнопка проверка значений

If CDec(Text1.Text) или = 0,7", 16, "Ошибка!!!")

Form1.Print vvod

Else If CDec(Text1.Text) >= CDec(Text2.Text) Then

vvod = MsgBox("Предельное значение X должно быть больше начального", 16, "Ошибка!!!")

Form1.Print vvod

Else Command1.Enabled = True

Command2.Enabled = False

End If End If

End Sub

Private Sub Command3_Click() 'кнопка сброс

Text1.Text = 0 Text2.Text = 0

Text3.Text = 0 Command2.Enabled = True

Command1.Enabled = False

Label7.Caption = ""

Label8.Caption = ""

Label11.Caption = ""

Label9.Caption = ""

Label10.Caption = ""

Label12.Caption = ""

Label13.Caption = ""

Label14.Caption = ""

Label15.Caption = ""

Label16.Caption = ""

Picture1.Cls End Sub

Private Sub Command4_Click()

End End Sub

Задание 3

Dim strA, strB, strG(1 To 20) As String, i, N As Integer

Private Sub Command1_Click()

N = 0 i = 0 strA = InputBox("Введите строку: ", "Ввод строки")

Do While i < Len(strA)

i = i + 1 strB = Mid(strA, i, 1)

If strB = "а" Or strB = "е" Or strB = "ё" Or strB = "и" Or strB = "о" Or strB = "у" Or strB = "ы" Or strB = "ю" Or strB = "э" Or strB = "я" Or strB = "А" Or strB = "Е" Or strB = "Ё" Or strB = "И" Or strB = "О" Or strB = "У" Or strB = "Ю" Or strB = "Э" Or strB = "Я" Then

N = N + 1

End If Loop Label1.Caption = N

End Sub Private Sub Command3_Click()

Label1.Caption = ""

End Sub

Private Sub Command2_Click()

End End Sub

Показать полностью…
561 Кб, 30 сентября 2012 в 12:12 - Россия, Москва, МГСУ НИУ (МГСУ-МИСИ), 2012 г., doc
Рекомендуемые документы в приложении