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

Задача 22

Написать процедуру Ргос10 с использованием управляющей структуры For-

Each - Next, вьшолняющую следующие действия:

1. Создать десять новых рабочих книг с использованием метода Add и расположить их окна на экране мозаикой метод (Arrange). 2. С помощью функции MsgBox() выдать сообщение о расположении

oкон.3. С помощью управляющей структуры For- Each- Next закрыть все книги

в приложении Excel, кроме той, в которой размещена сама процедура (обращение к этой книге This Workbook).

4. Развернуть окно активной рабочей книги на всю рабочую область окна

Excel, применив свойство WindowState. Sub Proc10() Dim i as Integer, Dim Book as Workbook For I = 1 to 10 Workbooks.Add Next Windows.Arrange MsgBox “Окна упорядочены мозаикой” For Each Book in Application.WorkBooks If Book.Name <> ThisWorkBook.Name then Book.Close End If Next ActiveWindow.WindowState = xlMaximized End Sub

Задача 23

Напишите процедуру Ргос15. Она должна выполнять следующие действия.

• Запрашивать у пользователя имя покупателя и сохранять его в перемен­ной CustName.

• Запрашивать количество покупок, сделанных покупателем за месяц и со-I хранять его в переменной Nproduct.

Очищать переменную SumMoney для накопления суммы потраченных денег на все покупки за месяц.

• Подсчитать количество потраченных денег на все покупки с использова­нием управляющей структуры For - Next, внутри которой осуществлять ввод количества денег потраченных на каждую покупку, сохранив его в переменной Money. Результат суммирования присваивать переменной SumMoney.

• Результат подсчета выдавать в окне сообщения с соответствующим тек­стовым пояснением. Sub Proc15() Dim CustName as String Dim Nproduct as Integer, SumMoney as Integer, Money as Integer, I as Integer CustName = InputBox (“Введите имя клиента:”) Nproduct = InputBox (“Введите количество покупок клиента:”) SumMoney = 0 For I = 1 to Nproduct Money = InputBox (“Введите цену” & I & “покупки:”) SumMoney = SumMoney + Money Next I MsgBox “Сумма покупок за месяц равна” & SumMoney End Sub

Задача 24

Открыть книгу Excel "Торговый дом" па рабочем листе с именем "Торговые операции". Нa рабочем листе создан список, состоящий из двух полей: названия полей "Код продукта", "Цена продукта" расположены в ячейках A3 и ВЗ соответственно. Количество записей в этом списке заранее неиз­вестно. Написать программный код процедуры выдачи на экран с помощью функции MsgBox информации о цене продукта, код которого вводится с кла­виатуры с помощью функции Input Box. Пояснения для составления проце­дуры:- использовать два массива для размещения в них кодов продуктов и цен на продукты соответственно;- подсчитать общее количество продукции, затем переопределить раз­мер двух массивов;- в цикле For эти массивы заполнить данными столбцов А и В;- запросить у пользователя ввести код продукта и присвоить введенное значение переменной. Затем еще в одном цикле For просмотреть мас­сив кодов продукта в поиске введенного кода продукта;- если код найден, то в переменной сохранить цену продукта по найденному коду, осуществить досрочный выход из цикла и вывести цену в окно сообщения. В противном случае вывести сообщение о ненайденном товаре;

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

Sub LookUpPriceO

Dim ProdCode() As String, UnitPriceQ As Currency, ReguestedPrice As Currency, Nproducts As

Integer, i As Integer, Found As Boolean, ReguestedCode As String

With Active Workbook. Worksheets( "Продажи" ).Range("A3")

Nproducts = Range(.Offset(1, 0), .End(xlDown)).Rows.Count

ReDim ProdCode(Nproducts)

ReDim UnitPrice(Nproducts)

For i = 1 To Nproducts

ProdCode(i) = .Offsetfi, 0)

UnitPrice(i) = .Offset(i, 1)

Next i

End With

ReguestedCode = InputВох("Введите код товара(большая буква и четыре цифры)")

Found = False

For i = 1 То Nproducts

If ProdCode(i) = ReguestedCode Then

Found = True

ReguestedPrice = UnitPrice(i)

End If

Next i

If Found Then

MsgBox "Товар с кодом " & ReguestedCode & " стоит " & Format(ReguestedPrice, "0.00р."),

vbInformation, "Товар найден"

Else

MsgBox "Товара с кодом " & ReguestedCode & " нет в списке ", vbInformation, "Товар не найден"

End If End Sub(на след строчке)