清华大学计算机程序设计基础-12

合集下载

《C语言程序设计》学习指南

《C语言程序设计》学习指南

学习指南一、学习资源与学习方法C语言程序设计是计算机专业的一门基础课程,本课程主要是培养学生利用计算机处理问题的思维方式和结构化程序设计的基本方法。

掌握C语言进行程序设计,对于理解程序设计的基本方法,以及日后学习计算机学科的其他知识内容都是至关重要的。

在资源建设上,根据学生的学习条件差异和学习基础的差异,提供多种形式的学习资源,如教师全程授课视频、期末辅导光盘、网络交互平台、教材和参考资料。

还提供了一些在深度和广度上有一定扩展的资源,如在每一章中都提供了扩展知识供有能力的学生学习,在一些知识点链接了一些课外阅读资源,从深度和广度上满足不同层次学生的不同需求。

(1)立体化教材及学习资源建设和研制了以国家十一五规划教材为基础,知识点导学系统、电子教案、全程课程录像、网络课件、在线测试、考试系统和试题库、资源库、网上教学支撑软件平台等丰富的立体化教学资源,它们各自自成体系又相互关联,各种媒体互相补充,充分发挥了各自的优势,满足了远程计算机专业学习者的需求。

学习资源全部放在教学网站上,实现资源共享,为每个学生提供一个网络帐号,实现网上交互答疑和交流。

尤其是资源库应用系统,将已有的各种数字媒体资源融合在一起,为学生提供直观的导学;同时还为教师提供教学帮助。

学生可以通过资源库的信息索引快速找到要学习知识点的所有资源列表,从中选择所需媒体。

(2)基于课程知识体系的视频讲授结合网络教育的教学对象为成人、学习方式为业余学习的特点,网络学习者学习时间不连贯、不固定的特征,网络课件的设计都是以知识点为基本单元,采用化整为零的思想,按照课程的每个章、单元、知识点进行课程视频的录制,每个知识点设计10~20分钟左右的时长,保证学习者能够利用零散时间学习。

(3)增加交互性和案例教学考虑到远程教学师生分离,学生以自学为主,因此在教学资源设计上注意增加交互性。

例如,专门做了媒体资源库,包括大量动画演示和视频录像,使课件更加生动。

清华大学计算机科学与技术专业课程表

清华大学计算机科学与技术专业课程表

信息学院本科指导性教学计划(公共课)第一学年秋季学期课号课程名学分周学时考试或考查说明及主要先修课10610022思想道德修养22考查10640433英语选修22考查10420874一元微积分44考试10420684几何与代数(1)44考试20240013离散数学(1)33考试20230093计算机语言与程序计33考试30250023计算机语言与程序计33考试30240233程序设计基础33考试四选一34100063程序设计基础33考试30210041信息科学技术概论11考查春季学期00501622毛泽东思想概论32考试10640443英语选修22考查10420884多元微积分44考试一元微积分10420692几何与代数(2)22考试几何与代数(1) 二选一10420913几何与代数(2)33考试几何与代数(1)10430484大学物理B(1)44考试一元微积分10430344大学物理(1)(英)44考试一元微积分三选一10430525大学物理A(1)55考试一元微积分20220214电路原理44考试20220221电路原理实验11考查第二学年秋季学期课号课程名学分周学考试或考查说明及主要先修课10420753高等微积分22考试一元微积分10420252复变函数引论22考试一元微积分二选一复变函数33考试一元微积分10430535大学物理A(2)55考试大学物理A(2)20250093电子技术基础33考试电路原理二选一30230563数字逻辑电路33考试电路原理电子技术基础实验22考查跨学期课,本学期完成1学分10420262数理方程引论22考查不修该课程20130342工程图学基础22考试春季学期10420243随机数学方法33考试二选一10420803概率论与数理统计33考试数字逻辑电路33考试电路原理电子技术基础电子技术系列实验22考查跨学期课,本学期完成1学分30230104信号与系统44考试微积分电路复二选一40250144信号与系统分析44考试变几何与代数40240013系统分析与控制33考试微积分电路复二选一40250074自动控制理论(1)44考试变几何与代数3025数据结构33考试四选一34100044数据结构与算法44考试微电子学导论33考试半导体器件与集成电路33考试三选一集成电路原理与设计33考试物理、生物类课程≥2220240023离散数学(2)(选)33考试夏季学期电子技术课程设计33考查电子技术基础Java语言(选)22考查计算机语言与程序设计二选一语言(选)22考查计算机语言与程序设计第三学年秋季学期课号课程名学分周学时考试或考查说明及主要先修课汇编语言程序设计33考试40240354计算机组成原理44考试汇编语言程序设计数字电子技术基础40240432形式语言与自动机22考试3024信号处理原理44考试微积分电路复变几何与代以下专业方向课选修不少于3学分30240262数据库系统原理22考试数据结构30240042人工智能导论22考试离散数学30240222VLSI设计导论22考查数字逻辑与数字电路网络编程与计算技术22考查40240642现代控制技术22考查自动控制理论(1)春季学期10610053马克思主义哲学原理32考试30240243操作系统33考试计算机组成原理40240144编译原理33考试数据结构、汇编语言程序设计40240433计算机系统结构33考试计算机组成原理20240433数值分析(选)或同组其它数学类课33考试微积分、线性代数体育专项(2)以下专业方向课选修不少于3学分40240412数字系统设计自动化22考查数字逻辑与数字电路40240392多媒体技术基础及应用22考查40240452模式识别22考查概率与统计初等数论及其应用22考试30240253微计算机技术33考试计算机组成原理、汇编语言程序设计40240422计算机图形学基础22考查数据结构30230313通信电路33考试电子技术基础数字逻辑电路30240163软件工程33考试数据结构第四学年秋季学期课号课程名学分周学时考试或考查说明及主要先修课40240243计算机网络33考试必修操作系统30210033通信原理33考试必修二选一30230343现代通信原理33考试必修通信电路计算机网络专题训练11B34:专业专题训练≥4≥4体育专项(3)人文选修课≥6≥6见全校性选修课选课手册以下专业方向课选修不少于4学分30240192高性能计算导论22考查22考查﹡模式识别基础40240062数字图像处理22考查22考查40240362电子商务平台及核心技术33考试40240472计算机实时图形和动画技术40240372信息检索22考查数据结构40240402虚拟现实22考查40240492数据挖掘22考试40240502软件开发方法22考试嵌入式系统33考试操作系统合计≥21≥21 春季学期综合论文训练1015周必修体育专项(4)选修注:带*者为院平台课,可在信息学院范围内选修不低于所列学分的同类课程计算机科学与技术专业核心课程6 门,17学分课号课程名学分先修要求40240433计算机系统结构3(春)操作系统30240243操作系统3(春)计算机组成原理,数据结构40240144编译原理4(春)数据结构40240243计算机网络3(秋)操作系统40240432形式语言与自动机2(秋)离散数学(1)20240103汇编语言程序设计3(秋)计算机科学与技术专业限选课不少于11学分,其中:计算机系统结构-----计算机科学与技术专业选修不少于2学分课号课程名学分先修要求30240253微计算机技术3汇编语言程序设计嵌入式系统3计算机组成原理操作系统40240412数字系统设计自动化2数字逻辑电路30240222VLSI设计导论2数字逻辑电路计算机软件与理论---计算机科学与技术专业选修不少于2学分课号课程名学分先修要求初等数论及其应用2离散数学30240192高性能计算导论2(英语讲课)计算机系统结构30240262数据库系统原理2数据结构网络编程与计算技术2计算机组成原理软件开发方法2C++ 数据结构软件工程30240134软件工程3C++数据结构计算机应用技术-----计算机科学与技术专业选修不少于2学分课号课程名学分先修要求30240042人工智能导论2离散数学40240452模式识别2几何与代数概率与统计人工智能导论40240062数字图象处理2概率与统计程序设计基础40240392多媒体技术基础及应用2信号处理原理40240422计算机图形学基础2数据结构40240472计算机实时图形和动画2几何与代数技术40240402虚拟现实2计算机组成原理40240462现代控制技术2系统分析与控制40240372信息检索2数据结构40240362电子商务平台及核心技术2数据结构JAVA程序设计数据库系统原理40240492数据挖掘2数据库系统原理计算机科学与技术专业专题训练不少于5学分,其中计算机网络专题训练为必选课号课程名学分先修要求计算机网络专题训练1(秋)操作系统专题训练2(秋)编译原理专题训练2(秋)数据库专题训练2(秋)计算机科学与技术专业的任选课程课号课程名学分先修要求30240253微计算机技术3汇编语言程序设计初等数论及其应用2离散数学网络编程与计算技术2计算机组成原理30240134软件工程3C++数据结构30240042人工智能导论2离散数学40240452模式识别2几何与代数概率与统计人工智能导论40240062数字图象处理2概率与统计程序设计基础40240392多媒体技术基础及应用2信号处理原理40240422计算机图形学基础2数据结构40240472计算机实时图形和动画技术2几何与代数40240402虚拟现实2计算机组成原理40240462现代控制技术2系统分析与控制40240372信息检索2数据结构40240362电子商务平台及核心技术2数据结构JAVA程序设计数据库系统原理40240492数据挖掘2数据库系统原理计算机科学与技术专业 业务培养目标:本专业培养具有良好的科学素养,系统地、较好地掌握计算机科学与技术包括计算机硬件、软件与应用的基本理论、基本知识和基本技能与方法,能在科研部门、教育单位、企业、事业、技术和行政管理部门等单位从事计算机教学、科学研究和应用的计算机科学与技术学科的高级专门科学技术人才。

清华大学“C语言程序设计”期末试卷

清华大学“C语言程序设计”期末试卷

样例: 输入 1 2 -4 0 32 1 -2 2 输出 3 -4+x^2
第三部分
综合问题 (任选一题完成,共 10 分)
3-A. 代数式处理 ( 3-A.cpp ) 读入一个仅含变量 x 的代数式和 x 的值, 输出该式在 x=x0 处的函数值和导函数的值。 表达式中除了字母 x 和+, -, *, /, (, )外没有其他字符
试卷说明: 考试形式为上机考试,考试时间总计 3 小时 请在 C 盘根目录下建立一个子目录,以自己的学号命名,并将所有的程序存入 此目录。如,学号为 010000 的同学,需要建立目录 C:\010000,并将程序存入 此目录。按照题目名称中指定文件名保存你的程序,并保存一个备份,以免程 序被意外破坏。例如,第一题应当保存一个叫做 1-1bak.cpp 的文件。 3-A 和 3-B 最多只能选择一道题目。如果同时存在 3-A.cpp 和 3-B.cpp,我们将 随机选择一道题目进行评分。 所有题目采用键盘输入和屏幕输出,你的程序不得访问任何文件。 评分时将查看源程序,请严格遵守题目中给出的限制。
输入: 先读入一个字符串,字符总数不超过 100 并且不会有格式错误的代数式。 然后读入一实数作为 x0 的值。
输出:
7
包含两个实数,分别是函数值和导函数值。把所得结果保留 2 位小数输出。如果出 现分母为 0 的情况则只输出一个字符串"error"。
样例: 输入 x*(x+x/x) 100 输出 10100.00 201.00
输入: 第 1 行为一个整数 t,表示任务的类型,t=1 表示做加法,t=2 表示做减法。 第 2 行为 1 个整数 n,表示需要计算的数的位数。 以后 n 行,每行为 2 个数字,分别是同一位上的被加数和加数(当 t=1 时);或被 减数和减数(当 t=2 时)。从第 3 行起,位数依次由高到低,第 3 行为最高位,第 n+2 行为最低位。

清华大学计算机系列教材.

清华大学计算机系列教材.

数据的结构的表示:
顺序存储结构
链式存储结构 顺序映象——是借助元素在存储器中的相对位置来表示数据元素之 间的逻辑关系。 非顺序映象——是借助指针表示数据元素之间的逻辑关系。 例子:表示复数z1=3.0-2.3i和z2=-0.7+4.8i … … 0415 -2.3 0300 3.0 -2.3 0302 … … 0632 -0.7 3.0 0611 4.8 0634 0613 0415 … …
/ mod
18
逻辑结构的描述——二元组(D,S) 数据结构
(存储结构+操作)的描述——高级语言中的“数据类型
定义 抽象数据 类型ADT 表示 实现
——三元组(D,S,P)
19
抽象数据类型的形式定义-----三元组: (D,S,P) D – 数据对象; S – D上的关系; P – 对D的基本操作集;
24
IsDescending(T) 初始条件: 三元组T已经存在。 操作结果: 如果三元组T的三个元素按降序排列,则 返回TRUE; 否则返回FALSE。 Max(T,&e) 初始条件: 三元组T已经存在,。 操作结果: 用e返回三元组T的最大值。 Min(T,&e) 初始条件: 三元组T已经存在,。 操作结果: 用e返回三元组T的最小值。
S01 L01 S01 S02 …
001,… 003,…
… … … … … L
S …
高等数学 001,003,… 理论力学 002,…
002,…
001,003,…
线性代数 004,…

栾汝书 004,…
计算机处理的对象之间存在着一种简单的线性关系,称为线性 7 数据结构。
例子2:计算机和人对奕问题。 × × × × × ×

Visual Basic程序设计基础教程

Visual Basic程序设计基础教程
ห้องสมุดไป่ตู้
1.3.5 常用工作窗口
1.工程(Project)资源管理器窗口
工程是指用于创建一个应用程序的文件的集合。工程 资源管理器列出了当前工程中的窗体和模块
这些文件包括:窗体文件 (.FRM)、标准模块文件 (.BAS)、类模块文件(.CLS)、 工程文件(.VBP)、工程组文件 (.VBG)、资源文件(.RES)
4. 编写程序代码(事件响应代码)
对象名称
Command1 Command2 Command3 Form
事件
单击(Click) 单击(Click) 单击(Click) 装入(Load)
响应
将窗体的背景设置为白色 将窗体中文本的颜色设置为红色 结束程序运行 显示“VB程序设计示例”
双击
5. 保存程序
如:工程1—Microsoft Visual Basic(设计) 方括号中的“设计”表示处于设计阶段,随着工作状态
的不同,括号内的信息可能是:“运行”,表示处于程序运 行阶段;“Break”表示处于程序中断阶段。这三个阶段也称 为设计模式、运行模式和中断模式。
1. 设计模式:可进行用户界面的设计和代码的编制。 2. 运行模式:运行应用程序,不可编辑代码和界面。 3. 中断模式:中断运行,可编辑代码,但不可编辑界面。
“工程资源管理器窗口”中 还有三个按钮:
• “查看代码”:用于查看相应文件的程序代码。 • “查看对象”:用于查看相应的窗体。 • “切换文件夹”:用于查看文件所在的文件夹。
1.3.5 常用工作窗口
窗体设计器窗口 它是设计程序时主要操作的窗口,设计程序的第一步,
就是在该窗口中绘制各种控件,窗口显示的也就是程序运行 的界面。
1.1.1 基本术语 1.1.2 程序设计语言 1.1.3 程序的基本结构 1.1.4 程序设计的一般步骤

清华大学计算机专业核心课程

清华大学计算机专业核心课程
家里蹲大学 ( 京ICP备07001587号)|联系我们
GMT+8, 2010-8-6 22:43, Processed in 0.453591 second(s), 12 queries. Powered by
Discuz! X1
© 2008-2010 家里蹲大学.
40240144编译原理4(春)数据结构
40240243计算机网络3(秋)操作系统
40240432形式语言与自动机2(秋)离散数学(1)
20240103汇编语言程序设计3(秋)
计算机科学与技术专业限选课不少于11学分,其中:
计算机系统结构-----计算机科学与技术专业选修不少于2学分
计算机网络专题训练1(秋)
操作系统专题训练2(秋)
编译原理专题训练2(秋)
数据库专题训练2(秋)
计算机科学与技术专业的任选课程
课号课程名学分先修要求
30240253微计算机技术3汇编语言程序设计
80240193计算机网络前沿研究徐恪3
80240183网格计算都志辉3
80240033计算智能及机器人学孙富春3
研究生院已批准课程
80240173下一代互联网徐明伟3
80240312小波分析及其工程应用孙延奎2
初等数论及其应用 2离散数学
网络编程与计算技术2计算机组成原理
30240134软件工程3C++ 数据结构
30240042人工智能导论2离散数学
40240452模式识别2几何与代数 概率与统计 人工智能导论
40240062数字图象处理2概率与统计 程序设计基础
30240134软件工程3C++ 数据结构

最新C++语言程序答案第四版清华大学汇总

最新C++语言程序答案第四版清华大学汇总

C++语言程序答案第四版清华大学第一章概述1-1 简述计算机程序设计语言的发展历程。

解:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。

1-2 面向对象的编程语言有哪些特点?解:面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。

面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。

通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。

因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。

C++语言是目前应用最广的面向对象的编程语言。

1-3 什么是结构化程序设计方法?这种方法有哪些优点和缺点?解:结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。

结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。

虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。

当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。

由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。

ch12-Java Web程序设计(第3版)-微课视频版-郭克华-清华大学出版社

ch12-Java Web程序设计(第3版)-微课视频版-郭克华-清华大学出版社

常见的AJAX框架
AJAX 框架
✓ Bindows,2003 年发布,网址是: 。Bindows 是一个软件 开发包,通过强力联合 DHTML、JavaScript、 CSS 和 XML 等技术,能生成高度交互的互联网 应用程序,成为桌面应用程序的强有力对手
第12章 AJAX
本课教学内容
AJAX概述 AJAX开发 AJAX简单案例
AJAX 概述
问题
能否在登录提交时,浏览器界面不刷新,提交改为在后台 异步进行,当服务器端验证完毕,将结果在界面上原来登 录表单所在的位置显示出来?
答案:使用AJAX
AJAX 概述
异步(Asynchronous)的概念和同步相对 (Synchronous) 。当一个异步过程调用发出后, 调用者不需要立刻得到结果,可以继续做自 己的事情,等到过程调用完毕,再通过回调 函数通知调用方。而同步情况下,调用方必 须等待对方得到结果,才能继续运行
AJAX 开发—API解释
常见的 readyState 属性值是:
✓ 0:未初始化状态,对象已创建,尚未调 用 open()
✓ 1:已初始化状态,调用 open()方法以后
AJAX 开发—API解释
常见的 readyState 属性值是:
✓ 2:发送数据状态,调用 send()方法以后 ✓ 3:数据传送中状态,已经接到部分数据,
AJAX 简单案例
做一个简单的登录界面,如果登录成功(如 guokehua登录成功),界面跳转到 loginSuccess.jsp;如果登录失败,跳转到 loginFail.jsp。
AJAX 简单案例
三个界面如下:
AJAX 简单案例
*具体案例代码详见课本
需要注意的问题

清华大学信息学院培养方案12级(THU 清华大学 计算机科学与技术 等专业)#精选.

清华大学信息学院培养方案12级(THU 清华大学 计算机科学与技术 等专业)#精选.

信息科学技术学院本科培养方案一、培养目标信息科学技术学院(以下简称信息学院)本科培养方案面向电子信息科学与技术、计算机科学与技术、自动化、微电子学、示范性软件学院的计算机软件等五个专业,从2003级开始实行多学科交叉背景下、通识教育基础上的宽口径专业教育,构建具有各专业共性基础的学院平台课程体系以及具有一定特长的专业核心课程体系,强调对学生进行基本理论、基础知识、基本能力(技能)以及健全人格、综合素质和创新精神培养,为学生提供增强基础、选择专业的机制,培养基础厚、专业面宽、具有自主学习能力的复合型人才。

从2011级开始,信息学院对培养方案进行了全面修订,进一步将学科交叉范围扩大到专业核心课程体系,为学生提供更加灵活的选课机制和更加宽广的专业空间;并将继续深入研究和不断改进课程内容和教学方法,加强实践环节,更好地培养适应时代要求的信息科学技术专业人才。

信息学院致力于为学生全面参与教育教学、科学研究、文化艺术、社会服务等活动创造条件,提倡学生在参与中发现自己的能力和兴趣,最大限度地发展自己的智力和潜能,鼓励学生敢于面对挑战、不断探索、努力创造、追求卓越,并提供一种基础和环境,促使学生养成独立工作的能力和终身学习的习惯。

二、基本要求信息学院各专业通过各种教育教学活动发展学生个性,培养学生具有健全人格;具有成为高素质、高层次、多样化、创造性人才所具备的人文精神以及人文、社科方面的背景知识;具有国际化视野;具有创新精神;具有提出、解决带有挑战性问题的能力。

具有进行有效的交流与团队合作的能力;在信息科学技术领域掌握扎实的基础理论、相关领域基础理论和专门知识及基本技能,具有在相关领域跟踪、发展新理论、新知识、新技术的能力,能从事相关领域的科学研究、技术开发、教育和管理等工作。

电子信息科学与技术专业的本科生运用所掌握的理论知识和技能,从事信号获取、处理和应用,通信及系统和网络,模拟及数字集成电路设计和应用,微波及电磁技术理论、信号与信息处理的新型电子材料、器件和系统,包括信息光电子和光子器件、微纳电子器件、微光机电系统、大规模集成电路和电子信息系统芯片的理论和应用等方面的科研、开发与教育工作。

第12章 错误和异常处理-Python程序设计-黄蔚-清华大学出版社

第12章 错误和异常处理-Python程序设计-黄蔚-清华大学出版社

except:
print(22)
else:
print(3)
3. try语句中的finally子句
• 格式 try: 被检测的语句块 finally: 语句块
无论是否发生异常都 将执行finally后的语
句块
例12-5 修改例12-4,增加finally子句
a = 12 # 确实b的赋值语句 # 会引发第一个except子句 # b = 0 # 会引发第一个except子句 # b = 'abc' # 会引发第二个except子句 # b = 2 # 会引发else子句 try:
12.2.2 try-except语句
• 当Python程序发生错误时,可以使用try-except语句捕获异常 • 若不使用try-except语句,程序将终止执行 1. 最简形式的异常处理
try: 被检测的语句块
except: 异常处理语句块
例12-3 利用try语句判断输入数据的类型
import sys x = input('请输入一个整数:') try:
dic['age']
# 出错提示会提示本行出错,但可能需要在上一行修改。
# AttributeError
class Foo:pass
Foo.x
# ZeroDivisionError:无法完成计算
res1=1/0
res2=1+'str'
运行时错误的出错提示
3. 逻辑错误
• 能够执行并会得到运行结果,只是运行结果是错误的或不是编 程者预期的结果
第12章 错误和异常处理
目录
• 12.1 程序的错误 • 12.2 异常处理 • 12.3 断言处理 • 12.4 Python的调试工具pdb*

程序设计基础-教学大纲

程序设计基础-教学大纲

《程序设计基础》教学大纲课程编号:072105A课程类型:□通识教育必修课√□通识教育选修课□专业必修课□专业选修课□学科基础课总学时:80 讲课学时: 64 实验(上机)学时:16学分:5适用对象:计算机科学与技术专业先修课程:无一、教学目标程序设计是学习计算机一个不可缺少的环节,不仅可以让学生掌握一门计算机语言,更重要的是通过程序设计的基本方法,对学生逻辑思维的训练、实践能力的提高都有着重要的意义。

本课程是本科生入学后的第一门高级语言程序设计课程。

教学内容将以C/C++语言的结构化程序设计为主线,以学习基本数据类型、数组、结构、指针、流程控制、函数等要素为重点,使学生熟练掌握结构化程序的方法和一些常见算法,并具备应用程序的设计能力,为后续《数据结构》、《面向对象程序设计》等课程的学习奠定坚实的程序设计基础。

课程的具体目标如下:目标1:熟悉高级语言的一般组成。

目标2:掌握结构化程序的方法和一些常见算法。

目标3:具备一定的程序设计能力。

二、教学内容及其与毕业要求的对应关系(一)教学内容课程内容主要包括:数据类型与表达式、基本流程控制、数组、结构、指针、流程控制、函数等,以及在每个知识点基础上编写的综合程序设计。

(二)教学方法和手段本课程具有知识涉及面广、理论与实践兼顾的特点,而且需要通过大量的编程练习才能熟练掌握一门语言。

因此,本课程的教学采用课堂讲授和上机操作相结合的方式。

在课堂讲授过程中,宜用通俗的语言、易懂的实例把理论向学生讲清楚,同时使用计算机、大屏幕投影等多媒体设施为学生现场演示,让学生在理性认识的同时,加强感性认识;针对授课内容,布置相应的上机实践题以及期末综合作品,加强学生程序设计的能力。

(三)学习要求通过本课程的课堂教学与上机操作实习,要求学生:●了解高级语言的一般组成。

●掌握结构化程序的方法和一些常见算法。

●具备一定的程序设计能力。

三、各教学环节学时分配以表格方式表现各章节的学时分配,表格如下:教学课时分配四、教学内容第一章 C语言概述第一节C语言概述第二节程序的组成及书写规则第三节 VC6.0系统界面的组成和操作教学重点、难点:C/C++程序的组成及书写规则,运行C程序的步骤和方法课程的考核要求:了解: C/C++程序的编写与运行过程理解:VC6.0系统界面的组成和操作掌握:程序的组成及书写规则应用:编写一个简单的程序复习思考题:1.VC环境下创建一个程序的各个步骤是怎样的,对应的文件后缀是什么。

C语言程序设计教程_李含光_郑关胜_清华大学出版社习题答案习题答案[完美打印版]

C语言程序设计教程_李含光_郑关胜_清华大学出版社习题答案习题答案[完美打印版]
5
void f3(float,float,float,float);int main() { float a,b,c,d; scanf("%f %f %f",&a,&b,&c); if(a==0) { printf(" 不 是 一 元 二 次 方 程 \n"); exit(0); } d=b*b-4*a*c; if(d>0) f1(a,b,c,d); else if(d==0) f2(a,b,c,d); else f3(a,b,c,d); return 0; } void f1(float a,float b,float c,float d){ float x1,x2; { x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); printf("%.2f ,%.2f\n",x1,x2); } } void f2(float a,float b,float c,float d){ float x1,x2; { x1=-b/(2*a); x2=-b/(2*a); printf("%.2f ,%.2f\n",x1,x2); } }
3
{ int i,j,k; for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++) printf("%5d",100*i+10*j+k); return 0; } (9) . #include<stdio.h> #include<math.h> int main() { float a=-10,b=10,x,f1,f2,f; f1=(((2*a-4)*a+3)*a)-6; f2=(((2*b-4)*b+3)*b)-6; do { x=(a+b)/2; f=(((2*x-4)*x+3)*x)-6; if(f*f1<0) { b=x; f2=f; } else { a=x; f1=f; } }while(fabs(f)>=1e-6); printf("%6.2f\n",x); return 0; } (10) . #include<stdio.h>

Python程序设计清华大学出版社董付国基础知识教育课件

Python程序设计清华大学出版社董付国基础知识教育课件

1.3 使用pip管理第三方包
Python2中需要单独安装 下载地址:https:///pypi/pip 安装方法:cmd==>python get-pip.py 用法示例 pip install NumPy pip list pip install --upgrade SomePackage pip uninstall SomePackage Python3安装包中已默认包含pip
1.4.2 python的变量和引用
6. 变量命名 以字母或下划线(有特殊含义)开头 变量名中不能有空格以及标点符号(括号、引号、逗号、
斜线、反斜线、冒号、句号、问号等等) 不要使用关键字(在keyword模块中)作变量名 不要使用系统内置的模块名或函数名(可以通过
dir(__builtins__)查看)作变量名 大小写敏感
1.1 Python版本之争
2.x:一边鄙视一边用 3.x:必然的趋势 多版本共存与切换简便方法:更改系统环境变量
path 查看已安装版本的方法(在所启动的IDLE界面也
可以直接看到):
>>> import sys >>> sys.version '2.7.8 (default, Jun 30 2014, 16:08:48) [MSC v.1500 64 bit (AMD64)]' >>> sys.version_info sys.version_info(major=2, minor=7, micro=8, releaselevel='final', serial=0)
1.4.2 python的变量和引用
3. 共享引用 共享引用是指多个变量引用同一个对象。下面的语句使两 个变量都引用同一个对象3

清华大学电机系电气工程及其自动化专业所有课程

清华大学电机系电气工程及其自动化专业所有课程

清华大学电机系电气工程及其自动化专业所有课程本科专业核心课本专业核心课为:电路原理、电磁场、模拟电子技术基础、数字电子技术基础、信号与系统、自动控制原理、计算机程序设计基础、微机原理与应用、电机学、电力电子技术基础、电力系统分析、高电压工程。

共 12 门。

前 8 门为学科核心课,后 4 门为专业核心课。

3.6 课程设置与学分分布3.6.1 公共基础课程 26 学分3.6.23.6.3 数学和自然科学基础课程 36学分(1) 数学课 7门,24学分10421075 微积分B(1) 5学分10421084 微积分B(2) 4学分10421094 线性代数(1) 4学分10421102 线性代数(2) 2学分10420252 复变函数引论2学分10420854 数学实验4学分10420803 概率论与数理统计3学分(2) 物理课 4门,10学分10430484 大学物理B(1) 4学分10430494 大学物理B(2) 4学分10430344 大学物理(1)(英) 4学分10430354 大学物理(2)(英) 4学分10430801 物理实验B(1) 1学分10430811 物理实验B(2) 1学分可选修高档(数学、物理等理科系)课代替低档课。

大学物理B(1)和大学物理(1)(英)二选一,大学物理B(2)和大学物理(2)(英)二选一。

