经验大分享:pascal基础

简介: 经验大分享:pascal基础

基本数据类型(常用)

整数类型:Integer

实数类型:Double

字符类型:Char

字符串类型:String

布尔类型:Boolean

数据类型转换

inttostr(x)  将字符串x转换成int,前提是x为数值型字符串

相应的还有:strtoint(x)、floattostr(x)、strtofloat(x)

运算符(需注意的)

1、算术运算符:

+、-、 等运算符和 C 语言相应的运算符一样

除法:/ ,例如:a/b,无论a,b是整形还是实型,结果都是实型

整除除法: Div ,例如:a Div b,要求a,b必须为整形

求余:Mod ,例如:a Mod b,要求a,b必须为整形

2、布尔运算符:

布尔运算符只能对两个布尔型操作数进行运算,结果仍为布尔型,即只能为 True 或者 False。基本的布尔运算符有 4 个:NOT、AND、OR 和 XOR。

NOT:NOT a,若 a 为 True,则结果为 False;若 a 为 False,则结果为 True。

AND:a AND b,只有当a,b同时为 True,结果才为 True。

OR:a OR b,当a,b其中至少有一个为True,结果为 Ture。

XOR:a XOR b,只有当a,b不同时,结果才为 True。

3、位运算符:

NOT、AND、OR、XOR和C语言里相应的运算符一样

SHL:a SHL b,将 a 的二进制值向左移动 b 位,左移一位相当于乘 2

SHR:a SHR b,将 a 的二进制向右移动 b 位,右移一位相当于除 2

条件语句

条件语句主要分为: if 语句和 case 语句

begin..end; 可以看成C语言里的花括号,if 后面语句超过一条记得加begin...end;这和C语言类型,while等也是类似

1、if 语句

语法:

if then 【】【else 】;

例如:

if (x>10) and (y>5) then

z:=x+y //注意:这里不需要加分号

else

z:=2(x+y);//还可以再嵌套if then else语句

2、case 语句

语法:

case of

: ;

.

.

.

: ;

else

;

end;

例如:

case Trunc((w-0.00001)/50) of //Trunc 为取整函数

0: x:=0.25w;

1: x:=0.2550+0.35(w-50);

else

x:=0.2550+0.3550+0.45(w-100);

end;

循环语句

循环语句主要分为:while 语句、repeat 语句及 for 语句

1、while 语句

语法:

while do

循环体; //循环体需用begin...end括起来

例如:

while n<=100 do

begin

s:=s+n;

n:=n+1;

end;

2、repeat 语句

先执行循环体再判断,和do...while类似

语法:

repeat

循环体;

until ;

例如:

repeat

r:=m mod n;

m:=n;

n:=r;

until r=0;

3、for 语句

语法:

for = {to|down}//代码效果参考:http://www.ezhiqi.com/zx/art_6340.html do

begin

循环体;

end:

例如:

for i:=0 to 20 do

begin

sum;=sum+i;

end:

数组

1、一维数组

定义:

var 数组名:array【1..n】 of integer;

例如:

var a:array【1..10】 of integer; //定义一个整型的a【10】

数组调用:pascal数组下标从1开始,其他和C语言调用类似

参考资料:

Delphi 程序设计教程(第3版),杨长春主编,清华大学出版社

相关文章
Claude 3非常厉害,但是国内用不上怎么办?
【2月更文挑战第16天】Claude 3非常厉害,但是国内用不上怎么办?
4223 1
Claude 3非常厉害,但是国内用不上怎么办?
Transformer奠基之作《Attention Is All You Need》
Transformer模型,由Google Brain和Google Research在2017年的论文中提出,颠覆了传统NLP依赖RNN和CNN的局面。该模型基于完全的注意力机制,解决了RNN的并行化难题,通过编码器和解码器中的多头自注意力机制捕捉全局依赖。训练策略结合Adam优化器、标签平滑和dropout,使其在机器翻译任务中表现卓越。尽管面临长序列处理的挑战和可能的上下文忽略问题,Transformer仍展示了注意力机制的巨大潜力,对NLP领域产生了深远影响。
349 3
Transformer奠基之作《Attention Is All You Need》
Chrome浏览器如何导出所有书签并导入书签
【11月更文挑战第4天】本文介绍了如何在 Chrome 浏览器中导出和导入书签。导出时,打开书签管理器,点击“整理”按钮选择“导出书签”,保存为 HTML 文件。导入时,同样打开书签管理器,点击“整理”按钮选择“导入书签”,选择之前导出的 HTML 文件即可。其他主流浏览器也支持导入这种格式的书签文件。
5424 2
告别中央服务器:Syncthing实现点对点文件同步
告别中央服务器:Syncthing实现点对点文件同步
357 3
AI开发初体验:昇腾加持,OrangePi AIpro 开发板
本文分享了作者使用OrangePi AIpro开发板的初体验,详细介绍了开箱、硬件连接、AI程序开发环境搭建、以及通过Jupyter Lab运行AI程序的过程,并展示了文字识别、图像分类和卡通化等AI应用实例,表达了AI时代已经到来的观点。
1382 1
深入解析Entity Framework Core中的自定义SQL查询与Raw SQL技巧:从基础到高级应用的全面指南,附带示例代码与最佳实践建议
【8月更文挑战第31天】本文详细介绍了如何在 Entity Framework Core (EF Core) 中使用自定义 SQL 查询与 Raw SQL。首先,通过创建基于 EF Core 的项目并配置数据库上下文,定义领域模型。然后,使用 `FromSqlRaw` 和 `FromSqlInterpolated` 方法执行自定义 SQL 查询。此外,还展示了如何使用 Raw SQL 进行数据更新和删除操作。最后,通过结合 LINQ 和 Raw SQL 构建动态 SQL 语句,处理复杂查询场景。本文提供了具体代码示例,帮助读者理解和应用这些技术,提升数据访问层的效率和灵活性。
561 0
Entity Framework Core 中的存储过程超厉害!从定义到调用全攻略,提升性能与安全性!
【8月更文挑战第31天】在现代软件开发中,数据库操作效率至关重要。Entity Framework Core(EF Core)作为强大的对象关系映射(ORM)框架,支持存储过程,可提升数据库操作的性能、安全性和可维护性。本文详细介绍如何在 EF Core 中定义、配置及调用存储过程,并提供最佳实践建议,包括性能优化、安全性增强、代码可维护性提升以及参数化查询等。通过遵循这些指导原则,开发者能够充分利用存储过程的优势,显著提高应用程序质量和性能。附带完整示例代码,展示从定义实体类到调用存储过程的全过程。
621 0
一文教会你 如何在Github中创建仓库?如何将多个项目放到一个仓库中管理?如何将本地项目上传到GitHub中?
这篇文章详细介绍了如何在GitHub上创建新仓库,以及如何将多个项目整合到一个仓库中进行管理。文章还提供了克隆仓库到本地、使用不同文件夹存放不同项目代码、以及将这些项目提交到远程服务器的步骤和方法。
一文教会你 如何在Github中创建仓库?如何将多个项目放到一个仓库中管理?如何将本地项目上传到GitHub中?
nginx里的request_uri 是什么
【6月更文挑战第25天】nginx里的request_uri 是什么
798 0