Turbo Pascal图形编程教程

合集下载

turbo pascal 11教学版

turbo pascal 11教学版
输入:8 7 20 输出:10 1、先a div b求商数;
2,再a mod b 求余数*10;
3、如此循环n遍
var a,b,n,i,t:integer; begin readln(a,b,n); a:=a mod b;t:=0; for i:=1 to n do begin a:=a*10; if a div b mod 2=1 then t:=t+1; a:=a mod b; end; writeln(t); readln; end.
变形的斐波那契 问题描述:设有一个数列A1,A2, A3,……,AN……,其中A1,A2由 键盘输入,从A3开始,通过下列的 公式计算: var n,a1,a2,a3,i:longint; AN-2 AN-1 AN begin 偶数 奇数 -2+AN-1 write(‘N,A1,A2=');readln(n,a1,a2); 奇数 偶数 AN-2+2AN-1 for i:=3 to n do begin 偶数 偶数 AN-2+AN-1+1 if (a1 mod 2=0)and(a2 mod 2=1) then a3:=2*a1+a2; 奇数 奇数 AN-2+AN-1 if (a1 mod 2=1)and(a2 mod 2=0) then a3:=a1+2*a2; if (a1 mod 2=0)and(a2 mod 2=0) then a3:=a1+a2+1; 如:A1=1,A2=2, if (a1 mod 2=1)and(a2 mod 2=1) then a3:=a1+a2; 则A3=1+2*2=5, a1:=a2; ;(前项=后项,递推) A4=4+5=9, a2:=a3; A5=5+9=14 end; 输入N和A1,A2,输出第N项。 writeln('A(',n,')=',a3); readln; 如输入:N ,A1 ,A2= 9 1 2 则输出:A(9)=269 end.

TurboC图形编程精品文档

TurboC图形编程精品文档

2、16、 256
从320X200 到1024X768
1、2、4
2019/10/16
5
五、显示模式控制 在进行图形编程前需要先设置图形模式;如
果不设置,则图形函数都不能使用。 图形函数的原型在graphics.h文件中。
各类图形适配器都有符号常数及数值;使用中为 了方便一般采用系统根据硬件测试结果自动装入 相应的适配器,即使用的符号常数是:DETECT, 数值为0。 六、颜色设置 设置颜色的函数有两个:
本课件由pbacosmetics提供
2019/10/16
21
setbkcolor(int color) 设置背景色,默认0(黑色) setcolor(int color) 设置前景色(画笔),默认15(白色)
此外,可以用调色板函数(setpalette)自 己调色。
2019/10/16
6
设置颜色示例(myg2.c)
#include <graphics.h>
/* 可选 */
/* 这里添加自己的代码以实现特定的功能 */

closegraph();
} 2019/10/16
11
#include <graphics.h> 图形函数的头文件 int graphdriver=DETECT,graphmode; 定义图形设备、模式 initgraph(&graphdriver,&graphmode,“”); 初始化设备 格式:
2019/10/16
12
十二、编程中常用的方法 1、暂停以显示图形
用getch(); 2、获取当前图形方式
用gmode=getgraphmode(); 3、返回图形初始化前的模式

Turbo_C语言入门学习教程

Turbo_C语言入门学习教程

C 语言是1972年由美国的Dennis Ritchie设计发明的, 并首次在UNIX操作系统的DEC PDP-11 计算机上使用。

它由早期的编程语言BCPL(BasicCombindProgramming Language) 发展演变而来。

在1970年,A T&T贝尔实验室的KenThompson根据BCPL语言设计出较先进的并取名为B的语言,最后导了C 语言的问世。

随着微型计算机的日益普及,出现了许多C 语言版本。

由于没有统一的标准,使得这些C 语言之间出现了一些不一致的地方。

为了改变这种情况, 美国国家标准研究所(ANSI)为C 语言制定了一套ANSI标准,成为现行的C语言标准。

1.1 C 语言的产生与发展C 语言是1972年由美国的Dennis Ritchie设计发明的, 并首次在UNIX操作系统的DEC PDP-11 计算机上使用。

它由早期的编程语言BCPL(BasicCombindProgramming Language) 发展演变而来。

在1970年,A T&T贝尔实验室的KenThompson根据BCPL语言设计出较先进的并取名为B的语言,最后导了C 语言的问世。

随着微型计算机的日益普及,出现了许多C 语言版本。

由于没有统一的标准,使得这些C 语言之间出现了一些不一致的地方。

为了改变这种情况, 美国国家标准研究所(ANSI)为C 语言制定了一套ANSI标准,成为现行的C语言标准。

1.2 C 语言的特点C 语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。

许多著名的系统软件,如DBASE ⅢPLUS、DBASE Ⅳ都是由C 语言编写的。

用C语言加上一些汇编语言子程序,就更能显示C 语言的优势了,象PC- DOS 、WORDSTAR等就是用这种方法编写的。

归纳起来C 语言具有下列特点:1. C是中级语言它把高级语言的基本结构和语句与低级语言的实用性结合起来。

TurboC程序设计的基本步骤及如何编译调试和运行源程序

TurboC程序设计的基本步骤及如何编译调试和运行源程序

Turbo C程序设计的基本步骤及如何编译、调试和运行源程序本节主要介绍Turbo C程序设计的基本步骤及如何编译、调试和运行源程序。

并给出Turbo C的常用编辑命令。

最后介绍Turbo C编译、连接和运行时的常见错误。

