Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Задачка с треугольником

Автор: Liana K. 15.12.2009 0:38

Здравствуйте.
Равносторнний треуг. со стороной n вписан в окружность диаметром d. Написать программку в паскале в кот. анализировались бы исходные данные (вводимые пользователем n и d) на выполнения условия (о том что треуг. вприсан в окр.)
Спасибки)

Автор: Liana K. 15.12.2009 1:14

Вот, попробывала сделать, кажется правильно

PROGRAM circletriangle;
VAR R,A,R2: REAL;

BEGIN
WRITELN ('Проверка условия на вписанность');
REPEAT
WRITE ('Строна треугольника A = ');
READLN (A);
WRITE ('Радиус окружности R = ');
READLN ®;

BEGIN
R2:=A*((SQR(3))/3);
IF R=R2 THEN
BEGIN
WRITELN ('Треугольник не вписан');
END
ELSE
WRITELN ('Треугольник не вписан');
END;
ReadLn;
end.

Автор: Liana K. 15.12.2009 1:46

нет, не получается ошибка в последней строчке( "ожидается оператор"

Автор: Liana K. 15.12.2009 2:09

Всё сделала! Код не буду показываать сами разбирайтесь.
Темку можно удалить.))

Автор: Lapp 15.12.2009 2:23

Liana, так:

Цитата(Liana K. @ 14.12.2009 21:14) *
IF R=R2 THEN
- проверку на равенство делать нельзя. Попробуй несколько разных значений, и ты сама убедишься, что в некоторых случаях будет выдавать отрицательный ответ (я сейчас не про то, что у тебя оба ответа отрицательные) в случаях, когда ты ждешь положительного. Так можно сравнивать только целые числа. Действительные нужно сравнивать с погрешностью.

Автор: Liana K. 15.12.2009 2:50

Сделала проверку на положительные, и ненулевые значения в исходных данных. Программа проглатывает теерь только положительные, дробные числа. Всё отлично.

Автор: Lapp 15.12.2009 4:25

Цитата(Liana K. @ 14.12.2009 22:50) *
Всё отлично.
А ты вообще читаешь, что тебе пишут? или только монологи произносишь?