第13、14讲 程序设计基础.

Slides:



Advertisements
Similar presentations
因数与倍数 2 、 5 的倍数的特征
Advertisements

3 的倍数特征 抢三十

因数与倍数 2 、 5 的倍数的特征 绿色圃中小学教育网 扶余市蔡家沟镇中心小学 雷可心.
2 和 5 的倍数的特征 运动热身 怎样找一个数的倍数? 从小到大写出 2 的倍数( 10 个): 写出 5 的倍数( 6 个) 2 , 4 , 6 , 8 , 10 , 12 , 14 , 16 , 18 , 20 5 , 10 , 15 , 20 , 25 , 30.
2.5 函数的微分 一、问题的提出 二、微分的定义 三、可微的条件 四、微分的几何意义 五、微分的求法 六、小结.
数据结构的引入. 通讯录管理 社团机构管理 校园导航管理 通讯录管理 社团机构管理 校园导航管理.
第四单元 100 以内数的认识
冀教版四年级数学上册 本节课我们主要来学习 2 、 3 、 5 的倍数特征,同学们要注意观察 和总结规律,掌握 2 、 3 、 5 的倍 数分别有什么特点,并且能够按 要求找出符合条件的数。
重庆市九龙坡区走马小学 邓华. 一、复习导入,揭示课题 下面哪些数是 2 的倍数?哪些数是 5 的倍数? 2,5的倍数的特征:只看个位上数就能进行判断。 2的倍数:个位上是0,2,4,6,8的数。
练一练: 在数轴上画出表示下列各数的点, 并指出这些点相互间的关系: -6 , 6 , -3 , 3 , -1.5, 1.5.
循环模式 流程图的画法: 条件 y 循环体 伪代码: n Do while 条件 循环体 loop 每个循环模式的结构都是一个入口,一个出口.
二级C语言程序设计及同步训练 涂玉芬 主编 中国水利水电出版社.
第3章 简单算法设计 3.1 结构化程序的算法设计 3.2 结构化算法的性质及结构 3.3 结构化算法的描述方法 自然语言 流程图 伪码
《高等数学》(理学) 常数项级数的概念 袁安锋
会计学专业基础课堂之 基础会计(初级会计) 安徽财经大学会计学院.
解决问题 求比一个数多(或少)百分之几的数是多少 市桥陈涌小学 吴秀堎.
C语言实验 第一课 标题:学号+姓名.
数学建模与MATLAB 第五讲:循环结构(1) 2017/9/12.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
《计算机应用基础》 第9章 程序设计基础(一).
走进编程 程序的顺序结构(二).
元素替换法 ——行列式按行(列)展开(推论)
临界区软件互斥软件实现算法.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
第一章 函数 函数 — 研究对象—第一章 分析基础 极限 — 研究方法—第二章 连续 — 研究桥梁—第二章.
第2章 算法—程序的灵魂.
第二章 Java语言基础.
动态规划(Dynamic Programming)
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
第4章 非线性规划 4.5 约束最优化方法 2019/4/6 山东大学 软件学院.
第一章 函数与极限.
计算.
数列.
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
第8章 VBA程序设计基础.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
1.2 有理数 第1课时 有理数 伏家营中学 付宝华.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
《计算机应用基础》 第9章 程序设计基础(二).
第4章 Excel电子表格制作软件 4.4 函数(一).
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
用穷举法设计程序 南京师范大学 教育技术系 倪佳慧
3.16 枚举算法及其程序实现 ——数组的作用.
算法初步 §1.1.2 程序框图.
College of Computer Science & Technology
第4课时 绝对值.
1.2基本算法语句 1.2.3循环语句.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
第二章 Java基本语法 讲师:复凡.
2019/5/21 实验一 离散傅立叶变换的性质及应用 实验报告上传到“作业提交”。 11:21:44.
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二节 函数的极限 一、函数极限的定义 二、函数极限的性质 三、小结 思考题.
第二节 C语言的特点.
第三节 随机区组设计的方差分析 随机区组设计资料的总平方和可以分解为三项: (10.10).
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
回归分析实验课程 (实验三) 多项式回归和定性变量的处理.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
五 循环结构程序设计 厦大附中信息技术.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
任课教师:戴开宇 TA:时均帅、谭肖、王安华 程序设计B班 :20-16:50(90分钟)
顺序结构程序设计 ——关于“字符串”和数值.
第二次课后作业答案 函数式编程和逻辑式编程
Presentation transcript:

第13、14讲 程序设计基础

程序概念 维基解释(zh.wikipedia.org) http://zh.wikipedia.org/zh-cn/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80

另一种解释 参见Wiki解释http://www.wikilib.com/wiki?title=%E7%A8%8B%E5%BA%8F&variant=zh-cn 计算机程序或者软件程序(通常简称程序)是指一组指示计算机每一步动作的指令,通常用某种程序设计语言编写,运行于某种目标体系结构(执行机构)上。打个比方,一个程序就像一个用汉语(程序设计语言)写下的红烧肉菜谱(程序),用于指导懂汉语的人(体系结构)来做这个菜。 通常,计算机程序要经过编译和链接而成为一种人们不易理解而计算机理解的格式,然后运行。 未经编译就可运行的程序通常称之为脚本程序。

CPU五大部件

语言分级 高级语言 机器语言

高级语言 机器语言 6

江西财经大学信息管理学院 《数据库应用》课程组2007 高级语言 编译 或 解释 机器语言 江西财经大学信息管理学院 《数据库应用》课程组2007 7

程序设计过程 程序设计即是计算机用户根据解决某一问题的步骤,按一定的逻辑关系,将一系列的有序指令组合在一起。

有序性的例子P287 例如,从图书馆借一本书的过程可以描述为6个步骤: ① 进入图书馆。 ② 从图书管理系统终端机上查找书目信息。 ③ 根据查找结果决定采取的行动,若查到书目并且图书在馆,则转到步骤④;若查到图书但不在馆,则转到步骤⑤;若无所需图书,直接转到步骤⑥。 ④ 进入书库取书,办理借书手续,完成后转步骤⑥。 ⑤ 办理图书预约手续。 ⑥ 离开图书馆。

问题如何描述有序性 答案:流程图 ANSI流程图 N-S流程图 什么是流程图? 流程图是一种用图解方式说明,解决一个问题所要的一系列操作。流程图比文字更容易理解,更加直观. ANSI流程图 N-S流程图

ANSI流程图 起止框:表示程序的开始或结束 处理框:表示对数据进行处理 输入/输出框:表示数据的输入、输出操作 判断框 箭头:表示程序流向 连接符号:表示图标之间相互连接关系 判断框:表示根据条件决定程序走向 过程:表示该流程部分是一个过程 输入/输出框:表示数据的输入、输出操作 处理框:表示对数据进行处理 起止框:表示程序的开始或结束

流程图描述P287例子

男女关系进化流程图

编程一般步骤

算法(1) 程序的设计过程,核心问题是设计一个合理、有效的算法。 一般认为,算法就是在有限的时间内,可以根据明确规定的运算规则,在有穷步骤内得出确切计算结果的机械步骤或能运行的计算程序。

算法(2) 算法特性: (1)有序性:每个步骤被执行的顺序是确定的。 (2)有限性:即解题步骤是有限的,无穷的步骤意味无解。 (3)确定性:多次运行同样一个程序,其结果相同。 此外,算法可以没有输入(因为输入由计算机自动产生),但一定要有输出,输出用来表示问题是否有解。

算法(3) 顺序结构是程序设计中最基本的结构。在该结构中,程序的执行是按命令出现的先后顺序依次执行的。 三种基本控制结构:顺序、分支、循环 顺序结构是程序设计中最基本的结构。在该结构中,程序的执行是按命令出现的先后顺序依次执行的。 分支结构是按给定的选择条件成立与否来确定程序的走向。分支结构可分为双重分支选择和多重分支选择。在任何条件下,无论分支多少,只能选择其一。

算法(4) 循环结构是一种重复结构,即某一程序段将被反复执行若干次。 三种基本控制结构:顺序、分支、循环 按循环体执行的条件性质,循环又可分为:While(当型)循环和Until (直到型)循环。 按循环的嵌套层次,循环可分为简单循环结构和循环嵌套(也称为多重循环)结构。 无论何种类型的循环结构,都要确保循环的重复执行能够终止。

算法(5) 结构化程序是指仅由三种基本控制结构组成的程序,它具有以下特点: (1) 整个程序模块化。 (2) 每个模块只有一个入口和一个出口。 (3) 每个模块都应能单独执行,且无死循环。 (4) 采用黑箱的思想,宏观地描述任何一个程序,可以将它看成为顺序结构。

1. ANSI流程图(2) 顺序结构

1. ANSI流程图(3) 条件分支结构

1. ANSI流程图(4) 循环结构 While型循环结构 Until型循环结构

2. N-S图 (1) 顺序结构 语句块1 语句块2 语句块3

2. N-S图 (2) 条件分支结构

2. N-S图 (4) 循环结构 Until型循环结构 While型循环结构

例 从键盘输入两个数, 判断两个数的大小。 分析:这是一个分支程序设计,具体的过程描述为: 开始,定义两个变量: x,y 输入二个数给x,y 否则 输出:x小于y,结束

答案 开始 定义两个变量:x,y 给x,y输入相应的值 真 假 x>y? 输出:x大于y 输出: x小于y 结束 两数中求最大值流程图

While型循环一般结构 循环初值 否 循环条件 是 被循环执行的代码 改变循环值 循环结束需要的处理

江西财经大学信息管理学院 《数据库应用》课程组2007 求s=1+2+…+99+100 s = 0 i = 1 否 i <= 100 是 s = s+i i = i +1 输出s的值 江西财经大学信息管理学院 《数据库应用》课程组2007

课题练习 s=2+4+…+98+100 否 是 江西财经大学信息管理学院 《数据库应用》课程组2007 34

习题1 输入一个数,如果此数大于零,输出一个’+’号,否则输出一个’-’号,请描述程序设计的过程,并画出流程图。 提示: 用判断的方法解决此问题,可以描述为: 程序开始 定义变量 读入一个数 如果此数大于0 输出+ 否则 输出- 程序结束

习题2 3. 以循环的方式计算某人的年收入,假定此人以月为单位的收入,请描述程序设计的过程,并画出流程图。 3. 以循环的方式计算某人的年收入,假定此人以月为单位的收入,请描述程序设计的过程,并画出流程图。 提示:循环12次 4. 键盘输入一批数,输入零时结束,分别计算负数与正数的总和,最后输出结果,请描述程序设计的过程,并画出流程图。 5. 有一批数,在这批数中要查找一个特定的数是否存在,请描述程序设计的过程,并画出流程图。

A Joke(C语言版)

姑娘爱小伙(伪C语言版) result love(boy, girl ){ if( boy.有房() and boy.有车()){ boy.set(nothing); return girl. 嫁给(boy); }

姑娘爱小伙 (搞笑版) if( girl.愿意等 ()){ while(!(boy.赚钱 > 100,000 and girl.感情 > 8 )){ for ( day=1; day <=365; day++){ if( (day == 情人节 or day == girl.生日)& and boy.givegirl(玫瑰)) girl.感情++; else girl. 感情--; boy.拼命赚钱(); }//for }//while

姑娘爱小伙(搞笑版) if( boy.有房() and boy.有车() ){ boy.set(nothing); return girl.嫁给(boy); } else{ 年龄++; girl.感情--; return girl.goto( another_boy);

姑娘爱小伙(搞笑版)完整版 result love(boy, girl ){ if( boy.有房() and boy.有车()){ boy.set(nothing); return girl. 嫁给(boy); } if( girl.愿意等 ()){ while(!(boy.赚钱 > 100,000 and girl.感情 > 8 )){ for ( day=1; day <=365; day++){ if( (day == 情人节 or day == girl.生日)& and boy.givegirl(玫瑰)) girl.感情++; else girl. 感情--; boy.拼命赚钱(); }//for }//while if( boy.有房() and boy.有车() ){ return girl.嫁给(boy); else{ 年龄++; girl.感情--; }//if愿意等 return girl.goto( another_boy);

程序可读性 缩格 对齐

教科书习题 (1)有一函数: x ( x<1 ) y = 2x-1 ( 1≤x<10 ) 3x-11 ( x≥10 )

(2)给出一个百分制成绩,要求输出成绩对应的等级‘A’、‘B’、‘C’、‘D’、‘E’。90~100分为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,0~59分为‘E’。 (3)输入20个学生的成绩,统计各分数段的人数。分数段为:90到100分,80到89分,70到79分,60到69分,0到59分。

(4)有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13,...,求该数列的前20项之和。 (5)由1、2、3、4能组成多少个互不相同且无重复数字的三位数。 (6)输入三个整数x,y,z,由小到大输出这三个数。

(7)求出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,153=13+53+33。 (8)一个数如果恰好等于它的因子之和,就称这个数为“完数”,如6=1+2+3,找出1000以内的所有完数。