一、Turbo C程序设计基本步骤程序设计方法包括三个基本步骤:第一步: 分析问题。

第二步: 画出程序的基本轮廓。

第三步: 实现该程序。

3a. 编写程序3b. 测试和调试程序3c. 提供数据打印结果下面, 我们来说明每一步的具体细节。

第一步: 分析问题在这一步, 你必须:a. 作为解决问题的一种方法, 确定要产生的数据(输出)。

作为这一子步的一部分, 你应定义表示输出的变量。

b. 确定需产生输出的数据(称为输入), 作为这一子步的一部分, 你应定义表示输入的变量。

c. 研制一种算法, 从有限步的输入中获取输出。

这种算法定义为结构化的顺序操作, 以便在有限步内解决问题。

就数字问题而言, 这种算法包括获取输出的计算, 但对非数字问题来说, 这种算法包括许多文本和图象处理操作。

第二步: 画出程序的基本轮廓在这一步, 你要用一些句子(伪代码)来画出程序的基本轮廓。

每个句子对应一个简单的程序操作。

对一个简单的程序来说, 通过列出程序顺序执行的动作, 便可直接产生伪代码。

然而, 对复杂一些的程序来说, 则需要将大致过程有条理地进行组织。

对此, 应使用自上而下的设计方法。

当使用自上而下的设计方法时, 你要把程序分割成几段来完成。

列出每段要实现的任务, 程序的轮廓也就有了, 这称之为主模块。

当一项任务列在主模块时, 仅用其名加以标识, 并未指出该任务将如何完成。

这方面的内容留给程序设计的下一阶段来讨论。

将程序分为几项任务只是对程序的初步设计。

整个程序设计归结为下图所示的流程图1.。

┏━━━━━━━━━━━━━━━┓┃主模块┃┏━━━━━━━┓┃输入数据┃┃主模块┃┃计算购房所需的金额┃┃┃┃计算装修所需的金额┃┃任务1 ┃┃计算总金额┃┃任务2 ┃┃输出计算结果┃┃任务3 ┃┃┃┃任务4 ┃┗━━━━━━━┳━━━━━━━┛┃┃┏━━━━━┳━━━━━╋━━━━┳━━━━━┓┃┃┏━━┻━┓┏━━┻━┓┏━━┻━┓┏━┻━┓┏━━┻━┓┗━━━━━━━┛┃输入数据┃┃购房额..┃┃装修额..┃┃总额..┃┃输出结果┃┗━━━━┛┗━━━━┛┗━━━━┛┗━━━┛┗━━━━┛图1. 程序初步设计图2. 第二级程序设计如果把主模块的每项任务扩展成一个模块, 并根据子任务进行定义的话, 那么, 程序设计就更为详细了(见图2.)。

Turbo C 程序设计初步

Turbo C 程序设计初步

Turbo C 程序设计初步Turbo C程序设计初步2011-03-06 00:01Turbo C程序设计初步本节重要先容Turbo C程序设计的根本步骤及如何编译、调试和运行源程序.并给出Turbo C的常用编辑命令.最后介绍Turbo C编译、衔接和运行时的常见错误.一、Turbo C程序设计基本步骤程序设计方法包括三个基本步骤:第一步:剖析问题.第二步:画出程序的基础轮廓.第三步:实现该程序.3a.编写程序3b.测试和调试程序3c.提供数据打印成果下面,我们来说明每一步的详细细节.第一步:分析问题在这一步,你必须:a.作为解决问题的一种方法,断定要产生的数据(输出).作为这一子步的一部分,你应定义表示输出的变量.b.肯定需产生输出的数据(称为输入),作为这一子步的一局部,你应定义表示输入的变量.c.研制一种算法,从有限步的输入中获取输出.这种算法定义为构造化的次序操作,以便在有限步内解决问题.就数字问题而言,这种算法包括获取输出的计算,但对非数字问题来说,这种算法包括许多文本和图象处置操作.第二步:画出程序的基本轮廓在这一步,你要用一些句子(伪代码)来画出程序的基本轮廓.每个句子对应一个简略的程序操作.对一个简单的程序来说,通过列出程序顺序执行的动作,便可直接产生伪代码.然而,对庞杂一些的程序来说,则需要将大抵过程有条理地进行组织.对此,应使用自上而下的设计方法.当使用自上而下的设计方法时,你要把程序宰割成几段来完成.列出每段要实现的任务,程序的轮廓也就有了,这称之为主模块.当一项任务列在主模块时,仅用其名加以标识,并未指出该任务将如何完成.这方面的内容留给程序设计的下一阶段来探讨.将程序分为多少项义务只是对程序的初步设计.全部程序设计归结为下图所示的流程图1.主模块输入数据主模块计算购房所需的金额计算装修所需的金额任务1计算总金额任务2输出计算结果任务3任务4输入数据购房额.装修额.总额.输出结果图1.程序初步设计图2.第二级程序设计如果把主模块的每项任务扩大成一个模块,并根据子任务进行定义的话,那么,程序设计就更为具体了(见图2.).这些模块称为主模块的子模块.程序中许多子模块之间的关联可象图2.中那样归纳为一张图.这种图称为结构图.要画出模块的轮廓,你可不考虑细节.如果这样的话,你必须应用子模块,将各个模块求精,到达第三级设计.持续这一过程,直至说明程序的全体细节.这一级一级的设计过程称为逐渐求精法.在编写程序之前,对你的程序进行逐步求精,对你来说,是很好的程序设计实际,会使你养成良好的设计习惯.我们则才描写了程序设计中自上而下的设计办法.实际上就是说,咱们设计程序是从程序的"顶部"开端始终斟酌到程序的"底部".第三步:实现该程序程序设计的最后一步是编写源码程序.在这一步,把模块的伪代码翻译成Turbo C语句.对源程序,你应包含解释方法的文件编制,以描述程序各个部分做何种工作.此外,源程序还应包含调试程序段,以测试程序的运行情况,并允许查找编程错误.一旦程序运行情况良好,可去掉调试程序段,然而,文件编制应做为源程序的固定部门保留下来,便于你或其余人保护和修改.二、源程序的输入、编译和运行C语言是一种中级语言,用户用C语言编写的程序称为源程序,寄存用C语言所写源程序文件名字最后的两个字符一般必须为".c".计算机硬件不能直接执行源程序,必须将源程序翻译成二进制目标程序.翻译工作是由一个程序实现的,这个程序称为编译程序,翻译的进程称为编译,编译的结果称为目标程序,存放目标程序文件名字紧后的字符普通为".OBJ"或".O".程序翻译成目标程序后,便可进行连接."连接"的目的是使程序变成在计算机上可以执行的终极情势.在这一阶段,从系统程序库来的程序要与目标程序连接,连接的结果称为执行程序,存放执行程序言件名字个别以".EXE"结尾.在Turbo C集成开发环境中建立一个新程序通常有以下几个步骤:(1).在编辑器中编写源文件.(2).天生可执行文件.在DOS提示符下键入TC,即可进入Turbo C了.进入主TC屏后,按F3键,电脑硬件,即可在随之出现的框中输入文件名,文件名可以带".C"也可以不带(此时系统会自动加上).输入文件名后,按回车,即可将文件调入,如果文件不存在,就建破一个新文件(也可用下面例子中的方法输入文件名).体系随之进入编辑状态.就可以输入或修改源程序了,源程序输入或修改结束当前,按Ctrl+F9(同时按下Ctrl键和F9键),则即时进行编译、连接和执行,这三项工作是持续完成的.下面我们试着建立一个Tu rbo C名为"HELLO.C"的源程序(因程序很小,这里就不画出该程序的轮廓图了):1.操作步骤:(1).将系统置于DOS提示符下:(2).键入命令:tc hello.c使系统进入Turbo C集成开发环境,并树立一个名为HELLO.C的文件.这时,系统进入Turbo C编辑环境.(3).通过键盘输入程序,例如:main(){printf("Hello,world\n");}则程序进入计算机存贮器.2.程序存盘为避免意外事变丧失程序,最好将输入的程序存贮到磁盘中.在编辑窗口下,可直接按F2键或按F10键,再按F键进入File菜单项,再按S或W键将文件存盘.存盘时屏幕最底行会显示:"saving edit file"3.编译一个程序对源程序进行编译有两种方法:(1).直接按Alt+F9即可.(2).按F10键返回主菜单,选择Compile 项,屏幕显示Compile下拉菜单,从下拉菜单中抉择Compile to.OBJ项,按回车键.进入编译状态后,屏幕会出现一个编译窗口,几秒钟后,屏幕显示一闪耀信息:Success:press any key表示编译胜利.此时可按任意键,编译窗口消散,光标返回主菜单.如果编译时产生警告Warning或出错Error信息,这些详细错误信息会显示在屏幕下部的信息窗中,必须改正这些错误.对源程序进行修改,从新进行编译.4.运行程序源程序经编译无误后,能够投入运行.具体操作如下:(1).假如当前还在编辑状态,可按Alt+R,再取舍RUN项即可.(2).按Ctrl+F9.程序投入运行时,屏幕会出现一个连接窗口,显示Turbo C正在连接和程序所需的库函数.连接完毕后,会出现屏幕忽然一闪,后又回到TC主屏幕,产生了什么?让我们按Alt+F5看看,此时屏幕被肃清,在顶部显示"Hello,world"字样.再按任意键,即可又回到TC主屏幕.5.列磁盘文件目录当初请按Alt+X退出Turbo C,常用电脑须知的保健常识,返回DOS提示符,键入dir hello.*,回车,则屏幕显示:HELLO C42 1-09-93 10:18 HELLO OBJ 221 1-09-93 10:22 HELLO EXE 4486 1-09-93 10:25.第一个文件HELLO.C是源文件文本,在DOS提示符下键入TYPE HELLO.C命令,可在屏幕上显示该文件的内容.可看到该程序只有42个字节.第二个文件HELLO.OBJ是Turbo C编择程序产生的二进制机器指令(目的码),如果用DOS命令TYPE显示该文件,屏幕可能会出现凌乱的信息.第三个文件HELLO.EXE是Turbo C连接程序产生的实际可执行文件.在DOS提示符下键入HELLO并按回车,屏幕将显示"Hello,world".Turbo C常用的编纂命令Turbo C编辑程序大概有50条命令,用以移动光标,按页查看正文,查找并调换字符串等.如下表所示.表1.Turbo C编辑程序命令种别功效默认键字符左Ctrl+S或Left基字符右Ctrl+D或Right本字左Ctrl+A光字右Ctrl+F标上行Ctrl+E或Up移下行Ctrl+X或Down动上滚Ctrl+W命下滚Ctrl+Z令上一页Ctrl+R或PgUp下一页Ctrl+C或PgDn快行头Ctrl+QS或Home速行尾Ctrl+QD或End光窗口头Ctrl+QE标窗口底Ctrl+QX移文件头Ctrl+QR动文件尾Ctrl+QC命块头Ctrl+QB 令块尾Ctrl+QK上次光标地位Ctrl+QP输插入模式Ctrl+V或Ins入插入行Ctrl+N与删除行Ctrl+Y删删除至行尾Ctrl+QY除删除光标左边字符Ctrl+H或Backspace命删除光标处字符Ctrl+G或Del令删除光标右边字符Ctrl+T标记块首Ctrl+KB标记块尾Ctrl+KK标志单个字Ctrl+KT块复制块Ctrl+KC命删除块Ctrl+KY令块撤消Ctrl+KH块挪动Ctrl+KV读块Ctrl+KR写块Ctrl+KW异样停止操作Ctrl+U或Ctrl+Break制表Ctrl+L或Tab其主动缩进Ctrl+OI定界符配对Ctrl+Q[或Ctrl+Q]它查找Ctrl+QF查找并替代Ctrl+QA查找标记Ctrl+QN退出编辑Ctrl+KQ Turbo C程序的调试一个程序设计好了以后,通常会有一些错误,查找和修改程序中的错误是令人头痛的事.Turbo C集成开发环境供给了一调试安装,使得这一个工作容易了很多,程序调试达到了编译和运行级.一、TC消息窗口使用TC最好的理由之一是它允许用户修正语法错误(编译时)和评估编译器给出的警告.TC将编译器和连接器发出的消息收集到一缓冲区中,而后在新闻窗口中显示,这样在拜访源代码的同时,还能一下看到这些消息.现将上面的HELLO.C制作一点语法错误,将第一行包括语句的#去掉,再去掉第五行printf语句中的后引号.现在程序看上去是这样的:include stdio.hmain(){printf("Hello,world\n);}按CTRL+F9重新编译之.编译窗口将显示有多少错误和警告:应为两个错误,0个警告.当看见编译窗口中的Press anykey 提示时,按空格键,消息窗口立即被激活,亮条涌现在第一个错误或警告上,这时编辑窗口中也会有一亮条---它标记着编译器给出的错误或忠告在源代码中的相应位置.这时可用光标键将消息窗口中的亮条高低移动,留神到编辑窗口中的亮条也跟着跟踪源代码中错误发生的位置.如果将亮条置于"compile"上,则编辑器显示文件的最后位置.如果消息窗口太长看不见,可用左、右光标程度滚动消息,为了一次可能多看点信息,可按F5放大消息窗口.放大后,编辑窗口不可见了,因而不进行错误跟踪.现在,坚持分屏模式.为了矫正错误,将消息窗口中的亮条置于第一个错误消息上,回车,光标移到编辑窗口中错误产生处,注意,编辑器状况给出所选消息(这在放大模式下是有用的)纠正之.(将第一行拿走的#重新写上).当不仅一个错误时,可用两种方法来修改下一错误.第一种方法和前面一样,按F6回到消息窗口选择想修改的下一条消息.第二种方法不必回到消息窗口,只有按Alt+F8,编译器就会将光标移至消息窗口中列的下一个错误.按Alt+F7可移至前一个毛病.这两种方法各有是非,视情况而定.有时源代码中一个笨拙的错误把编译弄糊涂了,产生好多消息,这时选择修改第一条消息就使得其余的一些错误消息没有什么意思了,这种情况发生时,使用方法一会方便些,一修改完第一个错误之后回到消息窗口,再转动到下一个有意义的消息上,选择之.在别的情形下,按Alt+F8会便利得多.记住,Alt+F7和Alt+F8是热键,TC中无论何时均起作用.因此在消息窗口中按Alt+F8得到的不是当前亮行消息,7比Vista要好用而且有很多新功能,而是下一个消息(按Enter选择当前消息).但如果没别的编译消息,Alt+F8就不起作用了.注:可以如斯法挑选连接消息,但它们不跟踪源文件.在修改语法错误的过程当中,常常须要增长、删除注释,编辑器是记住的,仍然能正确定位过错位置.没有必要记住行号跟增添、删除的正文行.二、Turbo C集成调试器一旦修改好语法错误之后程序编译就没什么问题了,但仍是可能不按要求运行,图片澳品净水大奖有礼!迎奥运,庆澳品焦点三周年感恩大行动--.,因为可能有逻辑错误(运行错误).这种错误跟踪就无助于发明错误位置了.TC有一个集成调试器可以跟踪运行错误.通过调试器可以运行,在断点处暂停,检查变量的值,甚至可以改变之,以看程序会有什么反映.Turbo C集成调试器是源程序级的调试器,即用同你编写程序一样的"语言"来掌握调试器.例如,为了显示数组中的一个元素的值,可告知调试器显示这样的表达式的值:Ctrl+F4Debug/Eavluate盘算表白式,答应修转变量的值.Debug/Find Function查找函数定义,显示在编辑窗口中.仅在调试时才有效.Ctrl+F3 Debug/Call Stack显示调用栈,可显示任何函数确当前执行位置,其方式是在调用栈当选择相应的函数名.仅在调试时有效.Debug/Source Debugging把持是否许可调试:置为On 时,集成调试器和独自调试器均可用;置为Standalone时,只能用单独调试器调试,固然还能在TC中运行;置为None时,在.EXE文件不置调试信息,两种调试均不能调试.Ctrl+F4 Break/Watch/Add Watch增加一监视表达式.Break/Watch/Delete Watch删除一监视表达式.Break/Watch/Edit编辑一监视表达式.Break/Watch/Remove All删除所有监视表达式.Watches Ctrl+F8 Break/Watch/Toggle设置或扫除光标所在行的断点.BreakpointBreak/Watch/Clear删除程序中所有断点.Breakpoint Break/Watch/Next显示下一断点Breakpoint表3.调试器菜单命令及其热键热键菜单命令功能F5在整屏和分屏之间放大缩小活动窗口.Alt+F5将显示转到用户屏,击任意键返回.F6在编辑窗口与监督窗口或消息窗口间切换.Alt+F6若编辑窗口是运动的,转到最近一次装入编辑器的文件;若下面窗口是活动的,则在监视窗口和消息窗口间切换.Ctrl+F9 Run/Run调试运行或不调试运行程序,必要时编译、连接源文件,若编译、连接时Debug/Source Debuging和O/C/C/OBJ Debug Information为On,则运行程序到断点或程序末尾.Project/Remove Messages删除消息窗口中的内容.断定程序是否犯错或者为什么出错是编程中最有挑衅意义的一方面.这里建义你进行防备性设计,具体做法为:(1).将代码写明白点,应作恰当缩进,使用文字阐明和描述性的变量名.(2).代码应简单,把精神放在简单语句中的复杂抒发式,而不是一些复杂语句.Turbo C的代码优化机制将大大进步代码的效率,而且调试、浏览、修改起来容易.(3).尽量用目的简单、好定义的函数构建程序.这会便于编制调试程序和分析结果,而且阅读、修改起来也要轻易一些.(4).应尽量减少各个函数请求的数据和改变数据的元素个数.这也会便于编制测试程序和分析结果;同样便于阅读、修改程序.并且还限度了出错函数可能造成的宏大混乱的关涉面,便得能在一个调试节中多运行函数几回.(5).要留意编写程序中的公共函数,或者说在其它程序中可再用的函数.编写、调试一个正常性的函数通常要比编写、调试两个或更多的特别函数要容易.Turbo C编译、连接和运行时的常见错误一、编译时的常见错误1.数据类型错误.此类错误是初学者编程时的常见现象,下面是一些要引起注意的错误:(1)所有变量和常量必需要加以说明.(2)变量只能赋给雷同类型的数据.(3)对scanf()语句,用户可能输入错误类型的数据项,这将导致运行时出错,并报出错信息.为防止这样的错误出现,你就提示用户输入正确类型的数据.(4)在履行算术运算时要注意:a.依据语法规矩书写双精度数字.要写0.5,而不是写.5;要写1.0,而不是1.只管C语言会自动地把整型转换成双精度型,但书写双精度型是个好习惯.让C语言为你做强行转换这是一种效力不高的程序设计作风.这有可能导致转换发生错误.b.不要用0除.这是一个灾害性的错误,它会导致程序失败,不论C语言的什么版本,都是如此,执行除法运算要特殊警惕.c.确保所有的双精度数(包含那些程序输入用的双精度数)是在实数规模之内.d.所有整数必须在整数容许的范畴内.这实用于所有计算结果,包括旁边结果.2.将函数后面的";"忘掉.此时错误提示色棒将停在该语句下的一行,并显示:Statement missing;in function函数名3.给宏指令如#include,#define等语句尾加了";"号.4."{"和"}"、"("和")"、"/*"和"*/"不匹配.引时色棒将位于错误所在的行,并提示出有关丢掉括号的信息.5.没有用#include指令解释头文件,错误信息提示有关该函数所使用的参数不决义.6.使用了Turbo C保存要害字作为标识符,此时将提示定义了太多数据类型.7.将定义变量语句放在了执行语句后面.此时会提醒语法错误.8.使用了未定义的变量,此时屏幕显示:Undefined symbol'变量名'in function函数名9.警告错误太多.疏忽这些警告错误并不影响程序的执行和结果.编译时当警告错误数量大于某一划定值时(缺省为100)便退出编译器,这时应改变集成开发环境Options/Compiler/Errors中的有关警告错误检讨开关为off.10.将关系符"=="误用作赋值号"=".此时屏幕显示:Lvalue required in function函数名二、连接时的常见错误1.将Turbo C库函数名写错.这种情况下在连接时将会以为此函数是用户自定义函数.此时屏幕显示:Undefined symbol'函数名'in程序名2.多个文件连接时,没有在"Project/Project name中指定名目文件(.PRJ文件),此时呈现找不到函数的错误.3.子函数在说明和定义时类型不一致.4.程序调用的子函数不定义.三、运行时的常见错误1.门路名错误.在MS-DOS中,斜杠(\)表现一个目录名;而在Turbo C中斜杠是个某个字符串的一个本义字符,这样,在用Turbo C字符串给出一个路径名时招考虑"\"的转义的作用.例如,有这样一条语句:file=fopen("c:\new\tbc.dat","rb");目标是翻开C盘中NEW目录中的TBC.DAT文件,但做不到.这里"\"后面紧接的分离是"n"及"t","\n"及"\t"将被分辨编译为换行及tab字符,DOS将认为它是不准确的文件名而谢绝接收,因为文件名中不能和换行或tab字符.正确的写法应为:file=fopen("c:\new\tbc.dat","rb");2.格局化输入输出时,规定的类型与变量自身的类型不一致.例如:float l;printf("%c",l);3.scanf()函数中将变量地址写成变量.例如:int l;scanf("%d",l);4.轮回语句中,循环节制变量在每次循环未进行修改,使循环成为无穷循环.5.switch语句中没有使用break语句.6.将赋值号"="误用作关系符"==".7.多层前提语句的if和else不配对.8.用动态内存分配函数malloc()或calloc()分配的内存区使用完之后,未用free()函数开释,会导致函数前几次调用畸形,而后面调用时发生逝世机景象,不能返回操作系统.其起因是由于没用空间可供分配,而占用了操作系统在内存中的某些空间.9.使用了动态调配内存不成功的指针,造成系统损坏.10.在对文件操作时,没有在使用完及时封闭打开的文件.特别声明:1:资料来源于互联网,版权归属原作者2:资料内容属于网络意见,与本账号立场无关3:如有侵权,请告知,立即删除。

Pascal入门教程

Pascal入门教程
9.程序的保存与打开:当程序第一次运行时,系统就要求用户保存,并在屏幕上会 出现一个对话框要求输入文件名(默认扩展名为.pas)。。当我们把程序修改后想再次保存, 就可以通过按 F2 键(或执行 File 菜单中的 save 命令)来保存程序。 当我们要将磁盘上的程序文件中的 PASCAL 程序装入窗口时,可按 F3(或执行 File 菜 单中的 Open 命令)来装入程序,此时系统也会弹出一个对话框要求输入要打开的文件名 , 或直接在文件对话框列表中选择所要的文件,然后回到打开文件。
程序标志。“program”用来标识“这是一个 pascal 程序”; 程序名称。由程序设计者自己定义,但一般习惯是使程序名能反映出程序的含义。 程序体包括: 说明部分。用来描述程序中用到的数据属性。它分为常量说明和变量说明两部分。 执行部分。它的作用是通知计算机执行指定的操作,如果一个程序中不写执行部 分,在程序运行时计算机什么工作也不做。执行部分以“BEGIN”开始,以“END.”结束(注 意:“END.”后面有一个句点,表示整个程序结束)。它们中间是一些执行具体操作的语句, 以分号作为语句间的分隔符,Being 和 end 应成对出现。 3.常量是指要程序运行过程中,其值不能被改变的量。本程序中第二、三行是“常量
【同步练习】
1.阅读下列程序,分析程序的结构,指出其中变量的个数,并上机运行。 [程序清单] program p1_1_2(input,output); var a,b,h,s:real; begin write(´input a,b,h:´); readln(a,b,h); s:=(a+b)*h/2; writeln(´s=´,s:12:6); end. [运行示例] input a,b,h:3↙4↙5↙(下划线上的内容需要从键盘输入,其中“↙”表示回车键) S=16.000000

TurboC软件实用介绍

TurboC软件实用介绍
第6行中的函数getmaxmode()是测定可设置的最高 模式,两个测得的最高模式的值应当相同.返回值是
Turbo C 绘图软件
--1--绘图程序的基本结构
整型变量int. 第9,10行中的函数
getmaxx,getmaxy,getmaxcolor是测定 所选模式的最大列数、行数和最多颜色数. 7-10行是输出全部数据.
{ 1 int l,h,cc; 2 int gmode,gdriver=DETECT; 3 initgraph(&gmode,&gdriver,”C:\\TC\\bgi”); 4if(graphresult()!=grOk){printf(“error”);getch(
);exit(l);} 5 getmoderange(gdriver,&l,&h); 6 cc=getmaxmode(); 7 printf(“gdriver=%-4d gmode=%-
一个简单的绘图程序由进入图形方式、绘图和退出图 形方式三个部分组成。
进入图形方式(格式) pgl.c #include<graphics.h> #include<stdio.h> #include<conio.h> #include<process.h> main()
Turbo C 绘图软件
--1--绘图程序的基本结构
Turbo C 绘图软件
--2--进入、退出图形方式等有关函数
进入、退出图形方式等有关函数 -1- inigraph 初始化图形系统 Inigraph通过磁盘装入一个图形驱动程序对图
形系统初始化,并把系统置为图形模式。 要启动图形系统首先要调用inigraph函数。 -2- detectgraph 通过检测硬件确定所使Turbo C 绘图软件

Pascal高级编程技术:第一章 TURBO PASCAL高级编程技术

Pascal高级编程技术:第一章 TURBO PASCAL高级编程技术

第一章 TURBO PASCAL高级编程技术TURBO PASCAL是美国BORLAND国际公司的产品,在微机PASCAL市场上占有绝对优势。

它克服了往常PASCAL编译系统占用大量内存的缺陷,并对标准PASCAL作了许多有益的扩充,如它具有与低层软件和硬件打交道的能力、具有强大的图形图象功能、支持面向对象的程序设计方法、支持WINDOWS程序设计等等。

它是一个名副其实的通用系统程序设计语言,十分适合开发一些高级应用软件、数据库管理系统、编译程序等。

另外,TURBO PASCAL还配备有一个高性能的集成软件开发环境,包括编辑、编译、调试、文件管理等一系列功能。

本章就使用TURBO PASCAL开发高级软件的实用技术进行阐述,介绍如何使用一些工具和技术,为TURBO PASCAL程序员提供方便。

本章将讲述在程序设计时使用单元的技术、TURBO PASCAL与汇编语言和C语言混合编程技术、实现和使用动态数组的技术、编写中断例程的方法、在程序中使用扩展内存(EMS)和扩充内存(XMS)的方法以及将程序的标准数据作代码处理的方法等。

§1.1 单元及其使用单元是能与TURBO PASCAL程序分开编译的一组TURBO PASCAL过程和函数。

因为单元是单独编译的,所以使用单元的程序编译速度快。

而且,一个独立的单元可以为多个程序使用。

充分利用单元的优点,不仅可以加快软件的开发速度,而且可以提高程序可维护性。

§1.1.1 单元的结构一个单元有两部分组成──接口部分和实现部分。

如:unit <标识符>; {单元头}interface {接口部分开始}uses <单元列表> {可选项}{公共说明部分}implementation {实现部分开始}{私有说明部分}{过程或函数的定义}begin {初始化部分开始}{初始化代码}end.1.接口部分单元的接口部分由保留字interface开始,在单元头和实现部分之间。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Turbo Pascal图形编程教程Pascal是一款有很强图形功能的开发工具,它可以编制各种图形窗口,并且听说还支持鼠标.但是时过境迁,在vb,vc一统天下的今天,关于Pascal图形操作的书已经像古董一样难于寻找了,我现在将Tp 7.0的Help文件中的一些有关图形操作的过程与函数整理了一下,并自己写了一些例子,加入了一些自己的看法,便得到了这篇教程.其中如有错误,望各位不吝赐教。

阅读之前希望大家做好准备,比如:找一些食品放在跟前,因为你可能因为钻研一个函数而耗费大量的时间,还有你可能因为初始化无法完成而大动肝火。

第一章使用Pascal进行图形操作前的准备在 Turbo Pascal 中有一个 CRT 单元及一个 GRAPH 单元,简单的说 crt 单元是为了实现字符的显示与处理,另外的那个称为 GRAPH 单元是专门用来处理图形的。

我们看到的有关图形的程序往往都要用到。

所以若是要在 Turbo Pascal 中实现图形操作,就必须要调用 CRT 单元及 GRAPH 单元。

那么怎么样来调用 CRT 及 GRAPH 单元呢?现在线来介绍一下单元调用语句:USESUSES的语法:USES 单元表识符,……,单元表识符;说明:扩展名为*.TPW是Windows下的单元文件,*.TPU是DOS下的单元文件。

位置:变量说明var之前。

讲到这里,我还是要顺便提一下什么是单元?是这样的:我们在编程序的时候,要用到procedure 或者function ,中文名称一个是过程另一个是函数。

做不同的程序时,往往要用到一些相同的过程或者相同的函数。

如果统统放到程序中,程序会硕大无比,比例与调试与编译,并且在过去“惜kb如金”的年代里,这样的程序也很浪费。

于是,简单的讲,人们把它们做成“包”--我们称之为单元。

一来,免去很多重复的痛苦,大家共享代码也很简单,另外,很多不愿意让别人看到源程序的人也很乐于如此----这只是我的杜撰。

生产pascal 语言的公司也提供一些做好的单元,放在安装盘上方便实用。

crt ,graph 即使如此,还有dos ,system 等等。

第二章 Pascal图形模式的初始化及退出1.初始化Pascal的图形操作在使用之前必须先进行初始化。

如果说你编写图形程序中出现问题,十有八九是卡在这里了。

这也是非常令我头疼的问题。

用过程initgraph(GraphDriver,GraphMode,PathToDriver)其中GraphDriver,GraphMode为整形变量,PathToDriver为字符串变量,GraphDriver为图形驱动器,GraphMode为图形模式,PathToDriver指定的路径名中建筑图形驱动程序(以.BGI为后缀)。

initgraph使用方法见下例:program t001 (input,output);uses crt,graph;var gd:gm:integer; {定义GraphDriver,GraphMode变量}begingd:=detect;initgraph(gd,gm,'');{调用initgraph过程,PathToDriver缺省则表示在当前目录中寻找《-------这个很重要,一般也可以写成initgraph(gd,gm,'c:\tp\bgi'); 当然如果你是如此安装的话。

}bar(100,100,200,200); {画一个以(100,100),(200,200)为顶点的矩形,这是一个标准过程,你在后面还会看到一个名为bar3d的东东,那个是画立体矩形的}delay(1000); {将此图形保留一秒,10000就是10秒,依此类推}end.2.退出Closegraph过程功能:退出图形模式.在图形模式下如果使用 write 等等文本输出可能会出问题---比如无法看到等等。

好像还可能引起显示上的问题,反正养成一个好习惯也没什么不好的。

这里有一个技巧,当你发现无论如何调整都无法显示图形时,你可以调用自带的例子,用来测试,看看是否是程序本身的问题。

注意,这里有一个不属于图形的,但是非常容易遇到的问题。

前面我们说过,在图形编程使用graph 单元的时候,我们也常常会使用crt单元,这就有一个问题:crt 单元在主频高的机器上无法正常运行。

会出现 200 号错误!!!请下载补丁,在我们的网站上就有。

还有一种情况,就是出了问题没有提示!表现是运行程序什么反应也没有。

如果你出现这种情况,首先检查程序,如果没有问题,非常有可能使这种情况,也请下载补丁!据报告奔腾180以上的机器具都不同程度存在这种问题!第三章基本几何图形的绘制画直线:1.Line过程描述:procedure Line(x1, y1, x2, y2: Integer);两点确定一直线.够简单吧!2.Lineto过程描述:procedure LineTo(X, Y: Integer);从当前点项目标点(x,y)作直线.画圆:1.Circle过程功能:以(X,Y)为圆心、Radius为半画一圆。

描述:procedure Circle(X,Y:Integer;Radius:Word);示例:Circle(100,100,200) {画一个以(100,100)为圆心,200为半径的圆}画椭圆:1. Ellipse过程功能:画一个以(X,Y)为中心,XRadius和YRadius为半轴,StAngle和EndAngle为始角和终角的椭圆弧。

描述:procedure Ellipse(X,Y:Integer;StAngle,EndAngle:Word;XRadius,YRadius:Word);说明:角度沿逆时针方向,单位是度。

0度指向东。

画圆弧:1.Arc过程功能: 画一个以(X,Y)为中心,Radius为半径,StAngle和EndAngle为始角和终角的圆弧。

描述: procedure Arc(X,Y : Integer; StAngle,EndAngle,Radius:Word);说明: 角度沿逆时针方向,单位是度。

0度指向东。

示例: Arc(100,100,0,90,50) {画出第一卦限1/4圆,半径50,圆心(100,100)}画矩形:1.Bar过程功能:画一个以(x1,y1),(x2,y2)为两个对角顶点的矩形。

描述:procedure Bar(x1,y1,x2,y2:integer);示例:Bar(100,100,200,200) {画一个以(100,100),(200,200)为对角顶点的矩形}2.Bar3d过程功能:画一个长方体.描述:procedure Bar3d(x1,y1,x2,y2:integer,depth:word,top:boolean); {x1,x2,y1,y2同上,为长方体的厚度 ,top为是否画出顶面.}线形,颜色,及填充设置线形设置:1.setlinestyle过程功能:设置线形,及线宽.描述:procedure SetLineStyle(LineStyle: Word; Pattern: Word; Thickness: Word);说明:linestyle(线形)一共有三种.代号0,1,2;线形如下图:Thichness(线宽)有两种.代号1,3.1为普通线.3为宽线.2.GetLineSettings过程功能:返回当前设置的线型设置信息.描述:procedure GetLineSettings(var LineInfo: LineSettingsType);{参见LineSettingsType 类型}3.LineSettingsType类型描述:LineSettingsType = recordLineStyle : Word; {线形}Pattern : Word; {模式}Thickness : Word; {线宽}end;此类型记录了一种线形的信息.线形,颜色及线形设置颜色设置:在pascal中共有16种颜色可以使用.1.setcolor过程描述: procedure SetColor(Color: Word);设置线的颜色.颜色代码如上图.2.GetColor函数功能:返回最后一次作图时的颜色值描述:function GetColor:word示例:color:=GetColor; {color:word}3.GetMaxColor函数功能:返回系统可用的最大颜色数.描述:num:=GetMaxColor; {将最大颜色数存到num变量中}填充设置:1.SetFillStyle过程功能设置填充模式和颜色。

描述 procedure SetFillStyle(Pattern:Word;Color:Word);说明设置用于Bar,Bar3D的填充模式和颜色。

可生系列填充模式。

缺省模式是实心点,缺省模式是实心点,缺省颜色是调色板中最大颜色序号值。

如果传递给SetFillStyle的输入参数无效,GraphResult将返回值grError,且当前填充参数不改变。

填充设置如下图:<![endif]>2.FillSettingsType 类型描述:FillSettingsType=recordPattern:word;Color :word;end;此类型记录了一种填充模式的信息.这些知识都很简单,更多的可以在编辑环境中按下f1观看帮助文档。

第一章使用Pascal进行图形操作前的准备Pascal是一款有很强图形功能的开发工具,它可以编制各种图形窗口,并且听说还支持鼠标.但是时过境迁,在vb,vc一统天下的今天,关于Pascal图形操作的书已经像古董一样难于寻找了,我现在将Tp 7.0的Help文件中的一些有关图形操作的过程与函数整理了一下,并自己写了一些例子,加入了一些自己的看法,便得到了这篇教程。

在Turbo Pascal中有一个CRT单元及一个GRAPH单元,有些图形操作用到了CRT单元,另一些用到了GRAPH单元。

所以若是要在Turbo Pascal中实现图形操作,就必须要调用CRT单元及GRAPH单元。

那么怎么样来调用CRT及GRAPH单元呢?现在线来介绍一下单元调用语句:USESUSES的语法:USES 单元表识符,……,单元表识符;说明:扩展名为*.TPW是Windows下的单元文件,*.TPU是DOS下的单元文件。

位置:变量说明var之前。

第二章Pascal图形模式的初始化及退出1.初始化Pascal的图形操作在使用之前必须先进行初始化,用过程initgraph(GraphDriver,GraphMode,PathToDriver)其中GraphDriver,GraphMode为整形变量,PathToDriver为字符串变量,GraphDriver为图形驱动器,GraphMode为图形模式,PathToDriver指定的路径名中建筑图形驱动程序(以.BGI为后缀).initgraph使用方法见下例:program t001 (input,output);uses crt,graph;var gd,gm:integer; {定义GraphDriver,GraphMode变量}begingd:=detect;initgraph(gd,gm,\'\'); {调用initgraph过程,PathToDriver缺省则表示在当前目录中寻找}bar(100,100,200,200); {画一个以(100,100),(200,200)为顶点的矩形} delay(1000); {将此图形保留一秒}end.2.退出Closegraph过程功能:退出图形模式.第三章基本几何图形的绘制画直线:1.Line过程描述:procedure Line(x1, y1, x2, y2: Integer);两点确定一直线.够简单吧!2.Lineto过程描述:procedure LineTo(X, Y: Integer);从当前点项目标点(x,y)作直线.画圆:Circle过程功能:以(X,Y)为圆心、Radius为半画一圆。

相关文档
最新文档