Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Помогите перевести програмный код с паскаля на Delphi 7 / 14 сообщений из 14, страница 1 из 1
26.02.2018, 20:59
    #39607537
Дмитрий1999
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести програмный код с паскаля на Delphi 7
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
type Point=record
     x,y:real;
end;

type line=record
     a,b,c:real;
end;

function delta(z1,z2:real):real;
begin
 if z1=0 then delta:=0
 else delta:=z2/z1;
end;


function per(l1,l2:line;var Plot:Point):boolean;
var p:Point;
    da,db,dc,b,c:real;
    ch:boolean;
begin
 ch:=true;
 da:=delta(l1.a,l2.a);
 db:=delta(l1.b,l2.b);
 dc:=delta(l1.c,l2.c);
 if (da=db) and (db=dc) then ch:=false
 else
  begin
   b:=l2.a*l1.b-l1.a*l2.b;
   c:=l2.a*l1.c-l1.a*l2.c;
   p.y:=c/b;
   p.x:=(l1.c-l1.b*p.y)/l1.a;
  end;
 Plot:=p;
 per:=ch;
end;

function dlina(p1,p2:Point):real;
begin
 dlina:=sqrt(sqr(p1.x-p2.x)+sqr(p1.y-p2.y));
end;

function geron(p1,p2,p3:Point):real;
var pp,a,b,c:real;
begin
 a:=dlina(p1,p2);
 b:=dlina(p2,p3);
 c:=dlina(p1,p3);
 pp:=(a+b+c)/2;
 geron:=sqrt(pp*(pp-a)*(pp-b)*(pp-c));
end;

function equal(p1,p2:Point):boolean;
begin
 if (p1.x=p2.x) and (p1.y=p2.y) then equal:=true
 else equal:=false;
end;

var l:array[1..3] of Line;
    p:array[1..3] of Point;
    i:integer;
begin
 for i:=1 to 3 do
  begin
   writeln('vvedite ',i,' line:');
   read(l[i].a,l[i].b,l[i].c);
  end;
 if(per(l[1],l[2],p[1]) and per(l[2],l[3],p[2]) and per(l[1],l[3],p[3]))
 then
  begin if not(equal(p[1],p[2]) or equal(p[1],p[3]) or equal(p[1],p[3]))
   then writeln('S=',geron(p[1],p[2],p[3]))
   else writeln('Not possible');
  end
 else writeln('Not possible');
 readln(i);
end.
...
Рейтинг: 0 / 0
28.02.2018, 14:00
    #39608472
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести програмный код с паскаля на Delphi 7
Для начала попробуй вставить этот код в консольный проект (Console Application) на Delphi и скомпилировать.
...
Рейтинг: 0 / 0
28.02.2018, 14:49
    #39608511
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести програмный код с паскаля на Delphi 7
Дмитрий1999с паскаля на Delphi 7

Зачем ???

Берешь бесплатный Virtual Pascal или Free Pascal
...
Рейтинг: 0 / 0
28.02.2018, 15:14
    #39608529
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести програмный код с паскаля на Delphi 7
Дмитрий1999,

File -> New -> Unit
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
unit MyLib;

interface
type Point=record
     x,y:real;
end;

type line=record
     a,b,c:real;
end;

implementation


function delta(z1,z2:real):real;
begin
 if z1=0 then delta:=0
 else delta:=z2/z1;
end;


function per(l1,l2:line;var Plot:Point):boolean;
var p:Point;
    da,db,dc,b,c:real;
    ch:boolean;
begin
 ch:=true;
 da:=delta(l1.a,l2.a);
 db:=delta(l1.b,l2.b);
 dc:=delta(l1.c,l2.c);
 if (da=db) and (db=dc) then ch:=false
 else
  begin
   b:=l2.a*l1.b-l1.a*l2.b;
   c:=l2.a*l1.c-l1.a*l2.c;
   p.y:=c/b;
   p.x:=(l1.c-l1.b*p.y)/l1.a;
  end;
 Plot:=p;
 per:=ch;
end;

function dlina(p1,p2:Point):real;
begin
 dlina:=sqrt(sqr(p1.x-p2.x)+sqr(p1.y-p2.y));
end;

function geron(p1,p2,p3:Point):real;
var pp,a,b,c:real;
begin
 a:=dlina(p1,p2);
 b:=dlina(p2,p3);
 c:=dlina(p1,p3);
 pp:=(a+b+c)/2;
 geron:=sqrt(pp*(pp-a)*(pp-b)*(pp-c));
