Консультация № 173237
13.10.2009, 12:11
0.00 руб.
0 1 1
исп опрератор цикла: найти значения минимального положительного числа числовой последовательности, заданной рекуррутным соотношением
Хn=Xn-1+Xn-3+10, x1=x2=x3=-a
где а – целое число из интервала[1..100]- задается пользователем, проверить правильность его задания

Обсуждение

давно
Академик
320937
2216
13.10.2009, 14:16
общий
это ответ
Здравствуйте, Кусмарцев Андрей Валерьевич.
Ответ в приложении. Turbo Pascal 7.

Приложение:
program p173237;
{ найти значения минимального положительного числа числовой
последовательности, заданной рекуррентным соотношением
Х[n]=X[n-1]+X[n-3]+10, x1=x2=x3=-a
где а – целое число из интервала[1..100]- задается
пользователем, проверить правильность его задания
}

{ проверка a=1, n=5, x1=-1, x2=-1, x3=-1, x4=8, x5=17, min=8 }
const
left = 1;
right = 100; { границы интервала }
var
a : integer;
x,x1,x2,x3: integer;
tmp: integer; { для хранения x1 }
min: integer; { минимальное положительное }
n : integer; { число членов }
i : integer; { счетчик цикла }
begin
write('a=');
readln(a);
if a in [left..right] then
begin
write('n=');
readln(n);

if n <= 0 then
writeln('net posledovatelnosti')
else if n in [1..3] then
writeln('net pologitelnyh')
else
begin
min :=MaxInt;
x1 := -a;
x2 := -a;
x3 := -a;
for i:= 4 to n do
begin
tmp := x1+x3+10;
x1:= x2;
x2:= x3;
x3:= tmp;
if (x3>0) and (x3<min) then
min := x3;
end;
if min=MaxInt then
writeln('net pologitelnyh')
else
writeln('min=', min);
end;
end
else
writeln('a ne v intervale');
readln;
end.
5
Форма ответа