Const e=0.00001;
var x,x0,xk,h,a,s,y:real; n,i,k:integer;
begin
write('x0=');readln(x0);
write('xk=');readln(xk);
h:=0.1;
x:=x0-h;
n:=round((xk-x0)/h)+1;
writeln('№ x S(x) y(x)');
for i:=1 to n do
begin
x:=x+h;
a:=1; s:=a; k:=0;
while abs(a)>e do begin
a:=-a*2*x/(2*k+1)/(2*k+2);
s:=s+a;
inc(k);
end;
writeln(i:2,' ',x:3:1,' ',s:8:5,' ',cos(sqrt(2*x)):8:5);
end;
end.
Пример:
x0=0.5
xk=1.5
№ x S(x) y(x)
1 0.5 0.54030 0.54030
2 0.6 0.45765 0.45765
3 0.7 0.37795 0.37795
4 0.8 0.30114 0.30114
5 0.9 0.22716 0.22716
6 1.0 0.15594 0.15594
7 1.1 0.08744 0.08744
8 1.2 0.02160 0.02160
9 1.3 -0.04164 -0.04164
10 1.4 -0.10234 -0.10234
11 1.5 -0.16056 -0.16056
7. Европейские реки кроме Нила
8. Марки автомобилей кроме Руслана
9. Камни кроме торфа
10. Средний род кроме кофе
Я сто лет не делал блок-схемы, но должно быть правильно.
Я не проверял работает ли программа правильно, но она работает ошибки не выдает. Если что не правильно сможешь подправить.
Задача сделана на языке паскаль, при помощи
PaskalPlus<span>
Оформление сделана как для студенческой задачи
<span>Если есть вопросы пиши в личку</span></span>
var
N: array [1..15] of 1..15; {Массив, в который записываются номера положительных элементов массива х}
x: array [1..15] of real; //Массив х
i: integer; //Переменная для цикла
Number: integer; //Сколько номеров было записано
begin
Number:= 0; //Обнуляем счетчик номеров
for i:= 1 to 15 do //Вводим с клавиатуры массив х
begin
writeln('Введите ', i, ' элемент массива х');
readln(x[i]);
if x[i] > 0 then {Если введенный элемент массива х положительный, то прибавляем к счетчику добавленных номеров 1 и присваиваем соответствующему элементу массива N номер элемента}
begin
Number:= Number + 1;
N[Number]:= i;
end;
end;
write('Номера положительных элементов массива х: ');
for i:= 1 to Number do write(n[i], ' '); //Выводим записанные номера элементов
writeln; {Переход на новую строку, чтобы при следующем запуске программы информация выводилась с новой строки}
end.