Массивы 1 и 2-х мерные, случайное число.

Задание №2

- Запускаем Excel.

- В разработчике открываем VisualBasic (VBA)

- Там же в разработчике через вставку создаем кнопку (для удобства)

- Записываем в VBA программный код:

Option Explicit

Option Base 1

Sub zN7_n2()

Dim M() As Variant

Dim a, b, c As Integer

Dim i, j, d As Integer

Dim sum As Integer

sum = 0

For d = 1 To 100

sum = sum + c

If sum <= 4800 Then

a = (Rnd() * (200 - 190 + 1) + 190)

b = (Rnd() * (500 - 290 + 1) + 290)

c = a + b

Sheets(5).Cells(d + 1, 4) = a

Sheets(5).Cells(d + 1, 4) = b

For i = 4 To 6

For j = 1 To 9

Sheets(5).Cells(j, i).Font.Color = RGB(0, 255, 0)

Sheets(5).Cells(j, i).Font.Italic = True

Next j

Next i

c = a + b

sum = sum + c

Sheets(5).Cells(d + 1, 5) = sum

Else

MsgBox "Завершение работы"

ExitFor

End If

Next d

End Sub

Результат:

Массивы 1 и 2-х мерные, случайное число. - student2.ru

Рис 8

Массивы 1 и 2-х мерные, случайное число. - student2.ru

Рис 9

Задание №3

- Запускаем Excel.

- В разработчике открываем VisualBasic (VBA)

- Там же в разработчике через вставку создаем кнопку (для удобства)

- Записываем в VBA программный код:

Sub zN7_n3()

Dim B() As Variant

Dim i, j, a, k, s As Integer

Dim d As String

k = InputBox("Ââåäèòå ÷èñëî")

ReDimB(j)

Randomize

For i = 8 To 60

B(a) = (Rnd() * (67 - 67 + 1) + 67)

Sheets(1).Cells(i - 7, 4) = B(a)

Sheets(1).Cells(i - 7, 4).Interior.Color = RGB(255, 155, 155)

Sheets(1).Cells(i - 7, 4).Font.Color = RGB(255, 0, 0)

Sheets(1).Cells(i - 7, 4).Font.Bold = True

If B(a) Mod 2 = 0 Then

k = k + B(a)

Sheets(1).Cells(i - 7, 3) = k

Sheets(1).Cells(i - 7, 3).Interior.Color = RGB(255, 155, 155)

Sheets(1).Cells(i - 7, 3).Font.Color = RGB(255, 0, 0)

Sheets(1).Cells(i - 7, 3).Font.Bold = True

Else

k = 0

Sheets(1).Cells(i - 7, 3) = k

Sheets(1).Cells(i - 7, 3).Interior.Color = RGB(255, 155, 155)

Sheets(1).Cells(i - 7, 3).Font.Color = RGB(255, 0, 0)

Sheets(1).Cells(i - 7, 3).Font.Bold = True

End If

Next i

Open "\\Fileserver\студенты\И-16-1\Клочихина_АМ\Учебная_практика-03.01\1.txt" For Output As #1

Print #1, B(a)

For i = 1 To 29

d = d & i & ";"

Next i

Print #1, B(a)

For i = 30 To 60

Next i

d = d & i & ";"

Close #1

Open "\\Fileserver\студенты\И-16-1\Клочихина_АМ\Учебная_практика-03.01\1.txt" For Input As #1

Input #1, B(a)

For j = 3 To i

Sheets(4).Cells(6, j + 1) = B(a)

Sheets(4).Cells(6, j + 1).Interior.Color = RGB(255, 155, 155)

Sheets(4).Cells(6, j + 1).Font.Color = RGB(255, 0, 0)

Sheets(4).Cells(6, j + 1).Font.Bold = True

Next j

Close #1

End Sub

Результат:

Массивы 1 и 2-х мерные, случайное число. - student2.ru Массивы 1 и 2-х мерные, случайное число. - student2.ru

Массивы 1 и 2-х мерные, случайное число. - student2.ru

Рис 11

Массивы 1 и 2-х мерные, случайное число. - student2.ru

Рис 12

УП №8

Задание №4

- Запускаем Excel.

- В разработчике открываем VisualBasic (VBA)

- Там же в разработчике через вставку создаем кнопку (для удобства)

- Записываем в VBA программный код:

Sub zN7_n4()

Dim N() As Variant

Dim i, j, a As Integer

ReDimN(j)

Randomize

For i = -8 To j

N(a) = (Rnd() * (67 - 67 + 1) + 67)

Sheets(3).Cells(i + 12, 4) = N(a)

Sheets(3).Cells(i + 12, 4).Interior.Color = RGB(255, 155, 155)

Sheets(3).Cells(i + 12, 4).Font.Color = RGB(255, 0, 0)

Sheets(3).Cells(i + 12, 4).Font.Bold = True

