КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Ввести 2-х мерный массив, в котором главная диагональ менялась на 0.
Ввести номер начальной и конечной строки, номер столбца, с которым вы хотите провести операцию. Решите: хотите Вы пронумеровать выделенный столбец, либо разукрасить (цвета идут соответственно своему номеру). Решение. Для начала нужно определиться сколько у нас будет переменных и за что каждая будет отвечать. Нам нужны переменные X (за начальную строку), У (за конечную строку), S (за букву столбца), kind (определяющая «тип» рас краски), k (за цвет раскраски), i (как диапазон между Х и У) и наконец N (объединяющая в себе и диапазон и «тип» раскраски). Также используем функцию InputBox, чтобы Вы могли ввести свои собственные данные:
Private Sub CommandButton4_Click()
Dim x As Integer Dim y As String Dim n As String Dim i As Integer Dim k As Integer Dim s As String Dim kind As String x = InputBox(" Введите начальную строку диапазона") y = InputBox("Введите конечную строку диапазона ") s = InputBox(" Введите букву столбца") kind = InputBox(" Введите d-символы или c-цвет") k = 1 Далее нам нужно задать выбор (символы или цвета) через оператор If: If kind = "c" Then For i = x To y n = s & i Range(n).Select With Selection.Interior .ColorIndex = k End With k = k + 1 Next i End If If kind = "d" Then For i = x To y n = s & i Range(n).Value = k k = k + 1 Next i End If End Sub
Задача решена. СмотримJ 4.1. Выбираем конечную строку столбца
4.2. Выбираем действие для выделенного участка столбца.
4.2. Ответ
Задача №5 Решение. Как в начале каждой задачи надо решить, сколько будет переменных и какая за что будет отвечать. Во-первых надо ввести массив (mass(100,100)), далее m – номер столбцов массива, потом n – номер строк массива, I – количество столбцов, j – количество строк, и str – через что мы делаем изменение массива.
Private Sub CommandButton_Click()
Dim mass(100, 100) As Integer Dim m As Integer Dim j As Integer Dim n As Integer Dim i As Integer Dim str As String
str = " " Введя необходимые нам данные, мы задаём нули для главной диагонали матрицы. Все оставшиеся числа матрицы мы оставляем нетронутым полем (vbCrLf – полем). И в конце выводим ответ через MsgBox, которым и является str. Задача в целом выглядит вот так:
Private Sub CommandButton11_Click() Dim mass(100, 100) As Integer Dim m As Integer Dim j As Integer Dim n As Integer Dim i As Integer Dim str As String
str = " " n = CInt(InputBox("Введите количество столбцов n")) m = CInt(InputBox("Введите количество строк m")) For i = 1 To m For j = 1 To n mass(i, j) = CInt(InputBox("Введите элемент mass(" & i & "," & j & ")")) If i = j Then mass(i, j) = 0 str = str & mass(i, j) & " " Next j str = str & vbCrLf Next i MsgBox (str) End Sub
Задача решена. Смотрим J
5.1. Вводим определённый элемент массива
5.2. Ответ
Задача №6 Есть определённое количество товара и машина, которая должна его перевезти за один раз. (Количество, вес груза и грузоподъёмность машины задаём сами!) Решение. Для этой задачи нам понадобиться массив (mass (100)), а также такие переменные как n (количество товара в кг.), gruz (грузоподъёмность машины), sum (сумма всего груза) и I (вспомогательная переменная, которая поможет обозначить номера грузов). Чтобы не было осложнений mass, gruz u summ лучше описать, как тип Double (грузоподъёмность может быть и 90 кг, так же как и сумма груза).
Private Sub CommandButton5_Click() Dim mass(100) As Double Dim gruz As Double Dim n As Integer Dim summ As Double Dim i As Integer
Далее вводим данные:
n = CInt(InputBox(" Введите число N")) gruz = CInt(InputBox(" Введите грузоподъёмность машины")) summ = 0 For i = 1 To n mass(i) = CDbl(InputBox(" Введите вес " & i & "-го элемента")) summ = summ + mass(i) Next i
Далее задаём условие, которое выведет ответ нам на экран:
If summ < gruz Then MsgBox ("Эта машина сможет перенести предметы") Else MsgBox ("Эта машина не сможет перенести предметы") End Sub Задача решена. СмотримJ
6.1. Вводим грузоподъёмность 6.2. Смотрим ответ
Задача №7 Даны 2 целых числа: Д (день) и М (месяц), определяющие правильную дату невысокосного года. Вывести значение Д и М для даты, предшествующей указанной. (Case) Решение
Задаём себе вопрос: Что конкретно мы хотим от программы? Во-первых, нам необходимо ввести четыре переменные
Private Sub CommandButton1_Click() Dim d, m, D_pred, M_pred As Integer
Далее, нам надо ввести дату, предыдущую от которой мы хотим узнать.
d = CDbl(InputBox("Введите число D ")) m = CDbl(InputBox("Введите число M ")) D_pred = d – 1 (Предыдущий День равен введённый день -1)
* Функция CDbl преобразует выражение в тип данных двойной точности Double. Далее вводим условие задания через функцию If:
If D_pred = 0 Then M_pred = m - 1 If M_pred = 0 Then M_pred = 12
Что означает, что если число предыдущего дня будет равняться 0, то нам просто нужно поставить предыдущий месяц, а вот если число искомого месяца будет равняться 0, то вместо 0 ставим 12. Далее надо рассмотреть Случай (Case) для каждого месяца отдельно (так как количество дней в месяцах разное), а функцию мы Выбираем (оператор Select). Select Case M_pred Case 1 D_pred = 31 Case 2 D_pred = 28 Case 3 D_pred = 31 Case 4 D_pred = 30 Case 5 D_pred = 31 Case 6 D_pred = 30 Case 7 D_pred = 31 Case 8 D_pred = 31 Case 9 D_pred = 30 Case 10 D_pred = 31 Case 11 D_pred = 30 Case 12 D_pred = 31 End Select
И также введём данные, которые мы ввели ранее (под. функцией Else) и закрываем оператор If:
Else M_pred = m End If
Последним завершающим этапом будем вывод данных:
MsgBox ("Предыдущая дата à " & D_pred & "." & M_pred)
End Sub СмотримJ
7.1. Вводим число месяца.
7.2. Смотрим предыдущую дату (ответ) Задача №8
Дата добавления: 2017-02-01; Просмотров: 47; Нарушение авторских прав?; Мы поможем в написании вашей работы! |