教学计划编制(新)
教师教学计划编制具体步骤

教师教学计划编制具体步骤教学计划是教师根据教学任务和学生特点,进行教学内容、教学目标、教学方法和教学评价等方面的安排和设计的重要工作。
一个合理的教学计划可以帮助教师更好地组织教学过程,提高教学效果。
下面将介绍教师教学计划编制的具体步骤。
一、确定教学目标教学目标是教学计划的核心,它是指教师所希望学生在一定时间内达到的学习成果。
教学目标要明确、具体、可操作,并与学生的实际情况相适应。
二、分析教学内容根据教学目标,教师需要分析教学内容,明确需要教给学生的知识、技能和态度。
可以根据教材提纲和学科标准来确定教学内容的重点和难点。
三、选择教学策略教学策略是指教师在教学中所采用的教学方法、手段和技巧。
教师需要根据教学内容和学生的学习情况,选择合适的教学策略,如讲授法、讨论法、实验法等,以便更好地达到教学目标。
四、制定教学步骤教学步骤是指教师在课堂教学中,按照一定顺序和方式进行教学的步骤和方法。
教师需要根据教学内容和教学策略,合理安排教学步骤,包括引入、讲解、练习、巩固和评价等环节。
五、设计教学活动教学活动是指教师根据教学目标和教学步骤,安排学生进行的各种教学任务和活动。
教师需要设计多样化的教学活动,如小组讨论、实验操作、角色扮演等,以激发学生的兴趣和积极性。
六、选择教学资源教学资源是指教师在教学中所使用的教学辅助材料和工具。
教师需要选择适合的教学资源,如教学软件、多媒体教具、实验器材等,以增加教学的趣味性和有效性。
七、制定教学评价标准教学评价是指对学生学习情况的评估和反馈。
教师需要根据教学目标和教学内容,制定相应的评价标准和评价方法,如考试、作业、实验报告等,以了解学生的学习进展和教学效果。
八、实施教学计划教师需要按照教学计划的安排和设计,准备好教学材料和教具,组织学生进行教学活动。
在教学过程中,教师要关注学生的学习情况,及时调整教学策略和步骤,以确保教学目标的顺利达成。
九、评估教学效果教学结束后,教师需要评估教学效果,了解学生的学习情况和教学的有效性。
教师教学计划编制有效方法

教师教学计划编制有效方法教师教学计划的编制对于教学工作的开展具有重要的指导意义。
好的教学计划能够帮助教师合理安排教学内容、提高教学效果。
那么,如何编制一份有效的教学计划呢?本文将从准备工作、明确目标、合理安排课时、注重教材选择、多样化教学方法、注重实践环节、激发学生兴趣、分析评价教学效果、及时反馈意见、与家长有效沟通、自我总结提高以及关注教学改革等方面展开回答。
一、准备工作在编制教学计划之前,教师需要进行一系列的准备工作,包括对课程内容的深入了解、了解学生的现状和需求、研读相关教材和参考资料等。
只有充分准备,才能确保教学计划的科学性和有效性。
二、明确目标教学计划的编制需要明确教学目标。
教师应该根据教学大纲和学生的学习状况,确定每节课的具体目标,明确学生应该掌握的知识、技能和态度。
通过明确目标,教师能够更加有针对性地进行教学设计。
三、合理安排课时对于一门课程来说,课时的安排非常重要。
教师应合理安排每个知识点的教学时间,充分利用有限的课时,确保每个环节的教学安排合理。
同时,教师还应根据学生的学习进度和理解情况,灵活调整课时的分配。
四、注重教材选择教学计划的编制要注意教材的选择。
教师应根据教学大纲和教材的特点,合理选择适合学生的教材。
同时,教师可以结合自身经验和教学实践,选取一些与教材相关的资料和案例,以丰富教学内容,提高学生的学习兴趣。
五、多样化教学方法在编制教学计划时,教师要注意使用多样化的教学方法。
不同的学生有不同的学习风格和兴趣爱好,教师应因材施教,灵活运用讲授、讨论、实践等多种教学方法,以培养学生的多方面能力。
六、注重实践环节教学计划的编制要注重实践环节的设置。
通过实践活动,学生能够巩固所学知识,培养实践动手能力。
教师应合理安排实践环节,提供丰富多样的实践机会,引导学生主动参与,提高教学效果。
七、激发学生兴趣在编制教学计划时,教师要注意激发学生的学习兴趣。
通过创设情境、引导思考、启发探究等方法,激发学生的学习兴趣和积极性,使其主动参与到教学活动中,提高学习效果。
教师教学计划编制指导原则

教师教学计划编制指导原则一、明确教学目标教师教学计划编制的首要原则是明确教学目标。
教学目标是教师根据学生的学习需求和课程要求,在特定教学环境条件下希望学生达到的知识、能力和价值观等方面的预期结果。
明确的教学目标能够帮助教师清楚教学的方向和目的,从而合理规划教学内容和教学方法。
二、关注学生发展需求教师应该根据学生的年龄特点、学科特点和发展需求,合理安排教学计划。
教学计划要针对学生的学习兴趣、学习能力和实际问题,将课程内容与学生的实际生活经验相结合,形成有助于学生自主学习和发展的教学环境。
三、注重课程整体性教师教学计划编制要注重课程整体性,将单元或单课的教学目标与整个课程的目标相衔接。
教师应该合理安排各个阶段的教学内容和教学进度,做到知识、能力和价值观等方面的有机衔接,使学生能够形成系统完整的知识结构。
四、灵活运用教学方法教师教学计划编制要灵活运用各种教学方法,根据学生的实际情况和学科特点,选择合适的教学方法。
教师应该注重启发性教学、探究性教学和合作学习等教学方法的运用,激发学生的主动性和积极性,培养学生的自主学习能力和创新能力。
五、多元化评价手段教师教学计划编制要设计多元化的评价手段,充分考虑学生的多样性和个体差异。
教师应该综合运用课堂观察、作业评价、学科竞赛、项目研究等评价手段,全面了解学生的学习情况和发展水平,及时调整教学策略,促进学生的全面发展。
六、关注课程资源教师教学计划编制要充分利用和整合各种课程资源。
教师应该了解学科的最新研究成果和教学资源,选择优质的课本、参考书和网络资源等,为学生提供科学、系统、实用的学习材料,丰富教学内容,提高教学效果。
七、加强教学环境建设教师教学计划编制要加强教学环境建设。
教师应该合理安排课堂教学活动,创设良好的学习氛围,鼓励学生积极参与课堂讨论和合作学习,提高教学效果。
同时,教师还应该关注学生的身心健康,关注学生的全面发展。
八、反思教学过程教师教学计划编制要注重教学过程的反思。
学校教学计划编制规定

学校教学计划编制规定一、引言学校教学计划是指学校根据相关法律法规和教育部门的要求,将教学目标、内容和学习活动进行系统化的安排和规划的文件。
学校教学计划的编制规定对于学校的教学工作及学生的学习效果具有重要意义。
二、目的和意义学校教学计划的编制规定旨在明确教学目标和内容,合理安排学习活动的时间和顺序,提高教学效果和学生的学习质量。
这不仅有助于教师把握教学重点和难点,提供有效的教学指导,也有利于学生全面发展和个性培养。
三、教学目标设定学校教学计划的编制规定应包括设定明确的教学目标。
教学目标应立足于教育部门和学校的教学标准,以培养学生综合素质为核心,同时兼顾知识和能力的培养。
明确的教学目标能够为教师提供明确的教学方向,为学生提供合理的学习目标。
四、教学内容选取学校教学计划的编制规定还应包括教学内容的选取。
教学内容的选取应根据学科发展的前沿和学生的实际需要来确定。
内容的选择应既要注重学科知识的传授,又要注意培养学生的实践能力和创新思维。
因此,教师在制定教学计划时要考虑到内容的科学性和教学方法的多样性。
五、课程设置与安排学校教学计划的编制规定还需涉及课程设置和安排。
课程应根据学科特点和学生的学习需求来设计,要注意知识的连贯性和递进性。
在安排课程时,要合理分配时间和课程间的关系,确保学生能够充分掌握和应用所学的知识。
六、教学活动的安排学校教学计划的编制规定还应考虑教学活动的安排。
教学活动包括讲授、实验、讨论、实践等多种形式。
教师应根据不同的教学目标和内容,选择合适的教学活动进行教学。
安排丰富多样的教学活动能够激发学生的学习兴趣,提高他们的参与度和学习效果。
七、教材选择和评价学校教学计划的编制规定还要对教材的选择和评价进行规定。
教材是教学的重要依据,教师应根据学科特点和学生的实际情况,选择适合教学目标和内容的教材。
同时,教材的优劣也要根据学生的学习效果和教学反馈进行评价,及时进行调整和改进。
八、考核和评价方法学校教学计划的编制规定还要涉及考核和评价的方法。
教学计划编制技巧方法总结

教学计划编制技巧方法总结一、明确教学目标教学计划编制的首要任务是明确教学目标。
教学目标应该具有明确的方向和可测量的标准。
通过确定教学目标,可以为教学活动提供明确的指导,使学生的学习更有针对性和有效性。
二、分析教学内容在编制教学计划时,需要仔细分析教学内容。
对于每一个教学单元,应该明确所包含的知识点、技能要求以及学生需要达到的水平。
通过分析教学内容可以帮助教师理清重点和难点,合理安排教学步骤。
三、确定教学手段根据教学目标和教学内容,选择合适的教学手段是编制教学计划的关键环节。
教学手段包括教学方法、教具和教材等,应根据学生的实际情况和特点进行选择,以提高教学效果。
四、安排教学步骤在编制教学计划时,需要合理安排教学步骤。
教学步骤应该有层次感,既要保证知识的渐进性,又要注意课堂活动的合理组织。
教学步骤的安排应充分考虑学生的接受能力和兴趣特点,使学习具有循序渐进的性质。
五、设计教学活动在编制教学计划时,需要设计合适的教学活动。
教学活动可以包括课堂讲授、小组合作、实验操作、案例分析等形式。
设计丰富多样的教学活动可以激发学生的学习兴趣,提高学习效果。
六、评估学习成果在编制教学计划时,需要考虑如何评估学习成果。
评估可以通过考试、作业、项目等多种方式进行。
合理的评估方法可以帮助教师评价学生的学习情况,及时发现问题并进行针对性的调整。
七、关注学生个体差异在编制教学计划时,需要充分关注学生的个体差异。
不同学生的学习能力和兴趣水平存在差异,因此要根据学生的特点制定个性化的教学计划,满足不同学生的学习需求。
八、注意教学资源在编制教学计划时,需要注意教学资源的利用。
教学资源包括教材、教具、实验室设备等,合理利用这些资源可以提高教学的有效性和实效性。
九、不断反思和调整教学计划编制是一个不断调整和完善的过程。
教师在实施教学计划的过程中,需要不断反思和调整,根据实际情况进行合理的修改。
只有不断反思和调整,才能提高教学效果。
十、与同事交流研讨教学计划的编制过程中,可以与同事进行交流和研讨。
教学计划的编制流程与要求

教学计划的编制流程与要求一、教学计划的重要性教学计划是教师在开展教学活动中的重要依据,它的好坏直接影响到教学效果。
教学计划的编制需要考虑学生的学习特点、教学资源的利用以及教师的个人经验,科学合理的教学计划能够帮助教师提高教学质量,促进学生的全面发展。
二、教学计划的编制流程1.教学目标的设定教学目标是教学计划的核心,它决定了教学内容的选择和教学活动的设计。
教师需要根据教学大纲和学生的实际情况,确定每个教学环节的目标,确保目标的可实现性和科学性。
2.教学内容的筛选在确定教学目标之后,教师需要根据学科知识结构和教材的要求,选择适合学生的教学内容。
教学内容应该贴近学生的实际生活,能够激发学生的学习兴趣和主动性。
3.教学活动的设计教学活动是教师与学生之间的互动过程,它能够帮助学生理解和掌握知识。
教师应该根据学生的认知能力,设计丰富多样的教学活动,引导学生积极参与其中,提高学习效果。
4.教学评价的安排教学评价是对学生学习情况的反馈和总结,它有助于教师了解学生的学习水平和教学效果。
教师应该根据教学目标,设计合理的评价方式和评价标准,确保评价的客观性和准确性。
三、教学计划的要求1.科学性教学计划的设计应该符合教学理论和教育规律,遵循教育教学的基本原则,科学合理地安排各个教学环节。
2.灵活性教学计划应该具有一定的灵活性,能够根据教学实际进行调整和改进。
教师应该根据学生的反馈和自身的经验,及时优化教学计划,提高教学效果。
3.可操作性教学计划应该具有可操作性,方便教师实施。
教材的选择和教学资源的利用应该符合教学实际,确保教学计划的顺利进行。
4.阶段性教学计划应该具有明确的阶段性,通过逐步展开的教学活动,有助于学生渐进式地掌握知识和技能。
四、教学计划的编制要点1.明确教学目标教学目标是教学计划的起点,教师应该明确教学目标的具体内容和要求,确保目标的可达性和可衡量性。
2.合理安排教学内容教学内容是教学计划的核心,教师应该根据学科知识结构和学生的学习特点,选择、筛选和组织教学内容,确保教学内容的逻辑性和连贯性。
教师教学计划编制步骤梳理

教师教学计划编制步骤梳理一、需求识别与目标确定教学计划编制的第一步是明确需求和确定目标。
教师应该通过对课程内容和学生特点的了解,判断学生的学习需求,并确定教学目标。
需求识别和目标确定是教学计划编制的基础,能够帮助教师为学生提供更有针对性的教学内容和教学方法。
二、分析课程标准和学科要求教师在编制教学计划时,需要仔细分析所教授的学科课程标准和学科要求。
通过分析课程标准和学科要求,教师可以了解学科的核心知识和技能,理清教学内容的重点和难点,并为教学计划的编制提供依据。
三、选取合适的教材与资源根据课程标准和学科要求,教师需要选取合适的教材与资源。
教材和资源的选择应该与学生的学习需求和教学目标相适应,能够帮助学生更好地理解和掌握知识。
教师可以通过查阅教材和网络资源,选择适合的教材和教学资源。
四、分析学生特点和差异教师在编制教学计划时,应该充分分析学生的特点和差异。
学生的特点包括认知能力、学习风格、学习动机等,教师需要了解每个学生的特点,以便更好地设计教学内容和教学方法。
同时,学生的差异也需要被充分考虑,教师可以制定不同的教学策略,满足不同学生的学习需求。
五、设计教学活动和任务教师在编制教学计划时,需要设计具体的教学活动和任务。
教学活动和任务的设计应该与学习目标相吻合,能够激发学生的学习兴趣和积极性。
教师可以通过课堂讨论、小组合作、实践操作等方式,设计多样化的教学活动和任务,使学生在实际操作中学会应用所学的知识和技能。
六、确定教学方法和策略教师在编制教学计划时,需要确定适合的教学方法和策略。
教学方法和策略的选择应该与教学内容和学生特点相适应,能够提高教学效果。
教师可以采用讲授法、示范法、探究法等不同的教学方法,综合运用多种策略,帮助学生更好地理解和掌握知识。
七、合理安排课程时间和进度教师在编制教学计划时,需要合理安排课程时间和进度。
教师应该根据每个教学环节的重要性和难度,确定相应的时间安排,保证教学进度的顺利进行。
教师教学计划编制方法简述

