Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.
Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.
Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.
Интересно, что Вы будете делать на зачете... ну да Вам видней. Насчет пояснений - спрашивайте, если что-то непонятно будет.Здравствуйте, помогите сделать контрольные на паскале, если можно с пояснениями. Нужно для допуска к зачету.
Var
n:Byte;
Function Test3(M:Byte):Boolean;
var
M1,Sum:Byte;
begin
M1:=M;
Sum:=0;
repeat
Sum:=Sum+(M1 mod 10);
M1:=M1 div 10;
until M1=0;
Test3:=(Sum mod 3)=0;
end;
Procedure Print_Triangle(M:Byte);
var
i,j:Byte;
begin
for i:=1 to M do
begin
for j:=1 to i do write(j:4);
writeln;
end;
end;
Begin
Write('n = ');
Readln(n);
Writeln(Test3(n));
Writeln;
Print_Triangle(n);
Readln
End.
Const
M=10;
N=12;
Var
A:Array[1..M] of Byte;
B:Array[1..M,1..N] of Byte;
i,j,Num:Byte;
Begin
Randomize;
for i:=1 to M do
begin
A[i]:=Random(256);
write(A[i]:4);
end;
Writeln;
Writeln;
Writeln(' i A[i]');
Num:=0;
for i:=2 to M-1 do
if A[i]<(A[i-1]+A[i+1])/2 then
begin
Inc(Num);
Writeln(i:2,A[i]:8);
end;
Writeln;
Writeln(Num, ' elements');
Writeln('Press "Enter" to continue');
Readln;
for i:=1 to M do
begin
for j:=1 to N do
begin
B[i,j]:=Random(256);
Write(B[i,j]:4);
end;
Writeln;
end;
Writeln;
Writeln;
Writeln('Minimal elements:');
Writeln(' i El');
for i:=1 to M do
begin
A[i]:=B[i,1];
for j:=2 to N do
if B[i,j]<A[i] then A[i]:=B[i,j];
Writeln(i:2,A[i]:8);
end;
Readln
End.
Const
Eps=0.00001;
Nmax=200;
Function S(z:real):Real;
var
a,Sum:real;
k:byte;
begin
k:=0;
a:=(Pi/2)/3*z*z*z;
Sum:=a;
Repeat
Inc(k);
a:=-a*Sqr(Pi/2)/(2*k)/(2*k+1)*(4*k-1)/(4*k+3)*Sqr(Sqr(z));
Sum:=Sum+a;
Until (Abs(a)<Eps) or (k>Nmax);
S:=Sum;
end;
Var
i:Byte;
Begin
for i:=0 to 10 do
writeln(0.5*i:3:1,S(0.5*i):12:3);
Readln
End.
Эта косметика - в Вашей власти!Сделал для задаваемых M и N.
Ну вот и чудесно.остальное тоже вроде пока понятно
Не, не надо синуса. У нас подобных задач рассмотрена куча. Сформулируйте четко задание и лучше выложите свои попытки решения.Также нужна программа для вычисления ряда Тейлора для ln(1+x). Мы на парах делали для вычисления sin(x). Но для логарифма у меня так и не получается. Могу скинуть синус в виде примера, чтоб вы поняли, что мне нужно для логарифма.
Вот я не знаю как четко сформулировать, преподаватель из головы сказал что должна делать программа.Сформулируйте четко задание и лучше выложите свои попытки решения.
Его в качестве примера хотел показать.Не, не надо синуса.
Ну так что ж, у Вас почти всё сделано, только нужно вывод в файл добавить для дальнейшей работы. Пожалуйста:Не знаю как текст программы вставлять, отправляю так свои начала по логарифму.
Var
n,i:integer;
a,x,S:real;
f:Text;
Begin
Assign(f,'Ln.txt');
Rewrite(f);
for i:=-9 to 9 do
begin
x:=0.1*i;
a:=x;
S:=a;
n:=1;
repeat
n:=n+1;
a:=-a*(n-1)/n*x;
S:=S+a;
until Abs(a)<1E-7;
Writeln(x:4:1,S:15:5,Ln(1+x):15:5);
Writeln(f,x:4:1,S:15:5);
end;
Close(f);
Readln
End.
С этим, надеюсь, Вы справитесь. Успехов!Логарифм получился, осталось сделать чтобы границы отрезка и шаг можно было самому забивать
Пожалуйста, конкретнее. Что пробовали и что не получается?Что-то не получается, что не пробовал, пишет нельзя применять integer к real...![]()
Лихо! А то, что индекс цикла может быть только целым числом - это Вам как? Мимо?Сначала убрал x:=0.1*i; и вместо -9 и 9 поставил переменные, которые ранее задаются. Переменные вводил в виде десятичных дробей
На самом деле - в интервале (-1;1). Т.е. формально плюс единица допускается, но, поскольку ряд сходится очень медленно, при той дикой (одна десятимиллионная) точности при х=1 получается такое число слагаемых, которое выходит за разрядную сетку и возникает ошибка. Поэтому лучше до +1 не доходить.формула для суммирования действует на полуинтервале (-1;1]
Var
n,i,M:integer;
a,x,S,Step:real;
f:Text;
Begin
Assign(f,'D:\Ln.txt');
Rewrite(f);
Write('Step = ');
Readln(Step);
M:=Trunc(2.0/Step);
x:=-1;
for i:=1 to M do
begin
x:=x+Step;
a:=x;
S:=a;
n:=1;
repeat
n:=n+1;
a:=-a*(n-1)/n*x;
S:=S+a;
until Abs(a)<1E-7;
Writeln(x:6:3,S:15:5,Ln(1+x):15:5);
Writeln(f,x:6:3,S:15:5);
end;
Close(f);
Readln
End.
А что, и его менять надо? Ну пожалуйста: задаются нижняя и верхняя границы, а также шаг:В этой программе мы задаем шаг, а промежуток тот же что и в первой программе?
Var
n,i,M:integer;
a,x,S,Step,mn,mx:real;
f:Text;
Begin
Assign(f,'Ln.txt');
Rewrite(f);
Write('Minimal value = ');
Readln(mn);
Write('Maximal value = ');
Readln(mx);
Write('Step = ');
Readln(Step);
M:=Trunc((mx-mn)/Step)+2;
x:=mn-step;
for i:=1 to M do
begin
x:=x+Step;
a:=x;
S:=a;
n:=1;
repeat
n:=n+1;
a:=-a*(n-1)/n*x;
S:=S+a;
until Abs(a)<1E-7;
Writeln(x:6:3,S:15:5,Ln(1+x):15:5);
Writeln(f,x:6:3,S:15:5);
end;
Close(f);
Readln
End.