省培计算机实践作业,计算机软件基础强化实践能力培养实践部分考核作业.doc...

计算机软件基础强化实践能力培养实践部分考核作业

V:1.0 精选考核制度 计算机软件基础强化实践能力培养实践部分考核作业 2020- -6 6- -8 8

《计算机软件基础》强化实践能力培养实践部分考核作业(1) 《计算机软件基础》强化实践能力培养实践部分考核作业 强化实践能力培养的考核要求:

要求学生通过对本课程中所学知识的归纳、总结,能够体会数据结构的思想和方法,考生发挥自主学习精神,能独立完成实验要求,并提交实验报告。

实验报告的基本要求如下:

(1)题目 (2)实验环境 (3)实验内容与完成情况:陈述程序设计的任务和程序所能够达到的功能,提交带有注释的源程序清单。

(4)调试分析:

1)调试过程中所遇到的问题及解决的方法; 2)算法的时间和空间复杂度分析(数据结构部分); 3)经验和体会:列出遇到的问题和解决办法及没有解决的问题。

(5)测试结果:列出使用典型的数据输入用例所产生的输出结果。

强化实践能力培养的考核内容:

(1) 编程实现计算器。(10 分) 要求:输入:两个操作数和一个操作符的数学表达式.; 输出:输入的表达式和结果。

(2)利用栈的存储结构,编程实现任意表达式中各种括号(“(、)”, “[、]”, “{、}”)交叉使用时,语法的匹配是否合法判定。(10分) (3)排序:实现冒泡排序、直接插入排序和直接选择排序的算法。(10分)

要求:手写。

山东大学《计算机软件基础》强化实践能力培养实践部分考核作业 课程名称:

试点学校名称(章):

学生姓名:

学生准考证号码:

实验一 计算器 1. 实验环境:VC++ ,WindowsXp 2. 实验目的:熟悉 VC++环境; 掌握 C语言编程基本思想; 掌握基本操作符的使用; 掌握基本输入输出语句; 3. 程序清单:

#include "" main() { float a,b,output; char op; printf("please input two numbers and operator\n"); scanf("%f%f\n",&a,&b); scanf("%c",&op); switch(op) { case "+":output=a+b;break; case "-":output=a-b;break; case "*":output=a*b;break; case "/":output=(float)a/b;break; default:printf("wrong operator\n"); return 0; } printf("%%c%=%\n",a,op,b,output); } 4. 时间复杂度: O(n) 5. 空间复杂度: O(1) 6. 测试结果:

实验二 栈在判断括号匹配中的应用 1. 实验环境:VC++ ,WindowsXp 2. 实验目的:1.掌握顺序栈的类型定义方法。。

2.掌握栈先进后出运算原则在解决实际问题中的应用 3.掌握使用栈的原理来解决表达式中的括号配对问题。

3. 程序清单:

#include<> #include<> #include<> #define MAX_STACK_SIZE 100 typedef struct SqStack{ char data; struct SqStack *next; }SqStack; 验分析:

算术表达式中各种括号的使用规则为:出现左括号,必有相应的右括号与之匹配,并且每对括号之间可以嵌套,但不能出现交叉情况。我们可以利用一个栈结构保存每个出现的左括号,当遇到右括号时,从栈中弹出左括号,检验匹配情况。

括号不匹配的情况:

在检验过程中,若遇到以下几种情况之一,就可以得出括号不匹配的结论。

(1)当遇到某一个右括号时,栈已空,说明到目前为止,右括号多于左括号; (2)从栈中弹出的左括号与当前检验的右括号类型不同,说明出现了括号交叉情况; (3)算术表达式输入完毕,但栈中还有没有匹配的左括号,说明左括号多于右括号。

括号匹配的情况 表达式中允许含有三种括号,括号对之间允许嵌套,本实验编写一个程序判断从键盘输入的任意表达式中括号是否配对,括号不配对包括以下几种情况:

(1)左括号多余 (2)右括号多余 (3)左右括号不匹配,如左圆括号对着的是右方括号等。

5. 运行结果:

1.表达式中括号匹配:

2.表达式中括号不匹配:

实验三 排序算法 一、实验题目:冒泡排序、直接插入排序和直接选择排序的算法。

二、实验环境

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值