关于pascal语言的教材资料
个人一点建议,希望能认真看完。《Free Pascal语言与基础算法》:全国青少年信息学奥林匹克竞赛教程(第3版) 编者:董永建, 舒春平 出版社: 科学技术文献出版社很好很全的一本书,强烈推荐。或者《Pascal语言(中学版)》和《数据结构与算法设计:Pascal语言(第2版)》 编者:张文双, 王学红, 郭连凤 出版社:北京理工大学出版社这是我们老师曾经推荐的。图片只能插一张,不好意思。我现在初三备考不上了,但以后有问题的话QQ1074004524,我会尽量解决。不过要说的是书都是好书,但这些编程的书难免都有些枯燥,建议一天看一点,千万不要多,兴趣才是最大的动力。还有尽量别落下每节课,老师讲的和自学还是不同的,毕竟初中我们自学能力不行。个人建议买第一本,但现在卓越上没货,淘宝还是有的,没必要买多。学习成绩千万不能因此落下,否则就算上了重点高中也跟不上。你是哪个城市的,我是珠海的
关于计算机编程pascal语言的入门(疑问)。
1.. read是“读入语句”,write是“输出语句”,打个比方,写作业时将题目读入大脑,那些题目就相当于read进来的东西,而经过大脑的一些处理,你写出了答案,写出的东西就是write出的东西。
具体例子:{定义n,m:integer(整型);} read(n);就把一个程序执行时需要读入的东西读进来了,而write(m) 就是把m 里存的值输出了
2.. 第一题:
var a,b,c,p,s:real;//定义变量
begin//程序开始
a:=25.76; b:=74.03; c:=59.31;//给变量赋值
p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c));//海伦公式,知道吧?
if (a+b<c) or (a+c<b) or (b+c<a) then writeln('Data Error!') {判断能否构成三角形,不能就输出“Data Error”}
else writeln(s:0:2); {输出结果}
end.//结束程序
第二题
var a,s,i:integer; //定义变量
begin
for i:=1 to 65 do//循环变量,找一个符合条件的值
begin //以下表示每次循环需要做什么
if 2*i+(65-i)*3=150 then writeln(i);
end; {上面的writeln和write功能是一样的,只不过write输出一个东西后不换行,而writeln换行。这个"end;"与上面的begin对应,表示一段的结束而非整个程序的结束}
end.//程序结束
说明:1.“//”后的字和{}内的字起说明作用,程序运行时不会执行
2.第二题没啥意义嘛....笔算也能算出来
3.三四题和一二题相似,需要解答的话再来找我
第三个问题
输入语句就是“read”,意思就是说你编完整个程序后执行,程序需要你的输入数据,而键盘输入嘛...就是用键盘敲数字进去,敲进去的就是输入数据
还有什么不太明白的,竭诚为您解答
求一个pascal语言的选择题答案!
∧是逻辑运算符 且 相当于 and
∨是逻辑运算符 或 相当于 or
「是逻辑运算符 非 相当于 not
A: (not a and b) or (c and d or a)
=(false and true ) or (false and false or true)
= false or false
=false
B:not(((a and b) or c)and d)
=not((true or false)and false)
=not(true and false)
=true
同理,C、D算出来也是true
所以选A
and运算:true and true=true, true and false=false, false and false=false
or运算:true or true=true,true or false=true,false or false=false
not运算,它是单目运算符:not true=false,not false=true
我觉得不用死记硬背,and是两个都要是真是才能为真,or是只要有一个为真就为真,not就是反一下
pascal基础知识
一、算法的基础知识
1.用计算机解决问题的步骤:
① 分析问题
② 算法设计
③ 描述算法
④ 编程实现
从上面的求解问题过程可以看出,关键在于前三步的解决:第一步就是解决模型的数据结构,第二步是解决问题的算法,第三步是形式化地描写算法。
2.算法的定义:
算法是一组有穷的规则,它们规定了解决某一特定类型问题的一系列运算。算法可以理解为:程序(数据处理)+ 数据结构(数据组织)。
3.算法的性质:
① 有限性
② 确定性
③ 输入输出(可以没有输入,但一定有输出)
④ 可行性
常见的算法有:穷举法、迭代法、递推法、递归法、回溯法、深度及广度搜索法、动态规划、构造法等等。
2.N-S图:
1973年,美国学者I.Nassi和B.Shneiderman提出了一种用图形表示算法的方法,称为N-S流程图。N-S图包括顺序、选择和循环三种基本结构。
3.程序设计语言:
计算机中的语言分为低级语言和高级语言,而低级语言又分为机器语言和汇编语言。
机器语言是一种CPU的指令系统,它是CPU可以识别的一系列有0和1这种二进制代码组成的指令。它依赖于机器,不同类型的计算机有不同的机器语言,机器语言的程序有许多机器指令组成,每条指令由操作码和地址码组成,数据和指令都放在不同的地址单元中。
汇编语言它是一种符号语言,为了克服机器语言固有的缺陷,20世纪50年代中期出现,将难以记忆和辨别的机器语言操作码用有意义的英文单词作为“助记符”来代替0、1进行编程。
高级语言,不再面向机器,而是接近人类的自然语言。常见的还有C/C++,Pascal,Basic,Java等。
数据类型、常量、变量及说明方法
数据类型确定了该类型数据项的表示、取值范围以及所能参与的运算。在pascal语言中,无论常量还是变量都必须属于一个确定的数据类型。
Pascal 提供了丰富的数据类型,可以分为三大类:
① 简单类型:分为标准类型(整型、实型、字符型和布尔型)和自定义类型(枚举型和子界型)
② 构造类型:分为数组类型、集合类型、记录类型和文件类型
③ 指针类型
这些数据类型中除了指针类型是动态数据类型外,其他的都是静态数据类型。另外,我们把整型、字符型、布尔型、枚举型和子界型称为顺序类型。
另:数据结构
-栈 队列
– 并查集
– 堆
– 字母树 线段树 平衡树 动态树
– 块状链表
– 后缀数组
– ……
栈
– 先进后出
* 队列
– 先进先出
* 常见的应用有哪些?
– 表达式求值
– 搜索
* 深搜
* 广搜
– 优化
* 集合用代表元表示
– representative?Getfather(x)
* 初始的时候,所有元素各自成为一个集合
– for i?1 to N
* father[i]?i
* 判断是否在同一集合
– 代表元是否相同
* return Getfather(x)=Getfather(y)
* 合并两个集合
– 将其中一集合的代表元指向另一集合代表元
* father[Getfather(x)]?y
并查集
* 如何寻找代表元?
– Getfather(x)
* if father[x]=x
– return x
* return Getfather(father[x])
* 如何优化?
– 路径压缩
* Getfather(x)
– if father[x]=x
>>return x
– father[x]?Getfather(father[x])
– return father[x]
* 用途
– 用于寻找最值
* 大根堆、小根堆
* 小根堆性质
– 是一棵完全二叉树
* i的父亲是谁?
– idiv 2
* i的左右儿子是谁?
– 2i和2i+1
– 树上的每棵子树,儿子的值不小于根
堆排序
– 建堆
– 取出根
– 删除根
– 反复取、删的过程
时间效率
– O(Nlog N)
块状数组
* 增加一下题目内容
– 询问区间最大值
– 询问区间和
– 询问区间内的和最大连续串
– 可以修改一个数
– 可以将一串连续的数变为一个值
– 可以将一串连续的数旋转一下
* 块状数组?块状链表
– 可以将一串连续的数翻转一下
可能有些难
什么是pascal语言程序
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
我要参加信息学奥林匹克大赛可直今我连pascal语言程序是什么都不懂,pascal语言程序到底是啥?是干什么用的,注意!大家注重回答是干什么用的。
解析:
Pascal语言概述与预备知识
1 关于Turbo Pascal
Pascal是一种计算机通用的高级程序设计语言。它由瑞士Niklaus Wirth教授于六十年代末设计并创立。
以法国数学家命名的Pascal语言现已成为使用最广泛的基于DOS的语言之一,其主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。
正因为上述特点,Pascal语言可以被方便地用于描述各种算法与数据结构。尤其是对于程序设计的初学者,Pascal语言有益于培养良好的程序设计风格和习惯。IOI(国际奥林匹克信息学竞赛)把Pascal语言作为三种程序设计语言之一, NOI(全国奥林匹克信息学竞赛)把Pascal语言定为唯一提倡的程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。
在Pascal问世以来的三十余年间,先后产生了适合于不同机型的各种各样版本。其中影响最大的莫过于Turbo Pascal系列软件。它是由美国Borland公司设计、研制的一种适用于微机的Pascal编译系统。该编译系统由1983年推出1.0版本发展到1992年推出的7.0版本,其版本不断更新,而功能更趋完善。
ycyz/lyx/CHENGXU/NOIP/PASCALjiao%27an
懂Pascal语言的来
很简单的啦
多余的糖自己吃掉的意思,我告诉你
比如说甲有50个糖,平均分成3份,每份是16个,还剩余2个没有办法平均分配,那2个就自己吃了
不过你确信没记错?多余的糖是自己留着还是自己吃掉?
如果是自己吃掉的话,程序如下:
var
a,b,c,d,e,f:integer;
begin
a:=50;
b:=43;
c:=13;
d:=a div 3;
e:=b div 3;
f:=c div 3;
a:=d+e+f;
b:=d+e+f;
c:=d+e+f;
writeln('a:=',a);
writeln('b:=',b);
writeln('c:=',c);
end.
如果是剩余的糖自己留着,程序如下
var
a,b,c,d,e,f,g,h,i:integer;
begin
a:=50;
b:=43;
c:=13;
d:=a div 3;
e:=a mod 3;
f:=b div 3;
g:=b mod 3;
h:=c div 3;
i:=c mod 3;
a:=d+e+f+h;
b:=d+f+g+h;
c:=d+f+h+i;
writeln('a:=',a);
writeln('b:=',b);
writeln('c:=',c);
end.
介绍一下pascal语言!
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
解析:
以下内容转自百度百科
1、关于Turbo Pascal
Pascal是一种计算机通用的高级程序设计语言。它由瑞士Niklaus Wirth教授于六十年代末设计并创立。
以法国数学家命名的Pascal语言现已成为使用最广泛的基于DOS的语言之一,其主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。
正因为上述特点,Pascal语言可以被方便地用于描述各种算法与数据结构。尤其是对于程序设计的初学者,Pascal语言有益于培养良好的程序设计风格和习惯。IOI(国际奥林匹克信息学竞赛)把Pascal语言作为三种程序设计语言之一, NOI(全国奥林匹克信息学竞赛)把Pascal语言定为唯一提倡的程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。
在Pascal问世以来的三十余年间,先后产生了适合于不同机型的各种各样版本。其中影响最大的莫过于Turbo Pascal系列软件。它是由美国Borland公司设计、研制的一种适用于微机的Pascal编译系统。该编译系统由1983年推出1.0版本发展到1992年推出的7.0版本,其版本不断更新,而功能更趋完善。
下面列出Turbo Pascal编年史
出版年代 版本名称 主要特色
1983 Turbo Pascal 1.0
Turbo Pascal 2.0
Turbo-87 Pascal 提高实数运算速度并扩大值域
1985 Turbo Pascal 3.0 增加图形功能
Turbo BCD Pascal 特别适合应用于商业
1987 Turbo Pascal 4.0 提供集成开发环境(IDE),引入单元概念
1988 Turbo Pascal 5.0 增加调试功能
1989 Turbo Pascal 5.5 支持面向对象的程序设计(OPP)
1990 Turbo Pascal 6.0 提供面向对象的应用框架和库(Turbo Vision)
1992 Turbo Pascal 7.0 面向对象的应用系统、更完善的IDE
Turbo Vision 2.0
1993 Borland Pascal 7.0 开发 Object Windows库、
__(For Windows) 提供对OLE多媒体应用开发的支持
1995 Delphi
Visual Pascal
Turbo Pascal语言是编译型程序语言,它提供了一个集成环境的工作系统,集编辑、编译、运行、调试等多功能于一体
ps:高级语言发展过程中,PASCAL是一个重要的里程碑。PASCAL语言是第一个系统地体现了E.W.Dijkstra和C.A.R.Hoare定义的结构化程序设计概念的语言。1971年,瑞士联邦技术学院尼克劳斯·沃尔斯(N.Wirth)教授发明了另一种简单明晰的电脑语言,这就是以电脑先驱帕斯卡的名字命名的PASCAL语言。PASCAL语言语法严谨,层次分明,程序易写,具有很强的可读性,是第一个结构化的编程语言。它一出世就受到广泛欢迎,迅速地从欧洲传到美国。沃尔斯一生还写作了大量有关程序设计、算法和数据结构的著作,因此,他获得了1984年度"图林奖"。
Pascal有5个主要的版本,分别是Unextended Pascal、Extended Pascal、Object-Oriented Extensions to Pascal、Borland Pascal和Delphi Object Pascal。其中,Unextended Pascal、Extended Pascal和Object-Oriented Extensions to Pascal是由Pascal标准委员会所创立和维护的,Unextended Pascal类似于瑞士Niklaus Wirth教授和K.Jensen于1974年联名发表的Pascal用户手册和报告,而Extended Pascal则是在其基础上进行了扩展,加入了许多新的特性,它们都属于正式的Pascal标准;Object-Oriented Extensions to Pascal是由Pascal标准委员会发表的一份技术报告,在Extended Pascal的基础上增加了一些用以支持面向对象程序设计的特性,但它属于非正式的标准。Borland Pascal和Delphi Object Pascal是由Borland公司专门为其开发的编译工具设计的Pascal语言,前者是用于DOS的Turbo Pascal系列和Windows 3.x的Turbo Pascal for Windows的传统高级语言,后者是用于Windows的Delphi和Linux的Kylix的面向对象程序设计语言,它们都不是正式的Pascal标准,具有专利性。但由于Turbo Pascal系列和Delphi功能强大并且广为流行,Borland Pascal和Delphi Object Pascal已自成为一种标准,为许多人所熟悉。
看到这里,你可能会发觉我的回答与你最初的设想不同。你原来可能是想问Turbo Pascal有几个版本,然而我却回答了Pascal语言有几个版本。这就是初学者常有的一个错误认识:Pascal是一种编程工具。实际上,Pascal是一种程序设计语言的名称(从一般意义上说,Pascal也可以是指人名,它的取名原本就是为了纪念十七世纪法国著名哲学家和数学家Blaise Pascal),而不是编程工具。刚才我是纯粹从字面意思上来回答这个问题。
在中国的信息学奥林匹克竞赛中,过去比较常用的Pascal编程工具是Turbo Pascal。Turbo Pascal是DOS下的一种16位编程工具,在Delphi出现之前,它是世界上最多人使用的Pascal编程工具,拥有编译速度极快的先进编译器和功能强大而又简便易用的集成开发环境(IDE),在微机程序员中广为流行,正是它的出现奠定了Pascal在DOS/Windows平台上不可动摇的根基,现在常见的版本有Turbo Pascal 5.5、Turbo Pascal 6.0和Borland Turbo Pascal with Objects 7.0。Turbo Pascal 6.0与Turbo Pascal 5.5相比,主要是IDE更为强大,而其程序设计功能改变不大,只是增加了一些新的功能,例如可以内嵌a *** 汇编语句等。而Borland Turbo Pascal with Objects 7.0(简称Borland Pascal 7.0)则有了新的飞跃,首先是IDE进一步加强,提供了程序浏览器,然后是程序设计功能有了很大的提升,新增了一些十分有用的标准子程序,支持比较完善的面向对象程序设计功能,并提供了DOS实模式、DOS保护模式和Windows模式三种程序编译模式,能够编写出可以使用扩充内存(XMS)的保护模式应用程序或者在Windows 3.x下运行的Windows程序,另外还提供了一个对象窗口库(OWL),使用它可以快速的开发出具有一致的视窗界面(DOS或Windows 3.x)的应用程序。Borland Pascal 7.0在1992年推出,是Turbo Pascal系列在DOS下的最后版本。
现在,随着Turbo Pascal逐渐被淘汰,全国信息学奥林匹克竞赛决赛(NOI)和国际信息学奥林匹克竞赛(IOI)已经指定Free Pascal为比赛使用的Pascal编程工具。Free Pascal是由一个国际组织开发的32位Pascal编程工具,属于共享软件,可用于各种操作系统。根据编译选项的不同,它可以使用Borland Pascal兼容语法、Delphi 2 Object Pascal语法或者其它语法进行编写程序。由于它拥有32位的编译器,而且一直在更新发展中,因此它的功能比Borland Pascal更加强大,拥有许多现代程序设计的特征,但同时也很不成熟,存在很多漏洞。Free Pascal正处于发展初期,相应的函数库十分少,对程序员的吸引力远比不上拥有VCL和CLX的Delphi和Kylix。
2、帕斯卡(Pascal,Blaise,1623年6月19日-1662年8月19日)是法国数学家、物理学家、思想家。生于克莱蒙费朗,早逝于巴黎。父亲是数学家、“梅森学会”成员,对他的早期教育影响很大。他自幼聪颖,求知欲极犟,12岁始学几何,即通读欧几里得(Euclid)的《几何原本》(Elements)并掌握了它。16岁时发现著名的帕斯卡六边形定理:内接于一个二次曲缐的六边形的三双对边的交点共缐。据说他后来由此推出400多条推论。17岁时写成《圆锥曲缐论》(1640),是研究德札尔格(Girard Desargues)射影几何工作心得的论文,包括上述定理。这些工作是自希腊阿波罗尼奥斯(Apollonius of Perga)以来圆锥曲缐论的最大进步。1642年他设计并制作了一台能自动进位的加减法计算装置,被称为是世界上第一台数字计算器,为以后的计算机设计提供了基本原理。1654年他开始研究几个方面的数学问题,在无穷小分析上深入探讨了不可分原理,得出求不同曲缐所围面积和重心的一般方法,并以积分学的原理解决了摆缐问题,于1658年完成《论摆缐》。他的论文手稿对莱布尼茨(Gottfried Leibniz)建立微积分学有很大启发。在研究二项式系数性质时,写成《算术三角形》向巴黎科学院提交,后收入他的全集,并于1665年发表。其中给出的二项式系数展开后人称为“帕斯卡三角形”,实际它已在约1100年由中国的贾宪所知。在与费马(Pierre Fermat)的通信中讨论赌金分配问题,对早期概率论的发展颇有影响。他还制作了水银气压计(1646),写了液体平衡、空气的重量和密度等方向的论文(1651-1654)。自1655年隐居修道院,写下《思想录》(1658)等经典著作。