Шпаргалка по "Программированию"
Автор: user_student • Август 11, 2021 • Шпаргалка • 2,320 Слов (10 Страниц) • 323 Просмотры
Лаба №1 //сообщение системной даты/числа Private Sub Workbook_Open() //процедура при открытии книги MsgBox (функция для вывода сообщения) "Это первая программа" (текст отображающийся в окне сообщения) & (функция И) vbCrLf (константа, переводящая строку в сообщении) & "Сегодня " (текст отображающийся в окне сообщения) & Date (функция, вызывающая системную дату) , vbOKOnly (только OK кнопка будет отображаться при MsgBox) , "Сообщение" (название окошка) End Sub //конец процедуры |
Лаба №2 //вывод в сообщении введенного текста Private Sub CommandButton1_Click() //процедура при нажатии на кнопку |
Лаба №3 //автофигуры Private Sub CommandButton1_Click() //процедура при нажатии на кнопку Dim (оператор для определения типа переменной) x, y, a, b, q (имена переменных) As Integer (как целочисленный) х = InputBox (ф для вызова окна ввода) ("введите координаты х") (текст в окне) y = InputBox("введите координаты y") a = InputBox(" введите ширину") b = InputBox("введите высоту") c = InputBox("Цвет(1 - 64)") ActiveSheet.Shapes.AddShape(msoShapeStylePreset4, x, y, a, b).Select // Данный код означает, что на активном листе (ActiveSheet) мы обращаемся к коллекции автофигур (Shapes) и методом AddShape добавляем автофигуру msoShapeSmileyFace (смайлик) с параметрами в скобках (название автофигуры, значение координаты Х, значение координаты У, ширина, высота). Select означает выделение вставленного объекта. Selection.ShapeRange.Fill.ForeColor.SchemeColor = c // Данный код означает, что выделенной автофигуре (Selection.ShapRange) будет произведена заливка(Fill) передней части (ForeColor) выбранным цветом (SchemeColo), значение которого присвоено(=) цифрой в диапазоне от 1 до 64. Каждой цифре соответствует свой цвет. End Sub //конец процедуры |
Лаба №4 //арифметические прогрессии Private Sub CommandButton1_Click() //процедура при нажатии на кнопку 1 Dim (оператор для определения типа переменной) a, d, Sn (имена переменных) As Double (как числа с плавающей запятой) , n (имя переменной) As Integer (как целочисленный) VvodA: a = InputBox (ф для вызова окна ввода) ("Первый член прогрессии" (текст в окне) , "Введите число"(название окна)) (начало условия) If a = "" Then //проверка на пустое значение а Exit Sub //конец процедуры End If // конец условия If (IsNumeric(a) = False) Then //проверка на тип данных число а MsgBox ("Неверно ввели данные") //если не число, то вывод сообщения GoTo VvodA //переход в начало инструкции End If // конец условия VvodD: // вызова окна ввода для переменной d d = InputBox("Шаг прогрессии", "Ввод данных") If d = "" Then Exit Sub End If If (IsNumeric(d) = False) Then MsgBox ("Неверно ввели данные") GoTo VvodD End If VvodN: // вызова окна ввода для переменной n n = InputBox("Количество членов прогрессии", "Ввод данных") If n = "" Then Exit Sub End If If (IsNumeric(n) = False Or n <= 0) Then MsgBox ("Неверно ввели данные") GoTo VvodN End If Sn = ((2 * a + d * (n - 1)) / 2) * n //формула расчета суммы арифметической прогрессии MsgBox "Сумма арифметической прогрессии равна: " & Sn End Sub //конец процедуры Private Sub CommandButton2_Click()//процедура при нажатии на кнопку 2 Dim a, d, Sn As Double, p As Integer VvodA: a = InputBox("Первый член прогрессии", "Ввод данных") If a = "" Then Exit Sub End If If (IsNumeric(a) = False) Then MsgBox ("Неверно ввели данные") GoTo VvodA End If ProverkaA = MsgBox(vbOKCancel) VvodD: d = InputBox("Шаг прогрессии", "Ввод данных") If d = "" Then Exit Sub End If If (IsNumeric(d) = False) Then MsgBox ("Неверно ввели данные") GoTo VvodD End If VvodP: p = InputBox("Количество членов прогрессии", "Ввод данных") If p = "" Then Exit Sub End If If (IsNumeric(n) = False Or p <= 0) Then MsgBox ("Неверно ввели данные") GoTo VvodP End If p = (a + d * (p - 1)) MsgBox "Сумма арифметической прогрессии = " & ap End Sub//конец процедуры |
Лаба №5 //окраска ячеек Private Sub CommandButton1_Click() //процедура при нажатии на кнопку 1 Selection.Clear // очистить диапазон ячеек End Sub//конец процедуры Private Sub CommandButton2_Click()//процедура при нажатии на кнопку 2 If TypeName(Selection) <> "Range" Then // Проверяем выделен ли диапазон Exit Sub //конец процедуры End If //конец ф если Application.ScreenUpdating = False //отключение обновления экрана для ускорения выполнения процедуры For Each Cell In Selection //(закрашивание ячеек поочередно) If Cell.Value < 0 Then //если выделенный диапазон ячеек меньше 0 то Cell(свойство, позволяющее сослаться на выделенный диапазон ячеек).Interior(свойство (или обект), означающее обращение к внутренней части).ColorIndex(индекс цвета) = 3(красный цвет) //окрашиваем диапазон ячеек в красный цвет ElseIf Cell.Value > 0 Then //или если выделенный диапазон ячеек больше 0то Cell.Interior.ColorIndex = 6 (желтый цвет) ElseIf Cell.Value = "" Then //или если выделенный диапазон ячеек пуст Cell.Interior.ColorIndex = 0 //нет окрашивания End If Next Cell //далее обращаемся к выделенному диапазону ячеек Application.ScreenUpdating = True //вкл обновление экрана End Sub //конец процедуры и не забудь вбить в произвольный диапазон ячейки положительные и отрицательны цифры |
Лаба №6 //вывод дней недели Private Sub CommandButton1_Click()//процедура при нажатии на кнопку 1 Dim (оператор для определения типа переменной) day (имя переменной) As Variant (любого типа данных) Dim dweek (1 To 7) (числа от 1 до 7) As Variant dweek (1) = " Воскресенье" dweek (2) = " Понедельник" dweek (3) = " Вторник" dweek (4) = " Среда" dweek (5) = " Четверг" dweek (6) = " Пятница" dweek (7) = " Суббота" day = DatePart("w"(параметр интервала – день недели) , Date) //присваивает переменной day значение дня недели MsgBox "Сегодня "(текст сообщения) &(функция И) Date (системная дата) & dweek (day), , "День недели"(название окна) //окно с сообщением результата End Sub Private Sub CommandButton2_Click()//процедура при нажатии на кнопку 2 Dim day As Variant Dim dweek As Variant dweek = Array(" Воскресенье", " Понедельник", " Вторник", " Среда", " Четверг", " Пятница", " Суббота") //создание массива (Array) значений day = DatePart("w", Date) – 1 // (единица отнимается, потому что нумерация массива начинается с 0) MsgBox "Сегодня " & Date & dweek (day), , "День недели" //окно с сообщением результата End Sub//конец процедуры |
Лаба №7 //хрень Function Разность(имя функции)(Уменьшаемое, Вычитаемое)(аргументы функции) As Double (тип числа с плавающей запятой) //начало функции Разность = Уменьшаемое – Вычитаемое //выражние End Function //конец функции Function Раздиап(диап1, диап2) As Double Раздиап = Application.WorksheetFunction.Sum(диап1) - Application.WorksheetFunction.Sum(диап2) End Function //конец функции |
Лаба №8 //операции со словами Function ПЕРЕВЕРТЫШ(имя функции)(Слово)(аргумент функции) As String (тип строковый) Dim (оператор для определения типа переменной) col, bukva (имена переменных) As String col = Len(функция определяющая длину строки)(Слово) //определяем количество символов текста в выделенной ячейке Do //открываем цикл bukva = Right(Слово, 1) // с помощью функции Right возвращаем один символ справа из введенного текста ПЕРЕВЕРТЫШ = ПЕРЕВЕРТЫШ + bukva // прибавляем переменную bukva, чтобы последний символ из введенного текста становился первым в создаваемом тексте col = col – 1 //уменьшение на единицу количество символов во введенном тексте Слово = Mid(Слово, 1, col) //переменной Слово присваиваем значение введенного текста без последнего символа, т.е. возвращает заданное число знаков из строки текста, начиная с указанной позиции. Аргументы: текст, начальная позиция (с какого символа по порядку начинать возвращать знаки), количество возвращаемых знаков Loop While col > 0 // по достижении ключевого слова Loop тестируется логическое выражение; если оно равно True - управление передается в начало тела цикла и цикл повторяется снова. Так происходит до тех пор, пока логическое выражение не станет False. Когда логическое выражение становится False - управление передается оператору, следующему за строкой Loop While End Function |
Лаба №9 //сумма комиссионных, получаемых продавцом от суммы продаж Public Function summa_prodaj(sum) As Long Const k1 = 0.008, k2 = 0.012, k3 = 0.015, k4 = 0.019, k5 = 0.025 Select Case sum Case 1 To 1000 summa_prodaj = sum * k1 Case 1000 To 10000 summa_prodaj = sum * k2 Case 10000 To 30000 ssumma_prodaj = sum * k3 Case 30000 To 50000 summa_prodaj = sum * k4 Case Is > 50000 summa_prodaj = sum * k5 End Select End Function |
Лаба №10 // а) Создать самостоятельно пользовательскую функцию, которая будет писать прописью целые числа от 0 до 99 включительно; б) Создать пользовательскую функцию, которая будет писать прописью день и месяц в дате. Public Function ЧислаВТекст(Число) As String Dim pervoe, vtoroe As Integer, result As String result = "" If Len(Число) > 1 Then pervoe = Mid(Число, 1, 1) vtoroe = Right(Число, 1) Select Case pervoe Case 1 Select Case vtoroe Case 0 ЧислаВТекст = "десять" Exit Function Case 1 ЧислаВТекст = "одиннадцать" Exit Function Case 2 ЧислаВТекст = "двенадцать" Exit Function Case 3 ЧислаВТекст = "тринадцать" Exit Function Case 4 ЧислаВТекст = "четырнадцать" Exit Function Case 5 ЧислаВТекст = "пятнадцать" Exit Function Case 6 ЧислаВТекст = "шестнадцать" Exit Function Case 7 ЧислаВТекст = "семнадцать" Exit Function Case 8 ЧислаВТекст = "восемнадцать" Exit Function Case 9 ЧислаВТекст = "девятнадцать" Exit Function End Select Case 2 ЧислаВТекст = "двадцать" Case 3 ЧислаВТекст = "тридцать" Case 4 ЧислаВТекст = "сорок" Case 5 ЧислаВТекст = "пятьдесят" Case 6 ЧислаВТекст = "шестьдесят" Case 7 ЧислаВТекст = "семьдесят" Case 8 ЧислаВТекст = "восемьдесят" Case 9 ЧислаВТекст = "девяносто" End Select Else second = Mid(Число, 1, 1) End If Select Case vtoroe Case 0 ЧислаВТекст = ЧислаВТекст & "" Case 1 ЧислаВТекст = ЧислаВТекст & " один" Case 2 ЧислаВТекст = ЧислаВТекст & " два" Case 3 ЧислаВТекст = ЧислаВТекст & " три" Case 4 ЧислаВТекст = ЧислаВТекст & " четыре" Case 5 ЧислаВТекст = ЧислаВТекст & " пять" Case 6 ЧислаВТекст = ЧислаВТекст & " шесть" Case 7 ЧислаВТекст = ЧислаВТекст & " семь" Case 8 ЧислаВТекст = ЧислаВТекст & " восемь" Case 9 ЧислаВТекст = ЧислаВТекст & " девять" End Select End Function Public Function дата_1() As String Dim den, month As Variant dnynedely = Array("воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота") den = DatePart("w", Date) - 1 mesiac = Array("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "ноябрь", "Декабрь") month = DatePart("m", Date) - 1 MsgBox "Cегодня " & Date & ", " & dnynedely(den) & " " & mesiac(month), vbOKOnly End Function |
...