久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

大班閱讀:有趣的導(dǎo)游圖(5篇模版)

時間:2019-05-12 11:59:14下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《大班閱讀:有趣的導(dǎo)游圖》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《大班閱讀:有趣的導(dǎo)游圖》。

第一篇:大班閱讀:有趣的導(dǎo)游圖

大班閱讀:有趣的導(dǎo)游圖

時間: 2012-9-10 作者: 張麗華 單位:常州市紅溪實驗幼兒園 來源:早期教育

活動目標(biāo)

1.認(rèn)識幾種生活標(biāo)志,學(xué)習(xí)閱讀導(dǎo)游圖上的多種信息。

2.樂于嘗試解決問題,能與同伴合作規(guī)劃游覽線路。

3.嘗試自主閱讀“淹城野生動物園”的導(dǎo)游圖,感受導(dǎo)游圖的方便與實用。活動準(zhǔn)備

動物園導(dǎo)游圖大圖一張,小組操作用的中圖三張:“淹城野生動物園”導(dǎo)游圖18份;進(jìn)口、出口、售票處、問訊處、醫(yī)務(wù)室、火車站、餐廳、廁所標(biāo)志各一份;寫有1~6數(shù)字的小旗子三份。

活動過程

一、談話引出話題

師:今天,老師帶來了一張跟動物有關(guān)的圖,我們一起來看一看。

二、出示動物園導(dǎo)游圖大圖,閱讀各種信息

1.幼兒運用已有生活經(jīng)驗讀圖。師:看看圖上有什么?圖上用什么來表示動物的?為什么又畫動物圖像又寫文字呢?(又有圖像又有文字能讓更多的人讀懂)圖上有這么多動物,這是哪里啊?(動物園)

2.認(rèn)識幾種生活標(biāo)志。師:除了動物,你還看到了什么?(進(jìn)口、出口、售票處、問訊處、醫(yī)務(wù)室等標(biāo)志。幼兒看到哪種標(biāo)志教師就出示該標(biāo)志在黑板上,先讓幼兒說說這種標(biāo)志是什么意思,然后了解標(biāo)志的名稱,再請幼兒到大導(dǎo)游圖上找到該標(biāo)志。)這張圖告訴我們這么多信息,這是一張什么圖?(地圖)

3.幼兒嘗試在導(dǎo)游圖上找目的地。師:(1)動物園的地圖有什么用呢?(幫助大家又快又準(zhǔn)地找到要去的地方)(2)動物園這么多動物,你最想看什么動物?請個別幼兒上來找到一個自己最想看的動物場館并指出游覽線路。(3)請幼兒找出三個游覽景點,規(guī)劃游覽線路,說說先到哪里,再到哪里,最后到哪里,為什么要按這樣的順序游玩。

教師小結(jié):孩子們,正像你們說的一樣,動物園的地圖中藏著很多既有趣又有用的信息,它可以讓人們又快又準(zhǔn)確地找到想去的地方,不走彎路,節(jié)約時間。這樣把游覽景點畫出來方便大家的地圖叫導(dǎo)游圖。你們見過導(dǎo)游圖嗎?在哪里見過?

三、分組操作:規(guī)劃游覽線路,自主閱讀導(dǎo)游圖

1.幼兒自主閱讀“淹城野生動物園”導(dǎo)游圖。每人一份導(dǎo)游圖,自主閱讀,看看導(dǎo)游圖上有哪些信息,跟黑板上的大圖是否一樣,有哪些不一樣的東西,去過動物園的小朋友可以找一找上次玩了哪幾個地方,邊看圖可以邊跟旁邊的好朋友討論討論。

2.請一名幼兒上來講講自己是怎樣閱讀的,發(fā)現(xiàn)了哪些跟大圖上不一樣的東西,跟大家交流分享。

3.幼兒分成三組合作規(guī)劃游覽線路。要求:首先,每人在動物園導(dǎo)游圖上找一個自己最想去的地方,然后大家商量:第一站去哪里?第二站去哪里?第三四五六站去哪里?最后把寫有1、2、3、4、5、6的小旗子按先后順序貼在相應(yīng)的景點,檢查一下線路是不是合理。

4.評價小組操作情況。從三組中選一張小組規(guī)劃的線路圖貼到黑板上,請一名代表上來介紹是怎樣規(guī)劃的,為什么這樣規(guī)劃,老師簡單點評。

四、遷移經(jīng)驗,鼓勵幼兒關(guān)注生活中的導(dǎo)游圖

師:今天我們閱讀了導(dǎo)游圖,還小組合作規(guī)劃游覽線路,我們知道了導(dǎo)游圖不僅很有趣而且很實用,它能幫助大家又快又準(zhǔn)確地找到自己想去的地方。在各個景點都有這樣的導(dǎo)游圖,以后你們出去游玩時就可以利用今天學(xué)到的方法閱讀導(dǎo)游圖,讓它為你們服務(wù)。

第二篇:幼兒園大班語言課教案《有趣的導(dǎo)游圖》及教學(xué)反思

《大班語言課教案《有趣的導(dǎo)游圖》含反思》這是優(yōu)秀的大班語言教案文章,希望可以對您的學(xué)習(xí)工作中帶來幫助!

活動目標(biāo)

1.認(rèn)識幾種生活標(biāo)志,學(xué)習(xí)閱讀導(dǎo)游圖上的多種信息。

2.樂于嘗試解決問題,能與同伴合作規(guī)劃游覽線路。

3.嘗試自主閱讀“野生動物園”的導(dǎo)游圖,感受導(dǎo)游圖的方便與實用。

4.教幼兒養(yǎng)成細(xì)心、認(rèn)真的學(xué)習(xí)態(tài)度。

活動準(zhǔn)備

動物園導(dǎo)游圖大圖一張,小組操作用的中圖三張:“野生動物園”導(dǎo)游圖18份;進(jìn)口、出口、售票處、問訊處、醫(yī)務(wù)室、火車站、餐廳、廁所標(biāo)志各一份;寫有1~6數(shù)字的小旗子三份。

