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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2008, 19:39   #1
n01R
Пользователь
 
Аватар для n01R
 
Регистрация: 14.01.2008
Сообщений: 13
По умолчанию Задачи с использованием ветвления

57.
Код:
 Дано действительное число a. Вычислить f(a), если
      {0 при x<=(меньше или равно)0 
f(x)={x при 0<x<=1
       {x4 (4степени) в остальных случаях
47.
Код:
Даны действ. положительные числа x,y,z
а) Выяснить, существует ли треугольник с длинами сторон x,y,z
б) Если треугольник существует, то ответить  - явл. ли он остроуголным
44.
Если сумма трех попарно различных действительных чисел x,y,z меньше единицы, то наименьшее из этих трех чисел заменить полусуммой двух других, в противном случае заменить меньшее из x и y полусуммой двух оставшихся значений



(Задачи по программированию Абрамов,Гнездилова,Капустин,Селюн 1988 г.)

Помогите народ!!!!
хоть как нибудь хоть какую нибудь задачку
DELPHI 7.0

Последний раз редактировалось n01R; 14.01.2008 в 19:46.
n01R вне форума Ответить с цитированием
Старый 14.01.2008, 20:37   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Что не получается?
В задаче 57 сделай функцию
Код:
function f(x: double): double;
begin
  f:=x*x*x*x;
  if x <= 1 then f:=x;
  if x <= 0 then f:=0;
end;
В задаче 47 упорядочи числа по возрастанию, x-min, z-max, тогда треугольник существует, если (x+y)>z. Остроугольность можно проверить по теореме Пифагора: если x^2+y^2>z^2 - остроугольный, если x^2+y^2=z^2 - прямоугольный, если x^2+y^2<z^2 - тупоугольный.

Ну, и помозгуй над 44, тоже ничего сложного.
_Dmitry вне форума Ответить с цитированием
Старый 14.01.2008, 20:51   #3
n01R
Пользователь
 
Аватар для n01R
 
Регистрация: 14.01.2008
Сообщений: 13
По умолчанию

большое спасибо
n01R вне форума Ответить с цитированием
Старый 15.01.2008, 13:51   #4
n01R
Пользователь
 
Аватар для n01R
 
Регистрация: 14.01.2008
Сообщений: 13
По умолчанию

т.е. в 57 должно получиться так:

Код:
var f,x,a,double:real;

begin

a:=StrToInt(Edit1.Text);
while a<>0 do
  f(x: double): double;
  begin
     f:=x*x*x*x;
     if x <= 1 then f:=x;
     if x <= 0 then f:=0;
     end;
end;
end.
?
n01R вне форума Ответить с цитированием
Старый 15.01.2008, 14:09   #5
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

А вы откомпилировать это пробовали?
Бросьте на форму 2 Edit-а и кнопку Button, дважды щелкните на кнопке и напишите:
Код:
.......
implementation

{$R *.dfm}

function f(x: double): double;
begin
  f:=x*x*x*x;
  if x <= 1 then f:=x;
  if x <= 0 then f:=0;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  a: double;
begin
  a:=StrToFloat(Edit1.Text);
  Edit2.Text:=FloatToStr(f(a));
end;

end.
_Dmitry вне форума Ответить с цитированием
Старый 15.01.2008, 14:32   #6
n01R
Пользователь
 
Аватар для n01R
 
Регистрация: 14.01.2008
Сообщений: 13
По умолчанию

спасибо незнал что такие безкорыстные люди еще существуют
Вопрос только один за что отвечает Double я просто этого еще не проходил
и какое число нужно вписать в поле edit1 что бы получился правильный ответ?
n01R вне форума Ответить с цитированием
Старый 15.01.2008, 14:53   #7
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

double это тип вещественной переменной, замена real. Тип real тащится за Delphi еще со времен Паскаля. Он создан для работы с вещественными числами на компьютерах без математического сопроцессора, т.е. десятичная дробь переводится в целое число, над ним выполняются необходимые действия и полученное целое число опять переводится в десятичную дробь (это если сказать по-простому). Все современные процессоры поддерживают операции с плавающей точкой, поэтому в Delphi тип real по умолчанию отключен и заменен double. Если нужно все же включить real, то нужно использовать директиву компилятора: {$REALCOMPATIBILITY ON}

По поводу второго вопроса - прочитайте условие вашей задачи:
Дано действительное число a. Вычислить f(a).
Чему равно а, то значение и вводите в Edit1.
_Dmitry вне форума Ответить с цитированием
Старый 15.01.2008, 14:56   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
за что отвечает Double
За то что переменка будет содержать как двойное вещественное.
Цитата:
какое число нужно вписать в поле edit1 что бы получился правильный ответ?
Ну любое вещественное например 12.36
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.01.2008, 14:59   #9
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Цитата:
какое число нужно вписать в поле edit1 что бы получился правильный ответ?
Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну любое вещественное например 12.36
Либо с запятой, смотря как настроен decimalseparator
Alex21 вне форума Ответить с цитированием
Старый 15.01.2008, 19:35   #10
n01R
Пользователь
 
Аватар для n01R
 
Регистрация: 14.01.2008
Сообщений: 13
По умолчанию

47.
Цитата:
Даны действ. положительные числа x,y,z
а) Выяснить, существует ли треугольник с длинами сторон x,y,z
б) Если треугольник существует, то ответить - явл. ли он остроуголным
Цитата:
Сообщение от _Dmitry Посмотреть сообщение

В задаче 47 упорядочи числа по возрастанию, x-min, z-max, тогда треугольник существует, если (x+y)>z. Остроугольность можно проверить по теореме Пифагора: если x^2+y^2>z^2 - остроугольный, если x^2+y^2=z^2 - прямоугольный, если x^2+y^2<z^2 - тупоугольный.
в этой проге код будет выглядет примерно вот так?
Код:
var x,y,z;
begin
if ( ((x+y)>z) and ((x+z)>y) and ((y+z)>x)) then
begin
ShowMessage('Треугольник Существует'); 
end
end;
а вот как вписать явл ли он остроуголным?
n01R вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программы с использованием операторов ветвления и циклов Vitas1234 Помощь студентам 1 11.06.2008 17:41
Программы с использованием операторов ветвления и циклов Vitas1234 Паскаль, Turbo Pascal, PascalABC.NET 9 11.06.2008 16:18
Ветвления (условные конструкции) и операции с массивами! Leizar Microsoft Office Excel 2 23.05.2008 09:25
Задача с использованием Graph GrabNik Паскаль, Turbo Pascal, PascalABC.NET 1 07.05.2008 22:47