Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / макрос / 5 сообщений из 5, страница 1 из 1
11.12.2007, 23:03:33
    #35002735
Bella_8686
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
макрос
привет!
подскажите, пожалуйста!!!!
1.Запишите код функции, при помощи которой можно решить следующую задачу: сложение с самим собой числа, переданного в качестве параметре( по ссылке) до тех пор, пока сумма не превысит 2000. Функция должна возвращать количество произвндённых опереций сложения. Предусмотрите случай, когда пользователь может передать в функцию отрицательное число или число, больше 1237.
2.Запишите код функции, при помощи которой можно решить следующую задачу: нахождение минимального и максимального элнмента массива. Массив передаётся в функцию в качестве параметра, из функции возвращается произведение минимального и максимального элемента.
У МЕНЯ ЭКЗАМЕН!!!!!
БУДУ БЛАГОДАРНА!!!!!!
...
Рейтинг: 0 / 0
12.12.2007, 07:59:19
    #35003019
!GUEST!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
макрос
все идет к тому, что диплом всему форуму вручать будут!!
...
Рейтинг: 0 / 0
12.12.2007, 09:23:53
    #35003115
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
макрос
Bella_8686
2.Запишите код функции, при помощи которой можно решить следующую задачу: нахождение минимального и максимального элнмента массива. Массив передаётся в функцию в качестве параметра, из функции возвращается произведение минимального и максимального элемента.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Public Sub TestProcessArray()
Const ARRAY_DIM As Long =  50 

Dim ar(ARRAY_DIM) As Long
Dim i As Long
Randomize
For i =  0  To ARRAY_DIM
    ar(i) = Rnd(i) *  100  +  1 
    Debug.Print ar(i);
Next i
Debug.Print vbCrLf & ProcessArray(ar())
End Sub

Public Function ProcessArray(ByRef p_array() As Long) As Long
    With Application.WorksheetFunction
        ProcessArray = .Max(p_array()) * .Min(p_array())
    End With
End Function

Bella_8686
БУДУ БЛАГОДАРНА!!!!!!
Можете начинать
...
Рейтинг: 0 / 0
12.12.2007, 10:17:12
    #35003246
sqrk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
макрос
А вот и решение первой задачки.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Sub Culc(number As Single)
    Dim ii As Single
    Dim count As Integer
    
    count =  0 
    
    Select Case number
        Case Is <  0 
            MsgBox "Ââåäèòå ïîëîæèòåëüíîå ÷èñëî"
        Case Is >  1237 
             MsgBox "Ââåäèòå ìåíüøåå ÷èñëî"
        Case Else
            Do
            ii = ii + CSng(number)
            count = count +  1 
            Loop While ii <  2000 
            MsgBox "Êîëè÷åñòâî ñëîæåíèé " & count
    End Select
End Sub
...
Рейтинг: 0 / 0
12.12.2007, 10:23:03
    #35003268
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
макрос
Решение первой задачи - 2 функции
1-я по заданию, а вторая более правильная на мой взгляд, т.к. без цикла

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Sub primer()
Dim n
n =  5 
Debug.Print ArgCount(n)
Debug.Print ArgCount2(n)
End Sub

Public Function ArgCount(ByVal cifira As Double) As Long
 Dim mySum As Double
 
    If cifira <=  0  Or cifira >  1237  Then
     MsgBox "Агрумент должен находится в пределах от 0 до 1237" & Chr( 10 ) & _
            "Выполнение функции будет прервано"
     Exit Function
    End If
    
    Do
     mySum = mySum + cifira
     ArgCount = ArgCount +  1 
    Loop While mySum <=  2000 
    
End Function

Public Function ArgCount2(ByVal cifira As Double) As Long
 Dim mySum As Double
 
    If cifira <=  0  Or cifira >  1237  Then
     MsgBox "Агрумент должен находится в пределах от 0 до 1237" & Chr( 10 ) & _
            "Выполнение функции будет прервано"
     Exit Function
    End If
    
    ArgCount2 = Fix(Round( 2000  / cifira,  10 )) +  1 
    
End Function
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / макрос / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]