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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2017, 13:23   #1
Vladislav125
Пользователь
 
Регистрация: 27.09.2016
Сообщений: 66
Сообщение Помогите найти ошибку: Delphi. Программа вычисления значения функции

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,math;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Memo1: TMemo;
    Label2: TLabel;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.text:='0,5';
Memo1.Clear;
Memo1.Lines.Add;
end;

procedure TForm1.Button1Click(Sender: TObject);
var x,y,a,b,pi:extended;
begin

x:=StrToFloat(Edit1.Text);
Memo1.Lines.Add(' x='+Edit1.Text);
if x>Pi then y:=1-exp(-a*x)*sin(a*x+b);
if (x>=-Pi) and (x<=Pi) then y:=1-exp(-a*x)*(a*x+b)
      else Y:=1-(exp(-a*x)+exp(-b*x);
 Memo1.Lines.Add(' y='+FloatToStrF(y,ffGeneral,8,2));
end;

end.
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор
Изображения
Тип файла: png задание 4.png (18.6 Кб, 60 просмотров)
Тип файла: jpg задание 4.jpg (102.4 Кб, 114 просмотров)

Последний раз редактировалось Serge_Bliznykov; 20.04.2017 в 13:40.
Vladislav125 вне форума Ответить с цитированием
Старый 20.04.2017, 13:36   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

подсчитайте количество открывающихся скобок ( и закрывающихся )
скобочку потеряли...

ну и в логике if тоже ошибка:
Код:
f x>Pi then y:=1-exp(-a*x)*sin(a*x+b)
else
  if (x>=-Pi) and (x<=Pi) then y:=1-exp(-a*x)*(a*x+b)
  else y:=1-(exp(-a*x)+exp(-b*x));

Последний раз редактировалось Serge_Bliznykov; 20.04.2017 в 13:39.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.04.2017, 14:45   #3
Vladislav125
Пользователь
 
Регистрация: 27.09.2016
Сообщений: 66
По умолчанию

теперь программа запускается но значение не показывает
Vladislav125 вне форума Ответить с цитированием
Старый 20.04.2017, 15:40   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Vladislav125 Посмотреть сообщение
но значение не показывает
кнопочку нажимали?
ничего не происходит?
Ошибок нет?

кстати,
Цитата:
Код:
var x,y,a,b,pi:extended;
begin

x:=StrToFloat(Edit1.Text);
Memo1.Lines.Add(' x='+Edit1.Text);
if x>Pi then y:=1-exp(-a*x)*sin(a*x+b);
А как Вы думаете, чему будет равно значение переменной Pi ?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.04.2017, 17:23   #5
Vladislav125
Пользователь
 
Регистрация: 27.09.2016
Сообщений: 66
По умолчанию

кнопку F9 нажал программа запустилась, нажимаю кнопку выполнить нечего не происходит
Изображения
Тип файла: jpg Безымянный.jpg (96.0 Кб, 118 просмотров)
Vladislav125 вне форума Ответить с цитированием
Старый 20.04.2017, 18:00   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Vladislav125 Посмотреть сообщение
нажимаю кнопку выполнить нечего не происходит
значит, Вы забыли назначить кнопке обработчик события (onClick)

Откройте форму в дизайнере Delphi, выделите кнопку и сделайте по ней двойной клик мышкой.
если откроется код procedure TForm1.Button1Click(Sender: TObject);
то сохраняйте проект, компилируйте и запускайте/проверяйте.


Если что-то не получится - запакуйте исходники проекта в архив (только исходники - это файлы с расширением *.pas, *.dfm, *.dpr) и полученный архив прикрепите к сообщению на форуме (см. Загрузить вложения / Управление вложениями).

да, и событие FormCreate тоже не назначено.
чтобы его назначить сделайте двойной клик в любое свободное место формы. (или выберите форму, в Object Inspector переключитесь на закладку Events и там кликните на строчке onCreate)
если сделаете правильно, то откроется редактор кода внутри процедуры procedure TForm1.FormCreate(Sender: TObject);
begin

Последний раз редактировалось Serge_Bliznykov; 20.04.2017 в 18:03.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.04.2017, 20:23   #7
Vladislav125
Пользователь
 
Регистрация: 27.09.2016
Сообщений: 66
По умолчанию

Компилировал ошибок нет но все равно не выводится значение
Вложения
Тип файла: rar Архив WinRAR.rar (167.3 Кб, 10 просмотров)

Последний раз редактировалось Vladislav125; 20.04.2017 в 20:27.
Vladislav125 вне форума Ответить с цитированием
Старый 20.04.2017, 20:38   #8
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

А данные (в моём случае - число "77" ввел)?

333.jpg
ura_111 вне форума Ответить с цитированием
Старый 20.04.2017, 20:41   #9
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Я думаю, что нет.
Я думаю, надо что-то вроде такого:

1.jpg


Расскажи о циклах (например, "for"): зачем нужен, что делает, как пользоваться...

Последний раз редактировалось ura_111; 20.04.2017 в 21:23.
ura_111 вне форума Ответить с цитированием
Старый 20.04.2017, 20:43   #10
Vladislav125
Пользователь
 
Регистрация: 27.09.2016
Сообщений: 66
По умолчанию

а так там все правильно? если что задание на вверху темы
Vladislav125 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Очередь] Помогите найти ошибку...программа после компиляции и ввода значения не выдает ответ Калючка Паскаль, Turbo Pascal, PascalABC.NET 8 07.11.2016 16:57
Программа для вычисления значения функции - по формуле найти сумму ряда с заданной точностью КСЕНИЯ2 Паскаль, Turbo Pascal, PascalABC.NET 4 14.03.2015 15:08
Помогите найти ошыбку-программа вычисления функции одного аргумента (на C) lizka6011997 Помощь студентам 12 02.12.2013 22:08
Программа вычисления значения функции aviakaty Фриланс 3 17.05.2012 23:52
Программа для вычисления значения первой и второй производных функции x^n в заданной точке x0 (x0>0) при заданном n (Delphi) Cool Zero Помощь студентам 3 18.02.2012 19:07