powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / People, I need help!
25 сообщений из 25, страница 1 из 1
People, I need help!
    #33647995
sanja55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребят, выручайте! Такая ситуация, что мой информатик чтобы поставить зачет сказал что нужно сделать 2 задания, я обзвонив всех друзей, знакомых, знакомых учителей, которые хоть как-то могли бы мне помочь, понял, что кроме вас мне не к кому больше обратиться по этому вопросу . Вот эти 2 задачи

1) Заданное число А=0,53125 представить в разрядной сетке с одинарной точностью (тип числа SINGLE для VBA).

2) На листе электронной таблицы размещены значения одномерного массива (количество элементов равно 10). Найти минимальный элемент среди нечетных элементовмассива и поместить его на 5-ой строке в колонке С. Написать текст программы на языке программирования VBA.

Заранее спасибо за помощь.
...
Рейтинг: 0 / 0
People, I need help!
    #33648012
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, и...?
Что вызвало затруднения или трудности? В чем вопрос-то?
или это не вопрос, а ЗАПРОС из разряда "дяденьки, сделайте за-бесплатно!" ?
...
Рейтинг: 0 / 0
People, I need help!
    #33648019
sanja55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот первое я если честно вообще не знаю как делать, а второе я сделал вот так :
Sub Макрос()
Dim ProvZnach As Integer
ProvZnach = Cells(1, 1)
For i = 1 To 10
If i Mod 2 <> 0 Then
If ProvZnach > Cells(1, i) Then
ProvZnach = Cells(1, i)
End If
End If
Next
Cells(5, 3) = ProvZnach
End Sub
Это правильно?
...
Рейтинг: 0 / 0
People, I need help!
    #33648025
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. перевести число в двоичную систему счисления
2. представить его в экспоненциальной форме
3. получить исходный порядок и мантиссу
4. получить смещенный порядок
...
Рейтинг: 0 / 0
People, I need help!
    #33648028
sanja55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а второе правильно?
...
Рейтинг: 0 / 0
People, I need help!
    #33648031
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanja55Вот первое я если честно вообще не знаю как делать, а второе я сделал вот так :
Sub Макрос()
Dim ProvZnach As Integer
ProvZnach = Cells(1, 1)
For i = 1 To 10
If i Mod 2 <> 0 Then
If ProvZnach > Cells(1, i) Then
ProvZnach = Cells(1, i)
End If
End If
Next
Cells(5, 3) = ProvZnach
End Sub
Это правильно?
Зависит от того, что понимается под "нечетным элементом массива" - нечетное значение элемента или нечетный порядковый номер элемента...
Если порядковый номер, то правильно

По представлению данных в памяти ЭВМ (разрядные сетки и т.д.) смотрите тут
...
Рейтинг: 0 / 0
People, I need help!
    #33648052
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sanja552) На листе электронной таблицы размещены значения одномерного массива (количество элементов равно 10). Найти минимальный элемент среди нечетных элементовмассива и поместить его на 5-ой строке в колонке С. Написать текст программы на языке программирования VBA.


Если поиск минимального значения среди нечетных значений элементов массива.

Данные:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
     A
1   10
2   25
3   30
4   45
5   50
6   65
7   70
8   85
9   90
10  105

Программа:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Sub FindMin()
    Dim rng As Range
    Dim lngMin As Long
    Dim blnFirst As Boolean
    
    Set rng = Worksheets("Лист1").Range("A1:A10")
    
    blnFirst = True
    
    For Each rng In rng.Cells
        If CBool(rng.Value Mod  2 ) Then
            If blnFirst Then
                lngMin = rng.Value
                blnFirst = Not blnFirst
            Else
                If rng.Value < lngMin Then
                    lngMin = rng.Value
                End If
            End If
        End If
    Next rng
    
    Worksheets("Лист1").Range("C5") = lngMin
End Sub

И еще, ты пишешь минимальное, а сам ищещь максимальное.

If ProvZnach < Cells(1, i) Then
ProvZnach = Cells(1, i)
End If
...
Рейтинг: 0 / 0
People, I need help!
    #33648054
