|
3 / 0 / 0
Регистрация: 06.04.2011
Сообщений: 35
|
|
Разветвляющиеся вычислительные процессы. Оператор выбора.25.04.2011, 08:16. Показов 2539. Ответов 7
Метки нет (Все метки)
Составить программу для решения задачи, используя оператор выбора. Предусмотреть проверку данных на корректность.
Составить программу, которая запрашивает необходимые измерения геометрических тел (прямоугольный параллелепипед, правильная треугольная пирамида, конус, цилиндр, шар), проверяет данные на корректность и сообщает полную площадь поверхности и объём указанного тела.
0
|
|
| 25.04.2011, 08:16 | |
|
Ответы с готовыми решениями:
7
Разветвляющиеся вычислительные процессы Тема: «Разветвляющиеся алгоритмы. Оператор выбора Циклические вычислительные процессы. Вычислить первые 20 членов |
|
3 / 0 / 0
Регистрация: 06.04.2011
Сообщений: 35
|
|
| 28.04.2011, 01:15 [ТС] | |
|
у меня с Select Cаse не очень(( как задавать??? и нужно ли сравнивать получ значения со случайными S и V???
ааа, мне срочно нужно ![]() Добавлено через 1 час 39 минут вот что я сделала, но где же ошибка? Private Sub MessageR(TypeS As Integer) Dim m As Integer 'íîìåð íàæàòîé êíîïêè íà ñîîáùåíèè If TypeS = 1 Then 'åñëè ÷èñëî óãàäàíî m = MsgBox("Êîëè÷åñòâî ïîïûòîê: " & countR & countl & counth & counta & " Íà÷àòü íîâûé ñåàíñ?", vbOKCancel, "Ñåàíñ îêîí÷åí") Else 'çàêîí÷èëèñü ïîïûòêè m = MsgBox("Ó âàñ çàêîí÷èëèñü ïîïûòêè. Íà÷àòü íîâûé ñåàíñ?", vbOKCancel, "Game over!") End If If m = 1 Then 'Âûáðàíà êíîïêà "ÎÊ" countR = 0 'îáíóëåíèå êîëè÷åñòâà ïîïûòîê countl = 0 'îáíóëåíèå êîëè÷åñòâà ïîïûòîê counth = 0 'îáíóëåíèå êîëè÷åñòâà ïîïûòîê counta = 0 'îáíóëåíèå êîëè÷åñòâà ïîïûòîê Combo5.Text = "" cmbChislo.Text = "" 'Form1.BackColor = R End If End Sub Private Sub Command2_Click() Dim R As Byte, l As Byte, h As Byte, a As Byte Dim countR As Byte, countl As Byte, counth As Byte, counta As Byte Const maxCount As Byte = 10 R = Int(Rnd * 10) l = Int(Rnd * 10) h = Int(Rnd * 10) a = Int(Rnd * 10) Sïîëí = Combo5.Text Chislo = Combo7.Text countR = countR + 1 countl = countl + 1 counth = counth + 1 counta = counta + 1 Select Case Sïîëí Case "ïðÿìîóã. ïàðàëëåëåïèïåä" If Sïîëí = 4 * a * h + 2 * (a ^ 2) Then Label9.Caption = Sïîëí & " - ïàðàë-ä" MessageR (1) Else Label9.Caption = "Íåò" End If Case "Ïðàâ.Òðåóã. ïèðàìèäà" If Sïîëí = ((3 / 2) * a * h) + ((a ^ 2) * (3 ^ 1 / 2)) / 4 Then Label9.Caption = Sïîëí & " - ïðàâ.òåóã.ïèðàìèäà" MessageR (1) Else Label9.Caption = "Íåò" End If Case "öèëèíäð" If Sïîëí = (2 * 3.14 * R) * (h + R) Then Label9.Caption = Sïîëí & " - öèëèíäð" MessageR (1) Else Label9.Caption = "Íåò" End If Case "øàð" If Sïîëí = 4 * 3.14 * (R ^ 2) Then Label9.Caption = Sïîëí & " - øàð" MessageR (1) Else Label9.Caption = "Íåò" End If Case "êîíóñ" If Sïîëí = (3.14 * R) * (l + R) Then Label9.Caption = Sïîëí & " - êîíóñ" MessageR (1) Else Label9.Caption = "Íåò" End If End Select If countR >= maxCount Then MessageR (2) End If If countl >= maxCount Then MessageR (2) End If If counth >= maxCount Then MessageR (2) End If If counta >= maxCount Then MessageR (2) End If End Sub Добавлено через 1 час 27 минут Как задать оператор Select Case в объекте ComboBox (Visual Basic 6.0)? Dim R, l, h, a As Single, Sïîëí As Byte, V As Byte Combo5.AddItem "ïðÿìîóã. ïàðàë-ä" Combo5.AddItem "ïðàâ.òåóã.ïèðàìèäà" Combo5.AddItem "öèëèíäð" Combo5.AddItem "øàð" Combo5.AddItem "êîíóñ" R = Val(Text1.Text) l = Val(Text2.Text) h = Val(Text3.Text) a = Val(Text4.Text) Select Case Combo5.ListIndex Case "ïðÿìîóã. ïàðàë-ä" If Combo5 = "ïðÿìîóã. ïàðàë-ä" Then S = (4 * a * h) + (2 * (a ^ 2)) MsgBox ("S=" & S) End If Case "ïðàâ.òåóã.ïèðàìèäà" S = ((3 / 2) * a * h) + ((a ^ 2) * (3 ^ 1 / 2)) / 4 If Combo5 = "ïðàâ.òåóã.ïèðàìèäà" Then End If MsgBox ("S=" & S) Case "öèëèíäð" If Combo5 = "öèëèíäð" Then S = (2 * 3.14 * R) * (h + R) MsgBox ("S=" & S) End If Case "øàð" If Combo5 = "øàð" Then S = 4 * 3.14 * (R ^ 2) MsgBox ("S=" & S) End If Case "êîíóñ" If Combo5 = "êîíóñ" Then S = (3.14 * R) * (l + R) MsgBox ("S=" & S) End If End Select End Sub Добавлено через 36 минут попыталась сделать еще. не выдает ответа, не пойму где ошибка. вот код: Private Sub Combo5_click() Select Case Combo5.ListIndex Case "ïðÿìîóã. ïàðàë-ä" If Combo5 = "ïðÿìîóã. ïàðàë-ä" Then MsgBox ("S=" & S1) End If Case "ïðàâ.òåóã.ïèðàìèäà" If Combo5 = "ïðàâ.òåóã.ïèðàìèäà" Then MsgBox ("S=" & S2) End If Case "öèëèíäð" If Combo5 = "öèëèíäð" Then MsgBox ("S=" & S3) End If Case "øàð" If Combo5 = "øàð" Then MsgBox ("S=" & S4) End If Case "êîíóñ" If Combo5 = "êîíóñ" Then MsgBox ("S=" & S5) End If End Select End Sub Function S(R As Single, l As Single, h As Single, a As Single) As Single R = Val(Text1.Text) l = Val(Text4.Text) h = Val(Text5.Text) a = Val(Text6.Text) S1 = (4 * a * h) + (2 * (a ^ 2)) S2 = ((3 / 2) * a * h) + ((a ^ 2) * (3 ^ 1 / 2)) / 4 S3 = (2 * 3.14 * R) * (h + R) S4 = 4 * 3.14 * (R ^ 2) S5 = (3.14 * R) * (l + R) End Function А может можно в самом коде посчитать S??
0
|
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
||||||||||||
| 28.04.2011, 08:27 | ||||||||||||
|
По кракозябрам трудно понять(при копировании - язык должен быть русским)
У тебя цифра? Добавлено через 8 минут
Нарисуй фигурки и поставь напротив каждой опцию. И чтоб опции были в массиве. Сделай глобальную переменную. Меня её по щелчку опции - присваивай значения индекса. А потом
1
|
||||||||||||
|
3 / 0 / 0
Регистрация: 06.04.2011
Сообщений: 35
|
|
| 28.04.2011, 15:03 [ТС] | |
|
а при подсчитывании S необходимо задать параметры. могу ли я их задать в самом коде Combobox??? или их отдельно нужно задавать??
0
|
|
|
3 / 0 / 0
Регистрация: 06.04.2011
Сообщений: 35
|
|
| 28.04.2011, 15:56 [ТС] | |
|
Переделала. параметры задала отдельно. вот что получилось:
Private Sub Combo5_Click() Select Case Combo5.ListIndex Case 1 Label9.Caption = InputBox("R") Label10.Caption = InputBox("l") Label11.Caption = InputBox("h") Label12.Caption = InputBox("a") S1 = (4 * a * h) + (2 * (a ^ 2)) ret = MsgBox("S1=" & S1, vbInformation, "парал-д") Case 2 Label9.Caption = InputBox("R") Label10.Caption = InputBox("l") Label11.Caption = InputBox("h") Label12.Caption = InputBox("a") S2 = ((3 / 2) * a * h) + ((a ^ 2) * (3 ^ 1 / 2)) / 4 ret = MsgBox("S2=" & S2, vbInformation, "пирамида") Case 3 Label9.Caption = InputBox("R") Label10.Caption = InputBox("l") Label11.Caption = InputBox("h") Label12.Caption = InputBox("a") S3 = (2 * 3.14 * R) * (h + R) ret = MsgBox("S3=" & S3, vbInformation, "цилиндр") Case 4 Label9.Caption = InputBox("R") Label10.Caption = InputBox("l") Label11.Caption = InputBox("h") Label12.Caption = InputBox("a") S4 = 4 * 3.14 * (R ^ 2) ret = MsgBox("S4=" & S4, vbInformation, "шар") Case 5 Label9.Caption = InputBox("R") Label10.Caption = InputBox("l") Label11.Caption = InputBox("h") Label12.Caption = InputBox("a") S5 = (3.14 * R) * (l + R) ret = MsgBox("S5=" & S5, vbInformation, "Конус") End Select End Sub ![]() Но пробегает Case 1 , т.е ваще не учитывает, а S = 0 во всех случаях. Где ошибка?? ![]() Добавлено через 8 минут причем эти 1,2,3,4,5 я задавала отдельно, вот так:Private Sub Form_Load() Combo5.AddItem "1" Combo5.AddItem "2" Combo5.AddItem "3" Combo5.AddItem "4" Combo5.AddItem "5" End Sub или так не нужно было делать?? может из-за этого??
0
|
|
|
3 / 0 / 0
Регистрация: 06.04.2011
Сообщений: 35
|
|
| 28.04.2011, 17:00 [ТС] | |
|
ой, спасибо! заменила, считает! но S = 0 осталось. по формулам вроде должен все считать... что же не так?!
![]() Добавлено через 52 минуты УРРРА!!! ![]() Вот конечный результат: Private Sub Combo5_Click() Select Case Combo5.Text Case 1 Label11.Caption = InputBox("h") Label12.Caption = InputBox("a") a = Label11.Caption h = Label12.Caption S = (4 * a * h) + (2 * (a ^ 2)) ret = MsgBox("S=" & S, vbInformation, "Ïðÿìîóã ïàðàë-ä") Case 2 Label11.Caption = InputBox("h") Label12.Caption = InputBox("a") a = Label11.Caption h = Label12.Caption S = (((3 / 2) * a * h) + ((a ^ 2) * (3 ^ 1 / 2))) / 4 ret = MsgBox("S=" & S, vbInformation, "Ïðàâ Òðåóã Ïèðàìèäà") Case 3 Label9.Caption = InputBox("R") Label11.Caption = InputBox("h") h = Label12.Caption R = Label9.Caption S = (2 * 3.14 * R) * (h + R) ret = MsgBox("S=" & S, vbInformation, "Öèëèíäð") Case 4 Label9.Caption = InputBox("R") R = Label9.Caption S = 4 * 3.14 * (R ^ 2) ret = MsgBox("S=" & S, vbInformation, "Øàð") Case 5 Label9.Caption = InputBox("R") Label10.Caption = InputBox("l") R = Label9.Caption l = Label10.Caption S = (3.14 * R) * (l + R) ret = MsgBox("S=" & S, vbInformation, "Êîíóñ") End Select End Sub :dance3:
0
|
|
| 28.04.2011, 17:00 | |
|
Помогаю со студенческими работами здесь
8
Разветвляющиеся алгоритмы: Оператор - Select Case!
Разветвляющиеся вычислительные процессы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|