Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zadachiinformgotov.doc
Скачиваний:
24
Добавлен:
20.05.2015
Размер:
121.34 Кб
Скачать

Задача 1.

Написать процедуру с именем Proc1, выполняющую следующие действия:

  1. Присвоить переменной Num1 случайное значение от 1 до 9.

  2. С помощью оператора If – Then – Else проверить выполнение условия Num1 = 7. Если результат проверки равен 7, с помощью функции MsgBox выдать сообщение о выигрыше. В противном случае – о проигрыше. Sub Proc1() Dim Num1 as integer Num1=Int ((9*Rnd)+ 1) If Num1=7 then MsgBox “Поздравляем! Победа!” Else MsgBox “ИЗВИНИТЕ, вы проиграли” End If End Sub

Задача 2.

Написать процедуру с именем Proc2, выполняющую следующие действия:

  1. Присвоить переменной Num1 случайное значение от 1 до 9. Для генерации случайного значения использовать процедуру – функцию с именем Function GetRandomNumber().

  2. С помощью оператора If – Then – Else проверить выполнение условия Num1 = 7. Если результат проверки равен 7, с помощью функции MsgBox выдать сообщение о выигрыше. В противном случае – о проигрыше. Sub Proc2() Dim Num1 as integer Num1=GetRandomNumber If Num1=7 then MsgBox “Поздравляем! Победа!” Else MsgBox “ИЗВИНИТЕ, вы проиграли” End If End Sub Function GetRandomNumber() GetRandomNumber = Int ((9*Rnd)+ 1) End Function

Задача 2(старая)

В3=Larger(10.13) на рабочем листе Exel

Function Larger (Number1 As Integer, Number2 As Integer) As Integer

If Number1 > Number2 Then

Larger = Number1

Else

Larger = Number2

End If

End Function

Задача3

Написать процедуру с именем Proc3, выполняющую следующие действия:

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

  2. Если значение введенного пароля равно «Отлично», то с помощью управляющей структуры For Each Sheet In Active WorkBook.Sheets……Next Sheet каждому листу активной рабочей книги задать выполнение следующих действий:

    1. Выбрать лист

    2. Снять защиту с листа

    3. Свойству Visible присвоить значение True.

Если пароль введен неверно, то выдать соответствующее сообщение. Sub Proc3() Dim PassWord as String PassWord = InputBox (“Введите пароль:”) If PassWord = “Отлично” then For Each Sheet in ActiveWorkBook.WorkSheets WorkSheet.Select WorkSheet.Unprotect WorkSheet.Visible = True Next Else MsgBox “Пароль неверен” End If End Sub

Задача3(старая)

Private Sub CallingSub()

Dim FirstName As Integer, SecondName As Integer

FirstName = 10

SecondName = 13

A = Larger (FirstName, SecondName)

MsgBox «Большее из двух значений = » & Larger

End Sub

Function Larger (Number1 As Integer, Number2 As Integer) As Integer

If Number1 > Number2 Then

Larger = Number1

Else

Larger = Number2

End If

End Function

Задача4.

Написать процедуру Proc4, вычисляющую факториал числа по следующему алгоритму:

  1. Ввести число для вычисления его факториала с помощью функции InputBox и присвоить его значение переменной NumberString.

  2. Преобразовать введенное значение в число с помщью функции Val() и присвоить это число переменной Num.

  3. Проверить условие Num>=0. Если да, то выполнить вычисление факториала с помощью цикла For – Next, писвоив переменной Factorial полученное значение. Вывести полученный результат в ячейку А5 активной рабочей книги на Лист1.

  4. Если Num<0, То выдать соответсвующее сообщение. Sub Proc4() Dim NumberString as string Dim Num as integer, I as integer Dim Factorial as Double NumberString = InputBox(“Введите число:”) Num = Val(NumberString) If Num>=0 then Factorial =1 For i=1 to Num Factorial = Factorial*i Next i ActiveWorkBook.WorkSheets(1).Select Range (“A5”)=Factorial Else MsgBox “Факториал отрицательного числа не существует” End If End Sub

Задача5.

Написать процедуру Proc5 с использованием управляющей структуры Select Case, выполняющую следующие действия:

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

  2. Используя стуктуру Select Case и переменную PassWord в зависимости от значения введенного пароля, описать выполнеиние следующих действий с листами активной рабочей книги:

    1. Если PassWord= «Отлично», то с рабочего листа с именем «Продажи» снять защиту и с помощью свойства Visible отменить скрытие этого рабочего листа.

    2. Если PassWord= «Хорошо», то снять защиту со 2го рабочего листа.

    3. Если пароль введен неверно, то выдать соответствующее сообщение с помощью функции MsgBox. Sub Proc5() Dim PassWord as String PassWord = InputBox (“Введите пароль:”) Select Case PassWord Case “Отлично” WorkSheet(“Продажи”).Unprotect WorkSheet(“Продажи”).Visible = True Case “Хорошо” WorkSheet(2).Unprotect Case Else MsgBox “Неверный пароль” End Select End Sub

Задача6.

Написать процедуру Proc6 с использованием управляющей структуры For-Each- Next, выполняющую в активной рабочей книге следующие дествия:

  1. Выполнить выделение каждого рабочего листа (объект SheetVar).

  2. Снять защиту с рабочего листа.

  3. Сделать рабочий стол видимым.

  4. Вывести имя рабочего листа в окно сообщения.

Sub Proc6 ( ) Dim SheetVar As Worksheet For Each SheetVar In ActiveWorkBook.Worksheets SheetVar.Select SheetVar.Unprotect SheetVar.Visible=True MsgBox SheetVar. Name Next End Sub

Задача 7.

Написать процедуру Ргос7 с использованием управляющей структуры For- Each- Next, выполняющую с объектом Range в активной рабочей книге следующие действия:

1. Выделить рабочий Лист 1.

2. Для каждой ячейки диапазона "Al :F20" выделенного рабочего листа выполнить:

♦ Если содержимое ячейки из этого диапазона не равно 25, то установить для нее размер шрифта 18, полужирный, цвет заливки - красный (3).

♦ Если содержимое ячейки равно 25, то никаких действий не предпринимать.

Sub Proc7() Dim Cell As Range ActiveWorkBook.WorkSheet("Лист1").Select For Each Cell In Range("A1:F20") If Cell.Value<>25 Then With Cell.Font .Size=18 .Bold=True .ColorIndex=3 End With End If Next End Sub