// PascalABC.NET 3.2, сборка 1416 от 26.03.2017 // Внимание! Если программа не работает, обновите версию!
function cx(x:real):string; begin if frac(x)=0 then case Trunc(x) of 0: Result:=''; 1: Result:='*exp(x)'; -1:Result:='*exp(-x)' else Result:='*exp('+x+'x)' end else Result:='*exp('+x+'x)' end;
function cx1(x:real):string; begin if frac(x)=0 then case Trunc(x) of 1: Result:=''; -1:Result:='-' else Result:=x.ToString end else Result:=x.ToString end;
begin var b,c:real; Writeln('Введите коэффициенты уравнения y+by''+cy=0'); Read(b,c); var d:=b*b-4*c; if d>0 then begin d:=sqrt(d); var x1:=(-b-d)/2; var x2:=(-b+d)/2; Writeln('y=c1',cx(x1),'+c2',cx(x2)) end else if d=0 then begin var x:=-b/2; if x=0 then Writeln('y=c1+c2*x') else Writeln('y=c1',cx(x),'+c2*x',cx(x)) end else begin var re:=-b/2; var im:=sqrt(-d)/2; if re=0 then Writeln('y=c1*cos(',cx1(im),'x)+c2*sin(',cx1(im),'x)') else Writeln('y=exp(',cx1(re),'x)*(c1*cos(',cx1(im), 'x)+c2*sin(',cx1(im),'x))') end end.
Const n=10; var a,g: array [1..100] of integer; var b : array [1..100] of string; var k: integer;
begin
writeln ('ответы вводятся строкой без пробелов. Пример: 12345'); b[1]:='1. Общество в широком смысле слова – это '+NewLine+ ' 1) территория обитания людей'+NewLine+ ' 2) история человечества'+NewLine+ ' 3) совокупность форм объединения людей'+NewLine+ ' 4) производительные силы';
b[2]:= '2. Обществознание – это '+NewLine+ ' 1) наука'+NewLine+ ' 2) учебная дисциплина'+NewLine+ ' 3) комплекс наук об обществе и человеке'+NewLine+ ' 4) сфера естественнонаучного знания'+NewLine+ ' 5) сфера гуманитарного знания';
b[3]:= '3. Человек отличается от животного наличием'+NewLine+ ' 1) языка'+NewLine+ ' 2) разума'+NewLine+ ' 3) сознанием'+NewLine+ ' 4) трудовой деятельности'+NewLine+ ' 5) мышления';
b[4]:= '4. Личность возможна (Определить неверный ответ)'+NewLine+ ' 1) без морали'+NewLine+ ' 2) без гражданственности'+NewLine+ ' 3) без ответственности'+NewLine+ ' 4) без диплома о высшем образовании';
b[5]:= '5. Человек и общество'+NewLine+ ' 1) человек первичен по отношению к обществу'+NewLine+ ' 2) общество первично по отношению к человеку'+NewLine+ ' 3) человек и общество взаимно обусловлены'+NewLine+ ' 4) общество и человек развиваются независимо друг от друга';
b[6]:= '6. Мораль в религии основывается'+NewLine+ ' 1) на разуме'+NewLine+ ' 2) на вере'+NewLine+ ' 3) на долге'+NewLine+ ' 4) на свободе';
b[7]:= '7. Целью развитой религии является достижение'+NewLine+ ' 1) материального благополучия'+NewLine+ ' 2) социального положения и значимости'+NewLine+ души'+NewLine+ ' 4) познание мира'+NewLine+ ' 5) управление силами природы';
k:=0; for var i:=1 to n do begin writeln(b[i]); readln(g[i]); if g[i]=a[i] then k:=k+1; end; writeln ('Ваша оценка: ',k/2); end.
Сергей
15.09.2021
Type Frac = record P: integer; Q: 1..32767 end;
function gcd(a: integer; b: integer): integer; {Нахождение НОД} var i: integer; begin while b <> 0 do begin a := a mod b; i := b; b := a; a := i end; result := a end;
function RedFrac(a: Frac): Frac; {Сокращение дроби} var igcd: integer; r: Frac; begin igcd := gcd(a.P, a.Q); r.P := a.P div igcd; r.Q := a.Q div igcd; RedFrac := r end;
function Add(a, b: Frac): Frac; {Сложение дробей} var r: Frac; begin r.P := a.P * b.Q + b.P * a.Q; r.Q := a.Q * b.Q; Add := RedFrac(r) end;
function Mult(a, b: Frac): Frac; {Умножение дробей} var r: Frac; begin r.P := a.P * b.P; r.Q := a.Q * b.Q; Mult := RedFrac(r) end;
var m, n, k: Frac;
begin m.P := 4; m.Q := 15; {4/15} n.P := 9; n.Q := 25; {9/25} k := Add(m, n); Writeln(k.P, '/', k.Q); k := Mult(m, n); Writeln(k.P, '/', k.Q); end.
Результат выполнения программы: 47/75 12/125
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Паскаль! составить программу в паскале решение дифференциального уравнения второго порядка например, y"-4'+3y=0
// Внимание! Если программа не работает, обновите версию!
function cx(x:real):string;
begin
if frac(x)=0 then
case Trunc(x) of
0: Result:='';
1: Result:='*exp(x)';
-1:Result:='*exp(-x)'
else Result:='*exp('+x+'x)'
end
else Result:='*exp('+x+'x)'
end;
function cx1(x:real):string;
begin
if frac(x)=0 then
case Trunc(x) of
1: Result:='';
-1:Result:='-'
else Result:=x.ToString
end
else Result:=x.ToString
end;
begin
var b,c:real;
Writeln('Введите коэффициенты уравнения y+by''+cy=0');
Read(b,c);
var d:=b*b-4*c;
if d>0 then begin
d:=sqrt(d);
var x1:=(-b-d)/2;
var x2:=(-b+d)/2;
Writeln('y=c1',cx(x1),'+c2',cx(x2))
end
else
if d=0 then begin
var x:=-b/2;
if x=0 then Writeln('y=c1+c2*x')
else Writeln('y=c1',cx(x),'+c2*x',cx(x))
end
else begin
var re:=-b/2;
var im:=sqrt(-d)/2;
if re=0 then Writeln('y=c1*cos(',cx1(im),'x)+c2*sin(',cx1(im),'x)')
else Writeln('y=exp(',cx1(re),'x)*(c1*cos(',cx1(im),
'x)+c2*sin(',cx1(im),'x))')
end
end.
Примеры
Введите коэффициенты уравнения y''+by'+cy=0
-2 10
y=exp(x)*(c1*cos(3x)+c2*sin(3x))
Введите коэффициенты уравнения y''+by'+cy=0
-4 3
y=c1*exp(x)+c2*exp(3x)