Напечатать 30 первых степеней чисел 3,5 - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста

Решение задачи: «Напечатать 30 первых степеней чисел 3,5»

textual
Листинг программы
uses crt;
function step(x,y:integer):string;
var s,tt:string;
    i,j,len,a,b,k:integer;
    c:char;
begin
str(x,s);
for i:=1 to y-1 do
 begin
  tt := s;
  len := length(tt);
  s := '';
  k := 0;
  for j:=1 to len do
   begin
    a := (ord(tt[j])-48)*x + k;
    b := a mod 10;
    k := a div 10;
    s := s + chr(b+48);
   end;
  if k <> 0 then s := s + chr(k+48);
 end;
len := length(s);
for i:=1 to trunc(len/2) do
 begin
  c := s[len-i+1];
  s[len-i+1] := s[i];
  s[i] := c;
 end;
step:=s;
end;
var i:byte;
begin
clrscr;
for i:=1 to 30 do
 begin
  writeln('3^',i,'=',step(3,i),'  5^',i,'=',step(5,i));
  if i=20 then
   begin
    write('Press Enter');
    readln
   end;
 end;
readln
end.

Объяснение кода листинга программы

Список действий в коде:

  1. Функция step(x,y:integer):string; объявляет функцию с двумя целочисленными параметрами x и y и возвращает строку.
  2. В функции создаются переменные s, tt, i, j, len, a, b, k, c: integer или string;
  3. В цикле от 1 до y-1 происходит преобразование строки tt в строку s.
  4. Строка s вычисляется как сумма чисел от k=0 до a=ord(tt[j])-48*x с шагом 10.
  5. Если остаток от деления a на 10 равен b, то s = s + chr(b+48).
  6. Если k не равно 0, то s = s + chr(k+48).
  7. В цикле от 1 до trunc(len/2) происходит перестановка символов в строке s.
  8. Переменная len вычисляется как длина строки s.
  9. В цикле от 1 до 30 происходит вывод на экран значений 3^i и 5^i, где i изменяется от 1 до 30.
  10. Если i=20, то выводится приглашение нажать Enter.
  11. Функция readln считывает значение из стандартного ввода и сохраняет его в переменной.
  12. readln ожидает нажатия клавиши Enter.
  13. Код заканчивается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.273 из 5
Похожие ответы