Pascal在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
显示目录

数组



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

数组

Pascal编程语言提供了一种称为数组的数据结构,它可以存储相同类型元素的固定大小顺序集合.数组用于存储数据集合,但将数组视为相同类型的变量集合通常更有用.

而不是声明单个变量,例如如number1,number2,...和number100,您声明一个数组变量,如数字,并使用数字[1],数字[2]和...,数字[100]来表示单个变量.索引访问数组中的特定元素.

所有数组都包含连续的内存位置.最低地址对应第一个元素,最高地址对应最后一个元素.

请注意,如果你想要一个从索引0开始的C样式数组,你只需要启动索引从0开始,而不是1.

声明数组

要在Pascal中声明一个数组,程序员可以声明类型,然后创建该数组的变量或直接声明数组变量.

一维数组的类型声明的一般形式是 :

type
   array-identifier = array[index-type] of element-type;

其中,

数组-identifier : 表示数组类型的名称.

index-type : 指定数组的下标;它可以是除真实之外的任何标量数据类型

元素类型 : 指定要存储的值的类型

例如,

type
   vector = array [ 1..25] of real;
var
   velocity: vector;

现在,velocity是矢量类型的可变数组,足以容纳25个实数.

要从0索引启动数组,声明将为 :

type
   vector = array [ 0..24] of real;
var
   velocity: vector;

数组下标的类型

在Pascal中,数组下标可以是任何标量类型,如整数,布尔值,枚举或子范围,除了真实.数组下标也可能有负值.

例如,

type
   temperature = array [-10 .. 50] of real;
var
   day_temp, night_temp: temperature;

让我们再举一个例子,其中下标是字符类型 :

type
   ch_array = array[char] of 1..26;
var
   alphabet: ch_array;

下标可以是枚举类型 :

type
   color = ( red, black, blue, silver, beige);
   car_color = array of [color] of boolean;
var
   car_body: car_color;

初始化数组

在Pascal中,通过赋值来初始化数组,方法是指定特定的下标或使用for -do loop.

例如 :

type
   ch_array = array[char] of 1..26;
var
   alphabet: ch_array;
   c: char;

begin
   ...
   for c:= 'A' to 'Z' do
   alphabet[c] := ord[m];  
   (* the ord() function returns the ordinal values *)

访问数组元素

通过索引数组名称来访问元素.这是通过将元素的索引放在数组名称后面的方括号中来完成的.例如 :

 a:integer; 
 a:= alphabet ['A'];

上述语句将从名为alphabet的数组中取出第一个元素,并将值赋给变量a.

以下是一个例子,它将使用上述所有三个概念即.声明,赋值和访问数组 :

program exArrays;
var
   n: array [1..10] of integer;   (* n is an array of 10 integers *)
   i, j: integer;

begin
   (* initialize elements of array n to 0 *)        
   for i := 1 to 10 do
       n[ i ] := i + 100;   (* set element at location i to i + 100 *)
    (* output each array element's value *)

   for j:= 1 to 10 do
      writeln('Element[', j, '] = ', n[j] );
end.

编译并执行上述代码时,会产生以下结果 :

Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109
Element[10] = 110

Pascal Arrays详细信息

数组对Pascal很重要,需要更多详细信息.以下几个与数组相关的重要概念应该对Pascal程序员清楚并且减去;

Sr.No 概念 描述
1 多维数组 Pascal支持多维数组.多维数组的最简单形式是二维数组.
2 Dynamic array 在这种类型的数组中,初始长度为零.必须使用标准 SetLength 函数设置数组的实际长度.
3 Packed数组 这些数组是比特打包的,即每个字符或真值都存储在连续的字节中,而不是使用一个存储单元,通常是一个字(4个字节或更多).
4 将数组传递给子程序 您可以传递给子程序通过指定不带索引的数组名来指向数组的指针.
由JSRUN为你提供的Pascal在线运行、在线编译工具
        JSRUN提供的Pascal 在线运行,Pascal 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout