![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Pascal基础
编程老头
这个作者很懒,什么都没留下…
展开
-
信息学奥林匹克竞赛-乒乓球
题目描述【问题背景】国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白11分制和21分制对选手的不同影响。在开展他的研究之前,他首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。【问题描述】华华通过以下方原创 2015-12-09 12:37:47 · 1365 阅读 · 0 评论 -
信息学奥林匹克竞赛-Pascal过程与函数
其中IsPrime1是过程,没有返回值,IsPrime2是函数,有返回值。varn,i:longint;procedure IsPrime1(number:longint);begin for i:=2 to trunc(sqrt(number)) do begin if number mod i=0 then begin writeln('false');原创 2015-10-15 16:36:17 · 454 阅读 · 0 评论 -
信息学奥林匹克竞赛-你的飞碟在这儿
众所周知,在每一个彗星后都有一只UFO。这些UFO时常来收集地球上的忠诚支持者。不幸的是,他们的飞碟每次出行都只能带上一组支持者。因此,他们要用一种聪明的方案让这些小组提前知道谁会被彗星带走。他们为每个彗星起了一个名字,通过这些名字来决定这个小组是不是被带走的那个特定的小组(你认为是谁给这些彗星取的名字呢?)。关于如何搭配的细节会在下面告诉你;你的任务是写一个程序,通过小组名和彗星名来决定这个小组原创 2015-10-29 16:07:06 · 420 阅读 · 0 评论 -
信息学奥林匹克竞赛-统计单词数
一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1 ),如果给定单词仅是文章中某一原创 2015-10-29 16:43:38 · 494 阅读 · 0 评论 -
信息学奥林匹克竞赛-Pascal的多种退出语句用法
1、break 是用来退出其所在的循环语句 即 :不论在任何一个循环语句中 执行了 break 的话, 马上退出这个语句。相当于 :goto这一层循环语句 最末尾一句的下一句。例如:vari:integer;beginfor i := 1 to 10 dobegin writeln(i);{1} break; writeln(i+1);end;readln原创 2015-10-14 11:24:55 · 666 阅读 · 0 评论 -
信息学奥林匹克竞赛-打印图形
vari,j:longint;begin for i:=1 to 10 do begin write('':20-2*i); for j:=1 to 10 do write('@'); writeln; end; readln;end.vari,j:longint;begin for i:=1 to 9 do begin write(原创 2015-10-14 12:39:57 · 467 阅读 · 0 评论 -
小鱼的游泳时间
伦敦奥运会要到了,小鱼在拼命练习游泳准备参加游泳比赛,可怜的小鱼并不知道鱼类是不能参加人类的奥运会的。这一天,小鱼给自己的游泳时间做了精确的计时(本题中的计时都按24小时制计算),它发现自己从a时b分一直游泳到当天的c时d分,请你帮小鱼计算一下,它这天一共游了多少时间呢?小鱼游的好辛苦呀,你可不要算错了哦。输入格式:一行内输入4个整数,分别表示a,b,c,d。输出格式:一行内输出2原创 2015-10-28 16:56:47 · 2493 阅读 · 0 评论 -
信息学奥林匹克竞赛-统计最长天数
炎热的夏日,KC非常的不爽。他宁可忍受北极的寒冷,也不愿忍受厦门的夏天。最近,他开始研究天气的变化。他希望用研究的结果预测未来的天气。经历千辛万苦,他收集了连续N(1现在,他想知道最高气温一直上升的最长连续天数。输入格式:第1行:一个整数N。1第2行:N个空格隔开的整数,表示连续N天的最高气温。0输出格式:第1行:一个整数,表示最高气温一直上升的最长连续天数原创 2015-10-27 16:05:58 · 1167 阅读 · 0 评论 -
信息学奥林匹克竞赛-动态规划
动态规划大致分为线型动态规划和区间型动态规划。本章我们先谈线型动态规划。采药(选自NOIP2005普及组复赛第三题) 【难度指数】简单 【问题描述】 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同原创 2015-09-21 15:26:03 · 1532 阅读 · 0 评论 -
信息学奥林匹克竞赛-相邻两数最大和
寻找相邻两个数,使得这两个数的和最大,输出这两个数的和以及这两个数所在位置vara:array[1..10] of longint=(5,-2,6,3,-1,18,-5,1,8,4);max,pos,i:longint;begin max:=a[1]+a[2]; pos:=1; for i:=1 to 9 do begin if a[i]+a[i+1]>max th原创 2015-10-22 16:36:06 · 351 阅读 · 0 评论 -
Pascal过程
Pascal中,使用的程序关键字定义一个过程。一个过程定义的一般形式如下所示procedure name(argument(s): type1, argument(s): type 2, ... ); begin end;参数: 参数建立的调用程序和程序标识符之间的联系,也被称为形式参数。参数在程序的规则和函数是一样的。局部声明: 局部声明标签,原创 2015-10-08 16:45:03 · 1056 阅读 · 0 评论 -
冒泡排序和选择排序
vari,j,t,max,min,pos:longint;a:array[1..10] of longint=(20,14,21,4,7,12,17,30,25,36);procedure BubbleSort;begin for i:=1 to 9 do begin for j:=1 to 10-i do begin if a[j]>a[j+1] then be原创 2015-10-21 16:36:23 · 307 阅读 · 0 评论 -
Pascal开关灯问题
有N个灯放在一排,从1到N依次顺序编号。有N个人也从1到N依次编号。1号将灯全部关闭,2将凡是2的倍数的灯打开;3号将凡是3的倍数的灯作相反处理(该灯如为打开的,则将它关闭;如关闭的,则将它打开)。以后的人都和3号一样,将凡是自己编号的倍数的灯作相反处理。试计算第N人操作后,哪几盏灯是点亮的。提示:1—表示灯打开,0—表示灯关闭var k,n,i,j:longint; a:arra原创 2015-08-23 15:14:59 · 1161 阅读 · 0 评论 -
信息学奥林匹克竞赛-ISBN号码
每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔符后的原创 2015-10-29 16:48:00 · 598 阅读 · 0 评论 -
信息学奥林匹克竞赛-计数问题
试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1到 11 中,即在 1、2、3、4、5、6、7、8、9、10、11 中,数字 1 出现了 4 次。输入格式:输入文件名为 count.in。 输入共 1 行,包含 2 个整数 n、x,之间用一个空格隔开。输出格式:输出文件名为 count.out。 输出共 1 行,原创 2015-11-18 14:11:10 · 800 阅读 · 0 评论 -
信息学奥林匹克竞赛-小鱼的数字游戏
小鱼的数字游戏题目描述小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字(长度不一定,以0结束,最多不超过100个,数字不超过2^32-1),记住了然后反着念出来(表示结束的数字0就不要念出来了)。这对小鱼的那点记忆力来说实在是太难了,你也不想想小鱼的整个脑袋才多大,其中一部分还是好吃的肉!所以请你帮小鱼编程解决这个问题。输入输出格式输入格式:一行内输入一串整数,以原创 2015-12-03 15:55:46 · 1479 阅读 · 0 评论 -
信息学奥林匹克竞赛-小鱼比可爱
小鱼的数字游戏题目描述小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字(长度不一定,以0结束,最多不超过100个,数字不超过2^32-1),记住了然后反着念出来(表示结束的数字0就不要念出来了)。这对小鱼的那点记忆力来说实在是太难了,你也不想想小鱼的整个脑袋才多大,其中一部分还是好吃的肉!所以请你帮小鱼编程解决这个问题。输入输出格式输入格式:一行内输入一串原创 2015-12-03 16:39:29 · 1443 阅读 · 0 评论 -
信息学奥林匹克竞赛-校门外的树
题目描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。 由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(原创 2015-12-02 16:47:27 · 480 阅读 · 0 评论 -
信息学奥林匹克竞赛-不高兴的津津
不高兴的津津题目描述津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。原创 2015-12-16 15:15:43 · 1239 阅读 · 0 评论 -
信息学奥林匹克竞赛-自定义类型
typeStudent=record StudentID:string; StudentName:string; StudentAge:longint;end;vars:Student;a:array[1..1000] of Student;begin{ s.StudentID:='XM120501'; s.StudentName:='Li'; s.StudentA原创 2015-12-16 16:36:14 · 403 阅读 · 0 评论 -
信息学奥林匹克竞赛-陶陶摘苹果
陶陶摘苹果题目描述陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。输入输出格式输入格式:原创 2015-11-26 16:47:01 · 608 阅读 · 0 评论 -
信息学奥林匹克竞赛-小鱼的航程(改进版)
小鱼的航程(改进版)题目背景原来的题目太简单,现改进让小鱼周末也休息,请已经做过重做该题。题目描述有一只小鱼,它上午游泳150公里,下午游泳100公里,晚上和周末都休息(实行双休日),假设从周x(1输入输出格式输入格式:输入两个整数x,n(表示从周x算起,经过n天,n在long int范围内)。输出格式:输出一个整数,表示小鱼累计游泳了多原创 2015-11-26 16:37:21 · 1755 阅读 · 0 评论 -
信息学奥林匹克竞赛-三连击
三连击题目描述将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。输入输出格式输入格式:木有输入输出格式:若干行,每行3个数字。按照每行第一个数字升序排列。输出样例192 384 576* * *...* * *(输出被和谐了)vara1,a原创 2015-11-26 16:25:20 · 2702 阅读 · 0 评论 -
信息学奥林匹克竞赛-级数求和
已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。现给出一个整数K(1输入格式:一个正整数K。输出格式:一个正整数N。输入:1输出:2原创 2015-11-25 16:05:25 · 588 阅读 · 0 评论 -
信息学奥林匹克竞赛-小玉学游泳
小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦。已知小玉第一步能游2米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的98%。现在小玉想知道,如果要游到距离x米的地方,她需要游多少步呢。请你编程解决这个问题。输入格式:输入一个数字(不一定是整数,小于100m),表示要游的目标距离。输出格式:输出一个整数,表示小玉一共需要游多少步。原创 2015-11-19 16:46:08 · 1260 阅读 · 1 评论 -
信息学奥林匹克竞赛-数字反转
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。输入格式: 输入文件名为reverse.in 。 输入共1 行,一个整数 N。输出格式: 输出文件名为reverse.out 。 输出共1行,一个整数,表示反转后的新数。输入:123原创 2015-11-19 16:16:31 · 849 阅读 · 0 评论 -
信息学奥林匹克竞赛-车站
车站题目描述火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上、下车,但上、下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人。从第3站起(包括第3站)上、下车的人数有一定规律:上车的人数都是前两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第n-1站),都满足此规律。现给出的条件是:共有N个车站,始发原创 2015-12-10 17:04:51 · 872 阅读 · 0 评论 -
初赛阅读程序写结果部分
初赛阅读程序写结果部分(共4题,每题8分,共计32分。)注重培养学生的数学运算和归纳能力 这类题型主要是读程序写结果。解决这类问题的关键在于能够分析程序的结构以及程序段的功能。常见的有列表法、画流程图法等。完成这类题目的方法和步骤如下:(1)从头到尾通读程序,大致把握程序的算法、找出这个题目的即这个程序想干什么。抓住了它,不仅得出答案变得较容易,而且对自己的结果也会比较有信心。原创 2015-09-08 16:50:50 · 3872 阅读 · 0 评论 -
Pascal数塔问题
var a:array[1..5,1..5,1..3] of integer;procedure myinput;var i,j:integer;begin assign(input,'tower.txt'); reset(input); for i:=1 to 5 do begin for j:=1 to i do begin read(input,a[i,j,1原创 2013-03-10 12:42:50 · 866 阅读 · 0 评论 -
Freepascal之Crt单元
BOB HAN 原创 转载请注明出处 http://www.cnblogs.com/Booble/{这是我的首个一千行程序所以很多地方有冗余 不是很成熟况且程序上了千行用譬如Freepascal 等等这类的面向过程的平台就力不从心了Delphi7以前用过 不是很会用凭着对Crt单元的好奇 我写了这个小游戏}先给代码 可以直接copy走http转载 2013-02-15 20:08:30 · 2013 阅读 · 0 评论 -
全国青少年信息学奥林匹克竞赛培训---快速排序(随机数法)
var a:array[0..9] of integer =(4,3,5,1,10,2,6,9,7,8);procedure Print(_a:array of integer);var i:integer;begin for i:=0 to 9 do begin write(_a[i]:5); end; writeln;end;procedure原创 2013-01-09 23:58:15 · 377 阅读 · 0 评论 -
全国青少年信息学奥林匹克竞赛培训---堆排序
var a:array[1..10] of integer =(4,3,5,1,10,2,6,9,7,8);procedure Print;var c:integer;begin for c:=1 to 10 do begin write(a[c]:5); end; writeln;end;procedure adjust(i,n:integer);原创 2013-01-09 23:34:01 · 520 阅读 · 0 评论 -
全国青少年信息学奥林匹克竞赛培训---快速排序
var a:array[0..9] of integer =(4,3,5,1,10,2,6,9,7,8);procedure Print(_a:array of integer);var i:integer;begin for i:=0 to 9 do begin write(_a[i]:5); end; writeln;end;procedure原创 2013-01-09 20:15:01 · 584 阅读 · 0 评论 -
全国青少年信息学奥林匹克竞赛培训---选择排序
var a:array[0..9] of integer =(4,3,5,1,10,2,6,9,7,8);procedure Print(_a:array of integer);var i:integer;begin for i:=0 to 9 do begin write(_a[i]:5); end; writeln;end;procedure S原创 2013-01-08 23:00:10 · 431 阅读 · 0 评论 -
全国青少年信息学奥林匹克竞赛培训---插入排序
var a:array[0..9] of integer =(4,3,5,1,10,2,6,9,7,8);procedure Print(_a:array of integer);var i:integer;begin for i:=0 to 9 do begin write(_a[i]:5); end; writeln;end;procedure I原创 2013-01-08 20:21:29 · 387 阅读 · 0 评论 -
全国青少年信息学奥林匹克竞赛培训---冒泡排序
program sort;var a:array[0..9] of integer =(4,3,5,1,10,2,6,9,7,8);procedure Print(var _a:array of integer);var i:integer;begin for i:=0 to 9 do begin write(_a[i]:5); en原创 2013-01-07 21:31:02 · 446 阅读 · 0 评论 -
全国青少年信息学奥林匹克竞赛培训---计算星期几
var i:integer;var days:integer;var day,month,year:integer;function isleapyear(x:integer):boolean;begin if (x mod 4=0) and (x mod 100 <>0) then isleapyear:=true else begin if x m原创 2012-12-24 22:10:27 · 393 阅读 · 0 评论 -
全国青少年信息学奥林匹克竞赛培训---pascal版“四皇后问题”
uses crt;var a:array[1..4,1..4]of char;procedure init;var i,j:integer;begin for i:=1 to 4 do begin for j:=1 to 4 do a[i][j]:='*'; end;end;procedure print;var i,j:integer;原创 2012-12-22 18:58:39 · 365 阅读 · 0 评论 -
全国青少年信息学奥林匹克竞赛培训---pascal基础(3)顺序结构
顺序结构程序设计到目前为止,我们可以用读、写语句和赋值语句编写一些简单的程序。通过阅读这些程序,可以逐步熟悉pascal程序的编写方法和应遵循的规则,为以后各章的学习打基础。 例6 试编一程序,输入一梯形的上底、下底、高, 求该梯形的面积。 分析: 整个程序分为三段:输入、计算、输出。程序中用a,b,h三个变量分别存放梯形的上、下底与高,S存放面积。 要而使用这些变量都要先说明,程序的执行部分原创 2012-12-20 19:56:16 · 694 阅读 · 0 评论 -
全国青少年信息学奥林匹克竞赛培训---例题
习题1.1 模仿例题编程1. 加法计算器:编程由键盘输入两个整数a和b,计算出它们的和并输出到屏幕上。2.某梯形的上底、下底和高分别为8,12,9,求该梯形的面积。3. 求边长为5.6 的正立方体表面积。4. 已知图园柱体的高为12,底面园的半径为7,求园柱体表面积。5. 计算某次考试语文、数学、英语和计算机等四科的总成绩与平均成绩。(请用输入语句从键盘输入各科成绩分)原创 2012-12-20 19:21:05 · 513 阅读 · 0 评论