powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Задача vba
25 сообщений из 107, страница 3 из 5
Задача vba
    #39880940
gembird
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запрограммируйте шуточный тест "Проверь свои возможности". Пользователю предлагается ответить на 7 вопросов:
1) Профессор лёг спать в 8 часов, а встал в 9 часов. Сколько часов проспал профессор? (1)
2) На двух руках 10 пальцев. Сколько пальцев на 10?(50)
3) Сколько цифр в дюжине?(2)
4) Сколько нужно сделать запилов, чтобы распилить бревно на 12 частей? (11)
5) Врач сделал три укола в интервале 30 минут. Сколько времени он затратил? (30)
6) Сколько цифр 9 в интервале 1 100? (1)
7) У пастуха было 30 овец. Все кроме одной разбежались. Сколько овец осталось? (1)
Оценка ответов пользователя:
- если 7 правильных, то печатается "Гений";
- если 6 правильных, то печатается "Эрудит";
- если 5 правильных, то печатается "Нормальный";
- если 4 правильных, то печатается "Способности средние";
- если 3 правильных, то печатается "Способности ниже среднего";
- если <2 правильных, то печатается "Вам надо отдохнуть!".
Если сложить все ответы на вопросы (если не углубляться, что ответ номер 6 не верен), то сумма верных ответов равна 94, это даст нам MsgBox"Гений", вот дальше как найти 6 правильных ответов? Перебирать все варианты?
...
Рейтинг: 0 / 0
Задача vba
    #39880944
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gembirdЕсли сложить все ответы на вопросы ..., то сумма верных ответов равна 94Вообще не туда полез
Если на первый вопрос ответят 2, а на второй 49, то в сумме будет всё равно 94, так что этот метод никак не даст тебе возможность проверить правильность ответов.
...
Рейтинг: 0 / 0
Задача vba
    #39880971
gembird
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub Test()

Dim n1 As Byte, n2 As Byte, n3 As Byte, n4 As Byte, n5 As Byte, n6 As Byte, n7 As Byte
n1 = Range("a21")
n2 = Range("a22")
n3 = Range("a23")
n4 = Range("a24")
n5 = Range("a25")
n6 = Range("a26")
n7 = Range("a27")
If n1 = 1 And n2 = 50 And n2 = 2 And n4 = 11 And n5 = 30 And n6 = 1 And n7 = 1 Then
    MsgBox ("&#195;&#229;&#237;&#232;&#233;")
    End If
    
...
Рейтинг: 0 / 0
Задача vba
    #39880978
gembird
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 If n1 <> 1 And n2 = 50 And n4 = 11 And n5 = 30 And n6 = 1 And n7 = 1 Then
    MsgBox ("Эрудит")
    End If
 If n1 = 1 And n2 <> 50 And n2 = 2 And n4 = 11 And n5 = 30 And n6 = 1 And n7 = 1 Then
    MsgBox ("Эрудит")
    End If
If n1 = 1 And n2 = 50 And n3 <> 2 And n4 = 11 And n5 = 30 And n6 = 1 And n7 = 1 Then
   MsgBox ("Эрудит")
    End If
If n1 = 1 And n2 = 50 And n3 = 2 And n4 <> 11 And n5 = 30 And n6 = 1 And n7 = 1 Then
   MsgBox ("Эрудит")
    End If
If n1 = 1 And n2 = 50 And n3 = 2 And n4 = 11 And n5 <> 30 And n6 = 1 And n7 = 1 Then
   MsgBox ("Эрудит")
    End If
If n1 = 1 And n2 = 50 And n3 = 2 And n4 = 11 And n5 = 30 And n6 <> 1 And n7 = 1 Then
   MsgBox ("Эрудит")
If n1 = 1 And n2 = 50 And n3 = 2 And n4 = 11 And n5 = 30 And n6 = 1 And n7 <> 1 Then
   MsgBox ("Эрудит")
    End If


Уровень "Нормальный" будет еще больше вариантов.
...
Рейтинг: 0 / 0
Задача vba
    #39881004
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё неправильно!

Ты должен определить по каждому пункту, правильный ответ - 1 или неправильный - 0 и просуммировать их

Я же сказал, сначала алгоритм на бумажке нарисуй, а потом будешь программу писать.
...
Рейтинг: 0 / 0
Задача vba
    #39881005
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Будет семь проверок ответов на вопрос и шесть проверок на определение ответа
...
Рейтинг: 0 / 0
Задача vba
    #39881035
gembird
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
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.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
Sub Test()

Dim n1 As Byte, n2 As Byte, n3 As Byte, n4 As Byte, n5 As Byte, n6 As Byte, n7 As Byte
Dim S1 As Byte, S2 As Byte, S3 As Byte, S4 As Byte, S5 As Byte, S6 As Byte, S7 As Byte
n1 = Range("a21")
n2 = Range("a22")
n3 = Range("a23")
n4 = Range("a24")
n5 = Range("a25")
n6 = Range("a26")
n7 = Range("a27")
If n1 = 1 Then
    S1 = 1
Else
        If n1 <> 1 Then
            S1 = 0
            End If
If n2 = 50 Then
    S2 = 1
Else
        If n2 <> 50 Then
            S2 = 0
            End If
 If n3 = 2 Then
    S3 = 1
  Else
        If n3 <> 2 Then
             S3 = 0
            End If
If n4 = 11 Then
    S4 = 1
  Else
        If n4 <> 11 Then
            S4 = 0
            End If
 If n5 = 30 Then
    S5 = 1
   Else
        If n5 <> 30 Then
            S5 = 0
            End If
 If n6 = 1 Then
    S6 = 1
 Else
        If n6 <> 1 Then
        S6 = 0
        End If
 If n7 = 1 Then
    S7 = 1
 Else
        If n7 <> 1 Then
        S7 = 0
        End If
If S1 + S2 + S3 + S4 + S5 + S6 + S7 = 7 Then
    MsgBox ("Гений")
    End If
 If S1 + S2 + S3 + S4 + S5 + S6 + S7 = 6 Then
    MsgBox ("Эрудит")
    End If
If S1 + S2 + S3 + S4 + S5 + S6 + S7 = 5 Then
    MsgBox ("Нормальный")
    End If
If S1 + S2 + S3 + S4 + S5 + S6 + S7 = 4 Then
    MsgBox ("Способности средние")
    End If
 If S1 + S2 + S3 + S4 + S5 + S6 + S7 = 3 Then
    MsgBox ("Способности ниже среднего")
    End If
If S1 + S2 + S3 + S4 + S5 + S6 + S7 = 2 Then
    MsgBox ("Вам надо отдохнуть!".")
    End If
    
End Sub



Выкладываю в таком виде, бумажку (где накидываю всю схему)не могу сюда прикрепить
...
Рейтинг: 0 / 0
Задача vba
    #39881055
gembird
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за внимание.
...
Рейтинг: 0 / 0
Задача vba
    #39881134
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gembird- если <2 правильных, то печатается "Вам надо отдохнуть!".неверно выполнено условие задачи

и совершенно необязательно было создавать семь переменных S а потом их шесть раз суммировать
достаточно было
Код: vbnet
1.
2.
3.
 If n6 = 1 Then
    S = S + 1
 Else
...
Рейтинг: 0 / 0
Задача vba
    #39881256
gembird
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Требуется определить, бьет ли шахматный слон, стоящий на клетке с указанными координатами (номер строки и номер столбца), фигуру, стоящую на другой указанной клетке. Вводятся в ячейках четыре числа: координаты слона и координаты другой фигуры.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sub Shahmat()

Dim x1 As Double, x2 As Double, y1 As Double, y2 As Double
x1 = Range("A30")
x2 = Range("A31")
y1 = Range("B30")
y2 = Range("B31")
If (Abs(x1 - y1) = Abs(x2 - y2)) Or (Abs(x1 + y1) = (x2 + y2)) Then
    MsgBox ("да")
 Else
        MsgBox ("нет
")
         End If

End Sub
...
Рейтинг: 0 / 0
Задача vba
    #39881263
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gembirdВводятся в ячейках четыре числа: координаты слона и координаты другой фигуры.Недостаточно информации. Нужна информация о том, где стоят другие фигуры!

Вот не программисты эти задания пишут, дилетанты, сразу видно.
...
Рейтинг: 0 / 0
Задача vba
    #39881448
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я одно не могу понять нахера в этих задачах Excel и нахера в этих задачах VBA, можно использовать что то одно, а лучше не то и не другое
...
Рейтинг: 0 / 0
Задача vba
    #39881470
gembird
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProgembirdВводятся в ячейках четыре числа: координаты слона и координаты другой фигуры.Недостаточно информации. Нужна информация о том, где стоят другие фигуры!

Вот не программисты эти задания пишут, дилетанты, сразу видно.
У меня предположение, что фигуры всего две на доске слон и еще одна, поэтому всего четыре координаты.
...
Рейтинг: 0 / 0
Задача vba
    #39881521
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gembirdУ меня предположение, что фигуры всего две на доске слон и еще одна, поэтому всего четыре координаты.в программировании нельзя работать с такими предположениями, нужно всегда уточнять, иначе...
...
Рейтинг: 0 / 0
Задача vba
    #39881535
gembird
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даны два целых числа: D (день) и M (месяц), определяющие правильную дату не високосного года. Вывести значения D и M для даты, предшествующей указанной. Подскажите здесь пжлста.
...
Рейтинг: 0 / 0
Задача vba
    #39881538
gembird
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даны два целых числа: D (день) и M (месяц), определяющие правильную дату не високосного года. Вывести значения D и M для даты, предшествующей указанной. Подскажите здесь пжлста.
...
Рейтинг: 0 / 0
Задача vba
    #39881581
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DateSerial и DateAdd
...
Рейтинг: 0 / 0
Задача vba
    #39881591
gembird
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо
...
Рейтинг: 0 / 0
Задача vba
    #39882083
gembird
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Написать программу, которая находит все четырехзначные числа abсd (а, b, с, d — цифры числа, причем между ними нет совпадений, т. е. числа, например, типа 1221 нас не устраивают, т. е. любые две цифры числа различны), для которых выполняется условие: ab-cd=a+b+c+d. Другими словами, разность чисел, составленных из старших цифр числа и из младших, равна сумме цифр числа.
...
Рейтинг: 0 / 0
Задача vba
    #39882085
gembird
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тема урока циклы.
...
Рейтинг: 0 / 0
Задача vba
    #39882086
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перебрать числа от 1000 до 9999 можно через For, как извлечь цифры из числа писали выше, условия проверять ты уже умеешь.
...
Рейтинг: 0 / 0
Задача vba
    #39882108
gembird
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если вот так попробовать?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
For a = 1 To 9
    For b = 0 To 9
        If b <> a Then
            For c = 0 To 9
                If (c <> a) And (c <> b) Then
                    For d = 0 To 9
                        If (d <> a) And (d <> c) And (d <> b) Then
                        Else
                            If a * b - c * d = a + b + c + d Then
                                MsgBox (abcd)
...
Рейтинг: 0 / 0
Задача vba
    #39882115
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gembird,

как вариант - норм.
Попробуй вариант от Shocker и сравни результат.
...
Рейтинг: 0 / 0
Задача vba
    #39882487
gembird
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В столбец водятся десять натуральных чисел больше 2. Посчитать, сколько среди них простых чисел
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
i = 2
For i = 2 To 10
    n = Cells(i, 1)
    i = i + 1
        If n1 = n \ n Or n1 = n \ 1 Then
            Cells(i, 1) = n1
            End If
          Next i


Подскажите пжлста новая тема , не понятно, что не так.
...
Рейтинг: 0 / 0
Задача vba
    #39882591
ИВП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Показал в комментариях
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
i = 2  'Лишнее
For i = 2 To 10
    n = Cells(i, 1)
    i = i + 1  'все ломается здесь!!!!!
    If n1 = n \ n Or n1 = n \ 1 Then
            Cells(i, 1) = n1
    End If   'подвинул строку влево под If - обычно пишут так
Next i ' подвинул строку влево под For - обычно пишут так
...
Рейтинг: 0 / 0
25 сообщений из 107, страница 3 из 5
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Задача vba
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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