当前位置:文档之家› 2第二讲(顺序表)

2第二讲(顺序表)

数据结构实验2.1顺序表

附页(实验2-1代码): 头文件“DEFINE2-1.h”: #define MaxSize 10 typedef struct { char data[MaxSize]; int length; }SqList; #include #include #include"DEFINE2-1.h" void InitList(SqList * &L) //初始化线性表 { L = (SqList*)malloc(sizeof(SqList)); //分配存放线性表的空间L->length = 0; //置空线性表长度为0 } bool ListInsert(SqList *&L, int i, char e) //插入数据元素 { int j; if (i<1 || i>L->length + 1) return false; //参数错误是返回false I--; //将顺序表逻辑序号转换为物理序号for (j = L->length; j>i; j--) //将data[i]及后面元素后移一个位置L->data[j] = L->data[j - 1]; L->data[i] = e; //插入元素e L->length++; //顺序表长度+1 return true; //成功插入返回true } void DispList(SqList *L) //输出线性表L { int i; for (i = 0; ilength; i++) //扫描顺序表输出各元素值printf("%3c", L->data[i]); printf("\n\n"); } int ListLength(SqList *L) //求线性表L的长度 { return (L->length); }

2.2程序的顺序结构

程序的顺序结构 、教学目标 1、知识与技能 理解程序顺序结构的执行流程,掌握赋值语句和输入输出语句,能够编写简单的顺序结构的程序,以解决生活中的一些计算问题。 2、方法与过程 本节从简单的问题入手,如求圆的面积,让学生初步掌握赋值语句和输入输出语句的使用方法及其功能。进而转入较为复杂的问题,如编写程序使从键盘上输入一个三位数,然后反方向输出,并且运用到上一章所学的运算符、表达式等,对知识进行巩固,课程安排形成循序渐进的梯度,充分挖掘学生潜力,让有余力的学生可以有更大空间。 3、情感态度和价值观程序设计选取的题目与高一所学的数学、物理中学到的新知识有密切的联系,从而激发学生对程序设计的追求和向往。 二、重点难点 1、教学重点 (1)赋值语句和输入输出语句的使用 (2)程序顺序结构的执行流程 (3)能编写程序解决简单的应用题 2、教学难点 根据题目写出正确的程序 三、教学环境

1、教材处理 教材选自《广东省普通高中信息技术选修一:算法与程序设计》第二章第二节,原教材的第一个程序例子有关居民生活消费支出的计算,题目很简单,学生也能理解,但是涉及到的条件较多,写程序时多次使用同样的语句和函数,整个程序看起来长,而且是简单的重复。 所以上课时,把教材的内容作了的简单的处理,以求圆的面积这个程序作为导入,学生更易理解和掌握。而且这个例子也符合一般程序包括数据类型说明、数据输入、数据处理和数据输出四个部分,让刚入门的学生有规可依,进而觉得程序也不是太难学,从易到难进行过渡,提高学生的学习兴趣。 2、预备知识 学生已掌握算法的概念及描述方法,定义常量与变量的方法,程序设计的四个步骤——分析问题、建立模型、设计算法和编写程序。 3、硬件要求 建议本节课在多媒体电脑教室中完成,有广播教学系统或投影仪。 4、所需软件 学生机要安装VB6.0 或以上版本。 5、所需课时 2 课时(100 分钟) 四、教学过程 导入:

第2课时顺序结构教案

第二课时 流程图 【知识结构】 【学习目标】 1、理解流程图的概念以及顺序结构 2、能识别和理解简单的框图的功能 3、能运用顺序结构设计流程图以解决简单的问题。 【预学评价】 1、流程图是 ,其中图框表示 图框中的 表示操作的内容, 表示操作的顺序。 2 表示 ,表示 , 表示 ,表示 3、 的结构称为顺序结构。 【经典范例】 例1、已知x=4,y=2,画出计算w=3x+4y 的值的程序框图。 解:程序框如下图所示: 2 4和2分别是x 和y 的值 框中的数据或内容进行说明,它可以出现在任何位置。

例2:写出求边长为3,4,5的直角三角形内切圆面积的流程图. 解析:直角三角形的内切圆半径r =ab a + b +c (c 为斜边) 【随堂练习一】 练习1、.根据下面的流程图写出算法步骤和运行结果. 答:12 练习2、半径为r 的球面的面积计算公式为S =4πr 2,当r =10时,写出计算球面的面积的算法,画出流程图. 解析:算法如下: 第一步 将10赋给变量r ; 第二步 用公式S =4πr 2计算球面的面积S ; 第三步 输出球面的面积S . m ←p+5 开始 m ←2 p ←m+5 输出m 结束 开始 5,4,3←←←c b a r ← ab a + b +c 结束 输出S 2r S π← 开始 结束

例3、已知三个单元分别存放了变量x ,y 和z 的值,是给出一个算法,顺次交换x , y 和z 的值,并画出流程图。 解:为了达到交换的目的,可以设置一个存放中间变量的单元。 第一步:z p ← 第二步:y z ← 第三步:x y ← 第四步:p x ← 例4、例4、已知一个数的13﹪为a ,写出求这个数的一个算法,并画出流程图。 解:第一步:输入a ; 第二步:计算13 .0a b = 第三步:输出b

c数据结构习题2(顺序表)

顺序线性表习题 1.已知一个向量A中的元素按元素值非递减有序排列,编写一个过程插入一个元素x后保持该向量是有序的。 Type vector=array[0..max] of integer; Procedure insert (var A: vector ;var n,x:integer); Var i,j:integer; Begin If (x>=A[n]) then A[n+1]:=x Else begin i:=1; While (x>=A[I]) do i:=i+1; For j:=n downto A[j+1]:=A[j]; A[i]:=x;n:=n+1; end; End; 2.已知一个向量中的元素按元素值非递减有序排列,编写一个过程删除向量中多余的值相同的元素。 Procedure del(var A:vector;var n:integer); Var I;j:integer; Begin i:=1; While(i<=n-1) do If (A[i]<>A[i+1]) then i:=i+1 Else begin for j:=(i+2) to n do A[j-1]:=A[j]; n:=n-1;end;end;

3.编写一个过程将一个向量A(有n个元素)分拆成两个向量,使A中大于等于0的元素存放在B中,小于0的元素存放在C中。 4.已知在一维数组A[1:m+n]中依次存放着两个向量(a1,a2,…,a m)和(b1,b2,…, b m),编写一个过程将两个向量的位置互换,即把(b1,b2,…,b m)放到(a1,a2,…, a m)的前面。 Procedure exchang(var A:vector;m,n:integer); Var i,j,t:integer; Begin read(m,n); For i=1 to m+n Read(A[i]); For i:=m downdo 1 step –1 Begin t:=A[i]; A[i+j]:=A[i+j+1]; A[i+n]:=t; End; For i:=0 to m+n Write(A[I]); End;

顺序结构与选择结构教学设计

顺序结构与选择结构教学设计 教学分析 用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.算法框图用图形的方式表达算法,使算法的结构更清楚、步骤更直观也更精确.为了更好地学习算法框图,我们需要掌握程序框的功能和作用,需要熟练掌握三种基本逻辑结构. 三维目标 1.熟悉各种程序框及流程线的功能和作用. 2.通过模仿、操作、探索,经历通过设计算法框图表达解决问题的过程.在具体问题的解决过程中,理解算法框图的三种基本逻辑结构:顺序结构、选择结构和循环结构. 3.通过比较体会算法框图的直观性、准确性. 重点难点 教学重点:算法框图的画法. 教学难点:算法框图的画法. 课时安排 2课时 教学过程 第1课时顺序结构 导入新课 思路1(情境导入).我们都喜欢外出旅游,优美的风景美不胜收,如果迷了路就不好玩了,问路有时还听不明白,真是急死人,有的同学说买张旅游图不就好了吗,所以外出旅游先要准备好旅游图.旅游图看起来直观、准确,本节将探究使算法表达得更加直观、准确的方法.今天我们开始学习算法框图.思路2(直接导入).用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.今天开始学习算法框图. 推进新课 新知探究 提出问题 1.什么是算法框图? 2.说出终端框(起止框)的图形符号与功能. 3.说出输入、输出框的图形符号与功能. 4.说出处理框(执行框)的图形符号与功能. 5.说出判断框的图形符号与功能. 6.说出流程线的图形符号与功能. 7.说出连接点的图形符号与功能. 8.总结几个基本的程序框、流程线和它们表示的功能. 9.什么是顺序结构? 讨论结果:

第二章顺序结构程序设计

第二章顺序结构程序设计 教学时间: 6学时 教学目的: 1、掌握常量与变量的书写和定义 2、掌握三种基本数据类型 3、掌握运算符和表达式的使用 4、掌握顺序结构程序设计的方法 内容、重点、难点: 内容: 2.1 常量和变量 2.2 整型数据 2.3 实型数据 2.4 字符型数据 2.5 变量的初始化 2.6 运算符和表达式 重点: 1、三种基本数据类型的定义和使用 2、各种运算符的使用 难点: 1、运算符的使用 2、使用顺序结构编程 第2章顺序结构程序设计 顺序结构是一组按书写顺序执行的语句。本章将主要介绍程序中用到的一些基本要素(常量、变量、运算符、表达式和输入输出语句等),以及基本的数据类型(整型、实型和字符型)。 2.1 常量和变量 2.1.1常量 1)常量:在程序运行的过程中,其值不能被改变的量。 如2、4、-1.6等。 2)分类:普通常量和符号常量 3)符号常量:用一个标识符代表一个常量,这样的标识符称为符号常量。如用PI代表 3.1415926 4)注意:符号常量的值在其作用域内不能改变,也不能再被赋值。如在程序中,对PI重新赋值:PI=2;这样是不允许的。

2.1.2变量 1)变量 C语言规定在程序运行的过程中,其值可以改变的量,称为变量。 2)标识符:用来标识变量名、符号常量名、函数名、数组名、类型名和文件名的有效字符序列。 3)C语言规定:标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。一般变量名的长度不能超过8个字符。 如下面是合法的标识符,也是合法的变量名: sum,average,day,month,student,_above,k_1_2_3,basic 下面是不合法的标识符和变量名: M.D.John,$123,#33,3D64,a>,-ab 在C语言中,要求对所有用到的变量作强制定义,也就是″先定义,后使用″。 2.2 整型数据 2.2.1整型常量 C语言整型常数可用以下三种形式表示: 1. 十进制整数:数码直接开头的十进制数。 2. 八进制整数:以0开头的常量是八进制数。 3. 十六进制整数:以0x开头的数是16进制数。 2.2.2整型变量 1.整型变量的分类 整型变量可分为:基本型、短整型、长整型和无符号型四种,其定义的关键字如下: (1)基本型,以int表示。范围为-32768~32767,即-215~(215-1)。 (2)短整型,以short int或short表示。范围与基本型相同。 (3)长整型,以long int或long表示。若一个整型常量后面加上一个字母l或L,则认为是long int型常量。范围为-2147483648~214783647即-231~(231-1) (4)无符号型,在实际应用中变量的值常常是正的,如年龄、工资、成绩等,因此可以将变量定义为″无符号″类型。 无符号型又分为: ①无符号整型,以unsigned int或unsigned表示。范围:0~65535 即0~(216-1)。 ②无符号短整型,以unsigned short表示。范围:0~65535即0~(216-1)。 ③无符号长整型,以unsigned long表示。范围:0~4294967295即0~(232-1)。 2. 整型变量的定义 变量的定义格式为:数据类型变量表列; 其中若定义多个同类型的变量,则用逗号分开。 例:int a,b;(指定变量a,b为整型)

顺序表的基本操作 (2)

顺序表的基本操作 /*sqList.h 文件*/ #define LIST_INIT_SIZE 50 /*初始分配的顺序表长度*/ #define INCREM 10 /*溢出时,顺序表长度的增量*/ #define OVERFLOW 1 #define OK 0 #define ERROR -1 typedef int ElemType; /*定义表元素的类型*/ typedef struct SqList{ ElemType *elem; /*存储空间的基地址*/ int length; /*顺序表的当前长度*/ int listsize; /*当前分配的存储空间*/ }SqList; /*sqListOp.h 文件*/ #include "Sqlist.h" int InitList_sq(SqList &L); //顺序表创建函数定义 void FreeList_sq(SqList &L); //顺序表销毁函数定义 int ListInsert_sq(SqList &L, int i, ElemType e); //在顺序表的位置i插入元素e void PrintList_sq(SqList &L); //遍历并输出顺序表所有元素 int ListDelete_sq(SqList &L, int i,ElemType &e); //删除顺序表第i个元素的 bool ListEmpty(SqList &L); //判断顺序表是否为空 int LocateElem_sq(SqList L,ElemType e); //在顺序表里查找出第1个与e相等的数据元素位置//已知线性表La和Lb的元素按值非递减排列 //归并后的La和Lb得到新的顺序线性表Lc,Lc的元素也是按值非递减排列 void MergeList_sq(SqList La,SqList Lb, SqList &Lc); /*sqListOp.cpp文件*/ #include #include #include #include "sqlistOp.h" //创建顺序表 int InitList_sq(SqList &L) { L.elem = (ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType)); if (!L.elem) exit(OVERFLOW); /*初始化失败,返回0*/ L.length = 0; /*置空表长度为0*/ L.listsize = LIST_INIT_SIZE; /*置初始空间容量*/ return OK; /*初始化成功,返回1*/

高中信息技术 第二章第一节程序的顺序结构教学设计 教科版选修1

程序的顺序结构 一、基本说明 1模块:算法与程序设计(选修1) 2年级:高中二年级 3所用教材版本:广东教育出版社 4所属的章节:第二章第二节 5学时数:40分钟(机房授课) 二、教学设计 1、教学目标:巩固程序设计的一般过程,特别是算法设计一环;初步掌握输入输出语句及赋值语句的应用;初次独立完成一个或两个简单程序设计的全过程。 2、内容分析:本节课内容简单,但是却是学好其它结构的基础,这节课不仅仅是让学生们掌握输入输出语句、赋值语句的使用,而且通过对流程图的观察,得出顺序结构的特点,更重要的是让学生们在解决实际问题的过程中,深刻体会到算法在整个程序设计过程中所占的重要位置。 3、学情分析:高二学生,经过一年的学习,有一定的操作能力,而且在高一下学期,在数学学习过程中,接触到程序设计的理论知识,有一定的理论基础,但是,与现行教材的VB程序设计有一定的区别,而且,学生的基础不是很好,而这课程又偏向理论,学生学习兴趣不是很高。 4、设计思路:本节课,首先让学生尽快地学会使用输入输出语句和赋值语句,这个只要让学生做几个小练习就可以了,然后让学生们做一个求长方形面积和周长的程序设计,重点在于学生把流程图画出来,然后用所学的语句做一个完整的程序,并上机调试运行,检查结果是否有误。考虑到学生输入程序速度不同,学生掌握本节课所学内容的深度不同,布置两个不同的作业,基础作业就是求圆的面积和周长,扩展作业就是两变量的值互换。

四、教学反思 1、本节课是重点偏向理论知识,学生学习兴趣并不是很高,而且本校学生无论从理论上,还是动手能力上,都不令人满意,这是现实,所以本节课设计的最大亮点就是想方设法地降低学生学习的难度,减少学生学习的困难。比如说,学生输入程序慢,我采用的三个任务的实际输入语句都不超过七条,而且每条输入的内容也是比较少的。从上课的情况看,绝大部分学生还是完成了任务1和任务2,少部分学生完成了任务3,从一点上讲,教学是很成功的。 2、在具体教学过程中,我设置了三个讨论环节,意图在于调动大家的积极性,实现互动性教学,从实际上课情况上看,有一定的效果,但是容易跑题,这一点,我以后上课时多加注意。 3、在教学方法上,我采用了任务驱动教学和讲授教学相结合的方式,因为有些东西你要让学生自己领悟,确实有一定的难度,而且上课时间又不够,在关键的地方讲一讲还是有必要的,比如说三种基本语句的语法格式及顺序结构的特点。从学生反映的情况来看,学生还是基本上掌握了这些要点,这充分说明了讲授教学方法还是有一定的使用场合。 4、在任务的选取上,我还是以教材上的例子或作业为例,灵活性不强,以后有待加强。

2程序的顺序结构

程序的顺序结构 一、教学目标 1、知识与技能 理解程序顺序结构的执行流程,掌握赋值语句和输入输出语句,能够编写简单的顺序结构的程序,以解决生活中的一些计算问题。 2、方法与过程 本节从简单的问题入手,如求圆的面积,让学生初步掌握赋值语句和输入输出语句的使用方法及其功能。进而转入较为复杂的问题,如编写程序使从键盘上输入一个三位数,然后反方向输出,并且运用到上一章所学的运算符、表达式等,对知识进行巩固,课程安排形成循序渐进的梯度,充分挖掘学生潜力,让有余力的学生可以有更大空间。 3、情感态度和价值观 程序设计选取的题目与高一所学的数学、物理中学到的新知识有密切的联系,从而激发学生对程序设计的追求和向往。 二、重点难点 1、教学重点 (1)赋值语句和输入输出语句的使用; (2)程序顺序结构的执行流程; (3)能编写程序解决简单的应用题。 2、教学难点 根据题目写出正确的程序。 三、教学环境 1、教材处理 教材选自《广东省普通高中信息技术选修一:算法与程序设计》第二章第二节,原教材的第一个程序例子有关居民生活消费支出的计算,题目很简单,学生也能理解,但是涉及到的条件较多,写程序时多次使用同样的语句和函数,整个程序看起来长,而且是简单的重复。 所以上课时,把教材的内容作了简单的处理,以求圆的面积这个程序作为导入,学生更易理解和掌握。而且这个例子也符合一般程序包括数据类型说明、数据输入、数据处理和数据输出四个部分,让刚入门的学生有规可依,进而觉得程序也不是太难学,从易到难进行过渡,提高学生的学习兴趣。 2、预备知识:学生已掌握算法的概念及描述方法,定义常量与变量的方法,程序设计的四个步骤——分析问题、建立模型、设计算法和编写程序。 3、硬件要求:建议本节课在多媒体电脑教室中完成,有广播教学系统或投影仪。 4、所需软件:学生机要安装或以上版本。 5、所需课时:1课时 四、教学过程 导入:演示求圆的面积这道题的程序,让学生明白通过程序可以解决数学中的问题,也给学生展示完整的程序代码,这道程序的功能就是靠这些代码来控制的,引起学生的注意,激发他们的求知欲。 一、演示上述的程序,并把程序代码中的各行代码的作用解释一遍,顺便把程序的执行流程说明一下,编写的程序与设计的算法是一致的。 Private sub command1_click() ‘定义名为command1_click()的事件过程

实验二顺序表及链表

常熟理工学院 《数据结构与算法》实验指导与报告书 __2017_学年第__1__ 学期 专业:物联网工程___________________________ __ 学号:__________________________ ____ 姓名:________________________________ __ 实验名称:顺序表与链表_______________________________ 实验地点:N6-210_____________________________ ____ 指导教师:聂盼红__________________________ ___

计算机科学与工程学院 2017

实验二顺序表与链表 【实验目的】 1、掌握线性表中元素的前驱、后续的概念。 2、掌握顺序表与链表的建立、插入元素、删除表中某元素的算法。 3、对线性表相应算法的时间复杂度进行分析。 4、理解顺序表、链表数据结构的特点(优缺点)。 【实验学时】 4学时 【实验预习】 回答以下问题: 1、顺序表的存储表示 在顺序表中,任一数据元素的存放位置是从起始位置开始、与该数据元素的位序成正比的对应存储位置,借助LOC(ai)=LOC(a1)+(i-1)*1确定,则顺序表是一种随机存取的存储结构。 2、单链表的存储表示 线性链表也称单链表,在每一个结点中只包含一个指针,用于指示该结点的直接后继结点,整个链表通过指针相连,最后一个结点因为没有后继结点,其指针置为空(NULL)。这样,链表中所有数据元素(结点)构成一对一的逻辑关系,实现线性表的链式存储。 【实验容和要求】 1、按照要求完成程序exp2_1.c,实现顺序表的相关操作。以下函数均具有返回值,若操作完成,返回OK,操作失败返回ERROR。函数需返回的其他数据,使用函数参数返回。exp2_1.c部分代码如下: #include #include #define ERROR 0 #define MAXSIZE 100 #define OK 1 typedef int ElemType; /*定义表元素的类型*/ typedef struct slist{ ElemType *list; int listsize; int length;

1、1、2、1程序框图及顺序结构学案(已修改)

1、1、 2、1程序框图及顺序结构 一、【学习目标】 1、掌握程序框的画法和功能. 2、了解什么是程序框图,掌握学习程序框图的意义. 3、掌握顺序结构的应用,并能解决与顺序结构有关的程序图的画法. 二、【自学内容和要求及自学过程】 1、阅读教材第6—7页内容,回答问题(程序框图) <1>什么是程序框图? <2>请说出程序框、流程线的符号与功能. 结论:<1>程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执 行顺序.<2>①椭圆形框:表示程序的开始和结束,称为终端框(起止框),表示开始时只有一个出口,表示结束时只有一个入口.②平行四边形框:表示一个算法的输入和输出信息,又称为输入和 输出框,它有一个入口和出口.③矩形框:表示计算、赋值等 处理操作,又称为处理框(执行框),它有一个入口和出口.④菱形框: 是用来判断给出的条件是否成立,根据判断结果来决定程序的流向,称为判断框,它有一个入口和两个出口.⑤流程线:表示程序的流向.⑥圆圈:连接点.表示相关两框的连接处,圆圈内的数字相同 的含义表示相连接在一起. (具体见教材第6页). 2、阅读教材第7—8页内容,回答问题(顺序结构) 材料:算法的三种基本逻辑结构分别称为顺序结构、条件结构和循环结构,尽管算法千差万别,但都是由这三种基本逻辑结构构成的.如图: <3>上图哪一个是顺序结构、条件结构、逻辑结构? <4>什么是顺序结构? 结论:<3>分别对应图一、二、三.<4>很明显,顺序结构是由若干个依次执行的步骤组成的.这是任何一个算法都离不开的基本结构.

2021北师大版数学必修3配套课时作业:第二章 2.1 顺序结构与选择结构

第二章算法初步 2算法框图的基本结构与设计 2.1顺序结构与选择结构 [课时作业] [A组基础巩固] 1.要解决下面的四个问题,只用顺序结构不能画出其程序框图的是() A.计算1+2+…+10的值 B.当圆的面积已知时,求圆的周长 C.给定一个数x,求其绝对值 D.求函数f(x)=x2-3x-5的函数值 解析:C中要判断x是大于等于0还是小于0,才能求其绝对值. 答案:C 2.下列说法:①条件结构是最简单的算法结构;②顺序结构就是按照程序语句运行的自然顺序,依次地执行顺序;③条件结构可以根据设定的条件,控制语句流程,有选择地执行不同的语句序列.其中正确的说法是() A.①②B.①③ C.②③D.①②③ 答案:C 3.运行如图所示的程序框图,输出的结果为11,则输入的x的值为() A.6B.5

C.4D.3 解析:依题意,令2x-1=11,解得x=6,即输入的x的值为6. 答案:A 4.如图所示,当x1=6,x2=9,p=8.5时,x3等于() A.7 B.8 C.10 D.11 答案:B 5.如图所示的算法框图,输出的结果是S=7,则输入A的值等于________. 解析:2A+1=7,∴A=3. 答案:3 6.定义某种新运算“?”:S=a?b的运算原理为如图的程序框图所示,则式子5?4-3?6=________.

解析:由题意知5?4=5×(4+1)=25,3?6=6×(3+1)=24,所以5?4-3?6= 1. 答案:1 7.已知点P(x0,y0),直线l:x+2y-3=0,求点P到直线l的距离的一个算法程序框图如图所示,则在①处应填________. 解析:应填上点到直线的距离公式. 答案:d=|x0+2y0-3| 5 8.如图所示的程序框图表示的是求方程ax+b=0(a,b为常数)的 解.问:该程序框图正确吗?若不正确,请问它是哪一个问题的程序框图?应怎样修改?请写出正确的算法及程序框图. 解析:不正确,该程序框图是求方程ax+b=0(a≠0)的解. 正确的算法:

