М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Marvarick
Marvarick
14.10.2020 01:16 •  Информатика

Тема: решение дифференциального уравнения методом эйлера. написать программу, находящую решение дифференциального уравнения y'=f(x,y) методом эйлера на отрезке [x0,xn] с шагом h при начальных условиях y=y0. исходные данные . метод эйлера и вычисление функции f(x,y) необходимо реализовать в виде отдельных функций. исходные данные y0, x0, xn, h вводятся с клавиатуры. значения численного решения рассчитываются по формуле yi+1=yi+h*f(xi,yi) исходные данные: дифференциальное уравнение: y'=(2y - sqrt[y2 + x2]) / 2x y0 = 0 x0 = 1 xn = 2 точное решение ду: y(x)= x*sh(0.5*ln(1/x)) примечание: используйте math.h

👇
Ответ:
daramalahova907
daramalahova907
14.10.2020
    #include <math.h>
    #include <stdio.h>
double y1(double x,double y) {
    return (2*y-sqrt(x*x+y*y))/(2*x);
};

double ye(double x) {
    return (sinh(0.5*log(1/x)));
};

int main() {
    double y0=0, x0=1, xn=2, h=0.05;
    double x,y,yr,et;
    x=x0; y=y0;
    for (int i=1; i<=floor((xn-x0)/h)+1; i++) {
        yr=y+h*y1(x,y);
        et=ye(x);
        printf("\nx=%8.5f, y=%8.5f, yr=%8.5f, et=%8.5f, eps=%8.5f",x,y,yr,et,yr-et);
        x+=h; y=yr;
    };
    return 0;   
}

Тестовое решение:
x= 1.00000, y= 0.00000, yr=-0.02500, et= 0.00000, eps=-0.02500
x= 1.05000, y=-0.02500, yr=-0.05120, et=-0.02440, eps=-0.02680
x= 1.10000, y=-0.05120, yr=-0.07855, et=-0.04767, eps=-0.03088
x= 1.15000, y=-0.07855, yr=-0.10703, et=-0.06994, eps=-0.03709
x= 1.20000, y=-0.10703, yr=-0.13658, et=-0.09129, eps=-0.04530
x= 1.25000, y=-0.13658, yr=-0.16720, et=-0.11180, eps=-0.05539
x= 1.30000, y=-0.16720, yr=-0.19883, et=-0.13156, eps=-0.06727
x= 1.35000, y=-0.19883, yr=-0.23147, et=-0.15062, eps=-0.08085
x= 1.40000, y=-0.23147, yr=-0.26507, et=-0.16903, eps=-0.09604
x= 1.45000, y=-0.26507, yr=-0.29963, et=-0.18685, eps=-0.11277
x= 1.50000, y=-0.29963, yr=-0.33511, et=-0.20412, eps=-0.13098
x= 1.55000, y=-0.33511, yr=-0.37150, et=-0.22089, eps=-0.15061
x= 1.60000, y=-0.37150, yr=-0.40877, et=-0.23717, eps=-0.17160
x= 1.65000, y=-0.40877, yr=-0.44691, et=-0.25301, eps=-0.19390
x= 1.70000, y=-0.44691, yr=-0.48591, et=-0.26844, eps=-0.21747
x= 1.75000, y=-0.48591, yr=-0.52574, et=-0.28347, eps=-0.24226
x= 1.80000, y=-0.52574, yr=-0.56638, et=-0.29814, eps=-0.26824
x= 1.85000, y=-0.56638, yr=-0.60784, et=-0.31247, eps=-0.29537
x= 1.90000, y=-0.60784, yr=-0.65008, et=-0.32646, eps=-0.32362
x= 1.95000, y=-0.65008, yr=-0.69310, et=-0.34015, eps=-0.35295
x= 2.00000, y=-0.69310, yr=-0.73689, et=-0.35355, eps=-0.38334
4,8(93 оценок)
Открыть все ответы
Ответ:
nastyateam1
nastyateam1
14.10.2020
Or - "ИЛИ". Если одно из условий верно, то и все выражение принимает истину [ 0 or 1 = 1 ; 1 or 0 = 1; 1 or 1 = 0, 0 or 0 = 0], где 1 - истина, а 0 - ложь
у тебя условие 
If(k>9) or (k<14) then
условие k > 9 выполняется, а значит и все выражение верно
Нужно заменить "OR" на "AND" оператор "И". 
[ 1 and 1 = 1 ] при всех остальных - ложь

Вот код

var
k: integer;
begin
 readln(k);
  if k > 17 then
    Writeln('ваша оценка 5. Молодец!');
  if (k > 13) and (k < 18) then 
    Writeln('ваша оценка 4.'); 
if(k > 9) and (k < 14) then 
    Writeln('ваша оценка 3.'); 
if k < 10 then
    Writeln('ваша оценка 2.');
end.
4,4(75 оценок)
Ответ:
risimonenko
risimonenko
14.10.2020
Var
  dc:set of char;
  s1,s2:string;
  i:integer;
begin
  dc:=['A'..'D','a'..'d'];
  s1:='То avoid the impression of the tail wagging the dog, '+
    'the president cannot be seen bending to the wishes of a minority.';
  s2:='';
  for i:=1 to length(s1) do
    if not(s1[i] in dc) then s2:=s2+s1[i];
  Writeln('Исходная строка: ',s1);
  s1:=s2;
  Writeln('Результирующая строка: ',s1)
end.

Тестовое решение:
Исходная строка: То avoid the impression of the tail wagging the dog, the president cannot be seen bending to the wishes of a minority.
Результирующая строка: То voi the impression of the til wgging the og, the presient nnot e seen ening to the wishes of  minority.
4,6(61 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