Skip to content

📐 Pascal

概述:Pascal 由 Niklaus Wirth 于 1970 年设计,是一种结构化编程语言。Pascal 以法国数学家布莱兹·帕斯卡命名,最初为教学目的设计,强调良好的编程习惯和结构化程序设计。

概述

Pascal 属于 其他小众/经典语言 分类。Pascal 对后来的语言设计产生了深远影响,Ada、Delphi、Go 等语言都从 Pascal 中汲取了灵感。

语言特点

  • 结构化编程:倡导顺序、选择、循环三种基本结构
  • 强类型:编译期严格类型检查,减少运行时错误
  • 可读性强:语法接近自然语言,Begin/End 而非花括号
  • 教学导向:设计初衷就是教授编程方法论
  • 编译快速:单遍编译器设计,编译速度极快

Hello World

pascal
program HelloWorld;
begin
    WriteLn('Hello, World!');
end.

基础语法

变量与数据类型

pascal
var
    age: Integer;
    name: String;
    price: Real;
    isActive: Boolean;
    ch: Char;

begin
    age := 25;
    name := 'Pascal';
    price := 99.99;
    isActive := True;
end.

控制流

pascal
{ if-then-else }
if age >= 18 then
    WriteLn('成年人')
else if age >= 12 then
    WriteLn('青少年')
else
    WriteLn('儿童');

{ for 循环 }
for i := 1 to 10 do
    WriteLn(i);

{ downto }
for i := 10 downto 1 do
    WriteLn(i);

{ while 循环 }
while count > 0 do
begin
    count := count - 1;
end;

{ repeat-until }
repeat
    count := count - 1;
until count = 0;

{ case }
case day of
    1: WriteLn('Monday');
    2: WriteLn('Tuesday');
    3..5: WriteLn('Midweek');
else
    WriteLn('Weekend');
end;

过程与函数

pascal
{ 过程(无返回值)}
procedure Greet(name: String);
begin
    WriteLn('Hello, ' + name + '!');
end;

{ 函数 }
function Add(a, b: Integer): Integer;
begin
    Add := a + b;  { 函数名赋值返回 }
end;

{ 调用 }
Greet('Pascal');
result := Add(3, 5);

记录与枚举

pascal
{ 枚举 }
type
    DayOfWeek = (Mon, Tue, Wed, Thu, Fri, Sat, Sun);

{ 记录(类似结构体)}
type
    Person = record
        name: String;
        age: Integer;
    end;

var
    alice: Person;
begin
    alice.name := 'Alice';
    alice.age := 30;
    WriteLn(alice.name, ' is ', alice.age);
end.

应用领域

  • 教学编程:计算机科学入门教学
  • 桌面应用:传统桌面软件开发
  • 嵌入式开发:嵌入式系统编程
  • 编译器开发:语言和编译器教学
  • 科学计算:数值分析和算法实现

开发环境搭建

  1. Free Pascal:sudo apt install fpc
  2. 编译运行:fpc hello.pas && ./hello
  3. Lazarus IDE:Free Pascal 的可视化开发环境
  4. 在线编译:OnlineGDBJDoodle

学习路线

  1. 入门阶段:基本语法 → 变量与类型 → 控制流 → 过程与函数
  2. 进阶阶段:记录与数组 → 文件操作 → 指针 → 递归
  3. 实战阶段:算法实现 → 数据结构 → 小型应用
  4. 高级阶段:面向对象 Pascal → GUI 开发(Lazarus)→ 编译原理

返回首页 | 查看所有语言

编程语言技术文档