教师教学计划编制方法简述一、引言编制教学计划是每位教师在教学过程中非常重要的一项工作。
一个好的教学计划可以帮助教师合理安排教学内容和教学活动,提高教学效果。
本文将简述教师教学计划编制的方法。
二、明确教学目标在编制教学计划之前,教师首先要明确教学目标。
教学目标是教师希望学生在特定课程或教学阶段获得的知识、能力和素养。
教师可以根据教学大纲和学生的学习需求来确定教学目标,确保教学计划与教学目标相一致。
三、分析学生需求了解学生的需求是编制教学计划的重要依据。
教师可以通过调查问卷、面谈等方式了解学生的学习特点、兴趣爱好、学习习惯等,然后根据这些信息设计与学生需求相匹配的教学内容和教学活动,提高学生的学习积极性和参与度。
四、确定教学内容根据教学目标和学生需求,教师可以确定教学内容。
教学内容应该既符合学科知识体系,又贴近学生的生活实际和兴趣爱好。
在确定教学内容时,教师需要根据学生的认知水平和学习能力来合理选择和安排教学内容,确保教学内容的连贯性和适应性。
五、制定教学步骤教学步骤是教师按照一定的教学顺序和方法将教学内容有机地组织起来的过程。
教师可以根据教学内容的难易程度和逻辑关系来制定教学步骤,确保教学过程的连续性和完整性。
在制定教学步骤时,教师还需要考虑学生的学习节奏和接受能力,以便更好地引导学生完成学习任务。
六、选择教学方法选择适合的教学方法可以提高教学效果。
教师可以根据教学内容和学生需求来选择合适的教学方法,如讲授法、讨论法、实验法、案例分析法等。
不同的教学方法具有不同的优劣势,教师应根据教学目标和学生特点,合理选择和灵活运用教学方法。
七、设计教学活动教学活动是教师在教学过程中组织学生参与的具体活动。
教师可以根据教学内容和教学方法来设计教学活动,如小组讨论、实验操作、角色扮演等。
教师可以设置一些富有挑战性和启发性的教学活动,激发学生的学习兴趣和学习动力。
八、设置评价方式评价方式是教师用来评估学生学习成果和教学效果的方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教学计划编制问题#include<string.h>#include<stdio.h>#include<stdlib.h>#define null 0#define MAXNODE 64 //最大课程个数typedef struct{char c[3];}cid; //课程号typedef struct Course{cid id[3]; //课程号char name[30]; //课程名float xf; //学分}Course; ////////////////////////////////////////////////课程typedef struct PreCourse{int adjvex; //课程在数组中的下标struct PreCourse *pre; //指向下一先修的课程节点}PreCourse;/////////////////////////////////////////////////先修的课程节点typedef struct{Course course;//课程PreCourse *firstnext; //指向第一个先修的课程节点}CourseNode;////////////////////////////////////////////////////////////课程节点typedef struct{CourseNode courses[MAXNODE]; //邻接表int xqs;//学期总数int num; //课程的数目float xfsx;/////学分上限}AlGraph;///////////////////////////////////////////////////////////////课程图typedef struct{int data[MAXNODE];//队中元素int f,r;//队头r 队尾f}queue;int IsCricle=0;//判断是否环1表示是0表示不是int jxq;//用于计算学期的/////////////////////////////////////////////////////////////////////////void queueinit(queue *q)///////////////队初始化{q->f=q->r=0;}void queuein(queue *q,int x)//入队{if((q->r+1)%MAXNODE==q->f){printf("队满\n");exit(0);}q->r=(q->r+1)%MAXNODE;q->data[q->r]=x;}int queueout(queue *q)//出队{if(q->f==q->r){printf("队空\n");exit(0);}q->f=(q->f+1)%MAXNODE;return q->data[q->f];}int queueempty(queue *q)///////////////队判空1为空{if(q->f==q->r)return 1;else return 0;}void creatpre(AlGraph *CGraph)///////////////建立先修关系{system("cls");//用来清屏int choice;fflush(stdin);/////////////////////////////////////////////清空输入流int i,j,n;//////临时变量PreCourse *p,*q;//////临时变printf("\n建立先修关系:\n");printf("\n请输入每一门课程号的编号:");for(i=0;i<CGraph->num;i++){if(i%4==0)printf("\n");printf("%d) ",i+1);printf("%s\t",CGraph->courses[i].course.id);}printf("\n请根据以上的编号,输入每一门课程的先修课程(输入0 表示没有或结束):\n");for(i=0;i<CGraph->num;i++){printf("%s的先修课程:",CGraph->courses[i].course.id);scanf("%d",&j);n=0;while(j){while(j<1||j>CGraph->num||j==i+1){if(j==i+1)printf("先修课程号不能是本课程号");elseprintf("输入的先修课程号不在该专业开设的课程序列中");fflush(stdin);/////////////////////////////////////////////清空输入流printf("重新输入:");scanf("%d",&j);}p=(PreCourse *)malloc(sizeof(PreCourse));p->adjvex=j-1;p->pre=null;if(n==0){CGraph->courses[i].firstnext=p;q=CGraph->courses[i].firstnext;n++;}else{q->pre=p;q=p;n++;}scanf("%d",&j);}}printf(" 1)重新建立先修关系2)确定\n");printf("请选择:");scanf("%d",&choice);if(choice==1)creatpre(CGraph);jxq=0;}AlGraph input()//////////////////////////////////输入并建立课程图{AlGraph CGraph;int xqzs=0,kczs=0;////////////////学期总数:xqzs 专业共开设课程数:kczsint i,j;//////临时变量float xf,xfsx=0;//////临时变量xf 学分上限:xfsxprintf("教学计划编制\n\n");printf("输入参数:\n");printf("1、学期总数:");scanf("%d",&xqzs);CGraph.xqs=xqzs;printf("2、专业共开设课程数:");scanf("%d",&kczs);CGraph.num=kczs;///////////////////////////////////课程数printf("3、学分上限(每个学期的学分上限都一样):");scanf("%f",&xfsx);CGraph.xfsx=xfsx;printf("4、每门课的课程号(固定占3位的字母数字串)、课程名、学分:\n");for(i=0;i<kczs;i++){j=0;fflush(stdin);/////////////////////////////////////////////清空输入流printf("课程号:");scanf("%s",CGraph.courses[i].course.id);fflush(stdin);/////////////////////////////////////////////清空输入流printf("课程名:");scanf("%s",CGraph.courses[i]);fflush(stdin);/////////////////////////////////////////////清空输入流printf("学分:");scanf("%f",&xf);fflush(stdin);/////////////////////////////////////////////清空输入流while(xf>xfsx||xf<=0){printf("本课程学分大于学期学分上限或小于等于零,请重新输入学分:");fflush(stdin);/////////////////////////////////////////////清空输入流scanf("%f",&xf);}CGraph.courses[i].course.xf=xf;CGraph.courses[i].firstnext=null;}creatpre(&CGraph);///////////////建立先修关系return CGraph;}void output(AlGraph CGraph)///////////////输出先修关系{int i,j,n;//////临时变量PreCourse *p;//////临时变量printf("先修关系如下:\n\n");printf("课程编号\t课程名称\t\t 先决条件\n");for(i=0;i<CGraph.num;i++){printf("%s\t\t%s\t\t",CGraph.courses[i].course.id,CGraph.courses[i]);j=0;p=CGraph.courses[i].firstnext;while(p){n=p->adjvex;printf("%s ",CGraph.courses[n].course.id);p=p->pre;j++;}if(j==0)printf("无");printf("\n");}}void findoutdegree(AlGraph *CGraph,int outdegree[])/////////找出度数,即找出每一门课程的先修课数{int i;PreCourse *p;for(i=0;i<CGraph->num;i++){outdegree[i]=0;p=CGraph->courses[i].firstnext;while(p){outdegree[i]++;p=p->pre;}}}void judgingcricle(AlGraph *CGraph,queue *q2)////////判断是否有环{int outdegree[MAXNODE];/////////出度int i,m,j,pd=0;float xf=0;PreCourse *p;queue q;queueinit(&q);///////////////队初始化findoutdegree(CGraph,outdegree);/////////找出度for(i=0;i<CGraph->num;i++)if(outdegree[i]==0&&(xf+CGraph->courses[i].course.xf)<=CGraph->xfsx)/////////出度为零的,并且学分还没达到学分上限的入队,即没有先修课的课程入队{queuein(&q,i);outdegree[i]--;xf+=CGraph->courses[i].course.xf;}m=0;xf=0;queuein(&q,-1);jxq++;while(1){i=queueout(&q);queuein(q2,i);if(i!=-1){m++;for(j=0;j<CGraph->num;j++)if(j!=i){if(outdegree[j]==0&&(xf+CGraph->courses[j].course.xf)<=CGraph->xfsx)/////////将之前因学分上限受制的出度为零的入队,即没有先修课的课程入队{queuein(&q,j);outdegree[j]--;xf+=CGraph->courses[j].course.xf;}else{p=CGraph->courses[j].firstnext;while(p){if(p->adjvex==i){outdegree[j]--;if(outdegree[j]==0&&(xf+CGraph->courses[i].course.xf)<=CGraph->xfsx)/////////出度为零的入队{queuein(&q,j);outdegree[j]--;pd=1;xf+=CGraph->courses[i].course.xf;}}p=p->pre;}}}}else{if(pd){pd=0;queuein(&q,-1);jxq++;xf=0;}else break;}}if(jxq>CGraph->xqs){printf("\n错误报告:\n在%d学期内是无法修完这些课程\n",CGraph->xqs);exit(0);}if(m<CGraph->num){printf("\n错误报告:\n");for(i=0;i<CGraph->num;i++)if(outdegree[i]>0)printf("%s ",CGraph->courses[i].course.id);printf("存在循环,因此课程安排不了\n");IsCricle=1;}}void layout1(AlGraph *CGraph,queue *q)////////////////编排1/////{printf("\n学生在各学期中的学习负担尽量均匀:\n\n");int i,j,xq=1,cxq=CGraph->xqs-jxq,ck[20];float xf,m=CGraph->num/CGraph->xqs*1.0f;//m是每学期要学的课程数queue q1=*q;////while(!queueempty(&q1)){for(i=0;i<20;i++)ck[i]=-1;for(i=0;i<m+1;i++){j=queueout(&q1);if(j==-1)break;ck[i]=j;}if(ck[0]!=-1){printf("\n第%d学期学:",xq++);xf=0;i=0;do{j=ck[i];printf(" %s ",CGraph->courses[j].course.id);i++;xf+=CGraph->courses[j].course.xf;}while(ck[i]!=-1);printf("获得学分是%.2f\n",xf);}}}void layout2(AlGraph *CGraph,queue *q)////////////////编排2{printf("\n课程尽可能地集中在前几个学期中:\n\n");int i,j,xq=1;float xf;printf("\n第%d学期学:",xq++);xf=0;queue q1=*q;////for(i=0;i<CGraph->num;){j=queueout(&q1);if(j!=-1){printf(" %s ",CGraph->courses[j].course.id);i++;xf+=CGraph->courses[j].course.xf;}else {printf("获得学分是%.2f\n第%d学期学:",xf,xq++);xf=0;}}while(xq<=CGraph->xqs){printf("获得学分是%.2f\n第%d学期学:无\t",xf,xq++);xf=0;} printf("获得学分是%.2f\n");}void main(){int choice;queue q;//用来存放已编排好的课程queueinit(&q);///////////////队初始化AlGraph CGraph;//课程图fflush(stdin);/////////////////////////////////////////////清空输入流CGraph=input();//输入并建立课程图system("cls");//用来清屏output(CGraph);///////////////输出先修关系printf("\n\n");fflush(stdin);/////////////////////////////////////////////清空输入流judgingcricle(&CGraph,&q);////////判断是否有环if(!IsCricle){printf("请选择编排策略:\n");printf("1.使学生在各学期中的学习负担尽量均匀;\n");printf("2.使课程尽可能地集中在前几个学期中。