(3) 生物/化学 1门,2学分10440012 大学化学B 2学分10440111 大学化学实验B 1学分10450012 现代生物学导论2学分10450021 现代生物学导论实验1学分3.6.4 专业相关课程 67学分(1) 学科核心课 12门 34 学分20130412 工程图学基础2学分30220392 计算机程序设计基础2学分20220174 电路原理A(1) 4学分20220332 电路原理A(2) 2学分20250064 模拟电子技术基础4学分20250103 数字电子技术基础3学分40220653 信号与系统3学分20220353 电磁场3学分20220124 微机原理与应用4学分30220343 自动控制原理3学分,限选(2选1)30220363 自动控制原理(英) 3学分,限选(2选1)20220162 电路原理实验2学分(跨学期课)21550022 电子电路实验2学分(跨学期课)(2) 专业核心课 5门,15 学分30220334 电机学4学分30220351 电机学实验1学分30220414 电力电子技术基础4学分,限选(2选1) 30220414 电力电子技术基础(英文) 4学分,限选(2选1) 40220723 电力系统分析3学分30220323 高电压工程3学分专业选修课 18 学分A 组通用:40220921 电气工程导论1学分(大一秋)40220502 电气工程技术发展讲座2学分(大三春)信号控制课组:40220862 数字信号处理2学分(大三秋)30220403 通信系统原理3学分(大三秋)电力系统课组:00220092 理解稳定性2学分(大一春)40220802 电力系统预测技术2学分(大三春)40220882 智能电网概论2学分(大三春)40220072 发电厂工程2学分(大三春)40220442 电力系统稳定与控制2学分(大四秋)40220392 电力系统调度自动化2学分(大四秋)40220063 电力系统继电保护2学分(大四秋)电力系统继电保护实验1学分(大四秋) 40220692 电力市场概论2学分(大四秋) 40220901 电能质量基础2学分(大四秋)40220821 新能源发电与并网1学分(大四秋)40220782 信息论与电力系统2学分(大四秋)电网企业组织管理2学分(大四秋) 40220341 电力系统实验2学分(大四春)高电压课组:00220081 我们身边的高电压1学分(大一秋)40220812 输配电技术2学分(大三春)40220102 现代电气测量2学分(大三春)40220472 电气设备在线监测2学分(大三春)40220891 大电流能量技术1学分(大三春)40220462 电器原理及应用2学分(大四秋)40220432 过电压及其防护2学分(大四秋)40220762 电介质材料与绝缘技术2学分(大四秋)40220793 直流输电技术3学分(大四秋)40220872 数字化变电站2学分(大四秋)声光电磁测量技术1学分(大四秋) 40220941 高电压工程与数值计算1学分(大四秋) 电机与电力电子课组:00220072 超导体在电气工程中的应用2学分(大一秋)40220742 电机分析2学分(大三秋)40220732 电力传动与控制2学分(大三春)40220452 电力电子仿真设计2学分(大三春)40220682 电子电机设计与分析2学分(大三春)40220831 可再生能源与未来电力技术1学分(大三春)40220912 太阳能光伏发电及其应用2学分(大三春)40220482 电力电子技术专题2学分(大四秋)40220712 微特电机2学分(大四秋)40220842 电力传动系统设计2学分(大四秋)40220932 智能电网中的储能技术2学分(大四秋)B组不少于2学分计算机课组:20220262 面向对象程序设计2学分(大三春)40220412 单片机技术与实验2学分(大三春)40220422 数字信号处理DSP实验2学分(大三春)00220132 可编程控制器及变频器系统2学分(大三春/大四秋) 注:SRT可替代最多2学分专业课。

清华大学计算机程序设计基础-12

清华大学计算机程序设计基础-12

{
if(Empty(s)) element = NULL;
else *element = s->element;
}
可编辑
9
(3) 获取栈顶元素但同时删除该元素
void Pop(Stack s, TYPE * element)
{ if (Empty(s)) element = NULL;
else { *element = s->element; s = s-
栈是一种只允许在栈顶进行插入和删除 操作的线性表,可用数组或线性表来实现
出栈
入栈
栈顶
an an-1
a1
栈底
a0
可编辑
3
栈的基本操作有: l ClearStack(&S):清空一个栈; l GetTop(S, &e):获取栈顶元素(不 删除该栈顶元素); Pop(S, &e):获取栈顶元素但同时 删除该元素; Push(&S, e):向栈顶插入一个元素; Empty(S):判断是否为空栈的函数。 当S为空栈时,返回true,否则返回 false
>next; }
}(4) 向栈顶插入一个元素的操作
void Push(Stack s, TYPE element)
{ Node * node;
node = malloc(sizeof(Node));
node->field = element;
node->next = s;
s = node; }
(5) 判断是否为空栈的操作 int Empty(Stack s) { return (s == NULL); }
{if(Empty(*s) )element = NULL; else { *element = s->element[s->top]; s-

大学计算机基础教程(清华大学出版社)课后习题答案(全)

大学计算机基础教程(清华大学出版社)课后习题答案(全)

大学计算机基础教程习题参考答案习题11.1 选择题1. 美国宾夕法尼亚大学1946年研制成功的一台大型通用数字电子计算机,名称是( C)。

A) Pentium B) IBM PC C) ENIAC D) Apple2.1981年IBM公司推出了第一台(B)位个人计算机IBM PC5150。

A) 8 B) 16 C) 32 D) 643. 中国大陆1985年自行研制成功了第一台PC 兼容机,即(C)0520微机。

A) 联想B) 方正C) 长城D)银河4. 摩尔定律主要内容是指,微型片上集成的晶体管数目每(C)个月翻一番。

A) 6 B) 12 C) 18 D) 245. 第四代计算机采用大规模和超大规模( C)作为主要电子元件。

A) 电子管B) 晶体管C)集成电路D)微处理器6. 计算机中最重要的核心部件是( B)。

A) DRAM B) CPU C) CRT D) ROM7. 将微机或某个微机核心部件安装在某个专用设备之内,这样的系统称为(C)。

A) 大型计算机B) 服务器C) 嵌入式系统D)网络8. 冯.诺依曼计算机包括,(B)、控制器、存储器、输入设备和输出设备五大部分组成。

A) 显示器B)运算器C)处理器D)扫描仪9.从市场产品来看,计算机大致可以分为大型计算机、(C)和嵌入式系统三类A) 工业PC B) 服务器C) 微机D) 笔记本微机10.大型集群计算机技术是利用许多台单独的(B)组成的一个计算机系统,该系统能够像一台机器那样工作。

A) CPU B) 计算机C) ROM D)CRT1.2 填空题1. 计算机的发展经历了(电子管)、(晶体管)、(集成电路)和(大规模集成电路)四代变迁。

2.未来的计算机可能朝着(量子计算机)、(光子计算机)、(生物计算机)等方向发展。

3. 计算机系统是由(硬件系统)、(软件系统)两部分组成的。

4. 从目前市场上产品来看,微机包括(个人计算机)、(苹果系列微机)、(一体微机)、(笔记本微机)、(平板微机)、(掌上微机)和PC 服务器等几种。

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

[]
{}
)
]
((
((
(
[[
[[
[
[
56
78
9
10
接收1时,就等待第10 ,然而等来的是2,2又等9,…全部配 套后,编译通过,否则出现错误提示。
每读入一个括号,若是右括号,则使栈顶的最急迫的期待 得以消除,若是不合法的情况,如是左括号,则作为一个新的 ,更急迫的期待压入栈中。
可编辑
16
行编辑程序
简单的行编辑器 用户编辑的特点: 的功能是接收用户从终 • 输入时不能不出错 端输入的程序或者数据 • 若输入一个字即送入用户数据区,显 并存入用户的数据区。 然是不恰当的最好是一行输入一次数据
可编辑
4
栈的基本操作
空栈
Top为栈顶指针,随 着不同操作而移动
top bottom
top bottom 增加元素
top
bottom
可编辑
删除元素
top bottom
5
12.2 栈的实现
栈是一种特殊的表,因此凡是可 以用来实现表的数据结构都可以用 来实现栈。
可编辑
6
12.2.1 栈的数组实现
#define MAXLENGTH 256
可编辑
10
12.3进制转换--栈的应用实例
(1) 算法
可编辑
11
12.3.2 算法的实现
例:(15)10=(1111)2
#include <stdio.h> #include <stdlib.h> #define MAXLENGTH 32 #define TYPE int struct TStack //定义栈结构 { int top;
>next; }
}(4) 向栈顶插入一个元素的操作
void Push(Stack s, TYPE element)
{ Node * node;
node = malloc(sizeof(Node));
node->field = element;
node->next = s;
s = node; }
(5) 判断是否为空栈的操作 int Empty(Stack s) { return (s == NULL); }
#define TYPE int struct TStack { int top;
TYPE element[MAXLENGTH]; }; typedef struct TStack Stack;
可编辑
7
12.2.2 栈的链式存储实现
链式存储栈的类型说明如下: #define TYPE int //定义任意类型的栈结构 struct TNode {TYPE field; //TYPE泛指任意可能的类型 struct TNode * next; }; typedef struct TNode * Stack;
//定义一个Stack栈
可编辑
8
(1) 清空一个栈的操作 void ClearStack(Stack s) { Node * p = s;
while(p != NULL) { s = s->next; free(p); p = s; }
s = NULL; }
(2) 获取栈顶元素的操作

void GetTop(Stack s, TYPE * element)
while(!Empty(s))
{ Pop(&s,&dec);
printf("%d",dec);}
printf("\n");
}
可编辑
15
括号匹配的检验
在编译C语言的源程序时,要对括号进行配对检查,如:
[( [ ] [ ] { } ) ] 1 2 3 4 5 6 7 8 9 10
[
]
(
[
1、2、3 4
return;
else
{ s->top++;
s->element[s->top]=element;
} 可编辑
14
void conversion()
//进制转换
{Stack s;
int dec;
ClearStack(&s);
scanf("%d",&dec);
while( dec > 0)
{ Push(&s, dec % 2); dec=dec/2;}
else return 0; }
//判断是否 return 1;
void GetTop(Stack s, TYPE * element) //获取栈顶元素
{ if(Empty(s)) element = NULL; else可编*辑element=s.element[s.top]; 13
void Pop(Stack * s, TYPE * element) //获取栈顶元素但同时删除该元素
{
if(Empty(s)) element = NULL;
else *element = s->element;
}
可编辑
9
(3) 获取栈顶元素但同时删除该元素
void Pop(Stack s, TYPE * element)
{ if (Empty(s)) element = NULL;
else { *element = s->element; s = s-
TYPE element[MAXLENGTH]; }; typedef struct TStack Stack;
可编辑
12
void ClearStack(Stack *s) 栈 { s->top = -1; }
//清空
int Empty(Stack s) 为空栈 { if (s.top == -1)
{if(Empty(*s) )element = NULL; else { *element = s->element[s->top]; s-
>top--; } }
void Push(Stack * s, TYPE element)
//向栈顶插入一个元素
{ if(s->top == MAXLENGTH-1)
第12章 栈及其应用
可编辑
1
本章主要内容
• 栈的定义及其基本操作 • 栈的实现 • 进制转换--栈的应用实例
可编辑
2
12.1 栈的定义及其基本操作
栈是一种只允许在栈顶进行插入和删除 操作的线性表,可用数组或线性表来实现
出栈
入栈
栈顶
an an-1
a1
栈底
a0
可编辑
3
栈的基本操作有: l ClearStack(&S):清空一个栈; l GetTop(S, &e):获取栈顶元素(不 删除该栈顶元素); Pop(S, &e):获取栈顶元素但同时 删除该元素; Push(&S, e):向栈顶插入一个元素; Empty(S):判断是否为空栈的函数。 当S为空栈时,返回true,否则返回 false
相关文档
最新文档