① 教學計劃安排檢驗程序(拓撲排序)
#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分鍾時間用於無干擾地獨立思考。
下次當你見到異常鎮靜、一表人才、思維敏捷、工作效率高的人的時候,提醒自己,他不是生下來就是如此的。培養新的習慣,打破舊的壞習慣是一個日積月累的過程。
現在開始制定你的第一個改進計劃吧!
⑤ 檢查小學教學計劃落實情況的記錄
這個只能經常跟進,一邊檢查一邊記錄了哦