活動過程

一、談話引出話題

師:今天,老師帶來了一張跟動物有關(guān)的圖,我們一起來看一看。

二、出示動物園導(dǎo)游圖大圖,閱讀各種信息

1.幼兒運用已有生活經(jīng)驗讀圖。師:看看圖上有什么?圖上用什么來表示動物的?為什么又畫動物圖像又寫文字呢?(又有圖像又有文字能讓更多的人讀懂)圖上有這么多動物,這是哪里啊?(動物園)

2.認(rèn)識幾種生活標(biāo)志。師:除了動物,你還看到了什么?(進(jìn)口、出口、售票處、問訊處、醫(yī)務(wù)室等標(biāo)志。幼兒看到哪種標(biāo)志教師就出示該標(biāo)志在黑板上,先讓幼兒說說這種標(biāo)志是什么意思,然后了解標(biāo)志的名稱,再請幼兒到大導(dǎo)游圖上找到該標(biāo)志。)這張圖告訴我們這么多信息,這是一張什么圖?(地圖)

3.幼兒嘗試在導(dǎo)游圖上找目的地。

師:(1)動物園的地圖有什么用呢?(幫助大家又快又準(zhǔn)地找到要去的地方)

(2)動物園這么多動物,你最想看什么動物?請個別幼兒上來找到一個自己最想看的動物場館并指出游覽線路。

(3)請幼兒找出三個游覽景點,規(guī)劃游覽線路,說說先到哪里,再到哪里,最后到哪里,為什么要按這樣的順序游玩。

教師小結(jié):孩子們,正像你們說的一樣,動物園的地圖中藏著很多既有趣又有用的信息,(教案出自:.快思教案網(wǎng))它可以讓人們又快又準(zhǔn)確地找到想去的地方,不走彎路,節(jié)約時間。這樣把游覽景點畫出來方便大家的地圖叫導(dǎo)游圖。你們見過導(dǎo)游圖嗎?在哪里見過?

三、分組操作:規(guī)劃游覽線路,自主閱讀導(dǎo)游圖

1.幼兒自主閱讀“野生動物園”導(dǎo)游圖。每人一份導(dǎo)游圖,自主閱讀,看看導(dǎo)游圖上有哪些信息,跟黑板上的大圖是否一樣,有哪些不一樣的東西,去過動物園的小朋友可以找一找上次玩了哪幾個地方,邊看圖可以邊跟旁邊的好朋友討論討論。

2.請一名幼兒上來講講自己是怎樣閱讀的,發(fā)現(xiàn)了哪些跟大圖上不一樣的東西,跟大家交流分享。

3.幼兒分成三組合作規(guī)劃游覽線路。要求:首先,每人在動物園導(dǎo)游圖上找一個自己最想去的地方,然后大家商量:第一站去哪里?第二站去哪里?第三四五六站去哪里?最后把寫有1、2、3、4、5、6的小旗子按先后順序貼在相應(yīng)的景點,檢查一下線路是不是合理。

4.評價小組操作情況。從三組中選一張小組規(guī)劃的線路圖貼到黑板上,請一名代表上來介紹是怎樣規(guī)劃的,為什么這樣規(guī)劃,老師簡單點評。

四、遷移經(jīng)驗,鼓勵幼兒關(guān)注生活中的導(dǎo)游圖

師:今天我們閱讀了導(dǎo)游圖,還小組合作規(guī)劃游覽線路,我們知道了導(dǎo)游圖不僅很有趣而且很實用,它能幫助大家又快又準(zhǔn)確地找到自己想去的地方。在各個景點都有這樣的導(dǎo)游圖,以后你們出去游玩時就可以利用今天學(xué)到的方法閱讀導(dǎo)游圖,讓它為你們服務(wù)。

教學(xué)反思:

今天上了一節(jié)繪本課《七只猴子去旅行》我是以圖片導(dǎo)入的,讓孩子們觀察圖片上的標(biāo)志,并說說是什么標(biāo)志,說出這個標(biāo)志所反映出來的是什么意思。孩子們都積極踴躍的回答,令我意外的是他們居然都認(rèn)識這些標(biāo)志,而且說的特別好。于是我就引出了今天的故事:“有幾只小猴子們要出去旅行,在旅行的途中他們見到了許多標(biāo)志,讓我們一起去看看吧!首先讓幼兒看首頁,說出故事名稱和故事的主人公。然后觀察每一幅圖,讓幼兒說說在圖中看到了什么?發(fā)生了什么事情?孩子們都積極的回答問題。也了解到每個標(biāo)志的意思。看完圖之后,讓幼兒說一說從這個故事里學(xué)到了什么?孩子們說要遵守規(guī)則。這節(jié)課我覺得不足的地方是雖然孩子們回答問題很積極,但是幾乎每次都是那些孩子,對于不愛發(fā)言的孩子我更應(yīng)該去關(guān)注他們,去引導(dǎo)他們,不要一節(jié)課回答問題的都是那些人,讓每個孩子都有機(jī)會發(fā)言。在最后的時候沒有對孩子說學(xué)到了什么而去總結(jié),整節(jié)課流程可以,但是可以在某些地方加點環(huán)節(jié),比如小猴摘花,可以讓孩子們到前面去表演。最后應(yīng)該延伸一下,還有哪些是我們要遵守的規(guī)則,比如交通規(guī)則,上課時,做游戲時要遵守什么規(guī)則。對于繪本閱讀,應(yīng)該多研究。多學(xué)習(xí),讓孩子能快樂的學(xué),在學(xué)中玩,玩中學(xué)。

大班語言課教案《有趣的導(dǎo)游圖》含反思這篇文章共5190字。

第三篇:旅游區(qū)導(dǎo)游圖

旅游區(qū)導(dǎo)游圖

題目內(nèi)容: 問題描述:

設(shè)某個旅游區(qū)共有n個旅游景點(n≥10),每個旅游景點都和相鄰的m個旅游景點(m≥2,m

以(Vi ,Vj ,d)的形式從鍵盤輸入建立該旅游區(qū)的旅游景點圖,其中:Vi和Vj表示兩個不同的旅游景點,d表示這兩個景點之間的道路距離;該旅游景點圖采用鄰接鏈表存儲結(jié)構(gòu)。實現(xiàn)要求:

⑴ 旅游景點圖的輸出:分別以鄰接矩陣、鄰接鏈表的方式輸出該旅游景點圖。⑵ 相鄰景點查詢:假設(shè)對于每個景點,設(shè)置有簡易的信息查詢,要求能給出與該景點相鄰的所有景點(有直接的道路相通)及對應(yīng)的距離。

⑶ 景點路線查詢:假設(shè)對于每個景點,設(shè)置有景點路線查詢,要求能給出從該景點出發(fā)到任一其它景點的最短簡單路徑及距離。

⑷ 景點路線綜合查詢:對于該旅游區(qū)的任意兩個景點,找出它們之間的最短簡單路徑及距離。

⑸ 最佳旅游路線確定:假設(shè)該旅游區(qū)的入口也是出口,請確定一條最佳的旅游線路,該線路必須經(jīng)過所有的旅游景點(有些景點可以重復(fù)經(jīng)過)且走的路最短。⑹ 設(shè)計一個菜單,上述操作要求都作為菜單中的主要菜單項。

下: ································

#include“stdio.h” #include“malloc.h” #include “string.h” #define INFINITY

32767

/* 圖的最大權(quán)值,32767是整數(shù)表示的最大值*/ #define MAX_VEX 30

/* 最大頂點數(shù)目

*/

#define MAX_VALUE 999999999

typedef int InfoType;typedef char VexType;typedef enum{DG=1, AG=2, WDG=3,WAG=4}GraphKind;/*枚舉常量定義旅游景點對應(yīng)的圖類型*/

typedef struct Path { int vertex[MAX_VEX];int value;int count;}GPath;

typedef struct MGraph { char vexs[MAX_VEX];

/*存放圖的鄰接矩陣的的頂點,頂點向量

*/ int arcs[MAX_VEX][MAX_VEX];

/*存放圖的鄰接矩陣的邊

*/ int vexnum,arcnum;

/*圖的當(dāng)前頂點數(shù)和弧數(shù)

*/ }MGraph;

/*圖的鄰接鏈表轉(zhuǎn)換為矩陣后,圖的結(jié)構(gòu)定義 */

/*圖的鄰接矩陣存儲結(jié)構(gòu)中結(jié)點結(jié)構(gòu)體的定義*/ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct Linknode { char adjvex;

/*鄰接點在頭結(jié)點數(shù)組中的位置(鄰接邊的弧頭頂點序號)*/ InfoType info;

/*與邊或弧相關(guān)的信息, 如權(quán)值

*/ struct Linknode *nextarc;

/*指向下一個表結(jié)點

*/ }LinkNode;

/*鄰接邊單鏈表的結(jié)點結(jié)構(gòu)體

*/ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct VexNode { char data;

/*數(shù)據(jù)域存儲頂點信息

*/ int indegree;

/*頂點的度, 有向圖是入度或出度或沒有

*/ LinkNode *firstarc;

/*鏈域指向第一個表結(jié)點(鄰接邊頭指針)*/ }VexNode;

/*頂點結(jié)點類型定義

*/ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct {

GraphKind kind;

/*圖的種類標(biāo)志

*/

int vexnum;

/*頂點個數(shù)

*/ VexNode AdjList[MAX_VEX];

/*鄰接表數(shù)組

*/ }ALGraph;

/*圖的結(jié)構(gòu)定義

*/

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct { VexType vex1, vex2;

/*弧或邊所依附的兩個頂點

*/ InfoType info;

/*與邊或弧相關(guān)的信息, 如權(quán)值

*/ }ArcType;

/*弧或邊的結(jié)構(gòu)定義

*/ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void Init_Graph(ALGraph * G)

/*圖的初始化

*/ { do {

printf(“請確認(rèn)旅游景點的類型(1:無向圖。2:有向圖。3:帶權(quán)有向圖。4:帶權(quán)無向圖):n”);

} scanf(“%d”, &G->kind);if(G->kind==4)printf(“旅游區(qū)導(dǎo)游圖的類型:帶權(quán)無向圖n”);else {

} printf(“

●您選擇的圖的類型不對●n”);

while(G->kind!=4);G->vexnum=0;

/* 初始化頂點個數(shù)為0

*/ } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// int LocateVex(ALGraph *G, VexType vp)

/*圖的頂點定位(圖的頂點定位實際上是確定一個頂點在AdjList數(shù)組中的某個元素的data域內(nèi)容。)*/ {

int k;for(k=0;kvexnum;k++)if(G->AdjList[k].data==vp)return(k);

/*如果存在此頂點返回頂點數(shù)組下標(biāo)值

return(-1);

/*如果沒有則返回-1(圖中無此頂點)

*/

*/ } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// int AddVertex(ALGraph *G, char vp)

/*向圖中增加頂點(向圖中增加一個頂點的操作,在AdjList數(shù)組的末尾增加一個數(shù)據(jù)元素。)*/ { int k;if(G->vexnum>=MAX_VEX){ } if(LocateVex(G,vp)!=-1){ printf(“所要添加的頂點已存在!n”);printf(“圖中頂點數(shù)已達(dá)到最多!n”);

return(-1);return(-1);} G->AdjList[G->vexnum].data=vp;G->AdjList[G->vexnum].indegree=0;G->AdjList[G->vexnum].firstarc=NULL;k=++G->vexnum;return k;} /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// int AddArc(ALGraph *G, ArcType *arc)/*向圖中增加一條邊(弧)(根據(jù)給定的弧或邊所依附的頂點,修改單鏈表:無向圖修改兩個單鏈表;)*/ {

int k,j;LinkNode *p,*q;k=LocateVex(G,arc->vex1);j=LocateVex(G,arc->vex2);if(k==-1||j==-1)

/*先判斷是否兩個頂點重復(fù)或者是否存在這兩個頂點*/

{ printf(“該兩個景點為一點或兩景點都不存在,錯誤!n”);

return(-1);} p=(LinkNode *)malloc(sizeof(LinkNode));p->adjvex=arc->vex1;p->info=arc->info;p->nextarc=NULL;

/* 邊的起始表結(jié)點賦值

*/ q=(LinkNode *)malloc(sizeof(LinkNode));q->adjvex=arc->vex2;q->info=arc->info;

q->nextarc=NULL;

/* 邊的末尾表結(jié)點賦值

*/ q->nextarc=G->AdjList[k].firstarc;

G->AdjList[k].firstarc=q;p->nextarc=G->AdjList[j].firstarc;G->AdjList[j].firstarc=p;

/* 是無向圖, 用頭插入法插入到兩個單鏈表

*/ return(1);

/*無向圖,把p和q互相連接到彼此的邊點上

*/ } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ALGraph *Create_ALGraph()/*采用鄰接鏈表作為圖的存儲結(jié)構(gòu)建立帶權(quán)有向圖*/ {

char stack1[MAX_VEX],stack2[MAX_VEX],vex,k1,k2;int weight;ALGraph *G;ArcType *p;printf(“首先對旅游區(qū)導(dǎo)游圖進(jìn)行初始化:nn”);G=(ALGraph *)malloc(sizeof(ALGraph));//申請動態(tài)結(jié)點空間

Init_Graph(G);printf(“n請輸入旅游區(qū)導(dǎo)游圖的各個旅游景點代碼(以字符的形式出入),當(dāng)輸入0時作為結(jié)束標(biāo)志n”);while(1){

scanf(“%s”,stack1);/*以字符串的形式輸入存儲旅游區(qū)景點,一次一個的存儲輸入的景點存到數(shù)組中之后又在圖中插入該頂點,當(dāng)輸入0時結(jié)束*/

vex=stack1[0];

/*用字符串可以區(qū)別結(jié)束標(biāo)識,用字符存到數(shù)組中不易設(shè)置結(jié)束標(biāo)志*/

} if(vex=='0')break;else AddVertex(G,vex);p=(ArcType *)malloc(sizeof(ArcType));printf(“n 從鍵盤輸入以(Vi ,Vj ,d)的形式建立該旅游區(qū)的旅游景點圖,n 其中: Vi和Vj表示兩個不同的旅游景點, d表示這兩個景點之間的道路距離;n 該旅游景點圖采用鄰接鏈表存儲結(jié)構(gòu)(當(dāng)輸入第一個頂點是0時表示結(jié)束):n”);

while(1){

scanf(“%s”,stack1);k1=stack1[0];

if(k1=='0')

/* 輸入第一個頂點,0結(jié)束

*/ break;

else {

scanf(“%s”,stack2);scanf(“%d”,&weight);

/* 輸入第二個頂點和權(quán)值

*/ k2=stack2[0];p->vex1=k1;p->vex2=k2;p->info=weight;

AddArc(G,p);printf(“n請繼續(xù)輸入下一條道路!n”);} } return(G);} ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void output_ALGraph(ALGraph *G)

// 2:輸出圖的鄰接鏈表

{

int j;LinkNode *p;

printf(“n旅游區(qū)導(dǎo)游圖的鄰接鏈表景點輸出表示如下:n”);for(j=0;jvexnum;j++){

printf(“%c”,G->AdjList[j].data);

p=G->AdjList[j].firstarc;

while(p!=NULL)

//輸出一個鄰接鏈表的景點之后,繼續(xù)輸出他的其他鄰接景點

} {

} printf(“-> ”);printf(“<%c,%d>”,p->adjvex,p->info);p=p->nextarc;printf(“nn”);} //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void output_Find_ALGraph(ALGraph *G)

// 4:相鄰景點查詢并輸出

{

int j;LinkNode *p;

//定義鄰接邊單鏈表結(jié)點p printf(“請輸入您要查詢的景點(頂點數(shù)組下標(biāo)值):n”);

//從輸入的景點開始找和其相鄰的景點并輸出權(quán)值

scanf(“%d”,&j);

p=G->AdjList[j].firstarc;

//定義鄰接邊頭指針 while(p!=NULL){ printf(“景點%c到景點%c的距離是%d(兩景點之間有相連的道路)n”,G->AdjList[j].data,p->adjvex,p->info);//第j個景點和他下一個相鄰的景點和權(quán)值

p=p->nextarc;

//指向下一個結(jié)點的地址,使全部與G->AdjList[j].data直接連通的頂點全部輸出,NULL時截止 } printf(“nn”);} //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void ListToMat(ALGraph G, MGraph &g)

/*將鄰接鏈表轉(zhuǎn)換成鄰接矩陣

*/ { int k,i,j;

LinkNode *p;for(i=0;i

/*g.arcs[i][j]賦初值INFINITY

for(j=0;j

g.arcs[i][j]=INFINITY;for(i=0;i

/*把鏈表的數(shù)組頂點保存到數(shù)組vexs[i]} for(i=0;i

p=G.AdjList[i].firstarc;while(p!=NULL)

{

k=LocateVex(&G,p->adjvex);

/*取和p相鄰的頂點下標(biāo)值用于鄰接*/

中*/

矩陣的下標(biāo)值

*/

g.arcs[i][k]=g.arcs[k][i]=p->info;/*把權(quán)值賦值給二維數(shù)組用于矩陣輸出

*/

*/

} } p=p->nextarc;

/*指向下一個鄰接表結(jié)點

} g.vexnum=G.vexnum;///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void display(ALGraph *G,MGraph g)

/*3:輸出鄰接矩陣

*/ { int i,j;ListToMat(*G, g);

/*將鄰接鏈表轉(zhuǎn)換成鄰接矩陣

*/ printf(“

”);for(i=0;ivexnum;i++)printf(“%-8c”,G->AdjList[i].data);

/*輸出矩陣橫向頂點值

*/ printf(“n”);for(i=0;i

printf(“%c

”,G->AdjList[i].data);

/*輸出矩陣豎向頂點值,每輸出一行輸出一次頂點*/

}

} for(j=0;j

if(g.arcs[i][j]==INFINITY)

printf(“∞

”);else printf(“%-8d”, g.arcs[i][j]);

/*每個權(quán)值占有8個字符,負(fù)號表示左端對齊

*/ } printf(“n”);//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void dijkshort_One(ALGraph F, MGraph G,int v0,int distance[], int path[])/* 帶權(quán)圖G從頂點v0到其他定點的最短距離distance和最短路徑前驅(qū)結(jié)點的下標(biāo)path*/ //帶權(quán)圖F從下標(biāo)v0到其他頂點的最短距離diatance和最短路徑下標(biāo)path,path中存放了從輸入的v0到其他各個頂點的最短路徑的前一個頂點的下標(biāo) //基于狄克斯特拉函數(shù)的設(shè)計

{

int *S=(int *)malloc(sizeof(int)*G.vexnum);int minDis,i,j,u,p;

ListToMat(F, G);printf(“你所要開始查詢的景點是:%cn”,F.AdjList[v0].data);for(i=0;i

distance[i]=G.arcs[v0][i];S[i]=0;if(distance[i]

path[i]=-1;} S[v0]=1;

//標(biāo)記頂點v0已從集合T加入到集合S中(以v0為下標(biāo)值的頂點)for(i=0;i

minDis=INFINITY;for(j=0;j

{

minDis=distance[j];

u=j;} } S[u]=1;

//標(biāo)記頂點u已從集合T加入到集合S中(以u為下標(biāo)值的頂點)

for(j=0;j

// /修改從v0到其他頂點的最短距離和最短路徑

if(S[j]==0&&G.arcs[u][j]distance[u]+G.arcs[u][j]){ distance[j]=distance[u]+G.arcs[u][j];//頂點v0經(jīng)頂點u到其他頂點的最短距 path[j]=u;離和最短路徑

} }

//頂點v0到其他所有的頂點的最短距離已經(jīng)保存在數(shù)組distance中 printf(“查詢結(jié)果是:n”);for(j=0;j

if(path[j]!=-1){

printf(“從景點%c到景點%c”,F.AdjList[v0].data,G.vexs[j]);

p=path[j];

printf(“的最短距離是: %d”,distance[j]);//輸出頂點v0到其他所有的頂點的最短printf(“ 途中經(jīng)過的景點有:”);while(p!=-1){ printf(“ %c”,G.vexs[p]);

路徑

}

p=path[p];} printf(“n”);

} else if(j!=v0)

printf(“n%c到%c : 沒有通路!”,G.vexs[j],G.vexs[v0]);/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void dijkshort_Two(ALGraph F, MGraph G,int v0,int distance[], int path[])/*帶權(quán)圖G從頂點v0到其他定點的最短距離distance和最短路徑前驅(qū)結(jié)點的下標(biāo)path*/ {

int w;int S[30],i,j,k,p,min,d;ListToMat(F, G);printf(“你所要開始查詢的開始景點是:%cnn”,F.AdjList[v0].data);for(i=0;i

{

distance[i]=G.arcs[v0][i];S[i]=0;if(distance[i]

//頂點v0已加入到集合S中 for(i=0;i

min=INFINITY;for(j=0;j

if(!S[j]&&distance[j]

{

} min=distance[j];k=j;} S[k]=1;

///將找到的頂點加入到集合S中 for(w=0;w

// /修改集合T中頂點的距離值

if(!S[w]&&distance[w]>distance[k]+G.arcs[k][w]){ distance[w]=distance[k]+G.arcs[k][w];} path[w]=k;}

printf(“輸入你要查詢的另外一個景點(下標(biāo)值):”);scanf(“%d”,&d);printf(“你要查詢的另外一個景點是:%cn”,G.vexs[d]);printf(“n查詢結(jié)果:n”);//輸出結(jié)果

if(path[d]!=-1){

printf(“從景點%c到景點%c”,F.AdjList[v0].data,G.vexs[d]);

p=path[d];printf(“的最短距離是: %d”,distance[d]);printf(“ 途中經(jīng)過的景點有:”);while(p!=-1){ printf(“ %c”,G.vexs[p]);p=path[p];} printf(“n”);} } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void dfs_path(ALGraph *g,int src,int cur,int vis[],GPath *cur_path,GPath * min_path){

LinkNode * node =g->AdjList[cur].firstarc;for(;node!=NULL;node=node->nextarc)/*起始條件為node =g->AdjList[cur].firstarc*/ {

} char adj=node->adjvex;int index=LocateVex(g,adj);if(vis[index]==0){

} cur_path->vertex[cur_path->count++]=index;cur_path->value+=node->info;vis[index]=1;dfs_path(g,src,index,vis,cur_path,min_path);cur_path->count--;cur_path->value-=node->info;vis[index]=0;if(vis[src]){

} if(cur_path->count==g->vexnum){

if(cur_path->valuevalue){ memcpy(min_path,cur_path,sizeof(GPath));/*由cur_path所指內(nèi)存區(qū)域復(fù)制return;sizeof(GPath)個字節(jié)到min_path所指內(nèi)存區(qū)域*/ } } return;} //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void best_path(ALGraph *g,int src){ int vis[MAX_VEX];memset(vis,0,sizeof(vis));GPath cur_path,min_path;memset(&cur_path,0,sizeof(GPath));/*將cur_path所指向的某一塊內(nèi)存中的每個字節(jié)的內(nèi)容全部設(shè)置為0指定的ASCII值,塊的大小由第三個參數(shù)指定,這個函數(shù)通常為新申請的內(nèi)存做初始化工作, 其返回值為指向cur_path的指針。*/ memset(&min_path,0,sizeof(GPath));/*將min_path所指向的某一塊內(nèi)存中的每個字節(jié)的內(nèi)容全部設(shè)置為0指定的ASCII值,塊的大小由第三個參數(shù)指定,這個函數(shù)通常為新申請的內(nèi)存做初始化工作, 其返回值為指向min_path的指針。*/

min_path.value=MAX_VALUE;dfs_path(g,src,src,vis,&cur_path,&min_path);if(min_path.value!=MAX_VALUE){

int i=0;printf(“n最佳旅游路線景點下標(biāo)值是:n”);for(i=0;i

printf(“%d->”,min_path.vertex[i]);} printf(“n”);printf(“n最佳旅游路線景點是:n”);

for(i=0;i

{

printf(“%c-> ”,g->AdjList[min_path.vertex[i]].data);

} } printf(“n”);}else { printf(“建立的圖中沒有最佳路徑n”);}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /*------------菜單------------*/ void main(){

int n,v0;MGraph g;int distance[MAX_VEX],path[2*MAX_VEX];ALGraph *G;

printf(“

============================n”);

printf(“

!歡迎使用旅游區(qū)導(dǎo)游系統(tǒng)

!n”);printf(“

============================n”);do { printf(“n請選擇對該旅游區(qū)導(dǎo)游圖的操作→nn”);

printf(“

┏━━━━━━━━━━━━━━━━━━━━━┓n”);printf(“

1.建立旅游區(qū)導(dǎo)游圖的鄰接鏈表存儲

┃n”);printf(“

2.旅游區(qū)導(dǎo)游圖的鄰接鏈表的輸出

┃n”);printf(“

3.旅游區(qū)導(dǎo)游圖的鄰接矩陣的輸出

┃n”);printf(“

4.相鄰景點查詢

┃n”);printf(“

5.景點路線查詢

┃n”);printf(“

6.景點路線綜合查詢(查詢兩景點最短路徑)┃n”);printf(“

7.最佳路徑

┃n”);printf(“

8.退出

┃n”);printf(“

┗━━━━━━━━━━━━━━━━━━━━━┛n”);do { } scanf(“%d”,&n);while(n<1||n>9);switch(n){ case 1:

{

G=(ALGraph *)malloc(sizeof(ALGraph));/*動態(tài)申請圖G的內(nèi)存空間*/ G=Create_ALGraph();printf(“nn”);break;

} case 2:

{

} {

printf(“n旅游導(dǎo)游圖的鄰接鏈表表示如下所示:n”);output_ALGraph(G);printf(“nn”);break;case 3:

printf(“n旅游區(qū)導(dǎo)游圖的鄰接矩陣表示如下所示:n”);printf(“n∞表示兩景點之間不存在連通的路線n”);printf(“n數(shù)值表示兩景點之間的路線長度n”);display(G,g);printf(“nn”);break;

}

case 4:

{

}

case 5:

{

}

case 6:

{

}

case 7:

{

}

} } while(n!=8);} output_Find_ALGraph(G);printf(“nn”);break;printf(“輸入你要查詢的景點(下標(biāo)值):”);scanf(“ %d”,&v0);dijkshort_One(*G,g,v0,distance,path);break;printf(“輸入你要查詢的開始景點(下標(biāo)值):”);scanf(“ %d”,&v0);dijkshort_Two(*G,g,v0,distance,path);break;printf(“輸入你要查詢的開始景點(下標(biāo)值):”);scanf(“%d”,&v0);printf(“景點是%c ”,G->AdjList[v0].data);best_path(G,v0);break;

第四篇:公園導(dǎo)游圖 課程設(shè)計任務(wù)書

課程設(shè)計任務(wù)書

2013~2014學(xué)年第 1 學(xué)期

學(xué)生姓名:專業(yè)班級:2012網(wǎng)絡(luò)工程(1)班 指導(dǎo)教師:馮珊工作部門:計算機(jī)學(xué)院

一、課程設(shè)計題目: 公園導(dǎo)游圖

二、課程設(shè)計內(nèi)容

給出一張某公園的導(dǎo)游圖,游客通過終端詢問可知:從某一景點到另一景點的最短路徑。游客從公園大門進(jìn)入,選一條最佳路線,使游客可以不重復(fù)地游覽各景點,最后回到出口(出口就在入口旁邊)。

三、進(jìn)度安排

1. 初步完成總體設(shè)計,搭好框架,確定人機(jī)對話的界面,確定函數(shù)個數(shù);

2. 完成最低要求:建立一個文件,包括5個景點情況,能完成遍歷功能;

3. 進(jìn)一步要求:進(jìn)一步擴(kuò)充景點數(shù)目,畫出景點圖,有興趣的同學(xué)可以自己擴(kuò)充系統(tǒng)功能。

四、基本要求

1.界面友好,函數(shù)功能要劃分好

2.總體設(shè)計應(yīng)畫一流程圖

3.程序要加必要的注釋

4.要提供程序測試方案

5.程序一定要經(jīng)得起測試,寧可功能少一些,也要能運行起來,不能運行的程序是沒有價

值的。

第五篇:某數(shù)據(jù)結(jié)構(gòu)課程設(shè)計公園導(dǎo)游圖

數(shù)據(jù)結(jié)構(gòu)實驗報告

班級:06軟件工程

姓名:周鄧雄

學(xué)號:06517037

實驗四:圖(內(nèi)容:某公園導(dǎo)游圖)

一、問題描述:

公園導(dǎo)游系統(tǒng):給出一張某公園的導(dǎo)游圖,游客通過終端詢問可知︰從某一景到另一景點的最短路徑。游客從公園大門進(jìn)入,選一條最佳路線,使游客可以不重復(fù)地游覽各景點,最后回到出口(出口就在入口旁邊)。

二、設(shè)計描述:

1.輸入導(dǎo)游圖的算法(存儲方法).本程序特地設(shè)計函數(shù)void initgraph()用于實現(xiàn)鍵盤輸入圖的結(jié)構(gòu);

2.可訪問導(dǎo)游圖中任一景點的算法.為此設(shè)計了函數(shù)void vist(GraphMatrix graph)用于實現(xiàn)訪問任一景點的信息; 3.最短路徑從一景點到另一景點的算法。利用floyd算法-實現(xiàn)每一對景點間的最短路徑。并利用void outgraph()函數(shù)實現(xiàn)顯示起始點和終點間的最短路徑和其長度;

三、程序清單:

#include using namespace std;#include #define MAXVEX 100 #define MAX 999

typedef char VexType;數(shù)據(jù)結(jié)構(gòu)實驗報告

班級:06軟件工程

姓名:周鄧雄

學(xué)號:06517037

typedef float AdjType;typedef struct

//定義圖結(jié)構(gòu) {

int n;

/* 圖的頂點個數(shù) */

VexType vexs[MAXVEX];

/* 頂點信息 */

AdjType arcs[MAXVEX][MAXVEX];

/* 邊信息 */ } GraphMatrix;GraphMatrix graph;

//定義一個圖graph

typedef struct

//定義最短路徑ShortPath結(jié)構(gòu) {

AdjType a[MAXVEX][MAXVEX];

/* 關(guān)系矩陣A,存放每對頂點間最短路徑長度 */

int nextvex[MAXVEX][MAXVEX];

/* nextvex[i][j]存放vi到vj最短路徑上vi的后繼頂點的下標(biāo)值 */ } ShortPath;ShortPath path;

//定義路徑path void floyd(GraphMatrix * pgraph, ShortPath * ppath)

//floyd算法-用于實現(xiàn)每一對景點間的最短路徑 {

int i, j, k;

for(i = 0;i < pgraph->n;i++)

for(j = 0;j < pgraph->n;j++){

if(pgraph->arcs[i][j]!= MAX)

ppath->nextvex[i][j] = j;數(shù)據(jù)結(jié)構(gòu)實驗報告

班級:06軟件工程

姓名:周鄧雄

學(xué)號:06517037

else ppath->nextvex[i][j] =-1;

ppath->a[i][j] = pgraph->arcs[i][j];

}

for(k = 0;k < pgraph->n;k++)

for(i = 0;i < pgraph->n;i++)

for(j = 0;j < pgraph->n;j++){

if(ppath->a[i][k] >= MAX || ppath->a[k][j] >= MAX)

continue;

if(ppath->a[i][j] > ppath->a[i][k]+ ppath->a[k][j]){

ppath->a[i][j] = ppath->a[i][k] + ppath->a[k][j];

ppath->nextvex[i][j] = ppath->nextvex[i][k];

}

} } void outgraph()

//out()函數(shù)用于實現(xiàn)顯示起始點和終點間的最短路徑和其長度 { int c,b,i;cout<

//輸入要查找起始點和終點(本程序限于編號(int型))cout<>c;cin>>b;i=path.a[c][b];

//通過path.a[c][b]把路徑長度賦給i 數(shù)據(jù)結(jié)構(gòu)實驗報告

班級:06軟件工程

姓名:周鄧雄

學(xué)號:06517037

cout<<“該路徑總長為:”;cout<

//輸出路徑長度 cout<<“所得路徑順序為”;cout<

//此處輸出路徑的第一個編號

c=path.nextvex[c][b];

for(;c!=b;c=path.nextvex[c][b])

//循環(huán)順序輸出路徑始點和終點之間的景點編號 cout<<“,”<

//再輸出路徑的最后一個編號

cout<

//該函數(shù)用于實現(xiàn)鍵盤輸入圖的結(jié)構(gòu) { int i,m,j;printf(“請輸入公園景點的個數(shù):”);

//圖結(jié)點的個數(shù)賦給graph.n scanf(“%d”,&m);graph.n=m;for(i=0;i

//循環(huán)輸入結(jié)點頂點信息 { printf(“請輸入第%i個景點信息:”,i);//為了簡明起見此程序結(jié)點頂點信息限于字符型 cin>>graph.vexs[i];} printf(“請輸入公園的鄰接矩陣的信息n”);//循環(huán)輸入圖的鄰接矩陣信息(也就是輸入一個二維數(shù)組)for(i=0;i

班級:06軟件工程

姓名:周鄧雄

學(xué)號:06517037

for(j=0;j

printf(“請輸入第%d行,第%d列的元素:”,i+1,j+1);cin>>graph.arcs[i][j];} } void vist(GraphMatrix graph)

//函數(shù)用于實現(xiàn)訪問任一景點的信息 {

int i;

cout<

cout<<“你想知道哪個景點的信息:”;//注意輸入的是景點的編號

cin>>i;

cout<

cout<<“景點信息查詢結(jié)果為:”;

cout<

cout<

//用于判斷是否繼續(xù)執(zhí)行特定的下一步程序 {int a;cout<<“還想繼續(xù)查詢?(1&0)”;cin>>a;return a;} int main()數(shù)據(jù)結(jié)構(gòu)實驗報告

班級:06軟件工程

姓名:周鄧雄

學(xué)號:06517037

{

int i,j;

initgraph();

//initgraph()函數(shù)來實現(xiàn)鍵盤輸入圖的結(jié)構(gòu)

floyd(&graph, &path);

cout<<“為了驗證下面運算結(jié)果的方便,循環(huán)輸出nextvex[i][j]數(shù)組”;

for(i = 0;i < graph.n;i++)

{

for(j = 0;j < graph.n;j++)

//為了驗證下面運算結(jié)果的方便,循環(huán)輸出nextvex[i][j]數(shù)組

printf(“%d ”, path.nextvex[i][j]);

//nextvex[i][j]存放vi到vj最短路徑上vi的后繼頂點的下標(biāo)值

putchar('n');

}

cout<

outgraph();

while(jud())

outgraph();

//outgraph()函數(shù)用于實現(xiàn)顯示起始點和終點間的最短路徑和其長度

vist(graph);

//函數(shù)用于實現(xiàn)訪問任一景點的信息

cout<

while(jud())

vist(graph);

cout<

return 0;} 數(shù)據(jù)結(jié)構(gòu)實驗報告

班級:06軟件工程

姓名:周鄧雄

學(xué)號:06517037

驗四:圖(內(nèi)容:某公園導(dǎo)游圖)

.問題描述 ①

給出一張某公園的導(dǎo)游圖,游客通過終端詢問可知:

(1)從某一景點到另一景點的最短路徑。

(2)游客從公園大門進(jìn)入,選一條最佳路線,使游客可以不重復(fù)地游覽景點,最后回到出口(出口就在入口處旁邊)。

.要求 ②

將導(dǎo)游圖看作一張帶權(quán)無向圖,頂點表示公園的各個景點,邊表示各景點之間的道路,邊上的權(quán)值給游客。

.實現(xiàn)提示 ③

(1)第一問實際是最短路徑問題,如果有幾條路徑長度相同,可選擇途徑景點較少的路徑提供給游客。

(2)第二問可采用深度優(yōu)先搜索,如果有多種路徑可選擇,則選擇帶權(quán)路徑最小的路線提供給游客。

.選做內(nèi)容 ④

可以把各種路徑都顯示給游客,由游客自己選擇游覽路線。數(shù)據(jù)結(jié)構(gòu)實驗報告

班級:06軟件工程

姓名:周鄧雄

學(xué)號:06517037

下載大班閱讀:有趣的導(dǎo)游圖(5篇模版)word格式文檔
下載大班閱讀:有趣的導(dǎo)游圖(5篇模版).doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    有趣的漢字(大班)

    大班語言教案:有趣的漢字_幼兒園教案 活動由來及設(shè)計思路: 大班幼兒即將升入小學(xué),為使幼兒更快地適應(yīng)及了解小學(xué)生活,我們開展了“我要上學(xué)啦”主題活動。大班幼兒對文字符號有......

    有趣的廣告(大班)

    ?有趣的廣告 有趣的廣告(大班) 童得夢第一幼兒園 設(shè)計思路:在一次自由活動中,有幾個小朋友在,你一句,我一句的說特別高興,我仔細(xì)聽了一下,原來她們在說廣告,過了一會又有許多小朋友......

    大班《有趣的廣告》★

    大班集體教學(xué)活動——有趣的廣告 ? 教學(xué)目標(biāo): 1. 認(rèn)識生活中的廣告,了解廣告的主要作用。 2. 愿意大膽表達(dá)自己的觀點,體會設(shè)計廣告語的趣味性。 ? 教學(xué)準(zhǔn)備: 經(jīng)驗準(zhǔn)備:幼兒在生活......

    制作北京奧運游導(dǎo)游圖教學(xué)設(shè)計

    課題名稱:制作“北京奧運游”導(dǎo)游圖 (一) 教學(xué)目標(biāo) 1、 知識與技能 (1) 認(rèn)識PowerPoint 中各種自選圖形 (2) 會運用自選圖形工具繪制和修飾自選圖形 (3) 會在自選圖形中添加圖片、文......

    大班美術(shù)《有趣的笑臉》

    大班美術(shù)《有趣的笑臉》 大班美術(shù)《有趣的笑臉》 活動目標(biāo): 1、通過對多幅圖畫的細(xì)致觀察,討論和交流,感受漫畫中五官夸張的表現(xiàn)手法,嘗試用夸張的方法表現(xiàn)夸張的人。 2、自......

    幼兒園大班有趣的日歷

    活動目標(biāo):1、幫助幼兒樹立時間交替的觀念,教育幼兒要珍惜時間。 2、引導(dǎo)幼兒學(xué)會看日歷,了解日歷在日常生活中的運用。 3、使幼兒了解日歷的表現(xiàn)形式有很多種,認(rèn)識日歷,知道一年......

    大班教案——有趣的紙盒

    [大班教案——有趣的紙盒] 有趣的紙盒活動目標(biāo): 1、通過玩玩、做做紙盒,進(jìn)一步感知平面圖形與立體圖形的關(guān)系,發(fā)展空間知覺,大班教案——有趣的紙盒。 2、培養(yǎng)幼兒動手動腦的......

    大班科學(xué)教案有趣的泡泡[精選合集]

    大班科學(xué)教案有趣的泡泡3篇作為一名人民教師,有必要進(jìn)行細(xì)致的教案準(zhǔn)備工作,教案是教學(xué)藍(lán)圖,可以有效提高教學(xué)效率。我們應(yīng)該怎么寫教案呢?下面是小編為大家整理的大班科學(xué)教案......

主站蜘蛛池模板: 亚洲人成人无码网www电影首页| 最新在线精品国产福利| 大桥未久亚洲无av码在线| 精品国精品自拍自在线| 蜜桃色欲av久久无码精品软件| 玩两个丰满老熟女久久网| 99热爱久久99热爱九九热爱| 亚洲精华国产精华精华液网站| 好男人视频社区在线观看www| 国产香蕉尹人视频在线| 无翼乌工口肉肉无遮挡无码18| 国产精品久久久久不卡绿巨人| 国产亚洲精品97在线视频一| 13小箩利洗澡无码视频网站免费| 色情无码一区二区三区| 欧美黑人又粗又大xxx| 久久精品免费一区二区| 亚洲国产成人精品av在线| 狠狠躁夜夜躁无码中文字幕| 中文毛片无遮挡高潮免费| 欧美三级不卡在线播放| 中文字幕无码不卡一区二区三区| 亚洲欧美乱日韩乱国产| 国内精品国产成人国产三级| 鲁大师在线视频播放免费观看| 制服视频在线一区二区| 国内精品久久久久av福利秒拍| 国产精品自在线一区| 亚欧美无遮挡hd高清在线视频| 日本在线看片免费人成视频1000| 亚洲熟妇av一区二区三区下载| 亚洲a∨无码一区二区三区| 92午夜少妇极品福利无码电影| 国产精品免费久久久久影院仙踪林| 久9视频这里只有精品| 国产碰在79香蕉人人澡人人看喊| 成人三级a视频在线观看| 真人与拘做受免费视频一| 永久免费的av在线电影网无码| 久久人人爽人人爽人人片av高清| 激烈的性高湖波多野结衣|