Форум программистов, компьютерный форум, киберфорум
Наши страницы

Visual Basic .NET

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
андрей 01
0 / 0 / 0
Регистрация: 10.08.2011
Сообщений: 30
#1

Программа, сокращающая дроби - Visual Basic .NET

26.10.2011, 15:55. Просмотров 1189. Ответов 4
Метки нет (Все метки)

vb.net
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
Public Class Form1
    Dim a1 As Integer
    Dim a2 As Integer
    Dim b1 As Integer
    Dim b2 As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
        Dim z1 As Integer
        Dim z2 As Integer
        Dim n As Integer
 
        a1 = CInt(TextBox1.Text)
        a2 = CInt(TextBox2.Text)
        Label4.Text = a1
        Label5.Text = a2
 
1:      If a1 Mod a2 = 0 Then       ' c 1 по 2 строки проверяем делится ли числитель на знаменатель целочислено-
            Label8.Text = ""        ' при выполнения этого условия дробь сокращется на знаменатель.
            Label9.Text = ""
            Label11.Text = ""  '
            Label12.Text = ""
            Label10.Text = ""
            Label13.Text = ""
            Label14.Text = ""
            Label7.Text = a1 / a2
2:          Button3.Enabled = False ' c 2 по 3 строки проверяем делится ли знаменатель на числитель целочислено-
            If a2 Mod a1 = 0 Then   '  при выполнения этого условия дробь сокращется на числитель.
                z1 = a1 / a1
                z2 = a2 / a1
3:          End If                  ' если два пред идущих условия не выполняется тогда находим наибольший общий-                          
        Else                        ' множитель и сокращаем на него всю дробь.
 
            If a1 > a2 Then n = a1 'определчем ведущий масив по размерности(ведущий это тот в котором будет наибольшие-
            If a2 > a1 Then n = a2 ' количество цифор полученных при целочисленном дилении если больше числитель то это будет масив чеслителчя и на оборот.
            Dim mas1(n) As Integer  'объявляем масив в который будем записывать числа на которые чеслитель делится целочислено.
            Dim mas2(n) As Integer  ' объявляем  масив в который будем записывать числа на которые знаменатель делится целочислено.
 
            For i = 1 To n           'создаем цыкал от 1 до размерности ведущего масива в который будем записывать числа полученных при целочисленном дилении-
                If a1 Mod i = 0 Then 'числителя и знаменатиля на постояно увеличиваюшюся (i).
                    mas1(i) = i      'если числитель делится цэлочисленно на текущюю (i) то записываем её в масив числителя.
                End If
                If a2 Mod i = 0 Then
                    mas2(i) = i       'если знаменатель делится цэлочисленно на текущюю (i) то записываем её в масив знаменателя.
                End If
            Next
 
            For i = 2 To n             ' в этом вложеном цикле сравниваем элементы массивов числителя и знаменателя и те которыу равны между сбой и не равны нулю-
                For i1 = 2 To n        ' и будут общими множытелями.Последний общий множител будет наибольшим для числителя и знаменателя.
                    If mas1(i) = mas2(i1) And mas1(i) <> 0 And mas2(i1) <> 0 Then
                        z1 = a1 / mas1(i)  ' делим числитель знаменатель на (НОД)
                        z2 = a2 / mas2(i1)
                    End If
                Next
            Next                        'после этой строки наша дробь сократилась на сколько это возможно,причём дробь можно сократить любую главное-
            'что бы она была из класа (обычная -> правеьная и не праельная)
 
            If z1 < z2 Then     ' дальще идёт офармление и действия наслучий не сокращаемости дроби
                Button3.Enabled = False
            Else
                Button3.Enabled = True
            End If
 
            Label8.Text = z1
            Label9.Text = z2
            Label7.Text = "-"
            Label11.Text = ""
            Label12.Text = ""
            Label10.Text = ""
            Label13.Text = ""
            Label14.Text = ""
 
 
            If Label8.Text = 0 And Label9.Text = 0 And Label7.Text = "-" Then
                Label8.Text = ""
                Label9.Text = ""
                Label7.Text = "несократимо"
                Button3.Enabled = False
            End If
        End If
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        a1 = CInt(TextBox1.Text) ' это фигня
        a2 = CInt(TextBox2.Text)
        TextBox1.Text = CInt(a2)
        TextBox2.Text = CInt(a1)
    End Sub
 
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim zech As Integer ' сдесь по нажатию кнопки находим цэлую часть у дроби которая уже сократиилась причём дробь остаётся в виде дроби
        Dim z1 As Integer = CInt(Label8.Text)
        Dim z2 As Integer = CInt(Label9.Text)
 
 
        zech = Int(z1 / z2)
        For i = 1 To zech
            z1 = z1 - z2
        Next i
        Label14.Text = zech
        Label11.Text = z1
        Label12.Text = z2
        Label10.Text = "="
        Label13.Text = "-"
        Button3.Enabled = False
    End Sub
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Button3.Enabled = False  'это кнопка которая позволяет и не позваляет (не нужных случаях) находить цэлую часть 
    End Sub
