Получить последовательность по правилу - Turbo Pascal (29578)

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

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

Дано натуральное число N. Получить последовательность b1...bn, Где i= 1,2,3,4...,n. Значение bi равно: Сделать динамическим списком! Помогите, не получается

Решение задачи: «Получить последовательность по правилу»

textual
Листинг программы
type
  PList = ^TList;
  Tlist = record
    bi: Real;
    next: Plist;
  end;
 
var
  N, i: Integer;
  A, p: Plist;
 
procedure addtolist(anum: real);
var
  p: plist;
begin
  new(p);
  p^.bi := anum;
  p^.next := a;
  a := p;
end;
 
procedure printlist;
var
  p: plist;
begin
  p := a;
  while p <> nil do
  begin
    write(' ',p^.bi:0:2);
    p := p^.next;
  end;
end;
 
begin
  a := nil;
  write(' n= ');
  readln(N);
  for I := 1 to N do
  begin
    addtolist(i);
  end;
  printlist;
  
end.

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

  1. Создается тип данных PList, который является указателем на структуру TList.
  2. Создается переменная N типа Integer и инициализируется значением 0.
  3. Создается переменная i типа Integer и инициализируется значением 1.
  4. Создается переменная A типа PList.
  5. Создается переменная p типа PList.
  6. В процедуре addtolist создается экземпляр структуры TList и присваивается переменной p.
  7. Значение поля bi структуры TList присваивается переменной anum и равно 1.0.
  8. Значение поля next структуры TList присваивается переменной a.
  9. Значение переменной a присваивается значению поля next структуры TList.
  10. Значение поля next структуры TList присваивается переменной p.
  11. Значение поля bi структуры TList присваивается значению поля next структуры TList.
  12. Значение поля next структуры TList присваивается переменной a.
  13. Переменная a становится указателем на новый экземпляр структуры TList.
  14. Выполняется цикл while p <> nil do
    1. Выводится пробел, соответствующий значению поля bi структуры TList.
    2. Переменная p присваивается значению поля next структуры TList.
    3. Цикл while p <> nil do повторяется.
  15. Завершается цикл while p <> nil do.
  16. Выполняется цикл for I := 1 to N do
    1. Создается экземпляр структуры TList и присваивается переменной p.
    2. Значение поля bi структуры TList присваивается переменной anum и равно i.
    3. Значение поля next структуры TList присваивается переменной a.
    4. Значение поля bi структуры TList присваивается значению поля next структуры TList.
    5. Значение поля next структуры TList присваивается переменной a.
    6. Переменная a становится указателем на новый экземпляр структуры TList.
    7. Выполняется цикл while p <> nil do
    8. Выводится пробел, соответствующий значению поля bi структуры TList.
    9. Переменная p присваивается значению поля next структуры TList.
    10. Цикл while p <> nil do повторяется.
    11. Завершается цикл while p <> nil do.
    12. Выполняется процедура printlist.
    13. Переменная a становится указателем на первый элемент списка.
    14. Выводится список чисел, разделенных пробелами.
    15. Завершается программа.

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


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

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

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