




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課 程 設(shè) 計(jì)課程設(shè)計(jì)任務(wù)書(shū)學(xué)生姓名: miss屠 專(zhuān)業(yè)班級(jí): 08計(jì)科 指導(dǎo)教師: 王海英 工作單位: 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 題 目: 進(jìn)程同步模型系統(tǒng)的設(shè)計(jì)吃水果問(wèn)題 初始條件:1預(yù)備內(nèi)容:閱讀操作系統(tǒng)的進(jìn)程管理章節(jié)內(nèi)容,對(duì)進(jìn)程的同步和互斥,以及信號(hào)量機(jī)制度有深入的理解。2實(shí)踐準(zhǔn)備:掌握一種計(jì)算機(jī)高級(jí)語(yǔ)言的使用。要求完成的主要任務(wù): (包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說(shuō)明書(shū)撰寫(xiě)等具體要求)1為下面吃水果的問(wèn)題創(chuàng)建進(jìn)程并利用通信api實(shí)現(xiàn)進(jìn)程之間的同步模型。能夠處理以下的情形:桌子上有一只盤(pán)子,最多可容納兩個(gè)水果,每次只能放入或者取出一個(gè)水果。爸爸專(zhuān)門(mén)向盤(pán)子中放蘋(píng)果,媽媽專(zhuān)門(mén)向盤(pán)子中放橘
2、子,兩個(gè)兒子專(zhuān)門(mén)等待吃盤(pán)子中的橘子,兩個(gè)女兒專(zhuān)門(mén)等吃盤(pán)子中的蘋(píng)果。2設(shè)計(jì)報(bào)告內(nèi)容應(yīng)說(shuō)明: 課程設(shè)計(jì)目的與功能; 需求分析,數(shù)據(jù)結(jié)構(gòu)或模塊說(shuō)明(功能與框圖); 源程序的主要部分; 運(yùn)行結(jié)果與運(yùn)行情況分析; 自我評(píng)價(jià)與總結(jié):i)你認(rèn)為你完成的設(shè)計(jì)哪些地方做得比較好或比較出色;ii)什么地方做得不太好,以后如何改正;iii)從本設(shè)計(jì)得到的收獲(在編寫(xiě),調(diào)試,執(zhí)行過(guò)程中的經(jīng)驗(yàn)和教訓(xùn));iv)完成本題是否有其他的其他方法(如果有,簡(jiǎn)要說(shuō)明該方法);時(shí)間安排:設(shè)計(jì)安排一周:周1、周2:完成程序分析及設(shè)計(jì)。周2、周3:完成程序調(diào)試及測(cè)試。周4、周5:撰寫(xiě)課程設(shè)計(jì)報(bào)告。指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任
3、教師)簽名: 年 月 日進(jìn)程同步模型系統(tǒng)的設(shè)計(jì) 吃水果問(wèn)題1、課程設(shè)計(jì)目的與功能1.1、目的為下面吃水果的問(wèn)題創(chuàng)建進(jìn)程并利用通信api實(shí)現(xiàn)進(jìn)程之間的同步模型。能夠處理以下的情形:桌子上有一只盤(pán)子,最多可容納兩個(gè)水果,每次只能放入或者取出一個(gè)水果。爸爸專(zhuān)門(mén)向盤(pán)子中放蘋(píng)果,媽媽專(zhuān)門(mén)向盤(pán)子中放橘子,兩個(gè)兒子專(zhuān)門(mén)等待吃盤(pán)子中的橘子,兩個(gè)女兒專(zhuān)門(mén)等吃盤(pán)子中的蘋(píng)果。1.2、實(shí)現(xiàn)的功能本程序共創(chuàng)建了4個(gè)在windows系統(tǒng)環(huán)境下實(shí)現(xiàn)的線程,即fahter、mother、son和daughter等4個(gè)線程,以及putapple、putorange、getapple和getorange等4個(gè)函數(shù),其中4個(gè)線程是
4、用于實(shí)現(xiàn)爸爸、媽媽、兒子和女兒分別放水果和取水果的線程操作的,并分別調(diào)用這4個(gè)函數(shù),來(lái)實(shí)現(xiàn)真正的操作。在本程序中還設(shè)置了mutex互斥信號(hào)、empty、apple和orange等信號(hào)量,用于各線程之間獲取資源和放棄資源等的線程之間的操作控制,并且設(shè)置了盤(pán)子容量上線常量content。其主要功能是用于實(shí)現(xiàn)爸爸和媽媽這2個(gè)互斥線程對(duì)于資源的使用操作以及爸爸和女兒、媽媽和兒子這2組同步線程對(duì)于資源的操作。2、需求分析當(dāng)計(jì)算機(jī)中兩個(gè)或者多個(gè)進(jìn)程在執(zhí)行時(shí)需要使用公用緩沖區(qū),并且對(duì)該緩沖區(qū)采取了互斥措施,這時(shí)如果并發(fā)執(zhí)行這些進(jìn)程的時(shí)候就會(huì)造成cpu時(shí)間的極大浪費(fèi),這是操作系統(tǒng)設(shè)計(jì)要求不允許的。而這種現(xiàn)象在
5、操作系統(tǒng)和用戶進(jìn)程中大量存在。因此為了解決這一問(wèn)題,提出了同步的概念,即把異部環(huán)境下的一組并發(fā)進(jìn)程,因直接制約而互相發(fā)送消息而進(jìn)行互相合作、互相等待,使得各進(jìn)程按一定的速度執(zhí)行的過(guò)程稱(chēng)為進(jìn)程間的同步。在本系統(tǒng)中,爸爸與媽媽、兒子與女兒的線程操作是互斥的,但是爸爸與女兒、媽媽與兒子線程之間的操作是同步的。因此要利用進(jìn)程同步的方法來(lái)實(shí)現(xiàn)這幾者之間的操作,當(dāng)然其中也包含著互斥進(jìn)程,因?yàn)楸P(pán)子每次只能放入或者取出一個(gè)水果。因?yàn)槭窃趙indows操作系統(tǒng)下實(shí)現(xiàn)的,所以是采用線程的方法實(shí)現(xiàn)的。3、整體功能及設(shè)計(jì)3.1數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)在此次程序中一共涉及到線程、函數(shù)、互斥信號(hào)、信號(hào)量和常變量。3.1.1線程 線
6、程是指進(jìn)程內(nèi)的一個(gè)執(zhí)行單元,也是進(jìn)程內(nèi)的可調(diào)度實(shí)體。單個(gè)進(jìn)程在任何給定時(shí)刻,可能有不止一個(gè)線程在運(yùn)行。但進(jìn)程啟動(dòng)的同時(shí)啟動(dòng)了一個(gè)線程,該線程被稱(chēng)作主線程或執(zhí)行線程。一個(gè)進(jìn)程除啟動(dòng)主線程外還可以啟動(dòng)多個(gè)線程,每個(gè)線程都共享進(jìn)程的地址空間,并且共享著進(jìn)程的地址空間及各種資源。線程可以繼續(xù)創(chuàng)建子線程。如果主線程退出,主線程下的所有子線程將失敗。線程的創(chuàng)建格式如下:其中括號(hào)中則需要列出該函數(shù)的各形參或者實(shí)參。該函數(shù)的返回值為線程的句柄。handle createthread( ); createthread函數(shù)參數(shù)說(shuō)明參 數(shù)描 述lpthreadattibutes指向安全屬性的指針dwstacksiz
7、e初始線程棧大小lpstrataddress指向線程函數(shù)的指針lpparameter新線程參數(shù)dwcreationflags創(chuàng)建標(biāo)志lpthreadid指向存放線程id的指針 在本程序中使用了father、mother、son和daughter等共4個(gè)線程。 father、mother線程的作用是模擬實(shí)現(xiàn)向盤(pán)子中放蘋(píng)果或者橘子的操作,當(dāng)主程序執(zhí)行之后創(chuàng)建了father或者mother線程,則該線程會(huì)獨(dú)自占用整個(gè)資源,并執(zhí)行putapple或者putorange函數(shù)來(lái)實(shí)現(xiàn)操作,在執(zhí)行father或者mother線程時(shí),首先會(huì)將信號(hào)量empty減1,來(lái)說(shuō)明盤(pán)子中已經(jīng)放置了一個(gè)水果,之后將互斥信號(hào)m
8、utex置0,來(lái)說(shuō)明盤(pán)子已經(jīng)被占用,其他進(jìn)程無(wú)法占用。當(dāng)實(shí)現(xiàn)了putapple或者putorange后,該線程會(huì)置mutex為1,來(lái)釋放資源,表明該資源可以被其他線程所使用。接下來(lái)將apple或者orange信號(hào)進(jìn)行相應(yīng)的設(shè)置,表明在盤(pán)子中已經(jīng)放置了蘋(píng)果或者橘子,daughter或者son線程可以從盤(pán)子中取蘋(píng)果或者橘子了。 daughter 、son線程的作用是模擬實(shí)現(xiàn)從盤(pán)子中取出蘋(píng)果或者橘子的操作,當(dāng)主程序中執(zhí)行過(guò)father或者mother線程之后會(huì)釋放資源,這時(shí)候daughter或者son線程便得到了資源,在得到資源即盤(pán)子后會(huì)首先將apple或者orange信號(hào)量進(jìn)行設(shè)置,恢復(fù)原來(lái)的數(shù)值
9、以表明盤(pán)子中的水果情況,并且將mutex互斥信號(hào)進(jìn)行設(shè)置,表示資源正在被占用。在實(shí)現(xiàn)了getapple或者getorange后,便對(duì)mutex互斥信號(hào)進(jìn)行設(shè)置,以釋放資源。3.1.2函數(shù)若干個(gè)函數(shù)組成一個(gè)程序文件,若干個(gè)程序文件組成一個(gè)完整的程序,因此函數(shù)是程序的基本組成部分。在本程序中共創(chuàng)建了putapple( )、putorange( )、getapple( )和getorange( )等4個(gè)功能函數(shù),分別用來(lái)模擬實(shí)現(xiàn)放蘋(píng)果、放橘子、取蘋(píng)果和取橘子的操作。主函數(shù)main( )主要作用就是為father、mother、son和daughter這四個(gè)線程服務(wù),創(chuàng)建這幾個(gè)線程,并在這些線程執(zhí)行完
10、畢后銷(xiāo)毀它們。主函數(shù)中sleep( )函數(shù),控制主線程休眠一段時(shí)間,并在此期間執(zhí)行其他其他子線程,在休眠時(shí)間過(guò)后主線程執(zhí)行完,整個(gè)程序執(zhí)行完畢。3.1.3互斥信號(hào)和信號(hào)量線程同步的方法有很多,最常用的有互斥(cmutex)、臨界(criticalsection)、信號(hào)量(semaphore)和事件(event)。但本程序只用到了互斥和信號(hào)量。其中mutex是各線程之間的互斥信號(hào),當(dāng)一個(gè)線程占用了資源之后,其他線程在沒(méi)接收到通知的時(shí)候即互斥信號(hào)為0時(shí)便無(wú)法使用資源。empty、apple和orange為3個(gè)信號(hào)量,分別來(lái)表示資源的使用狀態(tài),各線程根據(jù)這3個(gè)信號(hào)量來(lái)了解資源狀態(tài)和使用資源。這3個(gè)信
11、號(hào)量的變化范圍為0 content,content為盤(pán)子的容量,也是資源的容量。3.2程序?qū)崿F(xiàn)框圖3.2.1 main函數(shù) 開(kāi)始 創(chuàng)建互斥信號(hào)mutex 創(chuàng)建empty、apple和orange3個(gè)信號(hào)量創(chuàng)建mother線程,并執(zhí)行該線程創(chuàng)建father線程,并執(zhí)行該線程創(chuàng)建daughter線程,并執(zhí)行該線程創(chuàng)建son線程,并執(zhí)行該線程銷(xiāo)毀各線程結(jié)束3.2.2 father、mother線程設(shè)置empty信號(hào)量,使其1設(shè)置mutex互斥信號(hào),使其置0執(zhí)行putapple( )或者putorange( )函數(shù)設(shè)置mutex互斥信號(hào),使其恢復(fù)為0設(shè)置apple或者orange信號(hào)量,使其+13.2
12、.3 son、daughter線程設(shè)置apple或者orange信號(hào)量使其恢復(fù)為原來(lái)的值,0設(shè)置mutex互斥信號(hào),使其置0執(zhí)行g(shù)etapple( )或者getorange( )函數(shù)設(shè)置mutex互斥信號(hào),使其置1設(shè)置empty信號(hào)量,使其恢復(fù)為24、編程實(shí)現(xiàn)4.1各線程的聲明:dword winapi father(lpvoid lpparameter);/father線程dword winapi mother(lpvoid lpparameter);/mother線程dword winapi son(lpvoid lpparameter);/son線程dword winapi daught
13、er(lpvoid lpparameter);/daughter線程4.2 各信號(hào)量、互斥信號(hào)和常變量handle mutex;/互斥信號(hào)mutexhandle empty; /信號(hào)量emptyhandle apple; /信號(hào)量applehandle orange; /信號(hào)量orangeconst int content=2; /常變量mutex4.3個(gè)函數(shù)的聲明void putapple( );void putorange( );void getapple( );void getorange( );4.4主函數(shù)的程序代碼void main()mutex=createmutex(null,f
14、alse,null);/創(chuàng)建mutexempty=createsemaphore(null,content,content,null); /創(chuàng)建emptyapple=createsemaphore(null,0,content,null); /創(chuàng)建appleorange=createsemaphore(null,0,content,null); /創(chuàng)建oarngehandle hthread1;handle hthread2;handle hthread3;handle hthread4;hthread1=createthread(null,0,father,null,0,null);/創(chuàng)建f
15、ather線程hthread2=createthread(null,0,mother,null,0,null);/創(chuàng)建mother線程hthread3=createthread(null,0,son,null,0,null);/創(chuàng)建son線程hthread4=createthread(null,0,daughter,null,0,null);/創(chuàng)建daughter線程 closehandle(hthread1);/銷(xiāo)毀father線程closehandle(hthread2);/銷(xiāo)毀mother線程closehandle(hthread3);/銷(xiāo)毀son線程closehandle(hthrea
16、d4);/銷(xiāo)毀daughter線程sleep(35000);/主程序?qū)⒃?0秒后結(jié)束4.5各線程的程序代碼dword winapi father(lpvoid lpparameter)/father線程實(shí)現(xiàn)while(1)waitforsingleobject(empty,infinite);waitforsingleobject(mutex,infinite);putapple( );sleep(1500);releasemutex(mutex);releasesemaphore(apple,1,null);dword winapi mother(lpvoid lpparameter)/mo
17、ther線程實(shí)現(xiàn)while(1)waitforsingleobject(empty,infinite);waitforsingleobject(mutex,infinite);putorange( );sleep(1500);releasemutex(mutex);releasesemaphore(orange,1,null);dword winapi son(lpvoid lpparameter)/son線程實(shí)現(xiàn)while(1)waitforsingleobject(orange,infinite);waitforsingleobject(mutex,infinite);getorange(
18、 );sleep(1500);releasemutex(mutex);releasesemaphore(empty,1,null);dword winapi daughter(lpvoid lpparameter)/daughter線程實(shí)現(xiàn)while(1)waitforsingleobject(apple,infinite);waitforsingleobject(mutex,infinite);getapple( );sleep(1500);releasemutex(mutex);releasesemaphore(empty,1,null);4.6各函數(shù)的程序代碼void putapple(
19、 )/father放蘋(píng)果cout爸爸要放蘋(píng)果了!endl;sleep(1500);cout蘋(píng)果已經(jīng)被放進(jìn)去了!endl;void putorange( )/mother放橘子cout媽媽要放橘子了!endl;sleep(1500);cout橘子已經(jīng)被放進(jìn)去了!endl;void getapple( )/daughter取蘋(píng)果cout女兒要吃蘋(píng)果了!endl;sleep(1500);cout蘋(píng)果已經(jīng)被拿出來(lái)了!endl;void getorange( )/son取橘子cout兒子要吃橘子了!endl;sleep(1500);cout橘子已經(jīng)被拿出來(lái)了!endl; 5、運(yùn)行結(jié)果與運(yùn)行情況分析程序的
20、運(yùn)行結(jié)果如下:各線程執(zhí)行完一次的結(jié)果:由于是設(shè)定了sleep( )函數(shù),所以程序在執(zhí)行了35000毫秒,即35秒之后便自動(dòng)結(jié)束。程序開(kāi)始時(shí),在main( )函數(shù)中創(chuàng)建各個(gè)線程,在創(chuàng)建之后,便開(kāi)始按照同步進(jìn)程的執(zhí)行規(guī)律進(jìn)行執(zhí)行,在每個(gè)線程中都設(shè)置有sleep( )函數(shù),用來(lái)進(jìn)行最終結(jié)果輸出的界面控制,即每隔1.5秒便輸出一個(gè)線程執(zhí)行的結(jié)果,這樣依次進(jìn)行。由于線程的調(diào)度沒(méi)有明顯的顯示結(jié)果,所以在4個(gè)函數(shù)中專(zhuān)門(mén)設(shè)置了輸出語(yǔ)句以顯式的方式來(lái)表現(xiàn)各線程執(zhí)行的結(jié)果。由于在時(shí)間上進(jìn)行了設(shè)置,所以最后輸出了3組線程執(zhí)行的結(jié)果,即從爸爸或者媽媽放第一個(gè)水果,一直到兒子或者女兒將盤(pán)子中的最后一個(gè)水果取走。6、自我
21、評(píng)價(jià)與總結(jié)6.1比較滿意之處在設(shè)計(jì)這個(gè)題目之前,由于對(duì)于進(jìn)程同步的實(shí)現(xiàn)方法不是很了解,對(duì)于怎樣具體實(shí)現(xiàn)進(jìn)程同步有很大的疑問(wèn),所以在網(wǎng)上進(jìn)行了查找,希望找到相關(guān)的資料,但幾經(jīng)搜索都沒(méi)有找到比較適合的材料。網(wǎng)上的資料主要以p v原語(yǔ)的實(shí)現(xiàn)為主,而本實(shí)驗(yàn)是以實(shí)現(xiàn)進(jìn)程同步系統(tǒng)的功能為主,因此對(duì)于實(shí)現(xiàn)功能有一定的幫助,但對(duì)于p原語(yǔ)語(yǔ)句與 v原語(yǔ)語(yǔ)句的具體實(shí)現(xiàn)并沒(méi)有給出。就是在這種雖然有一定基礎(chǔ),但并不能完全依靠的情況下,自己通過(guò)查找相關(guān)的書(shū)籍,了解本系統(tǒng)中可能涉及到的數(shù)據(jù)結(jié)構(gòu)知識(shí)后,成功的實(shí)現(xiàn)了進(jìn)程同步模型系統(tǒng)的功能。自己對(duì)于從對(duì)進(jìn)程同步只是有一個(gè)概念上的認(rèn)識(shí),到最終將它的功能實(shí)現(xiàn)這一過(guò)程感到滿意與欣慰
22、,因?yàn)檫@些都是通過(guò)自己的努力一步一步實(shí)現(xiàn)的。在程序設(shè)計(jì)方面,本程序的數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單,主要包括線程、函數(shù)和進(jìn)程同步中的各種互斥信號(hào)和信號(hào)量。程序的數(shù)據(jù)結(jié)構(gòu)精簡(jiǎn),程序設(shè)計(jì)簡(jiǎn)介,一目了然。麻雀雖小,但五臟俱全,凡是實(shí)現(xiàn)能夠?qū)崿F(xiàn)該設(shè)計(jì)功能的組成部分全部包括。6.2不足之處首先,雖然熟悉和了解了程序中各數(shù)據(jù)結(jié)構(gòu)的定義和創(chuàng)建,但是在一些細(xì)節(jié)問(wèn)題上還是沒(méi)有一個(gè)很明確的認(rèn)識(shí),例如雖然知道handle句柄,在程序中可以用于創(chuàng)建線程,但對(duì)于其實(shí)現(xiàn)的原理還不是很清楚,現(xiàn)在只是機(jī)械的合法的使用它。其次對(duì)于sleep( )函數(shù)的理解也不夠深刻,在本程序中使用次函數(shù)的目的主要是為了進(jìn)行結(jié)果輸出時(shí)可以將結(jié)果以此逐漸的輸出,而
23、不是使結(jié)果一次性的輸出出來(lái),對(duì)其在各線程之間是怎樣進(jìn)行操作的并不是很清楚。最后在運(yùn)行界面的設(shè)計(jì)上有些過(guò)于簡(jiǎn)單,輸出的信息并不是很詳細(xì),與網(wǎng)上一些比較成熟的進(jìn)程同步的其他模型實(shí)現(xiàn)的運(yùn)行界面相比是比較簡(jiǎn)陋的,各線程在使用過(guò)資源后,資源內(nèi)部的情況,各信號(hào)量的變化并沒(méi)有很具體的顯示出來(lái),當(dāng)然在以后的設(shè)計(jì)中會(huì)更加的完善。6.3本次課程設(shè)計(jì)的收獲本程序是用來(lái)實(shí)現(xiàn)進(jìn)程同步模型系統(tǒng),其核心部分就是如何利用p v原語(yǔ)的原理以及c+的編程語(yǔ)言將線程的同步與互斥操作實(shí)現(xiàn)。所以實(shí)現(xiàn)這一功能只需要將線程這一概念理解清楚并熟練運(yùn)用即可,并不需要其他非常復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和編譯環(huán)境。對(duì)于我而言重點(diǎn)則在于對(duì)線程這一數(shù)據(jù)結(jié)構(gòu)的理解。剛開(kāi)始設(shè)計(jì)該程序的時(shí)候,雖然擁有了了線程的同步與互斥的理論基礎(chǔ)和p v原語(yǔ)的實(shí)現(xiàn)原理,但對(duì)于這些知識(shí)的具體實(shí)現(xiàn)還是沒(méi)有頭緒,在查閱了很多關(guān)于生產(chǎn)者消費(fèi)者的一些源程序后,看到了關(guān)于線程等的一些數(shù)據(jù)結(jié)構(gòu)的定義、創(chuàng)建和使用方法,但還是由于沒(méi)有像書(shū)上那樣進(jìn)行講解所以并沒(méi)有看懂,所以在找不到相關(guān)源程序后,我查閱了與vc+相關(guān)的書(shū)籍,在仔細(xì)學(xué)習(xí)了線程這
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國(guó)際關(guān)系學(xué)院《工程力學(xué)與機(jī)械設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 河北環(huán)境工程學(xué)院《護(hù)理學(xué)基礎(chǔ)技術(shù)(一)》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京航空航天大學(xué)金城學(xué)院《細(xì)胞生物學(xué)課程設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州城市職業(yè)學(xué)院《戰(zhàn)略管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東新安職業(yè)技術(shù)學(xué)院《生物化學(xué)及實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 長(zhǎng)春師范大學(xué)《汽車(chē)底盤(pán)構(gòu)造與維修》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西華澳商貿(mào)職業(yè)學(xué)院《移動(dòng)通信技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 大學(xué)生畢業(yè)實(shí)習(xí)計(jì)劃
- 大一新生軍訓(xùn)心得感悟(28篇)
- 農(nóng)村亂占耕地建房問(wèn)題整治工作匯報(bào)范文(3篇)
- 地鐵施工管線保護(hù)培訓(xùn)課件
- 農(nóng)村公路質(zhì)量監(jiān)督管理及措施
- 小學(xué)體積單位換算練習(xí)100道及答案
- 第7課《誰(shuí)是最可愛(ài)的人》公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)-2
- 人音版四年級(jí)音樂(lè)下冊(cè)全冊(cè)教學(xué)設(shè)計(jì)教案表格式
- 骨盆骨折小講課護(hù)理課件
- 渣土車(chē)司機(jī)安全培訓(xùn)
- 分布式儲(chǔ)能系統(tǒng)的成本效益評(píng)估
- 二次函數(shù)(最全的中考二次函數(shù)知識(shí)點(diǎn)總結(jié))
- 建筑衛(wèi)生陶瓷生產(chǎn)英文資料
- 網(wǎng)絡(luò)意識(shí)形態(tài)安全
評(píng)論
0/150
提交評(píng)論