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

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Курсовая на Делфи, Помоги новичку понять то,что он делает не так...
Kalipsoo
сообщение 18.04.2008 9:45
Сообщение #1


Новичок
*

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

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


Добрового времени суток! Обращаюсь за помощь. В моём политехническом универе во втором семесетре дали курсовую по Делфи...которую резко надо выполнить... ну а я опыта общения с ООП да и с Делфи не имею... Тема курсовой "Вычисление интеграла методом Чебышева". Заранее говорю,что ссылки на готовую курсовую по этой теме давать не надо... потому что наш преподователь просил перенести на Делфи курсовую по аналогичной теме,выполненной только в Паскале(это делалось в 1 семестре)+ сделать так чтобы она и график функиции строила...

Вот что у меня получилось:

unit Unit1;

interface

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

const n=5;

type
aa=array[1..n] of real;
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label4: TLabel;
Label5: TLabel;
Button1: TButton;
Label6: TLabel;
Label7: TLabel;
PaintBox1: TPaintBox;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Label7Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure vvod(var a,b:real; var s:aa);
procedure Raschet(var p:integer; var x:aa; var y:aa; var int:real);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
x,y:aa;
f:text;
a,b,h,gral:real;
p:integer;



implementation

{$R *.dfm}

{zapolnenie Xov v massive x[5]}
procedure vvod(var a,b:real; var s:aa);
var i:integer; t1,t2:real;
Begin
a:=StrToFloat(Edit2.Text);
b:=StrToFloat(Edit3.Text);

s[1]:=0.5*(b+a);
t1:=0.5*sqrt((5-sqrt(11))/3);
s[2]:=0.5*(b+a)+ 0.5*(b-a)*t1 ;
s[3]:=0.5*(b+a) - 0.5*(b-a)*t1;
t2:=0.5*sqrt((5+sqrt(11))/3);
s[4]:=0.5*(b+a)+ 0.5*(b-a)*t2;
s[5]:=0.5*(b+a) - 0.5*(b-a)*t2;
end;


procedure Raschet(var p:integer; var x:aa; var y:aa; var int:real);
var i:integer; h:real;
Begin
If p=1 then
For i:=1 to 5 do
y[i]:=(x[i]*x[i]*x[i]-x[i]*x[i]+x[i]+1);
if p=2 then
For i:=1 to 5 do
y[i]:=x[i];
If p=3 then
for i:=1 to 5 do
y[i]:=x[i]*x[i];
int:=y[1]+y[2]+y[3]+y[4]+y[5];

gral:=int*(b-a)/5;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin

vvod(a,b,x);
p:=StrToFloat(Edit1.Text);
Raschet(p,x,y,gral);

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
var
x, y: array[1..50] of double;
i: integer;
scalex, scaley, ymin, ymax, xmin, xmax: double;
begin
for i := 1 to 50 do
begin
y[i] := sin(i * 0.5);
x[i] := i;
end;
xmin := x[1];
xmax := x[1];
ymin := y[1];
ymax := y[1];
for i := 2 to 50 do
begin
if y[i] < ymin then
ymin := y[i];
if y[i] > ymax then
ymax := y[i];
if x[i] < xmin then
xmin := x[i];
if x[i] > xmax then
xmax := x[i];
end;
scalex := paintbox1.Width / (xmax - xmin);
scaley := paintbox1.Height / (ymax - ymin);
with paintbox1.canvas do
begin
moveto(trunc(scalex * (x[1] - xmin)), paintbox1.height - trunc(scaley * (y[1]
- ymin)));
for i := 2 to 50 do
Lineto(trunc(scalex * (x[i] - xmin)), paintbox1.height - trunc(scaley *
(y[i] - ymin)));
end;
end;




Вот только компилятор ругается на эту строчку
a:=StrToFloat(Edit2.Text);
b:=StrToFloat(Edit3.Text);

и выдаёт:
[Error] Unit1.pas(55): Undeclared identifier: 'Edit2'
[Error] Unit1.pas(56): Missing operator or semicolon
[Error] Unit1.pas(56): Undeclared identifier: 'Edit3'
[Error] Unit1.pas(58): Missing operator or semicolon
[Error] Unit1.pas(90): Incompatible types: 'Integer' and 'Extended'
[Error] Unit1.pas(97): Undeclared identifier: 'labels'
[Error] Unit1.pas(98): Incompatible types: 'String' and 'Real'
[Error] Unit1.pas(102): Statement expected but 'VAR' found
[Error] Unit1.pas(103): Identifier redeclared: 'x'
[Error] Unit1.pas(127): Undeclared identifier: 'paintbox1'
[Error] Unit1.pas(127): Statement expected, but expression of type 'Extended' found
[Error] Unit1.pas(128): Missing operator or semicolon
[Error] Unit1.pas(128): Statement expected, but expression of type 'Extended' found
[Error] Unit1.pas(129): 'DO' expected but identifier 'canvas' found
[Error] Unit1.pas(131): Undeclared identifier: 'moveto'
[Error] Unit1.pas(131): Missing operator or semicolon
[Error] Unit1.pas(132): Statement expected, but expression of type 'Int64' found
[Error] Unit1.pas(133): Missing operator or semicolon
[Error] Unit1.pas(134): Not enough actual parameters
[Error] Unit1.pas(135): Statement expected, but expression of type 'Int64' found
[Error] Unit1.pas(136): '.' expected but ';' found
[Warning] Unit1.pas(137): Text after final 'END.' - ignored by compiler
[Error] Unit1.pas(30): Unsatisfied forward or external declaration: 'TForm1.vvod'
[Error] Unit1.pas(31): Unsatisfied forward or external declaration: 'TForm1.Raschet'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
Честно говоря как убрать эти ошибки я не ппонимаю, хотя их содержание мне более или менее понятно...
Просьба сильно не ругаться, ибо я только учусь... Заранее спасибо

Сообщение отредактировано: Kalipsoo - 18.04.2008 9:46
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



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