Pascal.abc.!
russian-дано действительные числа a1951 , a1952 , a2000 - количество осадков (у мм) , выпавших в городе за последние 50 лет века. вычислить среднее количество осадков за этот период и ежегодное отклонение от среднего значения.
ukranian-дано дійсні числа a1951 , a1952 , a2000 - кількість опадів (у мм) , що випали в місті за останні 50 років минулого століття . обчислити середню кількість опадів за цей період і щорічне відхилення від середнього значення .
Насколько я помню, в паскале невозможно реализовать бесконечный цикл, поэтому решение будет слегка притянуто за уши. Например если вы введете число из 9001 символа, программа будет работать неккоректно. Для выхода из цикла используется 'метка'.
a, counter, Summa : integer;
Label Transfer;
Begin
writeln('Введите число');
readln(a);
counter := 1;
counterTw0 := counterTwo + 1;
while counter < 9000 Do
begin
counter := counter +1;
if (a div counter) < 0 then Transfer
else counterTwo := counterTwo + 1;
else;
Goto Transfer;
//Узнали, что в числе counterTwo символов
while counter < counterTwo Do
Summa := Summa + ((a div counter) mod 10);
Summa := Summa + (a mod 10);
writeln(Summa);
end.
begin
F := 3 * sin(x) + 2 * sqr(x) - 1;
end;
var
a, b, h, x, Fa, Fx: real;
begin
Write('Введите через пробел начало интервала, конец и шаг: ');
Readln(a, b, h);
x := a; Fa := F(a);
repeat
Fx := F(x);
if Fx = 0 then Writeln('Найден корень ', x:0:3)
else
if Fx * Fa < 0 then
Writeln('Найден интервал изоляции корня (', a:0:3, ';', x:0:3, ')');
a := x; Fa := Fx; x := x + h
until x > b;
end.
Тестовое решение:
Введите через пробел начало интервала, конец и шаг: 0 1.95 0.15
Найден интервал изоляции корня (0.150;0.300)
Введите через пробел начало интервала, конец и шаг: -5 5 0.1
Найден интервал изоляции корня (-1.500;-1.400)
Найден интервал изоляции корня (0.200;0.300)