① 教学计划安排检验程序(拓扑排序)
#include"malloc.h"
#include"stdio.h"
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define STACK_INIT_SIZE 100 //存储空间初始分配量
#define STACKINCREMENT 10 //存储空间分配增量
#define MAX_VERTEX_NUM 20
typedef int Status;
typedef int SElemType;
typedef struct {
SElemType *base; //在栈构造之前和销毁之后,base的值为NULL
SElemType *top; //栈顶指针
int stacksize; //当前已分配的存储空间,以元素为单位
}SqStack;
typedef struct ArcNode{
int adjvex;//该弧所指向的顶点的位置
struct ArcNode *nextarc;//指向第一条依附该顶点的弧的指针
}ArcNode;
typedef struct VNode{
char data[10];
ArcNode *firstarc;
}VNode,AdjList[MAX_VERTEX_NUM];
typedef struct{
AdjList vertices;
int vexnum,arcnum;//图的当前顶点数和弧数
}ALGraph;
int indegree[20]={0}; //存储图的入度的全局变量数组
Status InitStack(SqStack &S)
{
//构造一个空栈S
S.base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType));
if(!S.base)
return ERROR;//内存分配失败
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
return OK;
}//InitStack
Status Push(SqStack &S,SElemType e)
{
if(!S.base)
return ERROR;//存储分配失败
*S.top++=e;
return OK;
}//Push
Status Pop(SqStack &S,SElemType &e)
{
//若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR
if(S.top==S.base)
return ERROR;
e=*--S.top;
return OK;
}//Pop
Status StackEmpty(SqStack S)
{//判断栈是否为空,为空返回TRUE,否则返回FALSE
if(S.top==S.base)
return TRUE;
else return FALSE;
}
Status CreateDG(ALGraph &G)
{//建立邻接表
int i,v,w,vex;
printf("请输入课程数目(课程数必须小于20):");
scanf("%d",&vex);
if(vex>=20)
{
printf("请重新输入课程数目(课程数必须小于20):");
scanf("%d",&vex);
}
G.vexnum=vex;
printf("请输入课程间的先后关系数:");
scanf("%d",&G.arcnum);
printf("请输入课程的代表值(课程名的长度小于等于10个字符):");
for(i=0;i<G.vexnum;i++)
{ printf("\n请输入第%d门课程名:",i+1);
scanf("%s",&G.vertices[i].data);
printf("这门课对应的编号是%d",i+1);
G.vertices[i].firstarc = NULL;
}//输入顶点信息
printf("\n请输入课程间两两间的先后关系(用对应编号表示中间用空格隔开,比如1 2):");
for(i=0;i<G.arcnum;i++){//输入边的信息
scanf("%d %d",&v,&w);//形式2
ArcNode *p= new ArcNode;//建立结点
if(!p) return ERROR;
p->adjvex=w-1;
p->nextarc=G.vertices[v-1].firstarc;//顶点v的链表
G.vertices[v-1].firstarc=p;//添加到最左边
}
return OK;
}
void FindInDegree(ALGraph G)
{//求图的入度
ArcNode* p;
for(int i=0;i<G.vexnum;i++)
{
p=G.vertices[i].firstarc;
while(p)
{
for(int j=0;j<G.vexnum;j++)
if(p->adjvex==j)
indegree[j]++;
p=p->nextarc;
}
}
}
Status TopologicalSort(ALGraph G)
{ //拓扑排序
//有向图G采用邻接表存储结构
SqStack S1,S2;
ArcNode* p;
int i,count,k;
FindInDegree(G);
InitStack(S1);
InitStack(S2);
for(i=0;i<G.vexnum;++i)
if(!indegree[i])
Push(S1,i); //把入度为0的压入栈S1
count=0; //对输出顶点计数
while(!StackEmpty(S1))
{
printf("第%d学期应学的课程:",count+1);
while(!StackEmpty(S1))
{
Pop(S1,i);
printf("%s ",G.vertices[i].data);//输出i号顶点
Push(S2,i); //把i号顶点压入栈S2
}
printf("\n");
count++; //计数
while(!StackEmpty(S2))
{
Pop(S2,i);
for(p=G.vertices[i].firstarc;p;p=p->nextarc)
{
k=p->adjvex; //对i号顶点的每个邻接点的入度减1
if(!(--indegree[k])) //若入度减为0,则入栈
Push(S1,k);
}
}
}
if(count<G.vexnum) //该有向图有回路
return ERROR;
else return OK;
}//TopologicalSort
int main()
{
ALGraph G;
CreateDG(G);
TopologicalSort(G);
return 0;
② 教学计划进度表、教学计划、教案各有什么区别 请有经验的教师同行回答.
教学计划是对整册书的一个教学整体规划,它包含了指导思想,学情分析回,教学目标,教学重难点,教学内容答分析,以及教学进度安排,教案则是对教学内容的细化,是对每个课时的教学计划,在课前要充分准备好教案,准备好课堂上的每一个环节,每个环节之间怎么去过度,做好课堂规划以及课后的教学反思.
③ 教学计划进度表、教学计划、教案各有什么区别
一、内容上的区别
1、教学计划
是课程设置的整体规划。
它规定不同课程类型相互结构的方式,也规定了不同课程在管理学习方式的要求及其所占比例,同时,对学校的教学、生产劳动、课外活动等作出全面安排,具体规定了学校应设置的学科、课程开设的顺序及课时分配,并对学期、学年、假期进行划分。
2、教学计划进度表
是将课程设置的整体规划以表格的方式展示出来。
对课程、生产劳动、课外活动等作出表格的推进计划,让人一目了然。
3、教案
是教师为顺利而有效地开展教学活动。
根据课程标准,教学大纲和教科书要求及学生的实际情况,以课时或课题为单位,对教学内容、教学步骤、教学方法等进行的具体设计和安排的一种实用性教学文书。教案包括教材简析和学生分析、教学目的、重难点、教学准备、教学过程及练习设计等。
二、功能上的区别
1、教学计划
它规定不同课程类型相互结构的方式,也规定了不同课程在管理学习方式的要求及其所占比例,同时,对学校的教学、生产劳动、课外活动等作出全面安排,具体规定了学校应设置的学科、课程开设的顺序及课时分配,并对学期、学年、假期进行划分。
2、教学计划进度表
对学校的教学、生产劳动、课外活动等作出全面安排,具体规定了学校应设置的学科、课程开设的顺序及课时分配,并对学期、学年、假期进行划分。
3、教案
根据课程标准,教学大纲和教科书要求及学生的实际情况,以课时或课题为单位,对教学内容、教学步骤、教学方法等进行的具体设计和安排的一种实用性教学文书。教案包括教材简析和学生分析、教学目的、重难点、教学准备、教学过程及练习设计等。
(3)教学计划进度表检查扩展阅读
教学计划管理的方式方法
教学计划管理是通过对未来教学工作和活动的设计,控制和指导整个教学过程,从而使教学活动处于最佳状态,并取得最好教学效果的活动。
实施教学计划管理,国家教育主管部门要担当制定课程计划、编制教学大纲、组织编写教科书等任务;而学校,主要是抓好全校教学工作计划、教研组工作计划以及教师工作计划的制定和实施。
教学质量管理是为保证培养规格,促使教学效果达到课程计划、教学大纲和教科书所规定的要求,对教学过程和效果进行指导、控制的活动。
是教学管理的核心。一般程序是:确定教学质量的标准,主要依据教学目标,使之分解、具体化;进行教学质量管理检查和评价,通过与教育质量标准的对照比较,发现问题,改进教学;进行教学质量分析,找出解决或改进教学的路线和方法;进行教学质量控制,依据分析结果,实施改进措施。
④ 怎样安排合理的进度表
我们应该给自己的计划安排一个合理的进度表。
前面我们讲了计划要尽可能从上一级明确到下一级。
比方说你要实现一个锻炼身体的计划,那么不妨以六、七天为一个单位,每天安排一个小时运动。
又比方说,你想在紧张的工作之余让自己享受一下,那么你可以安排自己每个周末去看一场足球比赛。
要记住把每个计划都当成是某一天的第一任务,全力以赴去完成。然后对本年度或一个月来各个目标的执行情况一一检查,凡是能够顺利完成的计划加以保留,否则便取消或更改。
另外,一个没有期限的梦想或是计划,效果是非常有限的。
有些人设立过非常多的计划,但是,却很少实现,原因就是这些计划当中:
第一,是不合理的;
第二,没有期限;
第三,缺乏详细的计划;
第四,没有天天衡量进度。
这种计划是注定要失败的。假如偶尔也取得成功的话,一定也是侥幸得来的运气。
千万不要靠运气生活,你一定要靠计划生活,这是成功者必备的条件,也是每一个成功者不断在做的事情,每一个成功者都有明确的计划,也都有伟大的梦想,同时他们都具有具体可实现的计划和期限。
经过思考后的计划应该有一定的余地,让你足以应付突发事件,调整工作日程,建立人际关系。由于一切都在个人掌握之中,便无须瞻前顾后。俗话说:“天有不测风云,人有旦夕祸福。”如此井井有条的行动计划让你有充足的余地去应付突发的一切。
下面,我们就说一下具体规划。
一年之中,也许你有10个、20个计划,也许只有七八个,不管这些计划有没有可能实现,全部把它们写下来;先不要设定期限,从全部计划中选出四个最重要、最想要在今年实现的计划,再选出其中一个最重要的为核心计划。
所谓核心计划,就是你在今年最想实现的计划,假如今年只能够完成一个计划,就选那一个;选出核心计划之后,再把其他三个依照优先顺序排列;当你完成这些步骤时,你已经有四个非常明确的计划,而且是依照优先顺序来排列的。
有90%的人设立计划,可是他们没有排定优先顺序,因此他的时间管理不当,时常在同一个时间,做非常多的事情,而且效率不佳。
列出优先顺序后,下一个是要订出具体的完成期限。
每一个计划都需要具体完成的期限,然后再把每一个期限分割出每一个月的工作——如果你7月份要实现核心目标,在1月份要完成哪些事情,在2月份要完成哪些事情,在3月份要完成哪些事情,在4月份要完成哪些事情,在5月份要完成哪些事情等等。
这样的一个计划方式,会让你的生活更有系统,更有组织;你会感觉凡事更轻松,更能够事半功倍;实现目标的概率,也会有非常大的提高。
排出优先顺序,设定具体完成期限,是设定目标的重要组成部分,它实在是太重要了,使用过的人也都知道它很有效,如果你还没有使用过,不妨今天就试试看。
假设你从来没有设定过任何的计划,你可以从这个星期的目标开始设立,先列出这个星期要完成的目标,依照优先顺序排列,选出最重要的目标,从今天开始就设计一个计划,然后往这个目标前进。
有很多人会问:设定目标很重要吗?当然很重要。“计划”更重要。
设定目标以后,要拟订出详细的计划,否则无法实现。
当你列出目标之后,请你列出一个详细的计划,把计划依照优先顺序排列好,这样会使你实现目标的几率大幅度提升,这也是每个超级成功者所做的事情。
从现在起,你可以:
(1)改掉这些习惯(建议)。①做事情拖拖拉拉。②消极的语言。③每天看电视时间超过1小时。④说闲话,说废话。
(2)培养这些习惯(建议)。①每天早晨严格地检查我的仪表。②在前一天晚上制定每天的计划。③利用机会夸奖别人。
(3)用下面的方法使上司觉得自己更重要(建议)。①更好地发展和下属之间的关系。②更多地了解有关公司情况,包括正在做的工作和顾客情况。③提出3条具体建议帮助公司发挥更大的效益。
(4)用下面的方法使家庭更好(建议)。①更多地夸奖太太(先生)做的每一件小事,即使认为这些小事是很正常的。②每星期一次,和家人做一些使他们愉快的事情。③每天花1小时的时间和精力集中在家庭上。
(5)用下面的方法提高自己的思维能力(建议)。①每星期花2小时阅读有关工作方面的专业杂志。②读1本有关自我提高、自我帮助方面的书。③交4个新朋友。④每天花30分钟时间用于无干扰地独立思考。
下次当你见到异常镇静、一表人才、思维敏捷、工作效率高的人的时候,提醒自己,他不是生下来就是如此的。培养新的习惯,打破旧的坏习惯是一个日积月累的过程。
现在开始制定你的第一个改进计划吧!
⑤ 检查小学教学计划落实情况的记录
这个只能经常跟进,一边检查一边记录了哦