Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 8

Переписать код с Pascal на PHP

30.03.2016, 09:06. Показов 1615. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста очень надо переписать этот код на php языке
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
{$N+}                                 
uses dos, crt, graph;
const  N=250; dt=0.01;
var Fx,Fy,x,y,vx,vy : array[1..N] of real;
    m,t,Gd,Gm,i,j : integer; k,F,l : real;
Procedure Sila;
begin
  For i:=1 to N do begin Fx[i]:=0; Fy[i]:=0; end;
  For i:=1 to N do For j:=1 to N do begin
    l:=sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j]));
    If (l>0)and(l<100) then F:=-700/(l) else F:=0;
    If (l>0)and(l<10) then F:=25000/l;
    Fx[i]:=Fx[i]+F*(x[i]-x[j])/(l+0.001);
    Fy[i]:=Fy[i]+F*(y[i]-y[j])/(l+0.001)+m*20;
end; end;
Procedure Nach_uslov;
begin  Randomize; m:=1;
For j:=0 to 24 do For i:=1 to 10 do begin
  x[i+10*j]:=10*i+155; y[i+10*j]:=10*j+120;
end; end;
BEGIN Gd:=Detect; InitGraph(Gd, Gm, 'c:\bp\bgi');
setbkcolor(15); Nach_uslov;
Repeat Sila;
For i:=1 to N do
  begin k:=0.2;
    vx[i]:=k*vx[i]+Fx[i]/m*dt; vy[i]:=k*vy[i]+Fy[i]/m*dt;
    x[i]:=x[i]+vx[i]*dt;             y[i]:=y[i]+vy[i]*dt;
    If (x[i]<160) then begin vx[i]:=-vx[i]; x[i]:=161; end;
    If (x[i]>260) then begin vx[i]:=-vx[i]; x[i]:=259; end;
    If (x[i]>180)and(x[i]<240)and(y[i]>320)and(y[i]<324)
                  then begin vy[i]:=-vy[i]; y[i]:=319; end;
    If (y[i]>410) then begin vy[i]:=1; y[i]:=240;
                                 x[i]:=random(90)+165; end;
end; delay(50);
If t mod 2=0 then begin cleardevice; setcolor(12);
For i:=1 to N do begin
circle(round(2*x[i]),round(2*y[i])-400,3); end;
setcolor(8);
rectangle(2*180,2*320-400,2*240,2*324-400);
line(2*160,0,2*160,480); line(2*260,0,2*260,480);
end; inc(t);
until KeyPressed; Repeat until keypressed; CloseGraph;
END.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.03.2016, 09:06
Ответы с готовыми решениями:

Переписать код из Turbo Pascal в Pascal ABC
Программа 1: program zadacha; uses crt, graph; const m=150; var gd,gm,i,j,s1,s2,c: integer; z,x,y: real; t: array of pointtype; ...

Переписать код из Turbo Pascal в Pascal ABC
Переписать код из Turbo Pascal в Pascal ABCprogram zadacha; uses crt, graph; const m=150; var gd,gm,i,j,s1,s2,c1,c2: integer; z,x,y:...

Переписать код из Turbo Pascal в Pascal ABC
program zadacha; uses crt, graph; const m=50; var gd,gm,i,j,s1,s2,c1,c2: integer; z,x,y,x1,y1,x2,y2,h: real; t: array of...

6
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
30.03.2016, 15:09
Лучше озвучьте задание.
0
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 8
30.03.2016, 16:44  [ТС]
модель диффузии двух газов.
промоделировать движение нескольких десятков молекул двух сортов внутри прямоугольного сосуда. Чтобы учесть отражение молекул от стенок в результате абсолютно упругого удара
0
30.03.2016, 16:50

Не по теме:

=-O

0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
30.03.2016, 17:40
Кликните здесь для просмотра всего текста

Если бы при приеме на работу к водителям относились так же, как к программистам:
-------
Вакансия: водитель.
Требования: профессиональные навыки управлении легковыми и грузовыми
автомобилями, троллейбусами, трамваями, поездами метрополитена и
фуникулера, экскаваторами и бульдозерами, спецмашинами на гусеничном
ходу, боевыми машинами пехоты и современными легкими/средними танками,
находящимися на вооружении стран СНГ и НАТО.
Навыки раллийского и экстремального вождения - обязательны,
Опыт управления болидами F1 - приветствуется.
Знания и опыт ремонта поршневых и роторных двигателей,
автоматических и ручных трансмиссий, систем зажигания, бортовых
компьютеров, антиблокировочных систем, навигационных систем (GPS) и
автомобильных аудиосистем ведущих производителей - обязательны.
Опыт проведения кузовных и окрасочных работ приветствуется.
Претенденты должны иметь сертификаты Mercedes, BMW, General Motors, а также справки
об участии в крупных международных ралли не более чем двухлетней давности.
Зарплата 15000-25000 руб., определяется по результатам собеседования.

Не по теме:

В дополнении к спойлеру можно приписать еще и физику:D

1
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
30.03.2016, 18:42
Цитата Сообщение от Dimon_drakula Посмотреть сообщение
этот код на php языке
функции
Цитата Сообщение от Dimon_drakula Посмотреть сообщение
circle
Цитата Сообщение от Dimon_drakula Посмотреть сообщение
rectangle
Цитата Сообщение от Dimon_drakula Посмотреть сообщение
line
используются для рисования в консоль. Я очень сильно сомневаюсь что кто-то будет это делать на php, он создавался для других целей. Как ты представляешь результат?