Next i

End Sub

Результат:

Массивы 1 и 2-х мерные, случайное число. - student2.ru

Рис 13

Электронное тестирование

Методика «Мотивация успеха и боязнь неудачи»

Задание

Создать тест выявляющий мотивацию на успех или на страх неудачи (провала).

- Запускаем Excel.

- В разработчике открываем VisualBasic (VBA)

- Записываем в VBA программный код:

OptionExplicit

SubМетодика_Мотивация_И_Боязнь_Неудачи()

Dim a, sum, obsum As Integer

Dim d, s, t As String

d = InputBox("Введите фамилию и имя:", "Начало опроса")

s = InputBox("Введите возраст:", "Начало опроса")

t = InputBox("Введите свой род занятий:", "Начало опроса")

MsgBox "Соглашаясь или нет с нижеприведенными утверждениями, необходимо выбрать один из ответов - Да или Нет. Ответ Да означает как явное Да, так и Скорее Да, чем Нет. То же и с ответом Нет. Отвечать следует быстро, подолгу не задумываясь.", , "Инструкция к опросу"

a = MsgBox("Включаясь в работу, надеюсь на успех.", vbYesNo, "1.")

If a = vbYes Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("В деятельности активен.", vbYesNo, "2.")

If a = vbYes Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("Склонен к проявлению инициативвы.", vbYesNo, "3.")

If a = vbYes Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("При выявлении ответственных заданий стараюсь по возможности найти причины отказа от их.", vbYesNo, "4.")

If a = vbNo Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("Часто выбираю крайности: либо занижено легкие задания, либо нереально трудные.", vbYesNo, "5.")

If a = vbNo Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("При встрече с препятствиями, как правило, не отступаю, а ищу способы их преодаления.", vbYesNo, "6.")

If a = vbYes Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("При чередовании успехов и неудач склонен к переоценки своих успехов.", vbYesNo, "7.")

If a = vbNo Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("Продуктивность деятельности в основном зависит от моей целеустремленности, а не от внешнего контроля.", vbYesNo, "8.")

If a = vbYes Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("При выполнении достаточно трудных заданий в условиях ограниченного времени результативность моей деятельности ухудшается.", vbYesNo, "9.")

If a = vbNo Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("Я склонен проявлять настойчивость в достижении цели.", vbYesNo, "10.")

If a = vbYes Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("Я склонен планировать свое будущее на достаточно отдаленную перспективу.", vbYesNo, "11.")

If a = vbYes Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("Если рискую, то с умом.", vbYesNo, "12.")

If a = vbYes Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("Я не очень настойчив в достижении цели, особенно если отсутствует внешний контроль.", vbYesNo, "13.")

If a = vbNo Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("Предпочитаю ставить перед собой средние по трудности или слегка завышинные, но достижимые цели.", vbYesNo, "14.")

If a = vbYes Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("В случие неудачи при выполнении задания его притягательность для меня снижается.", vbYesNo, "15.")

If a = vbNo Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("При чередовании успехов и неудач я больше склонен к переоценке своих неудач.", vbYesNo, "16.")

If a = vbYes Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("Предпочитаю планировать свое будущее лишь на ближайшее время.", vbYesNo, "17.")

If a = vbNo Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("При работе в условиях ограниченного времени результативность деятельности у меня улучшается, даже если задание достаточно трудное.", vbYesNo, "18.")

If a = vbYes Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("В случае неудачи я, как правило, не отказываюсь от поставленной цели.", vbYesNo, "19.")

If a = vbYes Then

a = 1

sum = sum + a

Else

sum = 0

End If

a = MsgBox("Если я сам выбрал для себя задание, то в случае неудачи его притягательность для меня только возрастает.", vbYesNo, "20.")

If a = vbYes Then

a = 1

sum = sum + a

Else

sum = 0

End If

obsum = 0

obsum = obsum + sum

MsgBox "Испытуемому присваивается по одному бал у, если он ответил:", , "Ключ к опроснику"

MsgBox "1. Да - на вопросы: 1-3, 6, 8, 10-12, 14, 16, 18-20.", , "Ключ к опроснику"

MsgBox "2. Нет - на вопросы: 4, 5, 7, 9, 13, 15, 17.", , "Ключ к опроснику"

MsgBox "Общая сумма балов равна " &obsum, , "Ключ к опроснику"

MsgBox "1-7 баллов: диагностируется мотвация на неудачу (боязнь неудач)", , "Выводы"

MsgBox "14-20 баллов: диагностируется мотивация на успех (надежда на успех)", , "Выводы"

MsgBox "8-13 баллов: мотивационный плюс не выражен. При этом, если у испытуемого 8-9 баллов - то его мотивация ближе к избеганию неудачиб если 12-13 баллов - ближе к стремлению к успеху.", , "Выводы"

EndSub

