Продолжить и проверить последовательности - Pascal
Формулировка задачи:
Замечены следующие закономерности:
а) 1*9+2=11; 12*9+3=111; 123*9+4=1111;
б) 9*9+7=88; 98*9+6=888; 987*9+5=8888;
написать программы, проверяющие и продолжающие эти последовательности.
помогите
примерно набросал
var a1, an: integer; n, p,g,q,z,z1,z2 i: integer; x: integer; begin Write('Введите значение элемента An='); readln(an); a1 := 1; writeln('1=4'); n := 1; p := 1; while a1 < an do begin p := 1*9+2=11; g:=12*9+3=111; q:= 123*9+4=1111; z:=9*9+7=88; z1:= 98*9+6=888; z2:=987*9+5=8888; x := n * p; x2: writeln(n, '=', x); a1 := x; Inc(n); end; Dec(n); if a1 <> an then writeln('Число ', (an), ' не пренадлежит последовательности') else writeln('Номер числа ', (an), ' в последовательности=', n); readln; end.
Решение задачи: «Продолжить и проверить последовательности»
textual
Листинг программы
var a,b:longint;i:byte; begin a:=1; b:=9; for i:=1 to 8 do begin writeln(a,'*9+',a mod 10+1,'=',a*9+(a mod 10+1),'; '); a:=(a*10+a mod 10+1); end; for i:=1 to 7 do begin writeln(b,'*9+',b mod 10-2,'=',b*9+(b mod 10-2),'; '); b:=(b*10+b mod 10-1) end end.
Объяснение кода листинга программы
- Объявляются переменные:
a
типа longint со значением 1b
типа longint со значением 9i
типа byte
- Начинается цикл
for
, в котором переменнаяi
изменяется от 1 до 8:- Выводится результат операции в формате
a*9+ (a mod 10 + 1) = a*9 + (a mod 10 + 1)
- Значение переменной
a
обновляется какa * 10 + a mod 10 + 1
- Выводится результат операции в формате
- Начинается новый цикл
for
, в котором переменнаяi
изменяется от 1 до 7:- Выводится результат операции в формате
b*9 + (b mod 10 - 2) = b*9 + (b mod 10 - 2)
- Значение переменной
b
обновляется какb * 10 + b mod 10 - 1
- Выводится результат операции в формате
- Завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д