sanja55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С первым у меня получилось что 0,53125 = 0,10001 в двоичной
1,0001Е-1
р исх = -1 Р смещ = 127-1=126

а как 126 перевести в двоичную систему?
...
Рейтинг: 0 / 0
People, I need help!
    #33648162
sanja55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sub Макрос()
Dim ProvZnach As Integer
ProvZnach = Cells(1, 1)
For i = 1 To 10
If i Mod 2 <> 0 Then
If ProvZnach < Cells(1, i) Then
ProvZnach = Cells(1, i)
End If
End If
Next
Cells(5, 3) = ProvZnach
End Sub


Я щас попробовал в VB это сделать - ниче не получилось, он, как я понял, просто выводит в (5,3) число из (1,1)...((((( Что делать?
...
Рейтинг: 0 / 0
People, I need help!
    #33648203
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У тебя цикл идет по столбцам, а не по строкам.

Cells( [RowIndex] , [ColumnIndex] )

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sub Макрос()
    Dim i As Integer
    Dim ProvZnach As Integer
    
    ProvZnach = Cells( 1 ,  1 )
    
    For i =  1  To  10 
        If i Mod  2  <>  0  Then
            If Cells(i,  1 ) < ProvZnach Then
                ProvZnach = Cells(i,  1 )
            End If
        End If
    Next i
    
    Cells( 5 ,  3 ) = ProvZnach
End Sub
...
Рейтинг: 0 / 0
People, I need help!
    #33648220
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здесь, ты вначале правильно написал. Мое утверждение по поводу знака, прошу считать недействительным. :)

Код: plaintext
1.
2.
If ProvZnach > Cells(i,  1 ) Then
    '...
End If
...
Рейтинг: 0 / 0
People, I need help!
    #33648242
sanja55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sub Ìàêðîñ1()
Dim i As Integer
Dim ProvZnach As Integer

ProvZnach = Cells(1, 1)

For i = 1 To 10
If i Mod 2 <> 0 Then
If Cells(i, 1) > ProvZnach Then
ProvZnach = Cells(i, 1)
End If
End If
Next i

Cells(5, 3) = ProvZnach
End Sub


Делаю так, он опять мне выдает просто число из (1,1) хотя оно не является минимальным элементом среди нечетных элементов массива( Блин!! Help me!^)
...
Рейтинг: 0 / 0
People, I need help!
    #33648302
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ты невнимательно читаешь.

Обрати внимание на расположение операторов и знак.

Мой вариант.

Код: plaintext
1.
2.
    If Cells(i,  1 ) < ProvZnach Then
        ProvZnach = Cells(i,  1 )
    End If

То же самое, что написал ты в начале.

Код: plaintext
1.
2.
    If ProvZnach > Cells(i,  1 ) Then
        ProvZnach = Cells(i,  1 )
    End If

Эти варианты приведут к одинаковому результату.
...
Рейтинг: 0 / 0
People, I need help!
    #33648338
sanja55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ashton, пасибо тебе огромное!!!!!!!!!!!! Все получилось!!!!!! ;) А ты знаешь, как перевести число 126 в двоичную систему?
...
Рейтинг: 0 / 0
People, I need help!
    #33648387
sanja55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АААА, нет он работает только он просто выдает минимальное значение, а не минимальное среди нечетных....:(


Sub Ìàêðîñ1()
Dim i As Integer
Dim ProvZnach As Integer

ProvZnach = Cells(1, 1)

For i = 1 To 10
If i Mod 2 <> 0 Then
If Cells(i, 1) < ProvZnach Then
ProvZnach = Cells(i, 1)
End If
End If
Next i

Cells(5, 3) = ProvZnach
End Sub
...
Рейтинг: 0 / 0
People, I need help!
    #33648410
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanja55А ты знаешь, как перевести число 126 в двоичную систему?
Код: 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.
35.
36.
37.
38.
39.
40.
41.
42.
43.
' Символы системы счисления (до 35-ричной)
Private Const strChars          As String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Public Const CONST_MAX_DIGIT    As Integer =  36       ' Система счисления по умолчанию
Public Const CONST_LEN_ID       As Integer =  7           ' Длина значащей части ID


' ============================================================
' Назначение:
'           Перевод десятичного числа в lngDigit-ую систему счисления
' Аргументы:
'           Число в десятичном представлении
'           Новая система счисления
'           Маска ввода
' Автор:    nibbles&sql.ru
' Пример: debug.print ConvertFromAny(126,2)
' ============================================================
Public Function ConvertFromAny(ByVal lngValue As Double, _
                                Optional ByVal iDigit As Integer = CONST_MAX_DIGIT, _
                                Optional ByVal iMaskFull As Integer = CONST_LEN_ID) As String
Dim a           As Double
Dim a1          As Double
Dim b           As Double

    ConvertFromAny = ""
    If lngValue <  0  Then Exit Function
    a1 = lngValue
    Do
        ' Результат целочисленного деления
        a = Int(a1 / iDigit)
        b = a1 - iDigit * a
        ConvertFromAny = Mid$(strChars, b +  1 ,  1 ) & ConvertFromAny
        a1 = a
        If a < iDigit And a >  0  Then
            ConvertFromAny = Mid$(strChars, a +  1 ,  1 ) & ConvertFromAny
            Exit Do
        End If
    Loop While a >  0 

    ' Добить маской
    If Len(ConvertFromAny) < iMaskFull Then
        ConvertFromAny = String$(iMaskFull - Len(ConvertFromAny), "0") & ConvertFromAny
    End If

End Function
...
Рейтинг: 0 / 0
People, I need help!
    #33648425
sanja55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я немного не это имел в виду, мне нужно просто перевести 126 в двоичную систему, а не с помощью программы.... ну всмысле например 88 в шестнадцатиричной = это 10001000 в двоичной, а 126 (в десятичной) чему равно в двоичной??
...
Рейтинг: 0 / 0
People, I need help!
    #33648438
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sanja55АААА, нет он работает только он просто выдает минимальное значение, а не минимальное среди нечетных....:(
Все нормально работает программа ищет минимум среди нечетных порядковых номеров элементов массива.
...
Рейтинг: 0 / 0
People, I need help!
    #33648451
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanja55я немного не это имел в виду, мне нужно просто перевести 126 в двоичную систему, а не с помощью программы.... ну всмысле например 88 в шестнадцатиричной = это 10001000 в двоичной, а 126 (в десятичной) чему равно в двоичной??
"1111110"
...
Рейтинг: 0 / 0
People, I need help!
    #33648454
sanja55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Аштон, да это я там просто в одной строчке ошибся, извини, спасибо тебе огромное!:) А что такое ProvZnach?...это наверное совсем глупый вопрос, это назвыание массива?
...
Рейтинг: 0 / 0
People, I need help!
    #33648587
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sanja55Аштон, да это я там просто в одной строчке ошибся, извини, спасибо тебе огромное!:) А что такое ProvZnach?...это наверное совсем глупый вопрос, это назвыание массива?
Как же так, ты написал программу, а не знаешь, что такое ProvZnach? :)

ProvZnach - это переменная с типом данных "Integer", предназначенная для хранения целых цисел, в нашем случае, в ней мы сохраняем минимальное значение среди нечетных порядковых номеров элементов массива.
...
Рейтинг: 0 / 0
People, I need help!
    #33650437
sanja55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ashton, спасибо тебе еще раз огромное, не знаю что бы без тебя делал... :)
...
Рейтинг: 0 / 0
People, I need help!
    #33650460
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я могу вспомнить алгоритм где 1=0 или 2=1, точно не помню. Если хочешь выпендртся перед матиматиком, то подкину. Вообще это секреты физтеха и матмеха.
...
Рейтинг: 0 / 0
People, I need help!
    #33650491
sanja55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreyMp , всмысле алгоритм где 1=0 или 2=1???
...
Рейтинг: 0 / 0
People, I need help!
    #33650921
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreyMpЯ могу вспомнить алгоритм где 1=0 или 2=1, точно не помню. Если хочешь выпендртся перед матиматиком, то подкину. Вообще это секреты физтеха и матмеха.

хотя немного не по теме, но очень интересно, в целях самообразования
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / People, I need help!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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