程序设计与算法语言实验教学大纲

程序设计与算法语言实验教学大纲
程序设计与算法语言实验教学大纲

《程序设计与算法语言》实验教学大纲

实验类别:课内实验实验课程名称:程序设计与算法语言

实验室名称:大学数学实验教学中心实验课程编号:01071502

总学时:24 学分:1.5

适用专业:数学与应用数学专业、信息与计算科学专业

先修课程:计算机文化基础数据结构

一、实验在教学培养计划中的地位、作用

本课程包含《C程序设计》和《C++程序设计》两门课, C语言是影响深远的、传统的、面向过程的优秀编程语言。C语言功能丰富,表达能力强,使用灵活方便,目标程序效率高,可移植性好,既具有高级程序设计语言的优点,又具有低级程序设计语言的许多特点。C++语言是很好的面向对象的编程语言。

《C程序设计》的先修课程是《计算机导论》,同时为学习《数据结构》、《C++语言程序设计》、《软件工程》、《数据库系统》、《操作系统原理》等后续课程奠定程序设计基础。《C++程序设计》的先修课程是《C语言程序设计》、《数据结构》。

通过《C程序设计》学习,应使同学们掌握C语言的基本原理,学会运用C 语言进行程序设计,同时提高分析问题和解决问题的能力,为后续课程的学习和应用奠定程序设计基础。《C程序设计》是一门理论性、实践性均较强的课程,在教学过程中要突出理论联系实际的基本原则,注重上机实验,通过C++程序设计》学习应该掌握必要的C++语言的语法知识,在理解语法的同时能从面向对象程序设计方法学的角度讲述其意义和用途,也就是学生在掌握C++语言的同时,能够对现实世界中较简单的问题及其解决方法用计算机语言进行描述。

二、实验内容、基本要求

实验一:熟悉C语言的运行环境(验证性 2学时)

内容:

1.编写自己的第一个程序

如:

main( )

{ printf("This is another C Program\n");

}

2.运行程序,查看运行结果

基本要求:

1.了解所用的计算机系统的基本操作方法,学会使用该计算机系统。

2.掌握如何在该计算机系统上编辑、编译、连接和运行一个C语言程序。

3.通过运行简单的C 语言程序,初步了解C 语言源程序的特点。 实验二:数据类型、运算符和表达式 (验证性 2学时) 内容:

按照实验指导书的例题按要求完成试验内容. 基本要求:

1.掌握定义整型、字符型和实型变量的方法,以及对它们赋值的方法。 2.学会使用C 语言的有关算术运算符,以及包含这些运算符的表达式。 3.学会编辑、编译、连接和运行C 语言程序。

实验三:最简单的C 语言程序设计 (验证性 2学时) 内容:

1.按实验指导书的例题完成实验要求.

2.编一程序,用getchar 函数读入两个字符给c1、c2,然后分别用putchar 函数和scanf 函数输出这两个字符。上机运行程序,比较用printf 和putchar 函数输出字符的特点。 基本要求:

1. 掌握如何设计一个简单的C 程序设计。 2.掌握赋值语句的使用。

3.掌握数据的输入/输出方法,学会输入/输出函数的使用方法。 4. 能正确使用各种格式转换符

实验四:逻辑结构程序设计 (验证性 2学时) 内容:

1.有一函数:

(1)21

(110)311

(10)

x x y x x x x ì

=-?í??- ???

用scanf 函数输X 的值,求y 值。运行程序,输入x 的值(分别为x<1、1==10三种情况),检查输出的y 值是否正确。

2.给出一个百分制成绩,要求输出成绩等级 A 、B 、C 、D 、E 。90分以上为A ,81~89分为B ,70~79分为C ,60~69分为D ,60分以下为E 。事先编好程序,要求分别用if 语句和Switch 语句实现。运行程序,并检查结果是否正确。再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。修改程序,使之能正确处理任何数据。当输入数据大 于100或小于0时,通知用户“输入数据错”,程序结束。 3.给一个不多于5位的正整数,要求:

①求出它是几位数;

②分别打印出每一位数字;

③按逆序打印出各位数字,例如原数为321,应输出123。

应准备以下测试数据:

要处理的数为1位正整数;

要处理的数为2位正整数;

要处理的数为3位正整数;

要处理的数为4位正整数;

要处理的数为5位正整数;

除此之外,程序还应当对不合法的输入作必要的处理。例如:输入负数;输入的数超过5位(如123456)

4.输入4个整数,要求按由小到大顺序输出。得到正确结果后,修改程序使之按由大到小顺序输出。基本要求:

1.掌握C语言表示逻辑量的方法(以0代表"假",以非0代表“真”)。

2.正确使用逻辑运算符和逻辑表达式。

3.熟练掌握if语句和switch语句。

4.结合程序掌握一些简单的算法。

实验五:循环结构程序设计及其应用(验证性 2学时)

内容:

编程序并上机调试运行。

1.输入两个正整数m和n,求它们的最大公约数和最小公倍数。在运行时,输入的值m>n,观察结果是否正确。再输入时,使m<n,观察结果是否正确。修改程序,不论m和n为何值(包括负整数),都能得到正确结果。

2.输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。在得到正确结果后,请修改程序使之能分别统计大小写字母、空格、数字和其他字符的个数。

3.用牛顿选代法求方程2x3-4x2+3x-6=0在1.5附近的根。在得到正确结果后,请修改程序使所设的X初值由1.5改变为100、1000、10000,再运行,观察结果,分析不同的X初值对结果有没有影响,为什么?修改程序,使之能输出迭代的次数和每次迭代的结果,分析不同的X初始值对迭代的次数有无影响。

基本要求:

1.掌握用while语句、do—while语句和for语句实现循环的方法。

2.掌握用循环的方法实现各种算法(例如:累加、累乘、迭代等)。

实验六:函数及其应用(验证性4学时)

内容:

编程序并上机调试运行。

1.写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。本程序应当准备以下测试数据:17、34、2、l、0。分别输入数据,运行程序并检查结果是否正确。

2.用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函数。

把两个函数放在同一个程序文件中,作为一个文件进行编译和运行。把两个函数分别放在两个程序文件中,作为两个文件进行编译、连接和运行。

3.用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”。

n的位数不确定,可以是任意的整数。

4.求两个整数的最大公约数和最小公倍数。用一个函数求最大公约数,用另一函数根据求出的最大公约数求最小公倍数。

不用全局变量,分别用两个函数求最大公约数和最小公倍数。两个整数在主函数中输入,并传送给函数1,求出的最大公约数返回主函数,然后再与两个整数一起作为实参传递给函数2,以求出最小公倍数,再返回到主函数输出最大公约数和最小公倍数。

用全局变量的方法,分别用两个函数求最大公约数和最小公倍数,但其值不由函数带回。将最大公约数和最小公倍数都设为全局变量,在主函数中输出它们的值。

5.写一函数,输入一个十六进制数,输出相应的十进制数

基本要求:

1.掌握函数的定义方法。

2.掌握函数实参与形参的对应关系以及“值传递”的方式。

3.掌握函数的嵌套调用和递归调用。

4.掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。

5.掌握对多文件程序的编译和运行。

实验七:数组及其应用 (验证性 2学时)

内容:

编程序并上机调试运行。

1用选择法对 10个整数排序。10个整数用 scanf函数输入。

2将两个字符串连接起来,不要用strcat函数。

3.找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。应当至少准备两组测试数据:

(1)二维数组有鞍点

98020540

90-60961

210-310189

(2)二维数组没有鞍点

98020540

90-601961

210-310189

45541567

用scanf函数从键盘输入数组各元素的值,检查结果是否正确。题目并未指定二维数组的行数和列数,程序应能处理任意行数和列数的数组。因此,从理论上来说,应当准备许多种不同行数和列数的数组数据,但这样的工作量太大大,一般来说不需要这样做,只需准备典型的数据即可。

如果已指定了数组的行数和列数,可以在程序中对数组元素赋初值,而不必用scanf函数。请读者修改程序以实现之。

基本要求:

1.掌握数组的定义、赋值和输入/输出方法。

2.掌握字符数组的使用,了解字符串函数的使用。

3.掌握与数组有关的算法(例如:各种排序算法)。

实验八:熟悉实验环境 (验证性 2学时)(选做实验)

内容:

本次实验学习有关Visual C++开发环境的一些知识,并尝试实现一个简单的DOS程序和Windows程序。

基本要求:

1.了解和使用VC集成开发环境

2.熟悉VC环境的基本命令和功能键,

3.熟悉常用的功能菜单命令

4.学习使用VC++环境的帮助

5.学习完整的C++程序开发过程

6.理解简单的C++程序结构

7.了解用Visual C++开发Windows MFC应用程序的过程

实验九:结构与类(验证性 2学时)(选做实验)

内容:

用结构构建链表

1.设计一个单向链表。从标准输入读取若干整数,建立链表,每次读入的数放入链表结尾。当用户输入 0时,结束链表的建立工作。然后从前往后依次输出链表节点中的内容。每个节点包含两个值,一个是真正存放的整数值,另一个为指向链表中下一个节点的指针。链表中最后一个节点不指向任何节点,所以指针为空(NULL)。表头指针和表尾指针分别指向链表的头节点和尾节点。

程序输出:Please input integers to build the link(0 TO END):

用户输入:3 4 5 6 7 8 9 0

程序输出:Link elements:3 4 5 6 7 8 9

基本要求:

1.理解结构和类的区别。

2.掌握如何设计一个链表。

实验十:学生成绩管理的程序设计(综合性 8学时)

内容:

设计一个程序,对某个班的学生成绩进行管理。

要求实现如下功能。

1)从文件中读出每个学生的学号及五门课的成绩。

2)计算每人的平均分及总分

3)按总分从高到低排名次,并输出每个学生的学习情况。

4)指定某门课程(键入课程号),输出成绩在85分以上(含85分),且总分在前10名的学生学习

情况。

5)输出含不及格(小于60分)成绩的学生的学习情况。

6)建立链表,能够实现插入、删除、查询等功能。

基本要求:

1.理解链表的概念及应用。

2.掌握模块化程序设计方法。

3.掌握在链表中如何排序。

4.掌握人机交互的设计方法。

5.掌握指针作为函数参数的设计方法。

实验十一:类与对象(验证性 2学时)(选做实验)

内容:

编一程序完成:

求矩形的面积,要求用面向对象的方法设计

基本要求:

1.掌握类的概念。

2.掌握如何申明一个对象。

3.掌握面向对象的设计方法。

实验十二:面向对象程序设计(验证性 1学时)(选做实验)内容:

学习Windows编程模式

基本要求:

1.了解Windows程序的消息机制和编程模式

2.了解MFC类库结构

3.了解AppWizard自动生成的程序框架

4.了解Windows程序运行结构

5.学习简单的绘图操作

6.了解利用VC++的MFC类库设计面向对象应用程序的过程

四、学时分配:

C语言程序设计实验报告(实验大纲+过程)

《C程序设计》实验教学大纲 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分:4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握 C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。

2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目 实验一C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的? 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。 实验二数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; pr intf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 在此基础上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序:

《程序设计语言》教学大纲

课程名称:程序设计语言 适用专业:计算机网络应用 适用层次:高技 总 学 时:320学时 一、说明 1、课程的性质与任务 《程序设计语言》课程是高技计算机网络应用专业必修的课程,本课程采用的语言是Javascript,简单、实用,能使互联网前端和后端有机的结合;利用第三方库、模块,学生可以高效、快速地开发出互联网产品,同时为专业知识奠定了扎实的基础;课程与互联网密不可分,通过掌握互联网的专业知识,培养学生的职业素养、学习能力和团队合作精神能力。 2、教学基本任务和要求 熟练使用Javascript编写程序;掌握HTML、CSS和Javascript制作前端网页,熟悉jQuery、Bootstrap等框架的使用;掌握利用Node.js和Express.js构建服务器后台程序,并与前端进行数据交互;了解产品的用户体验,识得UI制作;掌握利用UML建模工具绘制用例图、功能图、流程图等;知道WebSocket原理,并学会使用WebSocket构建实时通讯系统;通过Node.js第三方模块,学会动态地构建应用程序的多样主题;了解Ghost开源系统,识得利用Ghost构建多样主题的博客网站;

掌握国外搜索引擎的搜索技巧,能看懂、理解搜索结果的英文内容。 3、教学方法与重点、难点 《程序设计语言》是一门理论性和实践性都很强的专业课程,理论性要求学生具备一定的逻辑思维能力,实践性要求学生多动手。因此课程的重点放在项目实践上,培养学生较强的动手能力、解决问题能力、独立思考能力和项目协作能力。理论知识以精讲为主,讲清基本原理、基本方法与基本技巧,为学生提高动手技能打好基础;多利用国外搜索引擎,能让学生掌握专业知识的同时,也能培养学生的英文阅读、交流能力。 二、内容及学时分配 序 号章节内容总学 时 讲授 学时 训练 学时备注 1第一章 课程介绍22 2第二章 基本语法1266§2.1 变量与数据类型 §2.2 程序结构控制 §2.3 自定义函数 §2.4 字符串函数 §2.5 Math函数 2 1 1 1 1 2 1 1 1 1 3第三章 闭包与回调函数1266§3.1 剖析函数定义 §3.2 闭包 §3.3 回调函数 2 2 2 2 2 2 4第四章 对象1266§4.1 对象的使用 §4.2 this、apply、call §4.3 原型继承 2 2 2 2 2 2期中考试

实验四-循环结构汇编语言程序的设计实验报告

循环结构汇编语言程序设计实验报告

实验四循环结构汇编语言程序设计 一、实验目的 1、学习循环结构的汇编语言程序的设计和调试。 2、学习通过直接对8086计算机的寄存器和存的直接访问,编写更高效简洁的汇编程序。 3、加深掌握计算机整体的工作过程。 3、加深对排序算法的理解。 二、实验任务 编写程序求出数组A中(20个元素)的最大值和最小值(数组没有排序)。 要求至少采用二种不同的排序算法来实现。( 快速排序,归并排序、堆排序、Shell排序、插入排序、冒泡排序、交换排序、选择排序、基数排序……) 三、实验容 为了更好地实现老师所布置的实验任务,我们根据情况选取以下两种方式实

验。 1、利用冒泡排序的方式求解数组A中元素的最大值最小值。设计流程图如 下所示: 2、利用选择排序的方式求得数组A中元素的序列。设计流程图如下所示:

四、实验环境 PC机: winXP/win7(32位)/win7(64位)+winxp 虚拟机 汇编工具:Masm.exe+Link.exe。 五、实验步骤 1)建立和生成的文件 (1)编写的源程序,源程序名为abc、扩展名为.asm (2)源程序经汇编程序Masm.exe汇编(翻译)后生成二进制目标程序,文件名为abc.obj (3)目标程序需要经Link.exe连接生成可执行程序,文件名为abc.exe 2)汇编环境 最基本的汇编环境只需要两个文件:Masm.exe和Link.exe。将这两个文件拷入到已经建好的文件夹(例如 huibian)中,并将文件夹huibian放在硬盘根

目录C :\>下 3)上机步骤 进入DOS窗口中执行。 4)调试程序 进入DEBUG后,调试程序 5)调试成功后重新汇编、连接并生成可执行代码 6)执行程序,并对运行结果截图。 利用冒泡排序求得数组A中元素的最大值最小值的实验结果如下图所示:(说明:输入数据为:13,0,59,900,587,1,657,234,34,48) 利用选择排序对数组A中元素排序得到的序列得实验结果如下图所示:(说明:输入数据为13,0,59,900,587,1,657,234,34,48)

C语言程序设计实验实验指导书及答案

实验一熟悉C程序运行环境 班级学号姓名成绩 一、实验目的 1. 熟悉C语言Visual C++调试环境。 2. 掌握C程序的编辑、调试及运行。 二、实验内容 项目1. 调试并运行下面程序,并写出运行结果: #include <> int main() { printf(“Good morning!\n”); printf(“Hello,world!\n”); return 0; } 运行结果(注意,按照屏幕输出格式写): 项目2. 调试并运行下面程序,并写出运行结果: #include <> int main() { int a , b , sum; /*定义变量*/ a=23; b=56; /*为变量赋值*/ sum=a+b; /*计算两个变量的和*/ printf(“sum is %d\n”,sum); /*输出计算结果*/ return 0; } 运行结果:

项目3. 调试并运行下面程序,并写出运行结果: #include <> int max(int,int); int main() { int a , b , c; /*定义变量*/ a=23; b=56; /*为变量赋值*/ c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/ return 0; } int max(int x,int y) /*定义max函数,函数值为整型*/ { int z; /*定义变量*/ if(x>y) z=x; else z=y; return(z); /*将z的值返回*/ } 运行结果: 三、提高部分 1.试想,如果求10个数中的最大者,则程序该如何编写。 程序代码 运行结果:

《程序设计与算法语言》教案

《程序设计与算法语言》教案 课程名称:程序设计与算法语言课程号:1080067 编写日期:20XX年7月 第1章C语言概述(3课时) [教学目的及要求] 了解C语言出现的历史背景、C语言的特点;通过简单C程序的例子,了解C 程序的基本构成,要求通过学习简单例子,学生能编写简单程序;熟悉C程序编译环境。[教学内容] .1C语言的历史背景及其发展 .2C语言的特点 .3简单的C程序介绍 .4C编译环境 1.4.1 C程序编译环境 1.4.2 运行C程序的步骤与方法 第2章程序的灵魂——算法(3课时) [教学目的及要求] 了解算法的概念及特性,并正确使用结构化程序设计方法来表示算法的。 [教学内容] 2.1算法的概念 2.2 简单算法举例

2.3 算法的特性 2.4 怎样表示一个算法 2.4.1 用自然语言表示算法 2.4.2用流程图表示算法 2.4.3三种基本结构和改进的流程图 2.4.4用N-S 流程图表示算法 2.4.5用伪代码表示算法 2.4.6用机器语言表示算法 2.5 结构化程序设计方法 第3章 数据类型、运算符与表达式(3课时) [教学目的及要求] 通过本章的学习,要求了解C语言的特点、掌握上机步骤、C语言符号;理解数据类型、变量说明、常用的数学函数、运算符及表达式。 [教学内容] 3.1 数据类型 3.1.1 C的数据类型 3.1.2 常量和符号常量 3.1.3 原码、反码及补码 3.1.4 变量 33..11..55 整整型型数数据据 33..11..55..11 整整型型常常量量

33..11..55..22 整整形形变变量量 33..11..55..33 整整形形数数据据的的溢溢出出 3.1.6 实型数数据据 33..11..66..11 实实型型常常量量 33..11..66..22 实实型型变变量量 33..11..66..33 实实型型数数据据的的舍舍入入误误差差 3.1.7 字符型数据 33..11..77..11 字字符符常常量量 33..11..77..22 字字符符变变量量 33..11..77..33 字字符符串串常常量量 3.2 变量赋初值 3.3 各类数值型数据间的混合运算 3.4 运算符及表达式 3.4.1 C运算符简介 3.4.2 算术运算符和算术表达式 3.4.3 赋值运算符和赋值表达式 3.4.4 逗号运算符和逗号表达式 第4章 顺序程序设计(3课时) [教学目的与要求] 通过本章的学习,要求掌握程序的三种基本结构。熟练掌握赋值语句、复合语句、最基本的输入输出函数及顺序结构的程序设计方法。

汇编语言学习知识程序设计实验

目录 目录 (1) 实验一利用DEBUG熟悉常用指令的使用 (2) 一、实验目的 (2) 二、示例 (2) 三、实验题 (2) 实验二汇编程序和连接程序的使用 (6) 一、实验目的。 (6) 二、示例。 (6) 三、实验题。 (8) 实验三顺序结构程序设计 (11) 一、实验目的 (11) 二、示例 (11) 三、实验题 (12) 四、实验报告 (15) 实验四循环结构程序设计 (16) 一、实验目的 (16) 二、示例 (16) 三、实验题 (18) 实验五分支结构程序设计 (21) 一、实验目的 (21) 二、示例 (21) 三、实验题 (22) 实验六子程序设计 (29) 一、实验目的 (29) 二、实验题 (29)

实验一利用DEBUG熟悉常用指令的使用 一、实验目的 熟悉指令系统,掌握常用指令的用法;通过实验加深对各种寻址方式的理解;能熟练使用DEBUG中的命令对指令进行反汇编,观察并了解机器代码。 二、示例 请分别用一条汇编语言指令完成如下功能:(过程略)。 1.用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。 ADD AL,[BX][SI] 2.用位移量为0520H的直接寻址方式把存储器中的一个字与3412H相加,并把结果送回该存储单元。 ADD WORF PTR [0520H],3412H 三、实验题 1.调试、验证下列指令的结果,已知(DS)=2000H,(BX)=0100H,(SI)=0002H,(BP)=0200H,(SS)=2300H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(21202)=B7H,(21203)=65H,(23204)=88H,说明各指令执行完后AX寄存器的内容。要求输入指令,相应存储单元的内容要事先设置,单步 P执行,观察执行结果。 (设置存储器的值)

高级语言程序设计实验C

陕西理工大学 学号: 姓名:

目录 实验一:C开发环境与顺序结构程序设计 (1) 1.实验目的: (1) 2.实验环境: (1) 3.实验步骤: (1) 41 58 9 1.9 2.9 3.9 4.17 18 1.18 2.18 3.18 4.19 19 1.20 2.实验内容: (20) 3.实验总结 (23)

实验一:C开发环境与顺序结构程序设计 1 Array 2 3 4.实验内容: 4.1 输入并运行下列程序,查看程序运行的结果。 #include

void main() { printf(“* * * * * * * * * *\n”); printf(“Programing in c A Labrtry Maual\n”); printf(“* * * *\n”); printf(“*\n”); } 4.2查看程序运行的结果 #include void main() { int i,j,m,n; i=8; j=10; m=++i; n=j--; printf(“%d,%d,%d,%d\n”,i,j,m,n); } 4.3找出下列程序中的错误,改正后写出程序运行结果. #include void main() { Int x,y=z=5,aver; x=7; AVER=(x+y+z)/3 printf(“AVER=%d\n”,aver); }

4.4输入参考程序。在下划线处分别填入不同的变量定义、表达式、输出格式控制符号。 #include void main() { int a,b,x; //数据类型定义 a=5; b=10; x=a+10; //表达式 printf(“%d”,x); //格式控制符 } 该程序的执行结果为:15 当数据类型说明符为int 时,对应的格式控制符为%d ; 当数据类型说明符为long 时,对应的格式控制符为%l ;; 当数据类型说明符为float 时,对应的格式控制符为%f ; 当数据类型说明符为double 时,对应的格式控制符为%lf ; 当数据类型说明符为char 时,对应的格式控制符为%c ; 仅当表达式更改为1/2*a*b 时,程序执行结果为0 ; 仅当表达式更改为0.5*a*b 时,程序执行结果为25 (2)求从键盘上输入的两个整数之和,完成程序并将结果输出。 源程序: #include void main( ) { int x,y,z; scanf("%d%d",&x,&y);

任务驱动教学法在程序设计语言教学中的研究与应用

任务驱动教学法在程序设计语言教学中的研究与应用 1引言 “C语言程序设计”、“C++程序设计”、“JA V A程序设计”、“https://www.360docs.net/doc/d18990588.html,程序设计”、“C#程序设计”等课程是软件开发类学生的必修专业课程,此类课程传统的教学采用理论和实践脱节的教学法,老师感觉教学实施很困难,学生感觉不能理解所教内容,没法独立完成简单程序的编码任务。而任务驱动教学法可以把理论教学和实践教学很好地结合起来,将其运用在程序设计语言类课程中,可以改变老师难教,学生难学的现状,使学生成为教学的主体,容易激发学生的学习热情,达到自主学习的目的。程序设计语言作为基本的软件开发工具之一,学生的知识结构、操作技能和分析问题、解决问题的能力是学生专业学习的着重点。本文就任务驱动教学法如何在程序设计语言类课程中的实施谈谈笔者的初浅认识与实践体会。 2任务驱动教学法及其对程序设计语言教学的适应性 任务驱动教学法是基于建构主义学习理论的一种教学方法。它强调学生要在真实情景中的任务驱动下,在探索任务和完成任务的过程中,在自主学习和团队协作的环境下,在讨论和会话的氛围中,进行学习活动。这样学生不仅能学到知识、提高技能,还能培养实践动手能力,提高学生的探索创新精神。学生在完成任务的过程中始终处于主体地位。教师的角色是学习情景和学习任务的设计者、学习资源的提供者、学习活动的组织者和学习方法的指导者。任务驱动教学法给学生提供了充分的自由,使学生成为学习的主体,改变了“教师讲、学生听”的传统的讲授型教学模式,创造了以学定教、学生主动参与、自主学习、团队协作,探索创新的新型的学习方式。 任务驱动教学法对程序设计语言教学的适应性主要表现在一下几方面: 2.1探究教学策略 在实践中笔者发现,学生感觉编程类课程枯燥乏味,又难以理解,许多知识点抽象空洞,不能和实际应用结合起来。学生学习没有兴趣,光凭教师的讲解学生也难于理解。而任务驱动的教学方法能激发学生学习的积极性和主动性,提高课堂教学的效益,帮助学生熟练掌握和运用知识,起到事半功倍之效率。根据任务驱动教学法是基于建构主义教学理论教师以任务链的方式合理的呈现任务并有效地组织学生合作交流,使学生通过自主活动来建构知识和完善自己认知结构的特点,探究有效的教学策略为:任务提出→自主探索、合作交流→引入知识点→任务解决。 2.2设计任务情境,激活学习积极性 如何提高学生学习积极性和主动性?如何将枯燥的编程知识与实际应用及

汇编语言程序设计课后习题解答宋人杰2版

第1章汇编语言基础知识 1.简述汇编语言源程序、汇编程序、和目标程序的关系。 答:用汇编语言编写的程序称为汇编源程序;汇编源程序在汇编程序的翻译下转换成计算机语言变成目标程序。 2. 简述汇编语言的优缺点。 答:(1) 汇编语言的优点: ①可有效地访问、控制计算机各种硬件设备,如磁盘、存储器、CPU、I/O端口等。. ②目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。 ③可与高级语言配合使用,应用十分广泛。 (2) 汇编语言的缺点: ①通用性和可移植性较差 ②相对于高级语言来说较繁锁、易出错、不够直观。 3.CPU的寻址能力为8KB,那么它的地址总线的宽度为多少? 答:13 4. 1KB的存储器有多少个存储单元? 答:1024个字节。 5. 指令中的逻辑地址由哪两部分组成? 答:指令中的逻辑地址由段基址和偏移量组成。 6. 以下为用段基址:偏移量形式表示的内存地址,试计算它们的物理地址。 (1) 12F8:0100 (2) 1A2F:0103 (3) 1A3F:0003 (4) 1A3F:A1FF 答: (1) 13080H (2) 1A3F3H (3) 1A3F3H (4) 245EFH 7. 自12FA:0000开始的内存单元中存放以下数据(用十六进制形式表示): 03 06 11 A3 13 01,试分别写出12FA:0002的字节型数据、字型数据及双字型数据 的值。 答:字节型数据:11H 字型数据:0A311H 双字型数据:0113A311H 8. 内存中某单元的物理地址是19318H,段基地址为1916H,则段内偏移地址为 多少?若段内偏移地址为2228H,则段基地址为多少? 答:若段基地址为1916H,则段内偏移地址为01B8H;若段内偏移地址为2228H,则段基地址为170FH 9. 在实模式环境中,一个段最长不能超过多少字节? 答:64KB 10. 实模式可寻址的内存范围是多少? 答:1MB

样题-程序设计与算法语言 中国科学院遥感应用研究所

中国科学院遥感应用研究所 硕士研究生入学考试样题 科目:《程序设计与算法语言》 一填空题(每空2分,共30分) 1、对于一个具有n个结点的二元树,当它为一棵________二元树时具有最小高 度,当它为一棵________时,具有最大高度。 2、设数组a[1..50,1..80]的基地址为2000,每个元素占2个存储单元,若以行序 为主序顺序存储,则元素a[45,68]的存储地址为_________;若以列序为主序顺序存储,则元素a[45,68]的存储地址为____________。 3、对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间 复杂度为________,在给定值为x的结点后插入一个新结点的时间复杂度为______________。 4、已知int*p(),(*q)();则p是________________,而q是______________。 5、已知一棵二叉树的前序序列为abdecfhg,中序序列为dbeahfcg,则该二叉树 的根为__________,左子树中有___________,右子树中有___________。 6、己知有序表为(12,18,24,35,47,50,62,83,90,115,134)当用二分法查找90 时,需__________次查找成功,47时__________成功,查100时,需__________次才能确定不成功。 7、XML在地理空间信息领域的应用是____________。利用它可以存储和发布各 种特征的地理信息,并控制地理信息在Web浏览器中的显示。 二选择题(每小题2分,共70分) 1、用来表示一个变量的地址或者表示另一变量的地址的变量是()。 A.函数; B.指针; C.数组; D.结构体; 2、在C语言中,若函数调用时实参是数组名,则传递给对应形参的是()。 A.数组空间的首地址;B.数组的第一个元素值;C.数组中元素的个数; D.数组中所有的元素; 3、int a = 2,则执行完表达式a+=a+=a-=a*a;后,a的值是() A.-4;B.0;C.-8;D.16;

汇编语言程序设计实验报告

微机原理实验报告 实验名称汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH, 97H,64H,BBH,7FH,0FH,D8H。编程并显示结果:如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H 的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD 码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再 将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 第1页

99223344H = xxxxxxxxH 四、实验代码及结果 实验代码见代码附录 1.1程序运行结果 图1 无符号最大值结果截图 1.1 程序运行结果

图2 有符号最大值截图2.0 程序运行结果

图3 BCD码显示3.0 程序运行结果

图4 ASCII码显示4.0 程序运行结果

图5 移动次数显示5.0 程序运行结果

C语言程序设计实验报告(完整版)

报告编号:YT-FS-4244-21 C语言程序设计实验报告 (完整版) After Completing The T ask According To The Original Plan, A Report Will Be Formed T o Reflect The Basic Situation Encountered, Reveal The Existing Problems And Put Forward Future Ideas. 互惠互利共同繁荣 Mutual Benefit And Common Prosperity

C语言程序设计实验报告(完整版) 备注:该报告书文本主要按照原定计划完成任务后形成报告,并反映遇到的基本情况、实际取得的成功和过程中取得的经验教训、揭露存在的问题以及提出今后设想。文档可根据实际情况进行修改和使用。 实验名称计算出1000以内10个素数之和 实验目的 1、熟练掌握if、if…else、if…else if语句和 witch语句格式及使用方法,掌握if语句中的嵌套关 系和匹配原则,利用if语句和switch语句实现分支 选择结构。 2、熟练掌握while语句、do…while语句和for 语句格式及使用方法,掌握三种循环控制语句的循环 过程以及循环结构的嵌套,利用循环语句实现循环结 构。 3、掌握简单、常用的算法,并在编程过程中体验 各种算法的编程技巧。进一步学习调试程序,掌握语 法错误和逻辑错误的检查方法。

实验内容 计算并输出1000以内的10个素数以及它们的和。 要求: 在程序内部加必要的注释。 由于偶数不是素数,可以不考虑对偶数的处理。 虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。 输出形式为:素数1+素数2+素数3+…+素数10=总和值。 算法描述流程图 Main函数: 判断素数: 源程序 #include #include int sushu(int n)/* 判断素数的函数 */ { int t,i;

8086汇编语言程序设计

实验1 简单汇编语言程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握简单汇编语言程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG 工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG 工具调试程序,验证程序的正确性。 1. 若X、Y、R、W 是存放8 位带符号数字节单元的地址,Z 是16 位字单元的 地址。试编写汇编程序,完成Z←((W-X) ÷5-Y)?(R+ 2) 。 2.试编写一个程序,测试某数是否是奇数。如该数是奇数,则把DL 的第0 位置1,否则将该位置0。 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验2 分支及循环程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握分支程序和循环程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编写汇编程序,统计某存储区若干个数据中英文字母的个数,并将结果在屏幕上显示。 2.从键盘任意输入一组字符数据,请编写汇编程序将该组数据加密后在屏幕上显示。参考加密方法是:每个数乘以2。(说明:本题的加密方法,同学们可以自己拟定) 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验3 子程序程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握子程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编程以十进制形式和十六进制形式显示AX的内容,并把两个显示功能分别封装成子程序dispDEC和dispHEX。 2.设在以EXAMSCORE为首地址的数据缓冲区依次存放某班10名同学5门功课的成绩,现要统计各位同学的总分,并将总分放在该学生单科成绩后的单元,并调用第1个程序封装好的子程序,以十进制方式显示统计情况,显示格式自行设计。请编程完成此功能。数据缓冲区参考数据定义如下: EXAMSCORE DB 01 ;学号 DB 89,76,54,77,99 ;单科成绩 DW ? ;该学生的总分 DB 02 ;学号 DB 79,88,64,97,92 ;单科成绩 DW ? ;该学生的总分 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

程序设计与算法语言实验指导

程序设计与算法语言实验指导书 山东师范大学数学科学学院

实验大纲 实验一 TC开发环境 一、实验目的 1、熟悉C语言运行环境。 2、掌握C语言程序的书写格式和C语言程序的结构。 3、掌握C语言上机步骤,了解运行一个C程序的方法。 4、本实验可在学习完教材第一章后进行。 二、实验内容和步骤 1.打开TC,运行一个程序,尝试用CTRL+F9编译运行;用ALT+F5查看结果。学会调试程序,实验TC的各个菜单功能。

2.输入并调试下列程序 #include main() {printf(“This is a C program.\n ”); } 3. 输入并调试下面程序,对出现的错误进行修改 #include main() {int a,b; a=123 b=456; sum=a+b; printf(“sum= %d\n ”,sum); } 实验二 基本数据类型一、实验目的 1.熟练表达式的表示方法 2.了解表达式的运行结果 3.了解C语言中数据类型的意义 二、实验内容和步骤1.了解整数变量的数据范围 #include main() {int a; long b; a=32767; a=a+1; printf(“a=%d\n ”,a); b=32767; b=b+1; printf(“b=%d\n ”,b); 2.字符变量的使用 #include main() {char c1,c2; c1=’A ’; c2=97; printf(“c1=%c,c2=%c ,c1=%d\n ”,c1,c2,c1); printf(“c=%c\n ”,c1+1); } 3.输入一个华氏温度,要求输出摄氏温度。公式为)32(9 5 -=F c 。输出要有文字说明,取2位小数。

汇编语言程序设计实验篇emu

1.汇编语言程序设计实验篇 1.1.汇编系统软件简介 Emu8086-Microprocessor Emulator是集源代码编辑器、汇编/反汇编工具以及debug 的模拟器。它能模拟一台"虚拟"的电脑运行程序,拥有独立的“硬件”,避免访问真实硬件。该软件兼容Intel的下一代处理器,包括PentiumII、Pentium4。利用该软件提供的调试工具,能够单步跟踪程序,观察程序执行过程中寄存器、标志位、堆栈和内存单元的内容。 1.1.1创建程序 https://www.360docs.net/doc/d18990588.html, TEMPLATE程序 本章与指令相关的实验都是用COM TEMPLATE类型的程序完成的。打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。 在“choose code template”对话框中,选择“COM template-simple and tiny executable file format, pure machine code.”后,单击按钮。

在如所示的编辑界面中,在“;add your code here”部分输入相应的指令,第一条指令默认的偏移地址为100h。 输入全部指令后,单击按钮,保存相应的程序段。 2.EXE TEMPLATE程序 本章与DOS功能调用和汇编源程序相关的实验都是用EXE TEMPLATE程序完成的。打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。

在“choose code template”对话框中,选择“EXE template-advanced executable file.header: relocation, checksum.”后,单击按钮。 在如图所示的编辑界面中,已经可以给出了源程序的框架,包含数据段、堆栈段和代码段的定义以及必要的功能调用等,在“add your data here”和“;add your code here”部分可以分别输入相应的变量定义和指令。

C语言程序设计实验手册

实验手册使用及要求 实验操作是教学过程中理论联系实际的重要环节,而实验报告的撰写又是知识系统化的吸收和升华过程,因此,实验报告应该体现完整性、规范性、正确性、有效性。现将实验报告撰写的有关内容说明如下: 1、实验前按实验要求手写程序或程序填空,并走查代码,有疑问处标记,上机时在C语言集成开发环境下输入并调试手写程序,分析运行结果。 2、实验结束后填写通过后的源程序和对实验的总结。 3、通过后的源程序可以手写也可以打印粘贴。 实验项目一览表

实验一熟悉C语言编程环境 实验目的: 1.熟悉C语言编程环境(VC++、Cfree、Turboc2.0等) 2.了解C程序的基本框架 3.理解程序调试的思想,能找出并改正C程序中的错误 实验内容: 1.1 建立自己的文件夹:在磁盘上建立一个文件夹,用于存放自己的C程序 1.2 编程示例 在屏幕上显示一个短句“Programming in C is fun!”(教师示例,学生模仿并创新,如输出汉字、特除字符等。学会使用编程环境VC++,启动、编辑、编译、运行、保存、关闭、打开)1.3 编程 在屏幕上显示如下网格。 +---+---+ | | | | | | +---+---+ 1.4 调试示例 改正下列程序中的错误,在屏幕上显示“Welcome to You !”。(掌握找错、改错的方法) 源程序: # include int mian(void) { printf(Welcome to You! \n") getchar(); return 0; } 注:需要修改的语句直接在程序上标注并修改 实验总结:

新版汇编语言程序设计钱晓捷第1章习题答案

第1章汇编语言基础知识(全) 2010-10-18 19:32:40| 分类:答案集锦| 标签:|字号大中小订阅 第1章汇编语言基础知识 〔习题1.1〕简述计算机系统的硬件组成及各部分作用。 〔解答〕 CPU:包括运算器、控制器和寄存器组。运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为 处理单元提供所需要的数据。 存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。 外部设备:实现人机交换和机间的通信。 〔习题1.2〕明确下列概念或符号: 主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB 〔解答〕 主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速 度慢。 RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电 后能保存信息。 存储器由大量存储单元组成。为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常 称做I/O端口。 KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。 〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序? 〔解答〕 用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编 译通过的程序就是目标程序。

java程序设计语言实验

实验名称实验四字符串与位操作 一.实验目的 1、了解和掌握汇编语言中字符串操作; 2、了解和掌握汇编语言中位操作; 3、了解和掌握汇编语言中条件设置字节指令; 二.实验内容 1、请简述IA-32系列处理器提供字符串操作指令的原因。 2、请简述IA-32系列处理器新增条件设置字节指令的原因。 3、常用的串操作指令有哪几类?除此之外还有什么类型的串操作指令? 4、串操作指令能够操作哪几种尺寸的字符? 5、字符串操作指令的源操作数和目标操作数在哪里?编写一个C程序,由用户输入一个十进制 整数,统计其各位中7出现的次数,并输出统计结果。采用一个子程序进行统计。根据5.1.1说明的VC2010的编译配置选项,生成对应汇编语言形式的目标代码,观察分析主函数main 和子程序对应的目标代码。 6、字符串传送指令功能上相当于先后执行了字符串装入和字符串存储2条指令,请问两种方法 有什么区别? 7、请说明DF标志的作用以及改变DF标志的方法。(除了采用CLD和STD指令外,还有其他 方法吗?) 8、请举例说明重复前缀的用途。 9、请说明指令“LODSD”与如下程序片段的异同: MOV EAX,[ESI] ADD ESI, 4 10、条件设置指令和条件指令有何异同? 下列编程题,除了输入和输出操作之外,请采用嵌入汇编的形式实现: 11、请编写程序ex41实现如下功能:由用户从键盘输入一个字符串;然后,统计该字符串中各个 英文字母出现的个数;最后,输出这些统计结果。 12、请编写程序ex42实现如下功能:由用户从键盘输入两个字符串str1和str2;然后,确定str2 在str1中出现的起始位置(如果不出现,则起始位置是-1);最后,显示输出起始位置。 13、请编写程序ex43实现如下功能:由用户从键盘输入两个字符串str1和str2;然后,确定str1 中的首个没有在str2中出现的字符位置(如果都出现,则位置为-1);最后,显示输出位置。(12、13任选一题) 14、请充分运用字符串操作指令编写程序ex44实现如下功能:由用户从键盘输入一个字符串;然 后,过滤掉其中可能出现的标点符号;最后,显示输出过滤后的字符串。 15、请充分运用字符串操作指令和重复前缀编写程序ex45实现如下功能:由用户从键盘输入两个 字符串;然后,把两个字符串合并到一起;最后,显示输出合并后的字符串。请采用子程序实现两个字符串的合并。 16、请编写程序ex46实现如下功能:由用户从键盘分别输入一个字符ch和一个数值n;然后, 生成一个由字符ch构成的n个字符的字符串;最后,显示输出该字符串。请采用子程序实现生成 第1页,共2页 教务处制

《C语言程序设计》教学方法

《C语言程序设计》教学方法探讨 □李彩玲 【摘要】《C语言程序设计》是计算机专业的学生必须掌握的一种通用高级程序设计语言。该课程的教学目标,不但要求学生掌握C语言的语法,更主要的是要求学生能运用C语言进行程序设计。本文从教学方法、教学手段等方面做了一些有益的探索,愿与同道共同探讨。 【关键词】教学策略;程序设计;教学方法;自主学习 【作者单位】李彩玲,临汾职业技术学院计算机系 C语言是大多数高校的计算机专业及计算机相关专业的学生必须掌握的一种通用高级程序设计语言。它具有功能丰富、表达能力强、目标程序效率高、移植性好等特点。《C语言程序设计》这门课程的开设,是学生掌握这种程序设计语言的有效途径。该课程的教学目标不但要求学生掌握C语言的语法,更重要的是要求学生能运用C语言进行程序设计。如何完成课程教学目标,用传统的粉笔+黑板+教师的讲授是很难将复杂的程序设计知识与技能传授给学生的。笔者在多年任教过程中,不断分析学生特点,尝试运用一些有益的教学方法与手段进行教学,在此与大家共同探讨。 一、C语言教学的原则 高校教师在教学过程中应遵循启发式教学原则,通过各种教学方式和手段激发学生的学习欲望,使学生在学习活动中,积极思考,善于发现问题,提出问题,并逐步解决问题。例如,在讲解程序设计举例时,不是简单地给出程序清单,而是先给出问题,从分析问题入手,继而找出解决问题的方法,再给出算法,最后编写出完整的程序。而在这一过程中,最关键的是每一步都采用与学生一起探讨的方式,让学生先进行自我思考,然后在老师提示启发下思考,在思考中解决问题,最后解决问题。从而掌握独立分析问题、解决问题的方法。 感性,因此在做思想教育的同时,我们每位老师要确实的融入爱的理念,使学生感受到老师和学校的关怀,从而使我们的思想教育工作更加具有力度。 (二)加强对贫困生心理健康状况的关注。通过对贫困生心理健康状况的关注,帮助学生了解和分析自我心理健康状况,客观、勇敢地面对现实,恰当、全面地接受自我,既看到自己的外在劣势,又看到自己的内在长处。在长期的工作中,我们对学生进校后的心理测试结果进行筛查,并对其中有自卑感、自我封闭、自暴自弃等心理倾向的贫困生进行约谈,予以特别关注,让贫困生感觉到他们是备受关心的。在学校层面我们通过点面结合方式,有针对性地进行教育引导,如采用专题讲座、主题班会、小型讨论会等形式,进行心理知识教育和典型案例教育。指导他们学会自我调适,帮助他们树立信心,战胜自我,使贫困生打开心扉。 (三)以增强学生自尊和自信为切入点的开展校园文化活动。结合学生的“成长计划”有针对性的开展以增强学生自尊与自信心的校园文化活动,对正面引导贫困生树立正确的人生观有重要的意义。一方面,艺术类的专业尽可能地组织一些绘画展出或设计比赛等活动,从而增强学生的自信心,使贫困学生的负面情绪对外宣泄到活动中去,而不是对内指向自己和对外指向他人,对自己和他人造成伤害,并通过活动使贫困生认识到,真正的贫困是缺乏知识、缺乏信息和获取信息的手段。另一方面,学校要注重加强班级、宿舍的整体文化建设,充分发挥学生社团的作用,积极开展心理互助活动,大力营造团结互助的校园氛围,给予贫困学生以更多的人文关怀,为贫困生营造良好的环境氛围,从而消除经济困难可能给贫困学生带来的精神上的消极影响。 (四)加强学生德育工作队伍的建设,完善心理咨询机制。学校应不断优化德育工作队伍,定期对学生德育工作队伍进行培训,并为其提供相关知识的学习机会,使大家能够掌握必要的心理学知识,从而能够在日常生活中有能力及时发现贫困学生的心理异常,并针对贫困大学生的心理特点给予更多关注和帮助。通过学校的心理咨询机制,有效的开展个别心理辅导和团体心理咨询活动,从而完善心理健康教育体系,并针对艺术类学生心理特点开设心理讲座,从而提高贫困学生的情绪调节能力,有效的促进贫困生能够积极的自我探索,从而更好地认识自己、了解自己、接纳自己,获得对自我更为适当的看法。 【参考文献】 1.黄向真,陈祖标.高校特困生心理健康教育[J].福建师范大学学报,2003 2.雷静,贫困大学生的心理健康问题及对策[J].民办高等教育研究,2008 · 012 ·

相关文档
最新文档