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

Перевод кода Pascal в Python

16.02.2023, 09:45. Показов 1657. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, перевести код из паскаля в пайтон

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
Program kinel;
 type mas=array[1..2] of real;
 arr=array[1..4] of real;
 const Ca0=0.8;Cb0=0.0;Cc0=0.0;Cd0=0;
 k1:mas=(0.38,0.27);T1=580.0;
 E:mas=(75000.0,56000.0);
 R=8.314; Tn=550.0;Tk=600.0;
 hT=10.0;ttk=10.0;h=0.05;
 var
 c,f:arr;
 k,k0:mas;T,tt:real;i,j,n,jn:integer;
 F1:text;
Procedure pr(c:arr;k:mas;var f:arr);
 begin
 f[1]:=-k[1]*c[1];
 f[2]:=k[1]*c[1]-k[2]*c[2]*c[3]*c[3];
 f[3]:=2*(k[1]*c[1]-k[2]*c[2]*c[3]*c[3]);
 f[4]:=k[2]*c[2]*c[3]*c[3];
 end;
 begin assign(F1,'rel.pas');
 rewrite(F1);n:=Trunc(Round(ttk/h/10));
 for i:=1 to 2 do
 k0[i]:=k1[i]*exp(E[i]/R/T1);
 T:=Tn;jn:=1;
 repeat tt:=0.0;j:=0;
 c[1]:=Ca0;c[2]:=Cb0;c[3]:=Cc0;c[4]:=Cd0;
 for i:=1 to 2 do
 k[i]:=k0[i]*exp(-E[i]/R/T);
 writeln(F1,'Таблица ',jn,' –Расчет кинетики гомогенной химической');
 writeln(F1,' реакции при температуре T=',T:4:0,' C');
 writeln(F1,'Константы k1=',k[1]:4:2);
 writeln(F1,' k2=',k[2]:4:2);
 writeln(F1,'Время,c Ca Cb Cc Cd');
 writeln(F1,tt:5:0,c[1]:6:2,c[2]:6:2,c[3]:6:2,c[4]:6:2);
 while tt<=ttk do
 begin
 tt:=tt+h;j:=j+1;
 pr(c,k,f);
 for i:=1 to 4 do
 c[i]:=c[i]+h*f[i];
 if j=n then
 begin
 writeln(F1,tt:5:0,c[1]:6:2,c[2]:6:2,c[3]:6:2,c[4]:6:2);
 j:=0;
 end;
 end;
 writeln(F1,'Степень превращения Ха=',((Ca0-c[1])/Ca0):6:2);
 writeln(F1);
 T:=T+hT;jn:=jn+1;
 until T>Tk;
 close(f1);
 end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.02.2023, 09:45
Ответы с готовыми решениями:

Перевод кода из Pascal в Python
Помогите пожалуйста перевести код из Паскаля на Пайтон uses crt; const n=10; m=8; var A:array of integer; ...

перевод кода с pascal в python
Переведите, пожалуйста код c pascal в python: program solve3; var n, i, j, b, k, x, y, d: integer; a: array of array of...

Перевод кода Pascal в Python
Здравствуйте, помогите с переводом кода Pascal в Python!? Program ss1; var s,g:string; sum:integer; begin ...

3
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
17.02.2023, 17:28
Python
1
2
3
4
5
6
7
8
9
# Program kinel;
 
ttk = 10.0
h = 0.05
 
n = int(ttk / h / 10)  # todo округлить
 
with open('rel.pas', 'w') as f:  # rewrite?
    print('Таблица ', jn, ' –Расчет кинетики гомогенной химической', file=f)
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
18.02.2023, 19:35
Рыжий Лис, похоже, что даже на Паскале программа неправильно работает...

Не по теме:

В свое время, в ВУЗе, нам курс по химической кинетике читали, реакции первого, второго порядка, энергия активации... Было интересно, помню, что в основе лежат уравнения баланса и дифф. уравнения.

0
 Аватар для rim41
1045 / 313 / 78
Регистрация: 16.03.2020
Сообщений: 954
20.02.2023, 01:51
Просьба не кидаться помидорами и отрицательными отзывами за читы, использовал только ради помощи ТС
Python
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
import math
 
 
def pr(c, k, f):
    f[0] = -k[0] * c[0]
    f[1] = k[0] * c[0] - k[1] * c[1] * c[2] ** 2
    f[2] = 2 * (k[0] * c[0] - k[1] * c[1] * c[2] ** 2)
    f[3] = k[1] * c[1] * c[2] ** 2
 
n = int(round(ttk / h / 10))
k0 = [k1[i] * math.exp(E[i] / R / T1) for i in range(2)]
T = Tn
jn = 1
with open("rel.pas", "w") as f1:
    while T < Tk:
        tt = 0.0
        j = 0
        c = [Ca0, Cb0, Cc0, Cd0]
        k = [k0[i] * math.exp(-E[i] / R / T) for i in range(2)]
        f1.write(f"Таблица {jn} - Расчет кинетики гомогенной химической\n")
        f1.write(f"реакции при температуре T = {T:4.0f} C\n")
        f1.write(f"Константы k1 = {k[0]:4.2f}\n")
        f1.write(f"k2 = {k[1]:4.2f}\n")
        f1.write("Время,c Ca Cb Cc Cd\n")
        f1.write(f"{tt:5.0f} {c[0]:6.2f} {c[1]:6.2f} {c[2]:6.2f} {c[3]:6.2f}\n")
        while tt <= ttk:
            tt += h
            j += 1
            pr(c, k, f)
            c = [c[i] + h * f[i] for i in range(4)]
            if j == n:
                f1.write(f"{tt:5.0f} {c[0]:6.2f} {c[1]:6.2f} {c[2]:6.2f} {c[3]:6.2f}\n")
                j = 0
        f1.write(f"Степень превращения Ха = {(Ca0 - c[0]) / Ca0:6.2f}\n\n")
        T += hT
        jn += 1
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.02.2023, 01:51
Помогаю со студенческими работами здесь

Перевод кода из Pascal в Python
1. var A, B, x: real; begin writeln('Введите коэффициенты A и B (A &lt;&gt; 0):'); write(' A = '); readln(A); { &lt;--...

перевод с pascal на python
прошу перевести с паскаля на питон program While13; var Temp, A:Real; K :Integer; begin Write('Введите A: '); ...

Перевод из Pascal в Python
Задача: ввести 2 числа и проверить их дружественность function dividers(x: integer): integer; var s, i: integer; begin s := 0; ...

Перевод с pascal на python
Var n2, i, n: integer; begin readln(n); n2 := 0; for i := 1 to n do begin n2 := n2 + 2 * i -...

Перевод с Pascal на Python
Товарищи, помогите перевести код с Паскаля на Питон! Пожалуйста! program shot; var x, y: real; begin writeln( ' Введите значения х...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru