Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 25.05.2014, 13:30   #1 (permalink)
DmitriyRus
Новичок
 
Регистрация: 25.05.2014
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Если кто может, пожалуйста, нарисуйте блок схему по моему коду

program metod_Runge_Kutta_Variant_3_1;
uses crt;
Const
h=0.05;
N=20;
Var
I:Array[0..N] of Real;
j:integer;
r: text;
t,Z,Sum:Real;
Function F(x,y:real):real;
begin
F:=1-Sin(x*5+y)+y/(x+5);
end;
Begin
assign(r,'metod_Runge_Kutta.txt');
rewrite(r);
writeln('Вариант № 3. Ток в электрической цепи описывается дифференциальным уравнением, которое необходимо решить, найдя y(0.05), y(0.1) ... y(1) с помощью метода Рунге-Кутта второго порядка с коррекцией в средней точке (в дифференциальном уравнении k = 5).');
writeln('По найденным значениям Y определить количество тепла, выделяющееся на единичном сопротивлении за единицу времени, по формуле с помощью метода Симпсона. ');
writeln(r,'Вариант № 3.Ток в электрической цепи описывается дифференциальным уравнением, которое необходимо решить, найдя y(0.05), y(0.1) ... y(1) с помощью метода Рунге-Кутта второго порядка с коррекцией в средней точке (в дифференциальном уравнении k = 5).');
writeln(r,'По найденным значениям Y определить количество тепла, выделяющееся на единичном сопротивлении за единицу времени, по формуле с помощью метода Симпсона. ');
I[0]:=1;
t:=0;
writeln('t= ',t:3:1,' I= ',I[0]:6:3);
for j:=1 to N do
begin
t:=t+h;
Z:=I[j-1]+h*F(t-h,I[j-1]);
I[j]:=I[j-1]+h*(F(t-h,I[j-1])+F(t,Z))/2;
writeln('t= ',t:3:2,' I= ',I[j]:6:3);
writeln(r,'t= ',t:3:2,' I= ',I[j]:6:3);
end;
writeln;
Sum:=(I[0]+I[N])/3*h;
for j:=1 to (N div 2) do
Sum:=Sum+4.0*h/3.0*Sqr(I[2*j-1]);
for j:=2 to (N div 2) do
Sum:=Sum+2.0*h/3.0*Sqr(I[2*j-2]);
Writeln('Количество тепла, выделяющееся на единичном сопротивлении за единицу времени равно = ', Sum:0:5);
Writeln(r, 'количество тепла равно = ', Sum);
writeln(r,'');
close(r);
End.
DmitriyRus вне форума   Ответить с цитированием

Старый 25.05.2014, 13:30
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Тут можно найти много интересной для вас информации

Помогите, пожалуйста, построить блок схему по программе
Помогите, пожалуйста, составить блок-схему алгоритма программы
Блок-схема по коду Pascal
Помогите, пожалуйста, составить блок схему к задаче
Помогите, пожалуйста, составить блок-схему
11Angelav, пожалуйста, сделайте блок-схему

Старый 25.05.2014, 19:42   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от DmitriyRus Посмотреть сообщение
по моему коду
По Вашему?!! А Вы, сударь, наглец... Ну ладно, если уж перекатали мою программу (разве лишь добавив файловый вывод), так хоть и ошибку исправьте, которую я там допустил, а потом внес исправления:
вместо
Sum:=(I[0]+I[N])/3*h;
должно быть
Sum:=(Sqr(I[0])+Sqr(I[N]))/3*h;

И еще - уже как модератор форума, требую: НЕ ЦЕПЛЯЙТЕСЬ К ЧУЖИМ ТЕМАМ, СОЗДАВАЙТЕ СВОИ.
Сообщение перенесено во вновь созданную тему.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 12:36.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.