|
0 / 0 / 0
Регистрация: 22.04.2017
Сообщений: 6
|
|
Напишите процедуру на языке VBA, которая определяет сократимость дроби22.04.2017, 23:34. Показов 1233. Ответов 3
Метки нет (Все метки)
Помогите ,пожалуйста, с написанием программы на языке VBA.
Вот условие: Напишите процедуру на языке VBA, которая определяет сократимость дроби a/b (b≠0) . Вычисление наибольшего общего делителя чисел a и b оформить в виде функции. Исходные данные: 1. a=2, b=0 1 Результат: 1. Неверно введено b 2. a=3, b=5 3. a=6, b=8 2. Дробь 3/5 не сократима 3. Дробь 6/8 сократима на 2 Вот немного начала (может и не правильно): Function НОД(a, b) While a <> b If a > b Then a = a - b Else b = b - a End If Wend НОД = a End Function Sub List6_11() Dim a As Long, b As Long, НОД As Variant a = CDbl(InputBox("Введите a", "Исходные данные")) b = CDbl(InputBox("Введите b", "Исходные данные")) If b = 0 Then MsgBox "Неверно введено b" If НОД =(a,b) Then MsgBox "Дробь" & a / b & ("сокротима на ") & f End Sub
0
|
|
| 22.04.2017, 23:34 | |
|
Ответы с готовыми решениями:
3
Определить сократимость дроби
Создайте процедуру, которая делит дроби |
|
141 / 119 / 29
Регистрация: 12.02.2017
Сообщений: 308
|
||||||
| 23.04.2017, 09:51 | ||||||
1
|
||||||
|
0 / 0 / 0
Регистрация: 22.04.2017
Сообщений: 6
|
|
| 23.04.2017, 22:06 [ТС] | |
|
спасибо , а можете подсказать как правльно написать примерно так (другие MsgBox немного нужны )
Function GCD(ByVal a As Long, ByVal b As Long) As Long Dim i& GCD = 1 If a < 2 Or b < 2 Then Exit Function If Not (a Mod 2) Then If Not (b Mod 2) Then Do Until (a Mod 2) Or (b Mod 2) GCD = GCD * 2 a = a \ 2: b = b \ 2 Loop End If End If i = 3 Do Until (i > a) Or (i > b) Do Until (a Mod i) Or (b Mod i) GCD = GCD * i a = a \ i: b = b \ i Loop i = i + 2 Loop End Function Sub List6_11() Dim a&, b&, s$ s = InputBox("Введите числитель") If s = "" Then Exit Sub a = Abs(Val(s)) Denominator: s = InputBox("Введите знаменатель") If s = "" Then Exit Sub b = Abs(Val(s)) If b = 0 Then MsgBox "Неверно введено b": GoTo Denominator MsgBox ("Дробь " & a & "/" & b & "сократима на" & GCD(a, b)) MsgBox ("Дробь" & a & "/" & b & " не сократима ") End Sub Добавлено через 9 часов 25 минут Homarty, спасибо , а можете подсказать как правльно написать примерно так (другие MsgBox немного нужны ) Function GCD(ByVal a As Long, ByVal b As Long) As Long Dim i& GCD = 1 If a < 2 Or b < 2 Then Exit Function If Not (a Mod 2) Then If Not (b Mod 2) Then Do Until (a Mod 2) Or (b Mod 2) GCD = GCD * 2 a = a \ 2: b = b \ 2 Loop End If End If i = 3 Do Until (i > a) Or (i > b) Do Until (a Mod i) Or (b Mod i) GCD = GCD * i a = a \ i: b = b \ i Loop i = i + 2 Loop End Function Sub List6_11() Dim a&, b&, s$ s = InputBox("Введите числитель") If s = "" Then Exit Sub a = Abs(Val(s)) Denominator: s = InputBox("Введите знаменатель") If s = "" Then Exit Sub b = Abs(Val(s)) If b = 0 Then MsgBox "Неверно введено b": GoTo Denominator MsgBox ("Дробь " & a & "/" & b & "сократима на" & GCD(a, b)) MsgBox ("Дробь" & a & "/" & b & " не сократима ") End Sub
0
|
|
|
141 / 119 / 29
Регистрация: 12.02.2017
Сообщений: 308
|
|||||||||||
| 23.04.2017, 23:37 | |||||||||||
|
[VB]Dim i&
i=GCD(a,b) If i>1 Then MsgBox "Дробь " & a & "/" & b & "сократима на " & i Else MsgBox "Дробь" & a & "/" & b & " не сократима " Добавлено через 22 секунды
Это добавите вместо Msgbox Добавлено через 2 минуты Пропустил в конце кода
0
|
|||||||||||
| 23.04.2017, 23:37 | |
|
Помогаю со студенческими работами здесь
4
Напишите программу, которая определяет количество элементов массива
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|