Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Basic


Ответ
 
Опции темы Опции просмотра
Старый 25.03.2013, 21:52   #1 (permalink)
Мвнюня
Member
 
Регистрация: 03.03.2013
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Даны три положительных вещественных числа x, y, z

Здравствуйте,помогите пожалуйста написать программку на Visual Basice, язык новый, не знаю как в нем программировать! Даны 3 положительных вещественных числа x, y, z. Определить, существует ли прямоугольный треугольник с такими длинами сторон.
Мвнюня вне форума   Ответить с цитированием

Старый 25.03.2013, 21:52
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Обсуждения имеют общий смысл с вашей темой, прочтите их

Даны целые числа K и L
Определить количество положительных элементов матрицы
Даны два массива по 15 элементов
Из положительных элементов исходного массива сформировать новый массив
В двоичном представлении числа инвертировать две последние цифры числа

Старый 23.10.2016, 15:17   #2 (permalink)
iks2
Member
 
Регистрация: 22.10.2016
Сообщений: 62
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Можно так...

Код:
Option Explicit
Dim x As Single, y As Single, z As Single

Private Sub cmdD_Click()
    x = Val(txtX)
    y = Val(txtY)
    z = Val(txtZ)
    If x + y > z And y + z > x And z + x > y Then
        label.Caption = "YES"
    Else
        label.Caption = "NO"
    End If
End Sub
Миниатюры
500.png  
iks2 вне форума   Ответить с цитированием
Старый 23.10.2016, 15:39   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от iks2 Посмотреть сообщение
Можно так...
Нельзя. Сударь, внимательнее: в задаче спрашивается не просто "существует ли треугольник?", а "существует ли прямоугольный треугольник?". Т.е надо условием OR проверять, не совпадут ли суммы квадратов двух чисел с квадратом третьего. Причем еще и меру точности ввести: числа-то вещественные...
Vladimir_S вне форума   Ответить с цитированием
Старый 23.10.2016, 17:28   #4 (permalink)
iks2
Member
 
Регистрация: 22.10.2016
Сообщений: 62
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Vladimir_S,
я извиняюсь за свою невнимательность. Вы правы, тут надо добавить условие типа
Код:
If Abs(x^2 + y^2 - z^2) < eps And Abs(y^2 + z^2 - x^2) < eps And Abs(z^2 + x^2 - y^2) < eps Then
где eps - погрешность действия с вещественными числами
iks2 вне форума   Ответить с цитированием
Старый 23.10.2016, 17:35   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от iks2 Посмотреть сообщение
Vladimir_S,
я извиняюсь за свою невнимательность. Вы правы, тут надо добавить условие типа
Код:
If Abs(x^2 + y^2 - z^2) < eps And Abs(y^2 + z^2 - x^2) < eps And Abs(z^2 + x^2 - y^2) < eps Then
где eps - погрешность действия с вещественными числами
Не пойдёт. Все "And" нужно заменить на "Or". Потому что искомый треугольник образуется, если выполняется ХОТЯ БЫ ОДНО из условий, а не все три разом, что, кстати, и невозможно.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 23.10.2016, 18:12   #6 (permalink)
iks2
Member
 
Регистрация: 22.10.2016
Сообщений: 62
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Vladimir_S,
я еще раз извиняюсь...

Код:
If Abs(x^2 + y^2 - z^2) < eps Or Abs(y^2 + z^2 - x^2) < eps Or Abs(z^2 + x ^2 - y^2) < eps Then
iks2 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 05:47.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.