Добавлено через 8 минут
веб приложение тут я уже говорил, что для реализации нужно использовать клиентский язык, а не серверный
0
Hello Kitty
 Аватар для WhiteMind
690 / 562 / 402
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
30.03.2016, 18:46
Лучший ответ Сообщение было отмечено Dimon_drakula как решение

Решение

на php это по нормальному не сделать.
зато на js можно:
JavaScript
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
(function() {
 
var N = 250;
var dt = 0.01;
var m = 1;
var x  = []; var y  = [];
var Fx = []; var Fy = [];
var vx = []; var vy = [];
var offsetX = -320+10;
var offsetY = 10;
function Nach_uslov() {
    m = 1;
 
    for(var j=0; j < 25; j++) {
        for(var i=0; i < 10; i++) {
            x[ i+10*j ] = 10*i+165; 
            y[ i+10*j ] = 10*j+120;
        }
    }
 
    for(var i=0; i<N; i++) {
        vx[i]=0; 
        vy[i]=0; 
    }
}
function Draw_All() {
  ctx.clearRect(0, 0, cnv.width, cnv.height);
    for(var i = 0; i < N; i++) {
        circle( ctx , Math.round(2*x[i]) , Math.round(2*y[i])-400 , 3 , 'red' ); 
    }
    rectangle(ctx,360,240,480,248);
    line(ctx,320,0,320,480); 
    line(ctx,520,0,520,480);
}
function Sila() {
 
    for(var i=0; i<N; i++) {
        Fx[i]=0; 
        Fy[i]=0; 
    }
    
    for(var i=0; i<N; i++) {
        for(var j=0; j<N; j++) {
            var l = Math.sqrt( 
                ( x[i]-x[j] )*( x[i]-x[j] ) + ( y[i]-y[j] )*( y[i]-y[j] ) 
            );
            if ( (l>0) && (l<100) ) {
                var F = -700/(l);
            } else {
                var F = 0;
            }
            if ( (l>0) && (l<10 ) ) { 
                var F = 25000/l;
            }
            
            Fx[i] = Fx[i] + F * (x[i]-x[j])/(l+0.001);
            Fy[i] = Fy[i] + F * (y[i]-y[j])/(l+0.001)+m*20;     
        }
    }
    
}
function Frame() {
    Sila();
    
    for(var i=0; i<N; i++) {
    
        var k=0.2;
        vx[i]=k*vx[i]+Fx[i]/m*dt; 
        vy[i]=k*vy[i]+Fy[i]/m*dt;
        x[i]=x[i]+vx[i]*dt;             
        y[i]=y[i]+vy[i]*dt;
        if (x[i]<160) {
            vx[i]=-vx[i];
            x[i]=161; 
        }
        if (x[i]>260) {
            vx[i]=-vx[i];
            x[i]=259;
        }
        if ((x[i]>180)&&(x[i]<240)&&(y[i]>320)&&(y[i]<324)) {
            vy[i]=-vy[i];
            y[i]=319; 
        }
        if (y[i]>410) {
            vy[i]=1; 
            y[i]=240; 
            x[i]=Math.round(Math.random()*90)+165; 
        }
        
    }
    
    Draw_All();
}
 
 
 
function circle( context , x , y , r , color ) {
            context.beginPath();
      context.arc(x+offsetX, y+offsetY, r , 0, 2 * Math.PI, false);
      context.fillStyle = color;
      context.fill();
}
function rectangle( context , x,y,x2,y2 ) {
        context.beginPath();
    //ctx.fillRect(25,25,100,100);
    //ctx.clearRect(45,45,60,60);
    context.strokeRect(x+offsetX,y+offsetY,x2-x,y2-y);
}
function line(context,x,y,x2,y2) {
      context.beginPath();
      context.moveTo(x+offsetX, y+offsetY);
      context.lineTo(x2+offsetX, y2+offsetY);
      context.stroke();
}
 
var cnv = $('#cnv')[0];
var ctx = cnv.getContext( '2d' );
 
Nach_uslov();
 
setInterval( Frame , 20 );
 
 
})();
HTML5
1
<canvas id="cnv" width="220px" height="500px" style="border: 2px solid #434241;"></canvas>
Добавлено через 38 секунд
https://jsfiddle.net/9boj38g6/
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.03.2016, 18:46
Помогаю со студенческими работами здесь

Переписать код из Turbo Pascal в pascal ABC
очень плохо знаю Turbo Pascal, а времени на изучение нет, а его надо переписать в Pascal ABC, буду очень благодарна!) program Kr_D; ...

Переписать код из Turbo Pascal в Pascal ABC
Переписать код из Turbo Pascal в pascal ABCprogram zadacha; uses crt, graph; const m=50; var gd,gm,i,j,s1,s2,c1,c2: integer; z,x,y:...

Переписать с Pascal на PHP
Ребята помогите переделать с Pascal на РНР uses crt; var a,ploshad,maxrad,minrad: real; begin clrscr; write('введите длину...

Как переписать код Pascal на код VB
var Form1: TForm1; n:integer=0; s:real=0; k:integer=0; implementation {$R *.dfm} procedure...

Переписать код с C# на pascal
using System; public class Test { public static void Main() { // your code goes here int myArray = new int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru