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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2009, 18:56   #1
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
Восклицание 3 отрезка и 3 треугольника

ДОбрай день всем прошу помочь с задачей.
даны длины трех отрезков а b c определить какого типа треугольник можно построить из заданных отрезков (равносторонний, равнобедренный, или простой). надо учитывать:
a,b,c>0, a+b>c, b+c>a, a+C>b.

Равносторнний (a=b=c), РАвнобедренный ((a=b)<>c) and ((a=c)<>b) and ((b=c)<>a), простой треугольник (a<>b<>c).
Прошу помочь до завтра.
Блок схему я уже сделал но вот блин в паскали записать ни как, помогите.
Айдар вне форума Ответить с цитированием
Старый 10.09.2009, 19:19   #2
merets
Заблокирован
 
Регистрация: 03.09.2009
Сообщений: 13
По умолчанию

uses crt;
var a,b,c:real;
begin
writeln ('vvedit storonu a');
readln (a);
writeln ('vvedit b');
readln (b);
writeln ('vvedit c');
readln(c);
if (a=b) and (a=c) then writeln ('ravnostoronniy');
repeat until keypressed;
end.
для остальных допишеш
merets вне форума Ответить с цитированием
Старый 10.09.2009, 19:27   #3
Mr.Qwerty
Что? Где? Когда?
Форумчанин
 
Аватар для Mr.Qwerty
 
Регистрация: 14.07.2009
Сообщений: 220
По умолчанию

Код:
uses crt;
var a,b,c:real;
begin
writeln ('vvedit storonu a');
readln (a);
writeln ('vvedit b');
readln (b);
writeln ('vvedit c');
readln(c);
if (a=b) and (a=c) then writeln ('ravnostoronniy');
repeat until keypressed;
- merets, слишком громоздко
Цитата:
для остальных допишеш
, он же написал, что:
Цитата:
но вот блин в паскали записать ни как, помогите.
Айдар, вот держи код, только что написал:
Код:
Program Treugl;
uses Crt;//подключаем модуль
var a,b,c:integer; //вводим переменные для введенных данных 
    x:string; //переменная под ответ;) 
begin
ClrScr; //очистка экрана
Writeln('Введите a,b,c'); //запрос на ввод данных
Readln(a,b,c); //чтение данных
if (a>0)and(b>0)and(c>0)and((a+b)>0)and((b+c)>a)and((a+c)>b) then //соблюдение необходимого условия
 begin
  if (a=b) and (b=c) and (a=c) then x:='равносторонним' else x:='равнобедренным'; 
  if not(a=b)and not(b=c) and not(c=a) then x:='простым'else x:='равнобедренным';
  end;
Writeln('Ваш треугольник является -',x); //вывод результата
Readln; //ожидание действия
end.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Mr.Qwerty вне форума Ответить с цитированием
Старый 10.09.2009, 19:49   #4
cherr
 
Регистрация: 10.09.2009
Сообщений: 4
Радость

А можно еще короче
Код:
Program Treugl;
uses Crt;//подключаем модуль
var a,b,c:integer; //вводим переменные для введенных данных 
    x:string; //переменная под ответ;) 
begin
ClrScr; //очистка экрана
Writeln('Введите a,b,c'); //запрос на ввод данных
Readln(a,b,c); //чтение данных
if (a>0)and(b>0)and(c>0)and((a+b)>0)and((b+c)>a)and((a+c)>b) then //соблюдение необходимого условия
 begin
  if (a=b) and (b=c) and (a=c) then x:='равносторонним' else if not(a=b)and not(b=c) and not(c=a) 
  then x:='простым' else x:='равнобедренным'; 
 end;
Writeln('Ваш треугольник является -',x); //вывод результата
Readkey; //ожидание действия
end.

Последний раз редактировалось cherr; 10.09.2009 в 20:08.
cherr вне форума Ответить с цитированием
Старый 10.09.2009, 22:23   #5
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию

все понял но вот одно но:
if (a=b) and (b=c) and (a=c) then x:='равносторонним' else if not(a=b)and not(b=c) and not(c=a)
then x:='простым' else x:='равнобедренным';
Равнобедренный треугольник это тот у которого
((a=b)<>c) and ((a=c)<>b) and ((b=c)<>a), а тут получается
(a=b)and (b=c) and (c=a);
Не сходится как-то.
Хотя вроде работает.
Айдар вне форума Ответить с цитированием
Старый 10.09.2009, 22:32   #6
Mr.Qwerty
Что? Где? Когда?
Форумчанин
 
Аватар для Mr.Qwerty
 
Регистрация: 14.07.2009
Сообщений: 220
По умолчанию

if not(a=b)and not(b=c) and not(c=a) then x:='простым' Ну получается, что если все стороны разные, то есть а не равно б, б не равно ц, ц не равно а, то он простой) все просто)!
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Mr.Qwerty вне форума Ответить с цитированием
Старый 10.09.2009, 22:36   #7
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию

это понятно, я про равнобедренный я говорю,
вот что получается
если (a=b)and (b=c) and (c=a) то равнобедренный - бред
Айдар вне форума Ответить с цитированием
Старый 10.09.2009, 22:45   #8
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
это понятно, я про равнобедренный я говорю,
В коде программы написано:
если не равносторонний и не разносторонний, то это равнобедренный.
puporev вне форума Ответить с цитированием
Старый 10.09.2009, 22:45   #9
cherr
 
Регистрация: 10.09.2009
Сообщений: 4
По умолчанию

Если (a=b) and (b=c) and (a=c) - тогда треугольник равносторонний. Если not(a=b) and not(b=c) and not(c=a) - треугольник простой.
Если же треугольник не равносторонний (у него не равны все стороны), но и не простой (у него не все стороны различны) - остается один вариант, у него равны 2 стороны, следовательно он равнобедренный.
cherr вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ориентация треугольника Orodret Общие вопросы C/C++ 11 09.06.2009 02:10
Эллипс путем перемещения точки вокруг отрезка Dublin Мультимедиа в Delphi 4 22.10.2008 21:30
Движение окружности и отрезка. Ev@ngel Компоненты Delphi 0 18.04.2008 22:16
Определить длину отрезка во 2-м квадранте системы координат kolduev Помощь студентам 9 13.02.2008 17:45
Вычисление корня уравнения методом деления отрезка пополам Absent Помощь студентам 12 25.11.2007 17:54