Tuesday, December 31, 2019

ЛР5 Программирование (1.6 В21) - IV

LabWork5
📑 IT Online Mini Campus. Task 1.6
IV. Программа SageMath (Python)
def create_table(f,a,x1,dx,n):
    t=[['n','X','Y≈']]
    for i in [1..n]:
        t.append([i,x1,f(a,x1)]); x1+=dx
    show(table(t))
def f21(a,x):
    if x<3*a: return -a*exp(x-3*a)
    else: return -a-a*log(x-3*a)
var('a,x'); A21=.8; X21,dX21=-4*A21,2*A21/5
s21='$x<3a => f(x)=%s; x>=3a => f(x)=%s$'
s21=s21%(latex(-a*exp(x-3*a)),
         latex(-a-a*log(x-3*a)))
pretty_print(html(s21)) 
create_table(f21,A21,X21,dX21,20)


ЛР5 Программирование (1.6 В21) - III

LabWork5
📑 Compile Pascal Online
III. Программа Pascal
Program Lab5;
var A,KX1,KdX,X,Y: real;
    N,i: integer;
begin
    writeln('Лаб.5':38);
    write('Количество значений N: '); 
    readln(N); writeln(N:3);
    write('Значение параметра A: '); 
    readln(A); writeln(A:5:2);
    write('KX1 => X1=KX1*A: '); 
    readln(KX1); X:=KX1*A;
    write(KX1:5:2); write('=>'); writeln(X:5:2);  
    write('KdX => dX=KdX*A: '); 
    readln(KdX); write(KdX:5:2); 
    write('=>'); writeln(KdX*A:5:2);
    i:=1; writeln('Таблица значений');
    while i<N+1 do
    begin
        if X<3*A then
            Y:=-A*Exp(X-3*A)
        else
            Y:=-A-A*Ln(X-3*A);
        write(X:5:2); write(', '); writeln(Y:5:4);
        X:=X+KdX*A; i:=i+1;
    end;
end.

STDIN
20
0.8
-4
0.4