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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2011, 17:35   #1
INFRON
Новичок
Джуниор
 
Регистрация: 17.06.2011
Сообщений: 9
По умолчанию

два дня сижу решить не могу задачу. Если не решу отчислятт... Есть задача на паскале, кто нибудь может на делфи переделать

Элементы равностороннего треугольника пронумерованы следующим образом: 1 — сторона (a), 2 — радиус вписанной окружности (R1), 3 — радиус описанной окружности (R2), 4 — площадь (S). Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке).

Код:
uses crt;
var n:char;
a,rv,ro,s:real;
begin
repeat
clrscr;
writeln('Определить параметры правильного рнугольника по:');
writeln('1-сторона');
writeln('2-радиус вписанной окружности');
writeln('3-радиус описанной окружности');
writeln('4-площадь');
writeln('другое выход');
readln(n);
case n of
'1':begin
write('Введите длину стороны a=');
readln(a);
writeln('радиус вписанной окружности=',sqrt(3)*a/6:0:2);
writeln('радиус описанной окружности=',sqrt(3)*a/3:0:2);
writeln('площадь=',sqrt(3)*a*a/4:0:2);
readln
end;
'2':begin
write('Введите радиус вписанной окружности rv=');
readln(rv);
writeln('сторона=',6*rv/sqrt(3):0:2);
writeln('радиус описанной окружности=',2*rv:0:2);
writeln('площадь=',3*sqrt(3)*rv*rv:0:2);
readln
end;
'3':begin
write('Введите радиус описанной окружности ro=');
readln(ro);
writeln('сторона=',3*ro/sqrt(3):0:2);
writeln('радиус вписанной окружности=',ro/2:0:2);
writeln('площадь=',3*sqrt(3)*ro*ro/4:0:2);
readln
end;
'4':begin
write('Введите плошадь s=');
readln(s);
writeln('сторона=',sqrt(4*s/sqrt(3)):0:2);
writeln('радиус вписанной окружности=',sqrt(s/(3*sqrt(3))):0:2);
writeln('радиус описанной окружности=',sqrt(4*s/(3*sqrt(3))):0:2);
readln
end;
else exit;
end;
until not (n in ['1'..'4']);
end.
нужно в case условном операторе

Последний раз редактировалось Stilet; 18.06.2011 в 21:43.
INFRON вне форума Ответить с цитированием
Старый 18.06.2011, 17:39   #2
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

если ета программа работает, то вам нужно отсюда убрать uses crt и clrscr и создать консольное приложение, и все будет работать.
Pein95 вне форума Ответить с цитированием
Старый 18.06.2011, 17:46   #3
INFRON
Новичок
Джуниор
 
Регистрация: 17.06.2011
Сообщений: 9
По умолчанию

она работает, пока попробую сам переделать
Код:
n:integer; //номер элемента
a,R1,R2,S : real;
z: double ; //величина
begin
z:=strtoint(edit2.text);
case N of
1: a:=(z); //стороне
2: a:=sqrt(3)/r1*6; //радиусу описанной
3: r2:=2*r1;
4: a:=sqrt(4*s/(3*sqrt(3))); //площади
else //неправильные данные
end;
a:=(z);
r1:=a*((sqrt(3))/6); //радиусу описанной
r2:=2*r1; //радиусу вписанной
s:=(a*a*sqrt(3))/2; //площади
edit3.Text:=floattostr(a); //1
edit4.Text:=floattostr(r1); //2
edit5.Text:=floattostr(r2); //3
edit6.Text:=floattostr(s);  //4
end;
end.

Последний раз редактировалось Stilet; 18.06.2011 в 21:43.
INFRON вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод с Паскаля на С++.... Solnze2 Помощь студентам 0 20.05.2011 23:13
перевод из паскаля в с++ dANIL282 Помощь студентам 2 21.01.2011 00:05
Перевод с Паскаля на С RamilFaz Общие вопросы C/C++ 3 08.04.2010 14:40
Перевод с Паскаля на С++ MrJenika Помощь студентам 2 20.11.2009 20:42
Перевод из Паскаля в Делфи Родион Общие вопросы Delphi 2 28.08.2008 16:52