В результате сначала появляются диалоговые окна с просьбой ввести некоторые данные, а после окна с выбором ответа «Да» или «Нет». По окончанию теста идет подсчет набранных баллов и вывод информации о значении общей суммы набранных балов.

Задание №14.

Использование в программах строковых переменных, использование основных функций для работы со строками.

Задание 2.

1) В тексте: "Вся информация в лифлете носит ознакомительный характер" программой определить и вывести на UserForm: число букв в тексте; число слов в тексте; слово с наибольшей и наименьшей длиной. Создать кнопку для запуска макроса.

Для выполнения задания:

- Запускаем Excel.

- В разработчике открываем VisualBasic (VBA)

- Там же в разработчике через вставку создаем кнопку (для удобства) (Рис 13, Рис 14)

- Записываем в VBA программный код:

Private Sub CommandButton1_Click() – Кнопказапускамакросаформы 1.

ПодсчетСимволов.Show

End Sub

OptionExplicit

DimaAsString – задаемосновную переменную, с которой начинается работа.

PrivateSubCommandButton1_Click() – программирование кнопки вывода информации(Рис 15).

Dimb, i, k, z, kol, kolsim, mina, maxa – переменные для программы.

a = Label2

z = Split(a)

kolsim = UBound(z) + 1

Label7 = "" &kolsim

For i = LBound(z) To UBound(z)

z(i) = Trim(z(i))

kol = kol + Len(z(i))

Next i

Label8 = "" &kol

mina = Len(z(0))

For i = 1 To UBound(z)

If Len(z(i)) < mina Or Len(z(i)) = mina Then

mina = Len(z(i))

b = b &z(i) & "; "

End If

Next i

Label9 = "" & b

maxa = Len(z(0))

For i = 5 To UBound(z)

If Len(z(i)) >maxa Or Len(z(i)) = maxa Then

mina = Len(z(i))

k = k &z(i) & "; "

End If

Next i

Label10 = "" & k

Label11 = "Спасибо за внимание!"

EndSub

PrivateSubCommandButton2_Click() – программированиекнопкиочисткии последующего закрытия.

Label7 = ""

Label8 = ""

Label9 = ""

Label10 = ""

Label11 = ""

ПодсчетСимволов.Hide

EndSub

Массивы 1 и 2-х мерные, случайное число. - student2.ru

Рис 14

Массивы 1 и 2-х мерные, случайное число. - student2.ru

Рис 15

Массивы 1 и 2-х мерные, случайное число. - student2.ru

Рис 16

2) В текстовое поле на UserForm вводится любое предложение. Программой заменить второе и четвертое слово, написав их заглавными буквами, определить и вывести на UserForm: число букв в тексте; число слов в тексте; слово с наибольшей и наименьшей длиной.

Для выполнения задания:

- Запускаем Excel.

- В разработчике открываем VisualBasic (VBA)

- Там же в разработчике через вставку создаем кнопку (для удобства) (Рис 17)

Private Sub CommandButton2_Click() – кнопказапускамакросаформы 2

ИзменениеТекстаИПодсчетСимволов.Show

End Sub

OptionExplicit

DimaAsString - задаемосновную переменную, с которой начинается работа.

PrivateSubCommandButton1_Click()– выводаинформации (Рис 19).

Dim b, i, k, z, kol, kolsim, mina, maxa

a = TextBox1

Label7 = UCase(TextBox1.Text)

z = Split(a)

kolsim = UBound(z) + 1

Label9 = "" &kolsim

For i = LBound(z) To UBound(z)

z(i) = Trim(z(i))

kol = kol + Len(z(i))

Next i

Label8 = "" &kol

mina = Len(z(0))

For i = 1 To UBound(z)

If Len(z(i)) < mina Or Len(z(i)) = mina Then

mina = Len(z(i))

b = b &z(i) & "; "

End If

Next i

Label10 = "" & b

maxa = Len(z(0))

For i = 3 To UBound(z)

If Len(z(i)) >maxa Or Len(z(i)) = maxa Then

mina = Len(z(i))

k = k &z(i) & "; "

End If

Next i

Label11 = "" & k

End Sub

PrivateSubCommandButton2_Click()– программированиекнопкиочистки.

TextBox1 = ""

Label7 = ""

Label8 = ""

Label9 = ""

Label10 = ""

Label11 = ""

End Sub

PrivateSubCommandButton3_Click()– программированиекнопкизакрытия.

TextBox1 = ""

Label7 = ""

Label8 = ""

Label9 = ""

Label10 = ""

Label11 = ""

ИзменениеТекстаИПодсчетСимволов.Hide

EndSub

Результат:

Массивы 1 и 2-х мерные, случайное число. - student2.ru

Рис 17

Массивы 1 и 2-х мерные, случайное число. - student2.ru

Рис 18

Массивы 1 и 2-х мерные, случайное число. - student2.ru

Рис 19

Задание №15

Наши рекомендации