end;

function equal(p1,p2:Point):boolean;
begin
 if (p1.x=p2.x) and (p1.y=p2.y) then equal:=true
 else equal:=false;
end;

var l:array[1..3] of Line;
    p:array[1..3] of Point;
    i:integer;
begin
 for i:=1 to 3 do
  begin
   writeln('vvedite ',i,' line:');
   read(l[i].a,l[i].b,l[i].c);
  end;
 if(per(l[1],l[2],p[1]) and per(l[2],l[3],p[2]) and per(l[1],l[3],p[3]))
 then
  begin if not(equal(p[1],p[2]) or equal(p[1],p[3]) or equal(p[1],p[3]))
   then writeln('S=',geron(p[1],p[2],p[3]))
   else writeln('Not possible');
  end
 else writeln('Not possible');
 readln(i);
end.

end.



...
Рейтинг: 0 / 0
01.03.2018, 15:15
    #39609109
Дмитрий1999
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести програмный код с паскаля на Delphi 7
Гаджимурадов Рустам, это програмный код на паскале. а мне нужно да делфи помогите пожалуйста
...
Рейтинг: 0 / 0
01.03.2018, 15:16
    #39609111
Дмитрий1999
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести програмный код с паскаля на Delphi 7
Arioch, это програмный код на паскале. а мне нужно да делфи помогите пожалуйста
...
Рейтинг: 0 / 0
01.03.2018, 15:21
    #39609114
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести програмный код с паскаля на Delphi 7
01.03.2018 15:15, Дмитрий1999 пишет:

> это програмный код на паскале. а мне нужно да делфи
> помогите пожалуйста

Сколько денег даёшь ;)?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
01.03.2018, 15:21
    #39609115
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести програмный код с паскаля на Delphi 7
Дмитрий1999,

У тебя код, который нормально перенесется в Delphi, в консольное приложение. И с помощью волшебного копипаста превратится в "код на Delphi".
...
Рейтинг: 0 / 0
01.03.2018, 15:51
    #39609144
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести програмный код с паскаля на Delphi 7
Вики о DelphiНачиная с Delphi 7 в официальных документах компания Borland стала использовать название Delphi для обозначения языка Object Pascal.
Так что перевод не нужен
...
Рейтинг: 0 / 0
01.03.2018, 20:16
    #39609384
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести програмный код с паскаля на Delphi 7
Дмитрий1999,

авторГаджимурадов Рустам, это програмный код на паскале. а мне нужно да делфи помогите пожалуйста

Бывает, что код на паскале вполне работает в делфи. Бывает, что даже без исправлений. Скорее всего это как раз этот случай и есть.
...
Рейтинг: 0 / 0
02.03.2018, 08:36
    #39609495
goldmi45
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести програмный код с паскаля на Delphi 7
Дмитрий1999это програмный код на паскале. а мне нужно да делфи помогите пожалуйста
А если нужно с плюшками формочками, то придётся самому подумать об интерфейсе и соотнести его с кодом. Если хочется без усилий, то тебе в раздел работа . Или вон Dim2000 готов сделать за тебя это.
...
Рейтинг: 0 / 0
02.03.2018, 09:24
    #39609513
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести програмный код с паскаля на Delphi 7
Не знаю что она там считает, но вот в таком виде компилится и работает:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
program test_concole;

{$APPTYPE CONSOLE}

var
  param: string;
  res  : widestring;

type Point=record
     x,y:real;
end;

type line=record
     a,b,c:real;
end;

function delta(z1,z2:real):real;
begin
 if z1=0 then delta:=0
 else delta:=z2/z1;
end;

function per(l1,l2:line;var Plot:Point):boolean;
var p:Point;
    da,db,dc,b,c:real;
    ch:boolean;
begin
 ch:=true;
 da:=delta(l1.a,l2.a);
 db:=delta(l1.b,l2.b);
 dc:=delta(l1.c,l2.c);
 if (da=db) and (db=dc) then ch:=false
 else
  begin
   b:=l2.a*l1.b-l1.a*l2.b;
   c:=l2.a*l1.c-l1.a*l2.c;
   p.y:=c/b;
   p.x:=(l1.c-l1.b*p.y)/l1.a;
  end;
 Plot:=p;
 per:=ch;
end;

function dlina(p1,p2:Point):real;
begin
 dlina:=sqrt(sqr(p1.x-p2.x)+sqr(p1.y-p2.y));
end;

function geron(p1,p2,p3:Point):real;
var pp,a,b,c:real;
begin
 a:=dlina(p1,p2);
 b:=dlina(p2,p3);
 c:=dlina(p1,p3);
 pp:=(a+b+c)/2;
 geron:=sqrt(pp*(pp-a)*(pp-b)*(pp-c));
end;

function equal(p1,p2:Point):boolean;
begin
 if (p1.x=p2.x) and (p1.y=p2.y) then equal:=true
 else equal:=false;
end;

var l:array[1..3] of Line;
    p:array[1..3] of Point;
    i:integer;
    s: string;

begin
 for i := 1 to 3 do
  begin
   writeln('vvedite ',i,' line:');
   read(l[i].a,l[i].b,l[i].c);
  end;
 if(per(l[1],l[2],p[1]) and per(l[2],l[3],p[2]) and per(l[1],l[3],p[3]))
 then
  begin if not(equal(p[1],p[2]) or equal(p[1],p[3]) or equal(p[1],p[3]))
   then writeln('S=',geron(p[1],p[2],p[3]))
   else writeln('Not possible');
  end
 else writeln('Not possible');

 ReadLn(i);

end.



При компиляции выдается несколько хинтов:


Код: pascal
1.
2.
3.
[Hint] test_concole.dpr(86): Value assigned to 'i' never used
[Hint] test_concole.dpr(9): Variable 'param' is declared but never used in 'test_concole'
[Hint] test_concole.dpr(10): Variable 'res' is declared but never used in 'test_concole'
...
Рейтинг: 0 / 0
02.03.2018, 09:25
    #39609514
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести програмный код с паскаля на Delphi 7
fraksНе знаю что она там считает, но вот в таком виде компилится и работает:


Забыл написать - это в Delphi 7
...
Рейтинг: 0 / 0
02.03.2018, 09:28
    #39609515
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести програмный код с паскаля на Delphi 7
А блин, param и res - это остатки от моих предыдуших тестов :)

Так что код в Delphi7 вот такой.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
program test_concole;

{$APPTYPE CONSOLE}

type Point=record
     x,y:real;
end;

type line=record
     a,b,c:real;
end;

function delta(z1,z2:real):real;
begin
 if z1=0 then delta:=0
 else delta:=z2/z1;
end;

function per(l1,l2:line;var Plot:Point):boolean;
var p:Point;
    da,db,dc,b,c:real;
    ch:boolean;
begin
 ch:=true;
 da:=delta(l1.a,l2.a);
 db:=delta(l1.b,l2.b);
 dc:=delta(l1.c,l2.c);
 if (da=db) and (db=dc) then ch:=false
 else
  begin
   b:=l2.a*l1.b-l1.a*l2.b;
   c:=l2.a*l1.c-l1.a*l2.c;
   p.y:=c/b;
   p.x:=(l1.c-l1.b*p.y)/l1.a;
  end;
 Plot:=p;
 per:=ch;
end;

function dlina(p1,p2:Point):real;
begin
 dlina:=sqrt(sqr(p1.x-p2.x)+sqr(p1.y-p2.y));
end;

function geron(p1,p2,p3:Point):real;
var pp,a,b,c:real;
begin
 a:=dlina(p1,p2);
 b:=dlina(p2,p3);
 c:=dlina(p1,p3);
 pp:=(a+b+c)/2;
 geron:=sqrt(pp*(pp-a)*(pp-b)*(pp-c));
end;

function equal(p1,p2:Point):boolean;
begin
 if (p1.x=p2.x) and (p1.y=p2.y) then equal:=true
 else equal:=false;
end;

var l:array[1..3] of Line;
    p:array[1..3] of Point;
    i:integer;

begin
 for i := 1 to 3 do
  begin
   writeln('vvedite ',i,' line:');
   read(l[i].a,l[i].b,l[i].c);
  end;
 if(per(l[1],l[2],p[1]) and per(l[2],l[3],p[2]) and per(l[1],l[3],p[3]))
 then
  begin if not(equal(p[1],p[2]) or equal(p[1],p[3]) or equal(p[1],p[3]))
   then writeln('S=',geron(p[1],p[2],p[3]))
   else writeln('Not possible');
  end
 else writeln('Not possible');

 ReadLn(i);

end.



Код: pascal
1.
[Hint] test_concole.dpr(79): Value assigned to 'i' never used
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Помогите перевести програмный код с паскаля на Delphi 7 / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]