End Class
писал сам тока не знаю как скомпелировать мож подскажите кто
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2011, 15:55
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Программа, сокращающая дроби (Visual Basic .NET):

Перевод обыкновенной дроби в проценты - Visual Basic .NET
Здравствуйте. Стал изучать VB 2010. А по ходу дела еще и в колледже давали задания...Так вот задали сделать задачу. И на ней я застрял. В...

Определить разрядность десятичной дроби - Visual Basic .NET
Привет. Как определить разрядность десятичной дроби? Private Function R(ByVal d As Double) As Integer 3 -&gt; 0 3.1 -&gt; 10 3.14 -&gt; 100 ...

Не допускать присутствия нуля перед числом. Исключение составляют лишь дроби - Visual Basic .NET
Добрый день, народ! Как сделать так, что, если в поле был введен 0, а после него вводится не запятая, а снова число от 0 до 9, чтобы...

Вычислите значение с точностью ε = 0.00001, воспользовавшись представлением в виде цепной дроби - Visual Basic .NET
Здравствуйте. Прошу помощи, не могу найти ошибки в коде. Суть лабораторной: &quot;Вычислите значение с точностью ε = 0.00001,...

Программа сокращения дроби - C (СИ)
пРИ выполнении программы вылетыет с ошибкой.Где ошибка?:-| #include&lt;stdio.h&gt; void main() { int m,n;int flag=0; printf(&quot;vvedite...

Программа для вычисления рациональной дроби - Численные методы
мне нужно составить программу для вычисления рациональной дроби коэффициентами которой являются значения полинома. может у кого-нибудь...

4
ImAlexSmith
276 / 113 / 7
Регистрация: 01.05.2011
Сообщений: 283
Записей в блоге: 3
26.10.2011, 17:01 #2
да вроде все нормально скомпилировалось и даже посчиталось. А что именно то не получается, какая ошибка?
0
андрей 01
0 / 0 / 0
Регистрация: 10.08.2011
Сообщений: 30
26.10.2011, 18:53  [ТС] #3
не знаю как скомпелировать
0
XIST
1027 / 756 / 103
Регистрация: 01.10.2009
Сообщений: 2,321
Записей в блоге: 1
26.10.2011, 18:57 #4
в меню build>build solution
0
ImAlexSmith
276 / 113 / 7
Регистрация: 01.05.2011
Сообщений: 283
Записей в блоге: 3
26.10.2011, 19:22 #5
кнопочка F5 мб вам поможет
0
26.10.2011, 19:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2011, 19:22
Привет! Вот еще темы с ответами:

Программа печати k-го члена в виде обыкновенной несократимой дроби - VBA
Задание про подпрограммы, функции. vba Ломал голову, но безуспешно. Помогите с написанием программы в общем. Попрошу, пожалуйста,...

Программа обрабатывающая рациональные дроби хранящиеся в двумерном массиве - C++
Напишите программу, обрабатывающую рациональные дроби, хранящиеся в двумерном массиве (матрице). Каждая рациональная дробь определяется...

Даны две дроби A/B и C/D. Составить программу умножения дроби на дробь. - PHP
2. Даны две дроби A/B и C/D (A, B, C, D — натуральные числа). Составить программу умножения дроби на дробь. Ответ должен быть несократимой...

Представление рациональной дроби в виде суммы многочлена и правильной дроби - Алгебра
Подскажите, пожалуйста, откуда берётся последняя, выделенная красным цветом импликация.


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

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

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