第2章 顺序结构、选择结构和循环结构的程序设计 习题答案

第二章顺序结构、选择结构和循环结构的程序设计 一、简答 1. 参考书上23页 2. while先判断,后执行,do while先执行,后判断,循环体至少执行一次 3. 参考书上29页 4. continue,结束本次循环 break,结束循环 区别在于,continue只结束本次循环重新进行下次循环,而break结束整个循环 二、填空题 1. 顺序结构,选择结构,循环结构 2. if else 和switch 3. 语句1 ,语句2 4. 零 5. break ,continue 6. 7 ,0 7. ? : ,双目 三、单选 1-5 ABDCC 6-10 DBACA 11-15 CBCDA 16-20 ACBAD 21-25 ADCBB 26-29 BCCA 四、程序分析题 1. end 1end 2. num%10 max = t 3. j%3 4. 99 五、编程题 1. #include int main(){ char str[100] ; gets(str) ; int n1 , n2 , n3 , n4 , i ; n1 = n2 = n3 = n4 = 0 ; for(i = 0 ; str[i] != '\0' ; ++i) { if(str[i] >= 'A' && str[i] <= 'Z') ++n1 ; else if(str[i] >= 'a' && str[i] <= 'z') ++n2 ; else if(str[i] >= '0' && str[i] <= '9') ++n3 ; else

} printf("大写字母:%d\n" , n1) ; printf("小写字母:%d\n" , n2) ; printf("数字字符:%d\n" , n3 ) ; printf("其他字符:%d\n" , n4) ; return 0; } 2. #include #include int main(){ int array[4] , min , max , i ; for(i = 0 ; i < 4 ; ++i) scanf("%d" , &array[i]) ; min = max = array[0] ; for(i = 1 ; i < 4 ; ++i) { if(array[i] < min) min = array[i] ; else if(array[i] > max) max = array[i] ; } printf("min = %d , max = %d\n" , min , max) ; return 0; } 3. #include int main(){ float money , lixi ; int year ; scanf("%f %d" , &money , &year) ; switch(year) { case 1 : lixi = money * 0.63 / 100 ;

2顺序结构与条件分支结构

河北武邑中学教师课时教案

河北武邑中学教师课时教案 问题与情境及教师活动 第四步 第五步, 思考2:我们将上述算法用下面的图形表示: 思考3:在上述程序框图中,有4种程序框,2种流程线,它们分别有何特定的 名称和功能?试分别说明。 注意:在学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画 程序框图的规则如下: (1)使用标准的图形符号。 (2)框图一般按从上到下、从左到右的方向画。 (3)除判断框外,大多数流程图符号只有一个进入点和一个退出点。判 断框具有超过一个退出点的惟一符号。 (4)判断框分两大类,一类判断框“是”与“否”两分支的判断,而且 有且仅有两个结果;另一类是多分支判断,有几种不同的结果。 (5)在图形符号内描述的语言要非常简练清楚。 探究(二):算法的基本逻辑结构 思考1:在逻辑结构上,“判断整数n (n>2)是否为质数”的程序框图由几部分 组成? 学生活动

河北武邑中学教师课时教案 问题与情境及教师活动 程序框图包含下面三种逻辑结构可以用如下程序框图表示: 输人?7 2 循环结构 /a ; 恂不見匪妙/出s 是质飯/ 顺序结构 条件结构 探究(三):顺序结构 任何一个算法各步骤之间都有明确的顺序性,在算法的程序框图中, 由若干个依次执行的步骤组成的逻辑结构,称为顺序结构。 顺序结构描述的是是最简单的算法结构,语句与语句之间,框与框 之间是按从上到下的顺序进行的。 【例3】已知一个三角形三条边的边长分别为 a , b , c ,利用海伦一秦九 韶公式设计一个计算三角形面积的算法,并画出程序框图表示 . 算法分析:这是一个简单的问题,只需先算出 p 的值,再将它代入分 式,最后输出结果?因此只用顺序结构应能表达出算法 ? 算法步骤如下: 第一步,输入三角形三条边的边长 a,b,c. 第二步,计算 p=a b c 学生活动 第三步,计算 第四步,输出 程序框图如下: s= p(p -a)(p -b)(p -c). s. 点评:很明显,顺序结构是由若干个依次执行的步骤组成的,它是 最简单的逻辑结构,它是任何一个算法都离不开的基本结构 探究(四):条件结构 在一个算法中,经常会遇到一些条件的判断,算法的流程根据 条件是否成立有不同的流向?条件结构就是处理这种过程的结构

高中信息技术2.2程序的顺序结构教案

2-2 程序的顺序结构 一、教学目标 1、知识与技能 理解程序顺序结构的执行流程,掌握赋值语句和输入输出语句,能够编写简单的顺序结构的程序,以解决生活中的一些计算问题。 2、方法与过程 本节从简单的问题入手,如求圆的面积,让学生初步掌握赋值语句和输入输出语句的使用方法及其功能。进而转入较为复杂的问题,如编写程序使从键盘上输入一个三位数,然后反方向输出,并且运用到上一章所学的运算符、表达式等,对知识进行巩固,课程安排形成循序渐进的梯度,充分挖掘学生潜力,让有余力的学生可以有更大空间。 3、情感态度和价值观 程序设计选取的题目与高一所学的数学、物理中学到的新知识有密切的联系,从而激发学生对程序设计的追求和向往。 二、重点难点 1、教学重点 (1)赋值语句和输入输出语句的使用 (2)程序顺序结构的执行流程 (3)能编写程序解决简单的应用题 2、教学难点

根据题目写出正确的程序 三、教学环境 1、教材处理 教材选自《广东省普通高中信息技术选修一:算法与程序设计》第二章第二节,原教材的第一个程序例子有关居民生活消费支出的计算,题目很简单,学生也能理解,但是涉及到的条件较多,写程序时多次使用同样的语句和函数,整个程序看起来长,而且是简单的重复。 所以上课时,把教材的内容作了的简单的处理,以求圆的面积这个程序作为导入,学生更易理解和掌握。而且这个例子也符合一般程序包括数据类型说明、数据输入、数据处理和数据输出四个部分,让刚入门的学生有规可依,进而觉得程序也不是太难学,从易到难进行过渡,提高学生的学习兴趣。 2、预备知识 学生已掌握算法的概念及描述方法,定义常量与变量的方法,程序设计的四个步骤——分析问题、建立模型、设计算法和编写程序。 3、硬件要求 建议本节课在多媒体电脑教室中完成,有广播教学系统或投影仪。 4、所需软件 学生机要安装VB6.0或以上版本。 5、所需课时 2课时(100分钟) 四、教学过程

2.顺序结构和条件分支结构

教师课时教案 备课人授课时间 课题1.1.2程序框图与算法的基本逻辑结构(一) 课标要求1.掌握程序框图的概念;2.会用通用的图形符号表示算法; 3.掌握画程序框图的基本规则,能正确画出程序框图; 教学目标 知识目标 掌握程序框图的概念;会用通用的图形符号表示算法,掌握算法的三 个基本逻辑结构;掌握画程序框图的基本规则,能正确画出程序框图。 技能目标 通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程; 学会灵活、正确地画程序框图。 情感态度价值观 通过本节的学习,使我们对程序框图有一个基本的了解;掌握算法语 言的三种基本逻辑结构,明确程序框图的基本要求;认识到学习程序 框图是我们学习计算机的一个基本步骤,也是我们学习计算机语言的 必经之路。 重点程序框图的基本概念、基本图形符号和3种基本逻辑结构难点综合运用这些知识正确地画出程序框图。 教学过程及方法 问题与情境及教师活动学生活动 一.导入新课 用自然语言表示的算法步骤有明确的顺序性,但是对于在一 定条件下才会被执行的步骤,以及在一定条件下会被重复执行的 步骤,自然语言的表示就显得困难,而且不直观、不准确.因此, 本节有必要探究使算法表达得更加直观、准确的方法.今天开始学 习程序框图. 二.研探新知 探究(一):程序框图 自学P6,总结以下问题: (1)什么是程序框图? (2)说出终端框(起止框)的图形符号与功能. (3)说出输入、输出框的图形符号与功能. (4)说出处理框(执行框)的图形符号与功能. (5)说出判断框的图形符号与功能. (6)说出流程线的图形符号与功能. (7)说出连接点的图形符号与功能. (8)总结几个基本的程序框、流程线和它们表示的功能. 思考1:“判断整数n(n>2)是否为质数”的算法步骤如何? 第一步,给定一个大于2的整数n; 第二步, 第三步,

整数数位顺序表 (2)

整数数位顺序表

四上数学练习一 姓名:学号:一、读数: 184020:() 1567009:() 6302050:() 50060003:() 2060800:() 4302000:()

二、写数: 八万九千二百三十:()五百零三万四千:()二十五万零七百:()一百万零五十:() 四千三百零二万三千五百:()六万八千零一:()三、写数: 九百万、四十万、六万、五千组成的数是()。 三千万、五万、七百组成的数是()。 八千万、九十组成的数是()。 四、用0,0,0,9,8,7,6这七个数字按要求组成七位数。 1、读三个0:() 3、读一个0:() 2、读两个0:() 4、所有的0都不读:() 五、10个一万是();10个一千万是()。 一百万有10个();10个()是一百万。一亿里面有()个万。 六、800500600这个数的最高位是()位,它是()位数。 “8”表示8个(),“5”表示()个(),“6”表示()。

七、在数位顺序表中,从个位起,万位是第()位,亿位是第()位。 百万位的右边是()位,百万位的左边是()位。 一个六位数的最高位是()位;最高位是千万位的数是()位数。 四上数学练习二 姓名:学号: 例书本p15,省略百位后面的尾数,1843527≈1843500或1843527≈18435百省略千位后面的尾数,1843527≈1844000或1843527≈1844千 省略万位后面的尾数,1843527≈1840000或1843527≈184万 例2、省略万位后面的尾数,改写成以“万”为单位的数。 7580000=758万7584410≈758万(不能写成7580000) 省略亿位后面的尾数,改写成以“亿”为单位的数。 92000000000=900亿1295330000≈13亿(不能写成1300000000)1、读数或写数。 三千零六十八万零五百三十五亿六千零二万八千五百 ()() 一千一百零九亿零四十万八百零三万零五十 ()() 40100400200 2500050000

实验3-2-顺序结构(2)

实验3-2 顺序结构程序设计(二) 1 【实验目的】 (1)掌握C语言的顺序结构设计的方法 (2)掌握基本的算术运算符和常用的数学函数的使用 (3)熟练掌握复杂的数据输入输出的方法 【实验要求】 (1)熟练掌握C语言的顺序结构设计的方法 (2)熟练掌握基本的算术运算符和常用的数学函数的使用 (3)熟练掌握复杂数据的输入输出的方法 【实验环境】 (1) Microsoft XP操作系统 (2) Microsoft VC++ 6.0 【实验内容】 1、程序改错: 阅读下面程序段,编译调试程序,并改正错误语句。 // 下面程序将一个实数转换成百分数形式(%),不输出无意义的0, 如输入:0.567, 则输出56.7% #include int main() {

double a; scanf("%lf\n",&a); printf("%lf\n",a*100); return 0; } 输入:输入一个实数。 输出:输出其百分之形式 样例输入:0.567 样例输出:56.7% 2、温度转换https://www.doczj.com/doc/937270295.html,/acmhome/problemdetail.do?&method=showdetail&id=1494 题目描述:输入一个华氏温度,输出摄氏温度,其转换公式为:C=5(F-32)/9 输入:输入数据只有一个实数,即华氏温度。 输出:输出数据只有一个,即摄氏温度,保留2位有效数字。 样例输入:32.0 样例输出:0.00 3、圆的直径、周长和面积 https://www.doczj.com/doc/937270295.html,/acmhome/problemdetail.do?&method=showdetail&id=2982题目描述 PPMM们喜欢简单,这题就是为你们准备的。要求读入一个圆的半径,并打印圆的直径、周长和面积。PI的取常量3.1415926。 输入:输入只有一行,一个double类型的数表示半径。

(完整word)高中数学第二章算法初步2.2算法框图的基本结构及设计2.2.1顺序结构和选择结构北师大版3讲解

2.2.1顺序结构与选择结构 本节教材分析 一、三维目标 1、知识与技能 (1)理解流程图的顺序结构和选择结构; (2)能用文字语言表示算法,并能将算法用顺序结构和选择结构表示简单的流程图. 2、过程与方法 学生通过模仿、操作、探索、经历设计流程图表达解决问题的过程,理解流程图的结构. 3、情感、态度与价值观 学生通过动手作图,用自然语言表示算法,用图表示算法.进一步体会算法的基本思想——程序化思想,在归纳概括中培养学生的逻辑思维能力. 二、教学重点:算法的顺序结构与选择结构. 三、教学难点:用含有选择结构的流程图表示算法. 四、教学建议 我们在学习这部分内容时,首先要弄清各种图形符号的意义,明确每个图形符号的使用环境,图形符号间的联结方式.例如“起止框”只能出现在整个流程图的首尾,它表示程序的开始或结束,其他图形符号也是如此,它们都有各自的使用环境和作用,这是我们在学习这部分知识时必须要注意的一个方面.另外,在我们描述算法或画程序框图时,必须遵循一定的逻辑结构,事实证明,无论如何复杂的问题,我们在设计它们的算法时,只需用顺序结构、条件结构和循环结构这三种基本逻辑就可以了,因此我们必须掌握并正确地运用这三种基本逻辑结构.卉98 新课导入设计 导入一 如果你向全班同学介绍一下你心中偶像的形象,你认为用语言描述好还是拿出偶像的照片给同学们看好?说明一下你的理由.算法除了用自然语言表示外, 还可用程序框图表示. 导入二 问题: 右面的“框图”可以表示一个算法吗? 按照这一程序操作时,输出的结果是多少? 若第一个“输入框”中输入的是77,则输出的结果又是多少? 答:这个框图表示的是一个算法,按照这一程序操作时,输出 的结果是0;若第一个“输入框”中输入的是77,则输出的结果是 5. 在这个“框图”中包含了算法的两种基本结构——顺序结构和 选择结构,这就是我们这一节要学习的. 第一课时 导入新课 思路1(情境导入) 我们都喜欢外出旅游,优美的风景美不胜收,如果迷了路就不好玩了,问路有时还听不明白,真是急死人,有的同学说买张旅游图不就好了吗,所以外出旅游先要准备好旅游图.旅游图看起来直观、准确,本节将探究使算法表达得更加直观、准确的方法.今天我们开始学习程序框图.

相关主题
文本预览
相关文档 最新文档