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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2014, 00:34   #1
tane
Пользователь
 
Регистрация: 14.12.2013
Сообщений: 64
По умолчанию Составить функцию вычисления.Delphi.Тема:Функции.

1) задание.Составить функцию вычисления(рис).

Код:
function TForm1.Y(x: Real): Real;
begin
  if (x<0) and (x=0) then y:=2 else
  if (0<x) and ((x<2) or (x=2)) then y:=x+2 else
  if x>2 then y:=3;
end;

procedure TForm1.ButtonClick(Sender: TObject);
var a:Real;
begin
a:=y({здесь нужно указывать параметр Х, но в условии его нету,как быть?});
Label1.Caption:=FloatToStr(a);
end;
2-е задание)
Используя ее, вычислить Z(x)=y(x+1)+4y( x-1)+2x для четырех заданных значений x.

Вот,если я правильно понял, фрагмент этого задания
Код:
function TForm1.Z(x1,x2,x3,x4: Real): Real;
begin
x1:=strtofloat(memo1.lines.[0]);   //типа,1-й введенный элемент в memo1 
x2:= strtofloat(memo1.lines.[1]);
x3:=  strtofloat(memo1.lines.[2]);
x4:=strtofloat(memo1.lines.[3]);
Z(x1):=y*(x2+1)+4*y(x3-1)+2*x4;
z:=label2.caption(floattostr(z));
end;
(Код не проверял,потому что не ясны нюансы)Что скажите?
Изображения
Тип файла: png 1.png (8.4 Кб, 63 просмотров)
tane вне форума Ответить с цитированием
Старый 31.01.2014, 15:07   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Код:
a:=y({здесь нужно указывать параметр Х, но в условии его нету,как быть?});
так его надо ввести!
например, в Edit1:
Код:
x := StrToFloat(Edit1.Text);
Label1.Caption := FloatToStr(y(x));
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.01.2014, 16:26   #3
KoliyR
Пользователь
 
Регистрация: 01.09.2009
Сообщений: 55
По умолчанию

Код:
function TForm1.Y(x: Real): Real;
begin
  if (x<0) and (x=0) then y:=2 else \\ здесь союз or  нужен
  if (0<x) and ((x<2) or (x=2)) then y:=x+2 else
  if x>2 then y:=3;
end;
\\Я бы всю эту функцию написал
Код:
function TForm1.Y(x: Real): Real;
begin
  if x<=0 then y:=2 else 
   if x>2 then y:=3 else  y:=x+2;
 end;
2-е задание)
Используя ее, вычислить Z(x)=y(x+1)+4y( x-1)+2x для четырех заданных значений x.

Я как понял посчитать 4 раза y и z


Код:
procedure TForm1.ButtonClick(Sender: TObject);
var i:integer;
begin
memo2.clear;
for i:=0 to memo1.lines.count-1 do 
memo2.lines.add(Y(strtofloat(memo1.lines[i]))*(strtofloat(memo1.lines[i])+1)+4*Y(strtofloat(memo1.lines[i]))*( strtofloat(memo1.lines[i])-1)+2*strtofloat(memo1.lines[i])); 
end;


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.
Обучение, задания по Делфи http://KoliyR.tk

Последний раз редактировалось Serge_Bliznykov; 01.02.2014 в 01:17.
KoliyR вне форума Ответить с цитированием
Старый 31.01.2014, 19:26   #4
tane
Пользователь
 
Регистрация: 14.12.2013
Сообщений: 64
По умолчанию

Цитата:
Сообщение от KoliyR Посмотреть сообщение
procedure TForm1.ButtonClick(Sender: TObject);
var i:integer;
begin
memo2.clear;
for i:=0 to memo1.lines.count-1 do
memo2.lines.add(Y(strtofloat(memo1. lines[i]))*(strtofloat(memo1.lines[i])+1)+4*Y(strtofloat(memo1.lines[i]))*( strtofloat(memo1.lines[i])-1)+2*strtofloat(memo1.lines[i]));
end;
Выдает ошибку Incompatible types: 'String' and 'Extended'.
Что делать?
tane вне форума Ответить с цитированием
Старый 31.01.2014, 19:42   #5
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от tane Посмотреть сообщение
Выдает ошибку Incompatible types: 'String' and 'Extended'. Что делать?
Исправлять. Здесь memo2.lines.add(Y...
Y - кто по национальности ? Real , а для Lines.Add надо String
А лучше введите промежуточные переменные, а то у вас функция от функции от функции и т.д. Это круто конечно, но легко запутаться.
type_Oleg вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить функцию вычисления суммы с точностью эпсилон maxick96 Помощь студентам 9 20.10.2012 23:32
Составить функцию для вычисления среднего арифметического в Delphi laventus Помощь студентам 2 15.06.2012 14:53
Составить программу вычисления выражения и выведения полученного результата на экран.тема ФУНКЦИИ. coolbaba Общие вопросы Delphi 1 03.06.2010 03:31
Составить программу в delphi для вычисления значений функции на отрезке [a,b] с шагом h. Queen Помощь студентам 1 30.05.2010 15:39
2. Составить программу вычисления значения функции на Delphi QuadroX Помощь студентам 4 22.09.2009 21:42