程序和流程图及计算
7
算法实例 3-2
农夫、狼、山羊、蔬菜 狼、蔬菜 狼、蔬菜 农夫、狼、蔬菜 蔬菜 蔬菜 蔬菜 农夫、山羊、蔬菜 山羊 山羊 农夫、山羊
农夫、山羊 农夫
农夫、狼
解法1
农夫、山羊
农夫、蔬菜 农夫
农夫、山羊
山羊 山羊 山羊 农夫、山羊、狼
狼 狼 狼 狼、蔬菜 狼、蔬菜 狼、蔬菜 农夫、狼、山羊、蔬菜
8
算法实例 3-3
printf(“您好! 欢迎来到远大! \n") ; }
17
演示
演示:使用Visual Studio 2008 编辑 和运行程序的过程
18
#include <stdio.格h> 式化字符串输出
void main() {
int a = 88 ,b = 89 ; printf("%d %d\n",a,b); printf("%d,%d\n",a,b); printf("%c,%c\n",a,b); printf("a=%d,b=%d",a,b); }
3
计算机解题
理解和分析所要求的问题 寻找解题的途径和方法 生成解题算法 选用一种算法语言根据算法编写程序 通过编辑、编译、连接产生计算机能够识
别的指令序列 在计算机上执行该指令序列
4
程序的构成
程序=
数据
数据结构是指程序中的特定数据类型和数据组织形 式
算法
算法是指为达到某个目的所要执行的操作步骤
农夫、狼、山羊、蔬菜 狼、蔬菜 狼、蔬菜 农夫、狼、蔬菜 狼 狼 狼 农夫、山羊、狼 山羊 山羊 农夫、山羊
农夫、山羊 农夫
农夫、蔬菜
解法2
农夫、山羊
农夫、狼 农夫
农夫、山羊
山羊 山羊 山羊 农夫、山羊、蔬菜
蔬菜 蔬菜 蔬菜 狼、蔬菜 狼、蔬菜 狼、蔬菜 农夫、狼、山羊、蔬菜
9
流程
开始 带羊过河 带狼或菜过河
5
算法
做任何事情都有一定的步骤,为解决一个 问题而采取的方法和步骤,就称为算法
计算机算法
计算机能够执行的算法
计算机算法可分为两大类
数值运算算法:求解数值 非数值运算算法:事务管理领域
6
农夫带狼、山算羊法、蔬实菜例过河3的-1问题
一个农夫带着一条狼、一头山羊和一篮 蔬菜过河,但只有一条小船。每次只能让农 夫带一样东西过河,而且农夫在场的情况下 三样东西将相安无事。一旦农夫不在,狼会 吃羊,羊会吃蔬菜。问农夫如何能安全地带 这三样东西过河?
到输变容符源入量就号程输组是。序出成本编中操,段译作所函器时有数仅都程所通要序过将都执分这从行号个的m判a文语i断n件句函某包。数句含开语在始句内执是。行否结束。
16
简单C程序介绍 2-2
/* * 本段程序用于在屏幕中输出一段文字 * @author aya 单行*/注释 注 多 释#v释行,ioni注单cdl为从以释行umda了注ei”“n加释<(s)强//一t*/d程般i””o序用.开h可于开>始读对始一性某至直,些到”可重本以要*行/在段行”程落尾序或结的中变束注加量的释入等段方适作落法当说称称的明为为注多单释行行。注注 释{,该段内容不会被编译器编译。一般可作函数说明,说明作 者和程序功能。//printf输出语句完成输出功能
章
程序和流程图
远大电脑软件技术谢竹银
目标
了解程序、算法和流程图的概念 理解问题和处理问题的方式 掌握C程序的基本结构 掌握C程序的编译和运行过程 掌握使用Visual 2008创建C程序的步骤
2
人工解题步骤
理解和分析所面临的问题 寻找解题的途径和方法 用笔、纸、计数器等工具进行计算 验证计算结果
19
格式化字符串输入例
void main(){ int a,b,c; printf("input a,b,c\n"); scanf("%d%d%d",&a,&b,&c); printf("a=%d,b=%d,c=%d",a,b,c);
}
20
总结
程序是由数据结构和算法所构成的。
数据结构(data structure)是指程序中的特定数据类型 和数据组织形式,也就是需要我们加工的内容。
解决问题时把执羊行带的回顺来序和方法就是 流程
带菜或狼过河 再带羊过河
结束
10
流程图 2-1
流程图是算法的一种图形化表示方式。
流程图直观、清晰,更有利于人们设计与 理解算法。
起止框 处理框 输入输出框
判断框 连接点 流程线
11
流程图示例
让用户输入自己的年龄,然后判断年龄的值,如果 是小于12岁,就告诉他是儿童,否则如果小于18岁, 就告诉他是青年,否则如果小于60岁,就告诉他是 中年人,如果大于60岁,就告诉他是老年人。
21
C语言的表现能力和处理能力极强
机器语言
C语言是中级语言 C语言适用范围大
汇编语言
高级语言
15
简单C程序介绍 2-1
#include <stdio.h> void main() {
printf(“您好! 欢迎来到远大! \n") ; }
文头m函语a件文数句in包件体函s含数td命io令.h 指输每函示入一数编输个必体译出C须中语预 函 被的言处数包多程理所含数序程在语,序的一句不将头对都论制文“要大定件{用}小”头,之“如文当中何件程;,,中序”括都的中号作由内需中为函容要的结数嵌进内束和入行
12
开始 输入年龄
否 你是儿童
大于 12 否
你是青年
是
大于 18 否
你是中年
是
大于 60
是 你是老年
结束 13
一组指示计算机每一程步序动作的指令集合,通
常用某种程序设计语言编写
程序
计算机
执行结果
14
C语言背景
C语言由美国电话电报公司(AT&T)贝尔实验 室于一九七八年正式发表
特点:
C语言是一种结构化语言
算法(algorithm)则是指为达到某个目的所要执行的操 作步骤,是处理问题域中问题的解决方式。
算法应该具有五个重要的特征:有穷性、确定性ห้องสมุดไป่ตู้ 有零个或多个输入、有一个或多个输出、有效性。
一个流程图应该包含:带相应操作的框线,带有 箭头的流程线以及适当的文字和注释。
C语言最初是由美国电话电报公司(AT&T)贝尔实 验室于一九七八年正式发表,后由ANSI统一。