Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Осуществить ввод элементов

70K
23 апреля 2011 года
Alexanchez12
1 / / 23.04.2011
Есть программа. Нужно сделать так чтобы вначале она просила ввести:
1)Само дифференциальное ур-е(f)
2)Начальный шаг (h)
3)Начальное условие (y0)
4)Начало отрезка (a)
5)Конец отрезка (b)


Program Euler;
Uses Crt;
Var
xn,xk,yn,h,x,y:real;
i:integer;

Function f(x,y:real):real;
begin
{Здесь приводим выражение для вычисления функции f(x,y) }
f:=y-x;
end;

Begin
ClrScr;
Writeln(' Решение дифференциального уравнения ');
Writeln(' y`=y-x методом Эйлера ');
{ Ввод исходных данных }
xn:=0; yn:=1.5; xk:=1.5; h:=0.25;
{ Выводим шапку таблицы и первую точку }
Writeln(' -------------------');
Writeln('| № | x | y |');
Writeln(' -------------------');
{ Начинаем расчет }
x:=xn; y:=yn; i:=1;
Writeln('|', i:2, ' |', x:5:2, ' |', y:7:4, ' |');
repeat
y:=y+h*f(x,y);
i:=i+1;
x:=x+h;
Writeln('|', i:2, ' |', x:5:2, ' |', y:7:4, ' |');
until x>xk-h;
Writeln(' -------------------');
Readln;
End.
29K
29 апреля 2011 года
Енот_в_Засаде
224 / / 09.11.2010
Цитата: Alexanchez12
Есть программа. Нужно сделать так чтобы вначале она просила ввести:
1)Само дифференциальное ур-е(f)
2)Начальный шаг (h)
3)Начальное условие (y0)
4)Начало отрезка (a)
5)Конец отрезка (b)



так:

Код:
Program Euler;
Uses Crt;
Var
 xn,xk,yn,h,x,y:real;
 i:integer;
 
Function f(x,y:real):real;
begin
 {Здесь приводим выражение для вычисления функции f(x,y) }
 f:=y-x;
end;
 
Begin
 ClrScr;
 Writeln(' Решение дифференциального уравнения ');
 Writeln(' y`=y-x методом Эйлера ');
  { Ввод исходных данных }
 Writeln(' Введите начало отрезка ');
 Readln(xn);
 Writeln(' Введите конец отрезка ');
 Readln(xk);
 Writeln(' Введите шаг ');
 Readln(h);
 Writeln(' Введите начальное значение y ');
 Readln( yn);
{ xn:=0; yn:=1.5; xk:=1.5; h:=0.25;}
  { Выводим шапку таблицы и первую точку }
 Writeln(' -------------------');
 Writeln('| № |   x  |   y    |');
 Writeln(' -------------------');
  { Начинаем расчет }
 x:=xn; y:=yn; i:=1;
 Writeln('|', i:2, ' |', x:5:2, ' |', y:7:4, ' |');
 repeat
   y:=y+h*f(x,y);
   i:=i+1;
   x:=x+h;
   Writeln('|', i:2, ' |', x:5:2, ' |', y:7:4, ' |');
   until x>xk-h;
 Writeln(' -------------------');
 Readln;
End.

а насчёт
Цитата: Alexanchez12
Есть программа. Нужно сделать так чтобы вначале она просила ввести:
1)Само дифференциальное ур-е(f)

матан я конечно сдал давно, но я думаю что саму структуру уравнения менять нельзя, иначе программа перестанет корректно работать, как максимум можно сделать ввод дополнительных коэффициентов, что бы уравнение приобрело например такой вид: y`=ay-bx, где a и b вводятся с клавиатуры?? Если я неправ, то поправьте.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог