Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Pudgemann
0 / 0 / 0
Регистрация: 25.12.2014
Сообщений: 14
1

Определить, какая из переменных является радиусом, какая – диаметром

25.12.2014, 23:34. Просмотров 553. Ответов 12
Метки нет (Все метки)

Здравствуйте!
Вот такое задание дали, в университете, пытаюсь разобраться, но не получается:

Даны r1, r2, r3.
Определить, какая из переменных является радиусом, какая – диаметром, а какая - длиной окружности.

Выдает ошибку Block If without End If, что мне надо исправить?
Visual Basic
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
Sub LABA2()
Dim i As Integer
Dim r1, r2, r3 As Single
Dim s As String
r1 = Range(1, 2)
r2 = Range(2, 2)
r3 = Range(3, 2)
If r2 = (r2 * r1) And r3 = (3.14 * r2) Then
s = "r1 = радиус, r2 = диаметр, r3 = длина"
Else
If r1 = (r2 * 2) And r3 = (3.14 * r1) Then
s = "r1 = диаметр,r2 = радиус, r3 = длина"
Else
If r2 = (r3 * 2) And r1 = (3.14 * r2) Then
s = "r3 = радиус, r2 = диаметр,r1 = длина"
Else
If r3 = (r2 * 2) And r1 = (3.14 * r3) Then
s = "r2 = радиус, r3 = диаметр, r1 = длина"
Else
If r3 = (r1 * 2) And r2 = (3.14 * r3) Then
s = "r1 = радиус, r3 = диаметр, r2 = длина
If r1 = (r3 * 2) And r2 = (3.14 * r1) Then
s = "r3 = радиус, r1 = диаметр, r2 = длина"
Else
s = "не является"
End If
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2014, 23:34
Ответы с готовыми решениями:

Определить какая из точек лежит на окружности, какая внутри окружности, а какая вне окружности
Не могу не как понять какую формулу писать Вот задания Заданы координаты...

Определить, какая из дат - поздняя
Пользователь вводит в textBox1 одна дату: дд.мм.гггг и в textBox2 другую дату....

Определить, какая из точек b или с расположена ближе к а
1.Дана последовательность целых чисел а1, а2,..., а10, элементы которой...

Определить, какая дата из двух более ранняя
Всем добрый день. Немогли бы вы помочь с данной проблемой. Нужно из первого...

Определить какая буква встречается во всех трех словах максимальное количество раз
Ввести три слова х1, х2, х3. Определить какая буква встречается во всех трех...

12
Alex77755
10738 / 3311 / 549
Регистрация: 13.02.2009
Сообщений: 9,746
26.12.2014, 00:23 2
Закрыть If
Бейсик же кричит!
Блок, если без Конца, если
Добавлено через 1 минуту
Следующая ошибка ожидается на строке 5
0
Pudgemann
0 / 0 / 0
Регистрация: 25.12.2014
Сообщений: 14
26.12.2014, 00:39  [ТС] 3
Я просто не совсем могу понять, что вы подразумеваете, можете пожалуйста по подробнее на какой конкретно строке проблема

Добавлено через 1 минуту
Вы бы могли помочь мне разобраться?

Добавлено через 1 минуту
Alex77755, я просто не совсем разбираюсь в программировании, даже на таком уровне
0
Alex77755
10738 / 3311 / 549
Регистрация: 13.02.2009
Сообщений: 9,746
26.12.2014, 00:56 4
1. Зачем такк много открывать If?
Visual Basic
1
2
Else
If
такая комбинация требует закрытия End if
В результате перед End Sub надо вставить ещё 5 End If
0
Pudgemann
0 / 0 / 0
Регистрация: 25.12.2014
Сообщений: 14
26.12.2014, 00:59  [ТС] 5
Спасибо, а как сделать чтобы только один раз End If, извиняюсь за глупый вопрос
0
Alex77755
10738 / 3311 / 549
Регистрация: 13.02.2009
Сообщений: 9,746
26.12.2014, 00:59 6
Кликните здесь для просмотра всего текста
Visual Basic
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
Sub LABA2()
Dim i As Integer
Dim r1, r2, r3 As Single
Dim s As String
r1 = Range(1, 2)
r2 = Range(2, 2)
r3 = Range(3, 2)
    If r2 = (r2 * r1) And r3 = (3.14 * r2) Then
        s = "r1 = радиус, r2 = диаметр, r3 = длина"
    Else
        If r1 = (r2 * 2) And r3 = (3.14 * r1) Then
            s = "r1 = диаметр,r2 = радиус, r3 = длина"
        Else
            If r2 = (r3 * 2) And r1 = (3.14 * r2) Then
                s = "r3 = радиус, r2 = диаметр,r1 = длина"
            Else
                If r3 = (r2 * 2) And r1 = (3.14 * r3) Then
                    s = "r2 = радиус, r3 = диаметр, r1 = длина"
                Else
                    If r3 = (r1 * 2) And r2 = (3.14 * r3) Then
                        s = "r1 = радиус, r3 = диаметр, r2 = длина"
                        If r1 = (r3 * 2) And r2 = (3.14 * r1) Then
                            s = "r3 = радиус, r1 = диаметр, r2 = длина"
                        Else
                            s = "не является"
                        End If
                    End If
                End If
            End If
        End If
    End If
End Sub


Но с ElseIf будет короче
Кликните здесь для просмотра всего текста

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub LABA22()
Dim i As Integer
Dim r1, r2, r3 As Single
Dim s As String
r1 = Range(1, 2)
r2 = Range(2, 2)
r3 = Range(3, 2)
    If r2 = (r2 * r1) And r3 = (3.14 * r2) Then
        s = "r1 = радиус, r2 = диаметр, r3 = длина"
        ElseIf r1 = (r2 * 2) And r3 = (3.14 * r1) Then
        s = "r1 = диаметр,r2 = радиус, r3 = длина"
        ElseIf r2 = (r3 * 2) And r1 = (3.14 * r2) Then
        s = "r3 = радиус, r2 = диаметр,r1 = длина"
        ElseIf r3 = (r2 * 2) And r1 = (3.14 * r3) Then
        s = "r2 = радиус, r3 = диаметр, r1 = длина"
        ElseIf r3 = (r1 * 2) And r2 = (3.14 * r3) Then
        s = "r1 = радиус, r3 = диаметр, r2 = длина"
            If r1 = (r3 * 2) And r2 = (3.14 * r1) Then
            s = "r3 = радиус, r1 = диаметр, r2 = длина"
            Else
            s = "не является"
            End If
    End If
End Sub
0
Pudgemann
0 / 0 / 0
Регистрация: 25.12.2014
Сообщений: 14
26.12.2014, 01:01  [ТС] 7
А вот информацию берем из трех ячеек, а куда он ответ выводит?
Как сделать чтобы например в ячейку (5,5) выдал?
0
Alex77755
10738 / 3311 / 549
Регистрация: 13.02.2009
Сообщений: 9,746
26.12.2014, 01:04 8
А вот информацию берем из трех ячеек
А берём ли? У меня выдаёт ошибку
0
Pudgemann
0 / 0 / 0
Регистрация: 25.12.2014
Сообщений: 14
26.12.2014, 01:06  [ТС] 9
Run-time erorr 1004?

Добавлено через 34 секунды
Просто я пытаюсь загуглить, но ничего путного не нашел
0
Alex77755
10738 / 3311 / 549
Регистрация: 13.02.2009
Сообщений: 9,746
26.12.2014, 01:10 10
Range требует имя ячейки Range("A1")
Cells нужны координаты: (номер строки, номер столбца)
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub LABA22()
Dim i As Integer
Dim r1, r2, r3 As Single
Dim s As String
r1 = Cells(1, 2)
r2 = Cells(2, 2)
r3 = Cells(3, 2)
    If r2 = (r2 * r1) And r3 = (3.14 * r2) Then
            s = "r1 = радиус, r2 = диаметр, r3 = длина"
        ElseIf r1 = (r2 * 2) And r3 = (3.14 * r1) Then
            s = "r1 = диаметр,r2 = радиус, r3 = длина"
        ElseIf r2 = (r3 * 2) And r1 = (3.14 * r2) Then
            s = "r3 = радиус, r2 = диаметр,r1 = длина"
        ElseIf r3 = (r2 * 2) And r1 = (3.14 * r3) Then
            s = "r2 = радиус, r3 = диаметр, r1 = длина"
        ElseIf r3 = (r1 * 2) And r2 = (3.14 * r3) Then
            s = "r1 = радиус, r3 = диаметр, r2 = длина"
        ElseIf r1 = (r3 * 2) And r2 = (3.14 * r1) Then
            s = "r3 = радиус, r1 = диаметр, r2 = длина"
        Else
            s = "не является"
    End If
    Cells(5, 2) = s
End Sub
1
Pudgemann
0 / 0 / 0
Регистрация: 25.12.2014
Сообщений: 14
26.12.2014, 01:12  [ТС] 11
То есть Cells r1=(1,2) так надо написать?

Добавлено через 52 секунды
Спасибо большое, осталось все понять)
0
Alex77755
10738 / 3311 / 549
Регистрация: 13.02.2009
Сообщений: 9,746
26.12.2014, 01:12 12
Послений код смотрел?
0
Pudgemann
0 / 0 / 0
Регистрация: 25.12.2014
Сообщений: 14
26.12.2014, 01:17  [ТС] 13
Да все отлично работает, спасибо огромное, просто в голове прокрутить надо

Добавлено через 3 минуты
А вот последний момент, он же структурирован?(код)
Просто нам говорят,, делать структурировано, так как тяжело читать
0
26.12.2014, 01:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2014, 01:17

Определить какая буква встречается во всех трех словах максимальное количество раз
Определить какая буква встречается во всех трех словах максимальное количество...

На оси ОХ расположены три точки а, b, с. Определить, какая из точек b или с расположена ближе к а
Помогите решить.Практические сдавать надо,а в этом мало понимаю.

Дано натуральное четырехзначное число. Определить, какая цифра больше, первая или последняя
1задание Дано натуральное четырехзначное число. Определить, какая цифра...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru