Arrays turbopascal中的子程序和数组

Arrays turbopascal中的子程序和数组,arrays,pascal,digits,Arrays,Pascal,Digits,所以我有一个程序要做,这对我来说很复杂。我很难理解子程序到底是如何工作的,以及如何正确地调用它们以获得我所需要的。 以下是我需要制作的程序说明: 从N个正自然数中读取X数组,以便在输入数字0时读取结束。(如果给定的数字是1,2,3,0,那么X=(x1=1,x2=2,x3=3),数组的长度将是N=3),其中1≤ N≤ 500, 1 ≤ 席≤ 10000。编写一个程序创建一个Y数组[Y=((y1,f1),(y2,f2),(y3,f3),(yk,fk))其中y1,…,yk是X数组的新月数,其属性是yi

所以我有一个程序要做,这对我来说很复杂。我很难理解子程序到底是如何工作的,以及如何正确地调用它们以获得我所需要的。 以下是我需要制作的程序说明:
从N个正自然数中读取X数组,以便在输入数字0时读取结束。(如果给定的数字是
1,2,3,0
,那么
X=(x1=1,x2=2,x3=3)
,数组的长度将是
N=3
),其中
1≤ N≤ 500, 1 ≤ 席≤ 10000
。编写一个程序创建一个Y数组
[Y=((y1,f1),(y2,f2),(y3,f3),(yk,fk))
其中
y1,…,yk
是X数组的新月数,其属性是yi数的位数和是素数
[1在我听来,他们在本练习描述中所指的子程序是其他人通常所指的过程和函数。首先写出各种任务并对其进行分组,然后尝试一步一步地进一步细化它们。你了解Pascal程序的基本结构吗?你的老师是否向你展示了如何实现这些任务Pascal程序中的ange函数和子例程?(我要求尝试找出从何处开始回答问题——但不做家庭作业)。我可以不使用子程序,但主要问题是我对过程和函数如何工作以及如何正确调用它们缺乏了解。