欢迎来到天天文库
浏览记录
ID:12964001
大小:230.50 KB
页数:20页
时间:2018-07-19
《汇编语言编译实验指导》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验一源程序的输入和扫描学时数:2[实验内容]:1、编制一个源程序的输入、扫描程序,从文件中每次读入一行到输入缓冲区(可以用字符数组实现);然后从缓冲区中依次取出字符显示在屏幕上。2、从文件每次读入一行到输入缓冲区的功能(可以用字符数组实现)用一个子程序实现。[实验目的]:1、通过自己编制一个源程序的输入、扫描程序,熟悉并了解从文件中读入数据到输入缓冲区的过程。[实验步骤]:1、准备:用TC、VC++等开发工具;确定被处理的语言的语法特点(可使用现成语言如Pascal、C等)。编好程序,写好实验报告。2、上机:输入源程序,修改、
2、调试,运行。[编程思想]:采用一个子程序实现的形式。(1)程序判断源文件是否为NULL,如果是,则输出错误提示!如果不是,则进入循环。(2)调用子程序readbuffer(),每次读入一个字符给字符变量,如果字符变量的内容不是回车符,则把字符变量的内容存入数组buffer(),然后读入下一字符,再判断再存入数组,直到一行全存入数组,然后返回主程序,用输出语句输出刚才存入数组的一行字符;(3)如果没有到文件尾,则重复第(2)步,直到文件结束,则退出主程序,完成任务![程序要求]:1)例如首先输入以下一段C语言的源程序,并以A.c的
3、文件名保存到磁盘中,然后运行自己编制的输入、扫描程序,所得到的输出应与输入的源文件A.c中内容相同。例如:输入的A.c文件内容:main(){inta,b,c;a=10;b=20;c=a+b;} 自编源程序: 输入、扫描程序源代码(仅供参考): //程序开始: #include#include#include//声明头文件int i;FILE *fp;char buffer[256];//声明变量int readbuffer()//读字符子程序开始{int j=0;c
4、har ch;//声明变量while(j<256){ch=fgetc(fp);if (ch=='') {i=j;return 0;}//buffer[j]=ch;//保存字符++j;//记录字符个数}return 1;}//子程序结束main()//main()开始{if((fp=fopen("e:\a.c","r"))==NULL){printf("THE FILE DOESN’T OPEN!");exit(0);}while(!feof(fp)){int j;j=0;readbuffer();while(j
5、intf("%c",buffer[j]);j++;}printf("");getch();}fclose(fp);getch();}//main()结束//程序结束2)改变源文件e:\a.c内容为:main(){int sum=0,i;float k;scanf ("%f plese input (0-100) to total!",&k) for(i=0;i6、、写实验报告及程序清单。3、报告给出测试的结果。4、实验小结实验二无符号数的有限自动机的实现学时数:4[实验内容]:无符号数的有限自动机的实现。利用状态表和有限自动机的运行原理编制程序,使得程序能够识别一个输入串是否为一个无符号定点实数。[实验题目]:1、理解有限自动机的作用;进一步理解自动机理论。1、用状态图和状态表表示有限自动机;3、以程序实现有限自动机的运行过程;掌握文法转换成自动机的技术及有穷自动机实现的方法。[实验要求]:1.设计要求:利用状态图或状态表相关理论,利用有限自动机理论。2.功能要求:输入一个单行无空格的字7、符串(以“#”号结束),如果该字符串是一个合法的输入,则显示“接受”,否则显示“不接受”。3.输入/输出示例(以无符号定点实数为例):(1)输入:“3.14”,输出:“接受”;(2)输入:“3.1.4”,输出:“不接受”;(3)输入:“3ab”,输出:“不接受”。[实验提示]:1、无符号数的BNF描述如下:1.<无符号数>àd<余留无符号数>8、.<十进制数>9、e<指数部分>2.<余留无符号数>àd<余留无符号数>10、.<十进制数>11、e<指数部分>12、ε3.<十进制小数>àd<余留十进制小数>4.<余留十进制小数>e<指数部分>13、d<14、余留十进制小数>15、ε5.<指数部分>àd<余留整指数数>16、+<整指数>17、-<整指数>6.<整指数>àd<余留整指数数>7.<余留整指数数>àd<余留整指数数>18、ε2、将G[<无符号数>]文法转换成有限自动机见图1。图13、构造状态矩阵;将有限自动机的状态S1S2
6、、写实验报告及程序清单。3、报告给出测试的结果。4、实验小结实验二无符号数的有限自动机的实现学时数:4[实验内容]:无符号数的有限自动机的实现。利用状态表和有限自动机的运行原理编制程序,使得程序能够识别一个输入串是否为一个无符号定点实数。[实验题目]:1、理解有限自动机的作用;进一步理解自动机理论。1、用状态图和状态表表示有限自动机;3、以程序实现有限自动机的运行过程;掌握文法转换成自动机的技术及有穷自动机实现的方法。[实验要求]:1.设计要求:利用状态图或状态表相关理论,利用有限自动机理论。2.功能要求:输入一个单行无空格的字
7、符串(以“#”号结束),如果该字符串是一个合法的输入,则显示“接受”,否则显示“不接受”。3.输入/输出示例(以无符号定点实数为例):(1)输入:“3.14”,输出:“接受”;(2)输入:“3.1.4”,输出:“不接受”;(3)输入:“3ab”,输出:“不接受”。[实验提示]:1、无符号数的BNF描述如下:1.<无符号数>àd<余留无符号数>
8、.<十进制数>
9、e<指数部分>2.<余留无符号数>àd<余留无符号数>
10、.<十进制数>
11、e<指数部分>
12、ε3.<十进制小数>àd<余留十进制小数>4.<余留十进制小数>e<指数部分>
13、d<
14、余留十进制小数>
15、ε5.<指数部分>àd<余留整指数数>
16、+<整指数>
17、-<整指数>6.<整指数>àd<余留整指数数>7.<余留整指数数>àd<余留整指数数>
18、ε2、将G[<无符号数>]文法转换成有限自动机见图1。图13、构造状态矩阵;将有限自动机的状态S1S2
此文档下载收益归作者所有