Задача, аналогичная той, которую публиковали вчера. Только цикл repeat заменяем на while.
Сначала немного математики. О модуле тут смысла нет говорить, поскольку все an - суть положительные величины на интервале (0;1).
uses Crt;
function ai(n:integer):real; var i:integer; p:real; begin p:=1; for i:=n+1 to 2*n do p:=p*i; ai:=1/p end;
var i:integer; eps,s,an:real; begin ClrScr; Write('eps='); Read(eps); s:=0; i:=1; an:=eps+1; while an>=eps do begin an:=ai(i); if an>=eps then begin s:=s+an; Inc(i) end end; Writeln('s=',s); ReadKey end.
Тестовые решения: eps=0.07 s= 5.8333333333E-01
eps=0.000001 s= 5.9229647667E-01
eps=1e-8 s= 5.9229653448E-01
Для контроля результата можно отметить, что сумма первых 1000 членов ряда равна приблизительно 5.922965365Е-01
Если раздражает наличие функции, можно и без нее: uses Crt;
var i,j:integer; eps,s,an,p:real; begin ClrScr; Write('eps='); Read(eps); s:=0; i:=1; an:=eps+1; while an>=eps do begin p:=1; for j:=i+1 to 2*i do p:=p*j; an:=1/p; if an>=eps then begin s:=s+an; Inc(i) end end; Writeln('s=',s); ReadKey end.
randomize; for I : byte := 1 to N do begin a[i] := random(1, 5); write(a[i],' '); end;
for I : byte := 2 to N do if a[1] = a[i] then writeln(i);
end.
Задание #2.
const K = 2; N = 10;
var a : array[1..N] of integer;
begin
for I : byte := 1 to N do begin readln(a[i]); if a[i] mod k = 0 then write(a[i],' '); end;
end.
Задание #3.
const Z = 2; N = 10;
var a : array[1..N] of integer; count : word;
begin
count := 0;
for I : byte := 1 to N do begin readln(a[i]); if a[i] > Z then begin a[i] := Z; Inc(count); end; end;
for I : byte := 1 to N do write(a[i],' ');
writeln;
writeln(count);
end.
Стоит на на всякий случай пояснить, что N, K, Z - константы, их можно легко поменять, так гораздо удобнее работать с программой, если нужно что-то поменять. Процедура Inc( ) - прибавляет единицу, это короче чем писать Count := Count + 1; В первом задание в цикле, который ищет значение элементов массива, которые равны первому элементу массива, я начал со второго элемента. потому что очевидно, что первый элемент будет равен самому себе. Надеюсь, вам написанные мной программы, она не сложные, вам стоит внимательно их просмотреть и, вы сможете без труда их понять самостоятельно, если пожелаете, разумеется.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку