IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Проверьте решение, Школьная задачка на равенство
Starichok
сообщение 8.11.2005 21:03
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Знакомой дали задание написать программу для решения следующей задачи:
Дано два круга с радиусами R1 и R2. Можно ли вписать в какой-нибудь из них равносторонний треугольник?
Площадь равностороннего треугольника
S=a^2*sqrt(3)/4;
Площадь треугольника вписанного в окружность
S=a^3/(4*R);

Возможно ли следующее решение:

Program First;

var
A,B,C,D: Real;

begin

Write('Введите значение a: ');
Readln(A);
Write('Введите значение R1: ');
Readln(B);
{Площадь равностороннего треугольника}
C:= A * A * sqrt(3) / 4;
{Площадь треугольника вписанного в окружность}
D:= A * A * A / (4 * B);
If C<>D Then Writeln ('Не возможно для R1')
else Writeln ('Возможно для R1');
Write ('Введите значение R2: ');
Readln(B);
If C<>D Then Writeln ('Не возможно для R2')
else Writeln ('Возможно для R2');

Readln;
end.


P.S. Не судите строго - с Паскалем знаком второй день. no1.gif

М
Незнание правил не освобождает от ответственности, правила читать будем ?
Исходный текст программы надо заключать в теги CODE.
klem4

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Starichok
сообщение 9.11.2005 15:41
Сообщение #2





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Atos
Спасибо за подсказку, я именно в это и уперся. Попробовал сделать по твоему совету, но, учитывая, что в условии задачи R это либо целое число, либо десятичная дробь с двумя знаками после запятой, для того чтобы получить ответ "Возможно" пришлось изменить значение e на следующее:
Код

const e=0.01;

volvo
Цитата
а еще проблемы могут быть с выходом из программы...

Ты абсолютно прав volvo.
Цитата
согласись, выход из программы через ошибку - это несерьезно...

Полностью согласен.
Цитата
Надо бы Repeat ... Until что-ли поставить вместо этого...

Благодарю за совет. Поставил. Вот, что получилось:


Program Three;
const e=0.01;
var a, R: Real;

begin
Write('Введите значение a: ');
Readln(a);
REPEAT
Write('Введите значение R (0 - выход): ');
Readln( r );
If abs(a-R * sqrt(3)) <e Then Writeln ('Возможно')
else Writeln ('Невозможно');
UNTIL R=0;
Write('Конец программы...');
Readln;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 7:10
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"