Продолжить и проверить последовательности - 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
- Выводится результат операции в формате
- Завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д