Получить последовательность по правилу - 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.
Объяснение кода листинга программы
- Создается тип данных
PList
, который является указателем на структуруTList
. - Создается переменная
N
типаInteger
и инициализируется значением 0. - Создается переменная
i
типаInteger
и инициализируется значением 1. - Создается переменная
A
типаPList
. - Создается переменная
p
типаPList
. - В процедуре
addtolist
создается экземпляр структурыTList
и присваивается переменнойp
. - Значение поля
bi
структурыTList
присваивается переменнойanum
и равно 1.0. - Значение поля
next
структурыTList
присваивается переменнойa
. - Значение переменной
a
присваивается значению поляnext
структурыTList
. - Значение поля
next
структурыTList
присваивается переменнойp
. - Значение поля
bi
структурыTList
присваивается значению поляnext
структурыTList
. - Значение поля
next
структурыTList
присваивается переменнойa
. - Переменная
a
становится указателем на новый экземпляр структурыTList
. - Выполняется цикл
while p <> nil do
- Выводится пробел, соответствующий значению поля
bi
структурыTList
. - Переменная
p
присваивается значению поляnext
структурыTList
. - Цикл
while p <> nil do
повторяется.
- Выводится пробел, соответствующий значению поля
- Завершается цикл
while p <> nil do
. - Выполняется цикл
for I := 1 to N do
- Создается экземпляр структуры
TList
и присваивается переменнойp
. - Значение поля
bi
структурыTList
присваивается переменнойanum
и равно i. - Значение поля
next
структурыTList
присваивается переменнойa
. - Значение поля
bi
структурыTList
присваивается значению поляnext
структурыTList
. - Значение поля
next
структурыTList
присваивается переменнойa
. - Переменная
a
становится указателем на новый экземпляр структурыTList
. - Выполняется цикл
while p <> nil do
- Выводится пробел, соответствующий значению поля
bi
структурыTList
. - Переменная
p
присваивается значению поляnext
структурыTList
. - Цикл
while p <> nil do
повторяется. - Завершается цикл
while p <> nil do
. - Выполняется процедура
printlist
. - Переменная
a
становится указателем на первый элемент списка. - Выводится список чисел, разделенных пробелами.
- Завершается программа.
- Создается экземпляр структуры
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д