Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2009, 14:47   #1
warjkee
Новичок
Джуниор
 
Регистрация: 20.12.2009
Сообщений: 5
По умолчанию Проблема с задачей в Basic

Добрый день всем,дело в том что я всегда привык работать на Паскале,но тут надо решить задачу на Бэйсике,которым я практически никогда не пользовался! Задача звучит: Вот задача:
Выяснить, существует ли треугольник с длинами сторон x, y, z. Если да, то оп-ределить тип треугольника – остроугольный, тупоугольный или прямоугольный.
Вот я написал на Паскале,все вроде норм работает!

program tip;
uses crt;
var x,y,z,x1,x2,mx,mn,sr,c: real;
begin
clrscr;
write ('x= ');readln (x);
write ('y= ');readln (y);
write ('z= ');readln (z);
if (x+y<=z) or (x+z<=y) or (y+z<=x) then
begin
writeln ('treugolnik ne sushestvuet');
readln;
halt;
end
else
begin
mx:=x;
if y>mx then mx:=y;
if z>mx then mx:=z;
mn:=x;
if y<mn then mn:=y;
if z<mn then mn:=z;
sr:=x+y+z-mx-mn;
c:=(mn*mn+sr*sr-mx*mx)/(2*mn*sr);
if c>0 then writeln('treugolnik ostrougolnyj')
else if c<0 then writeln('treugolnik tupougolnyj')
else if c=0 then writeln('treugolnik pryamougolnyj');
end;
readln
end.
#
Пытался сделать её на Бэйсике,но никак не получается =(Выскакивает ошибка,но я не понимаю что там!В общем добрые люди,помогите пожалуйста решить её на Бэйсике!Буду очень благодарен!

Последний раз редактировалось warjkee; 20.12.2009 в 14:52. Причина: не нажал сделать код
warjkee вне форума Ответить с цитированием
Старый 20.12.2009, 17:26   #2
warjkee
Новичок
Джуниор
 
Регистрация: 20.12.2009
Сообщений: 5
По умолчанию

неужели никто не знает?(
warjkee вне форума Ответить с цитированием
Старый 20.12.2009, 19:31   #3
warjkee
Новичок
Джуниор
 
Регистрация: 20.12.2009
Сообщений: 5
По умолчанию

точно никто не знает?
warjkee вне форума Ответить с цитированием
Старый 20.12.2009, 19:51   #4
alyon_ka
Пользователь
 
Регистрация: 16.12.2009
Сообщений: 40
По умолчанию

я чего то не помню чтобы в бейсике были разделители ;
alyon_ka вне форума Ответить с цитированием
Старый 21.12.2009, 00:07   #5
jogano
 
Регистрация: 16.12.2009
Сообщений: 3
По умолчанию

Вот код VBA в Excel:

Код:
Function Proverka3ugolnika(x As Double, y As Double, z As Double) As String
    If x <= 0 Or y <= 0 Or z <= 0 Then
        Proverka3ugolnika = "Введите три положительных числа - длины сторон 3-угольника"
    Else
        If y > z Then
            maxYZ = y
        Else
            maxYZ = z
        End If
        Select Case x
            Case Is <= Abs(y - z)
                Proverka3ugolnika = "3-угольник не существует - сторона " & maxYZ & " слишком длинная"
            Case Is < Sqr(Abs(y ^ 2 - z ^ 2))
                Proverka3ugolnika = "3-угольник тупоугольный- напротив стороны " & maxYZ & " тупой угол"
            Case Is = Sqr(Abs(y ^ 2 - z ^ 2))
                Proverka3ugolnika = "3-угольник прямоугольный - напротив стороны " & maxYZ & " прямой угол"
            Case Is < Sqr(y ^ 2 + z ^ 2)
                Proverka3ugolnika = "3-угольник остроугольный"
            Case Is = Sqr(y ^ 2 + z ^ 2)
                Proverka3ugolnika = "3-угольник прямоугольный - напротив стороны " & x & " прямой угол"
            Case Is < y + z
                Proverka3ugolnika = "3-угольник тупоугольный - напротив стороны " & x & " тупой угол"
            Case Else
                Proverka3ugolnika = "3-угольник не существует - сторона  " & x & " слишком длинная"
        End Select
    End If
End Function
Алгоритм не такой, как у вас. Первая сторона (х) сравнивается с рядом значений (перечислены в порядке возрастания):
|y-z| < корень(|y^2-z^2|) < корень(|y^2+z^2|) < y+z
Для того, чтобы 3-угольник существовал, необходимо, чтобы |y-z|<x<y+z . При равенстве х левому из двух указанных корней х будет катетом прямоугольного треугольника, а гипотенузой - бОльшее из чисел y и z. При равенстве х правому корню х будет гипотенузой прямоугольного треугольника.
jogano вне форума Ответить с цитированием
Старый 21.12.2009, 02:52   #6
warjkee
Новичок
Джуниор
 
Регистрация: 20.12.2009
Сообщений: 5
По умолчанию

спс) приблиззился,но теперь другая ошибка =(( е мог бы кто нибудь написать текст программы полностью? jogano тебе огромное спасибо !
warjkee вне форума Ответить с цитированием
Старый 21.12.2009, 12:20   #7
warjkee
Новичок
Джуниор
 
Регистрация: 20.12.2009
Сообщений: 5
По умолчанию

помогите плиииз
warjkee вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с задачей в c# OnlySergio Помощь студентам 4 25.11.2009 10:47
Проблема с задачей :( fadea Помощь студентам 3 27.10.2008 19:21
Проблема с задачей по С++ TheWanderer Общие вопросы C/C++ 4 02.10.2008 00:21
Проблема с файлом setup на visual basic. irbiss Помощь студентам 5 03.04.2008 15:41