版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
操作系統(tǒng)原理實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱:操作系統(tǒng)姓名:XXX學(xué)號(hào):xxxxxxxxxx班級(jí):X)(X指導(dǎo)老師:XXXe*INTE_PER_SEC);SIeep(dwDelay);printf("Writethread%dsentsthewritingrequire.\n",nSeriaINo);WaitForSingleObject(hWrite,INFINITE);printf("Writerthread%dbeginstowritetothefiIe.\n",nSeriaINo);SIeep(dwWriteTime);printf("Writethread%dfinishedwritingtothefiIe.\n",nSeriaINo);ReleaseSemaphore(hWrite,1,NULL):)//讀者優(yōu)先解決函數(shù)//fiIe:文獻(xiàn)名voidReaderPriority(char*fiIe)(intnThreadCnt=0;DWORDdwThreadID=0;nReaderCnt=0;//初始化讀寫(xiě)者計(jì)數(shù)HANDLEhThreads[MAX_THREAD_NUM];ThreadInfooThreadInfo[MAX_THREAD_NUM];ifstreaminFiIe;inFiIe.open(fiIe);printf("ReaderPriority:\n\n");whiIe(inFiIe)//讀入每一個(gè)讀者,寫(xiě)者的信息inFile>>oThreadInfo[nThreadCnt].nSeriaINo;inFiIe>>oThreadInfo[nThreadCnt].cType;inFiIe>>oThreadInfo[nThreadCnt].dDelayTime;inFiIe?oThreadInfoLnThreadCnt].dOpeTime:if('八’!=oThreadInfo[nThreadCnt].cType)(nThreadCnt++;)inFiIe.get();}//創(chuàng)建線程for(inti=0;i<nThreadCnt;i++)(if((oThreadInfo[i].cType==READER)||(oThreadInfo[i].cType=='r')){hThreads[i]=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)(RP_ReaderThread),//創(chuàng)建讀者進(jìn)程&oThreadlnfo[i],CREATE_SUSPENDED,&dwThreadlD);}eIsehThreads[i]=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)(RP_WriterThread),//創(chuàng)建寫(xiě)線程&oThreadlnfo[i],CREATE_SUSPENDED,&dwThreadID);)}for(i=0;i<nThreadCnt;i++)(ResumeThread(hThreads[i]);)WaitForMuItipIeObjects(nThreadCnt,hThreads,TRUE,INFINITE):printf("AlIreaderandwriterhavefinishedoperating-\n");}//寫(xiě)者優(yōu)先一一讀者線程//P:讀者線程信息voidWP_ReaderThread(void*p)(intnSerialNo=((ThreadInfo*)(p))->nSeriaINo;//從參數(shù)中得到信息DWORDdwReadTime=(DWORD)(((ThreadInfo*)(p))—>dOpeTime*INTE_PER_SEC);DWORDdwDelay二(DWORD)(((Threadlnfo*)(p))->dDelayTime*INTE_PER_SEC);Sleep(dwDelay);printf("Readerthread%dsentsthereadingrequire.\n",nSeriaINo);WaitForSingIeObject(hReadMutex,INFINITE);WaitForSingleObject(hRead,INFINITE);WaitForSingIeObject(hRCMutex,INFINITE):nReaderCnt++;if(nReaderCnt==1)(WaitForSingleObject(hWrite,INFINITE);1ReIeaseMutex(hRCMutex);ReIeaseSemaphore(hRead,1,NULL);ReleaseMutex(hReadMutex);printf("Readerthread%dbeginstoreadfiIe.\n",nSeriaINo);Sleep(dwReadTime);printf("Readerthread%dfinishedreadingfiIe.\n",nSerialNo);WaitForSingIeObject(hRCMutex,INFINITE);nReaderCnt—;if(nReaderCnt==0)(ReIeaseSemaphore(hWrite,1,NULL);)ReIeaseMutex(hRCMutex);//寫(xiě)者優(yōu)先寫(xiě)者線程//P:寫(xiě)者線程信息voidWP_WriterThread(void*p)(intnSeriaINo=((ThreadInfo*)(p))->nSeriaINo;DWORDdwWriteTime=(DWORD)(((ThreadInfo*)(p))->dOpeTime*INTE_PER_SEC);DWORDdwDeIay=(DWORD)(((ThreadInfo*)(p))->dDeIayTime*INTE_PER_SEC);SIeep(dwDeIay);printf("Writerthread%dsentsthewritingrequire.\n",nSeriaINo);WaitForSingIeObject(hWCMutex,INFINITE);nWriterCnt++;if(nWriterCnt==1)(WaitForSingleObject(hRead,INFINITE);}ReIeaseMutex(hWCMutex);WaitForSingIeObject(hWrite,INFlNITE);printf("Writerthread%dbeginstowritetothefiIe.\n",nSeriaINo);SIeep(dwWriteTime);printf("Writerthread%dfinishedwritingtothefe.\n",nSeriaINo);ReIeaseSemaphore(hWrite,1,NULL);WaitForSingIeObject(hWCMutex,INFINITE):nWriterCnt—;if(nWriterCnt==0)(ReIeaseSemaphore(hRead,1,NULL);}ReIeaseMutex(hWCMutex);)//寫(xiě)者優(yōu)先解決函數(shù)//file:文獻(xiàn)名voidWriterPriority(char*fiIe)(intnThreadCnt=0;DWORDdwThreadID;HANDLEhThreads[MAX_THREAD_NUM];ThreadInfooThreadInfo[MAX_THREAD_NUM];nReaderCnt=0;nWriterCnt=O;ifstreaminFiIe;inFiIe.open(fiIe):printf("Writerpriority:\n\n");while(inFiIe)inFiIe?oThreadInfo[nThreadCntJ.nSeriaINo;inFiIe?oThreadInfo[nThreadCnt].cType;inFiIe>>oThreadInfo[nThreadCnt].dDelayTime;inFiIe?oThreadInfo[nThreadCnt].dOpeTime;if('!=oThreadInfo[r)ThreadCnt].cType)(nThreadCnt++;1inFiIe.get();}for(inti=0;i<nThreadCnt;i++)//創(chuàng)建線程(if((oThreadlnfo[i].cType==READER)|I(oThreadInfo[i].cType==r1))(hThreads[i]=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)(WP_ReaderThread),//創(chuàng)建讀者進(jìn)程&oThreadInfo[i],CREATE_SUSPENDED,&dwThreadID);)elsehThreads[i]=CreateThread(NULL,0,(LPTHREAD_START_R0UTINE)(WP_WriterThread),&oThreadInfo[i],CREATE_SUSPENDED,&dwThreadID);1}for(i=0:i<nThreadCnt;i++)(ResumeThread(hThreads[i]);)WaitForMuItipIeObjects(nThreadCnt,hThreads,TRUE,INFINITE);printf("AlIreaderandwriterhavefinishedoperating.\n");}intmain(intargc,char*argv口){charch;whiIe(true)fppjntf("*************************************\n");printf("1.ReaderPriority\n");printf("2.WriterPriority。");printf("3.ExittoWindows\nH;prjntf("*************************************\n");printf("Enteryourchoice1,2,3:");do{ch=(char)_getch():Iwhile(ch!='1'&&ch!='2'&&ch!='3');system("cis");if(ch=='3')return0;elseif(ch==,1')ReaderPriority("thread,dat");elseWriterPriority("thread,datH;
printf("\nPressAnyKeytoCoutinue:");_getch();system("cIs");)return0;一、實(shí)驗(yàn)內(nèi)容在Windows2023環(huán)境下,創(chuàng)建一個(gè)控制臺(tái)進(jìn)程,此進(jìn)程包含n個(gè)線程。用這n個(gè)線程來(lái)表達(dá)n個(gè)讀者或?qū)懻?。每個(gè)線程按相應(yīng)測(cè)試數(shù)據(jù)文獻(xiàn)(后面有介紹)的規(guī)定進(jìn)行讀寫(xiě)操作。用信號(hào)量機(jī)制分別實(shí)現(xiàn)讀者優(yōu)先和寫(xiě)者優(yōu)先的讀者-寫(xiě)者問(wèn)題。a讀者-寫(xiě)者問(wèn)題的讀寫(xiě)操作限制(涉及讀者優(yōu)先和寫(xiě)者優(yōu)先):1)寫(xiě)一寫(xiě)互斥,即不能有兩個(gè)寫(xiě)者同時(shí)進(jìn)行寫(xiě)操作。2E讀一寫(xiě)互斥,即不能同時(shí)有一個(gè)線程在讀,而另一個(gè)線程在寫(xiě)。,3X)讀一讀允許,即可以有一個(gè)或多個(gè)讀者在讀。讀者優(yōu)先的附加限制:假如一個(gè)讀者申請(qǐng)進(jìn)行讀操作時(shí)已有另一個(gè)讀者正在進(jìn)行讀操作,則該讀者可直接開(kāi)始讀操作。寫(xiě)者優(yōu)先的附加限制:假如一個(gè)讀者申請(qǐng)進(jìn)行讀操作時(shí)已有另一寫(xiě)者在等待訪問(wèn)共享資源,則該讀者必須等到?jīng)]有寫(xiě)者處在等待狀態(tài)后才干開(kāi)始讀操作。A運(yùn)營(yíng)結(jié)果顯示規(guī)定:規(guī)定在每個(gè)線程創(chuàng)建、發(fā)出讀寫(xiě)操作申請(qǐng)、開(kāi)始讀寫(xiě)操作和結(jié)束讀寫(xiě)操作時(shí)分別顯示一行提醒信息,以擬定所有解決都遵守相應(yīng)的讀寫(xiě)操作限制。二、實(shí)驗(yàn)?zāi)康脑赪indows2023環(huán)境下,創(chuàng)建一個(gè)控制臺(tái)進(jìn)程,此進(jìn)程包含n個(gè)線程。用這n個(gè)線程來(lái)表達(dá)n個(gè)讀者或?qū)懻?。每個(gè)線程按相應(yīng)測(cè)試數(shù)據(jù)文獻(xiàn)(后面有介紹)的規(guī)定進(jìn)行讀寫(xiě)操作。用信號(hào)量機(jī)制分別實(shí)現(xiàn)讀者優(yōu)先和寫(xiě)者優(yōu)先的讀者-寫(xiě)者問(wèn)題。三、實(shí)驗(yàn)原理1)?讀者優(yōu)先a讀者優(yōu)先指的是除非有寫(xiě)者在寫(xiě)文獻(xiàn),否則讀者不需要等待。所以可以用一個(gè)整型變量read_count記錄當(dāng)前的讀者數(shù)目,用于擬定是否需要釋放正在等待的寫(xiě)者線程(當(dāng)read_count=0時(shí),表白所有的讀者讀完,需要釋放寫(xiě)者等待隊(duì)列中的一個(gè)寫(xiě)者)。每一個(gè)讀者開(kāi)始讀文獻(xiàn)時(shí),必須修改read_count變量。因此需要一個(gè)互斥對(duì)象mutex來(lái)實(shí)現(xiàn)對(duì)全局變量readcount修改時(shí)的互斥。a此外,為了實(shí)現(xiàn)寫(xiě)一寫(xiě)互斥,需要增長(zhǎng)一個(gè)臨界區(qū)對(duì)象writeo當(dāng)寫(xiě)者發(fā)出寫(xiě)請(qǐng)求時(shí),必須申請(qǐng)臨界區(qū)對(duì)象的所有權(quán)。通過(guò)這種方法,也可以實(shí)現(xiàn)讀一寫(xiě)互斥,當(dāng)read_count=l時(shí)(即第一個(gè)讀者到來(lái)時(shí)),讀者線程也必須申請(qǐng)臨界區(qū)對(duì)象的所有權(quán)。當(dāng)讀者擁有臨界區(qū)的所有權(quán)時(shí),寫(xiě)者阻塞在臨界區(qū)對(duì)象write上。當(dāng)寫(xiě)者擁有臨界區(qū)的所有權(quán)時(shí),第一個(gè)讀者判斷完〃read_count==l〃后阻塞在write上,其余的讀者由于等待對(duì)read_count的判斷,阻塞在mutex上。福).寫(xiě)者優(yōu)先寫(xiě)者優(yōu)先與讀者優(yōu)先類似;不同之處在于一旦一個(gè)寫(xiě)者到來(lái),它應(yīng)當(dāng)盡快對(duì)文獻(xiàn)進(jìn)行寫(xiě)操作,假如有一個(gè)寫(xiě)者在等待,則新到來(lái)的讀者不允許進(jìn)行讀操作。為此應(yīng)當(dāng)添加一個(gè)整型變量write_count,用于記錄正在等待的寫(xiě)者的數(shù)目,當(dāng)write_count=0時(shí),才可以釋放等待的讀者線程隊(duì)列。為了對(duì)全局變量write_count實(shí)現(xiàn)互斥,必須增長(zhǎng)一個(gè)互斥對(duì)象mutex3o為了實(shí)現(xiàn)寫(xiě)者優(yōu)先,應(yīng)當(dāng)添加一個(gè)臨界區(qū)對(duì)象read,當(dāng)有寫(xiě)者在寫(xiě)文獻(xiàn)或等兇寺時(shí),讀者必須阻塞在read上。-a讀者線程除了要對(duì)全局變量read_count實(shí)現(xiàn)操作上的互斥外,還必須有一個(gè)互斥對(duì)象對(duì)阻塞,read這一過(guò)程實(shí)現(xiàn)互斥。這兩個(gè)互斥對(duì)象分別命名為mutex1和mutex2oA四、實(shí)驗(yàn)過(guò)程在Windows2023環(huán)境下,創(chuàng)建一個(gè)控制臺(tái)進(jìn)程。用VC++實(shí)現(xiàn)。讀者優(yōu)先指的是除非有寫(xiě)者在寫(xiě)文獻(xiàn),否則讀者不需要等待。所以可以用一個(gè)整型變量read_count記錄當(dāng)前的讀者數(shù)目,用于擬定是否需要釋放正在等待的寫(xiě)者線程(當(dāng)read_count=0時(shí),表白所有的讀者讀完,需要釋放寫(xiě)者等待隊(duì)列中的一個(gè)寫(xiě)者)。每一個(gè)讀者開(kāi)始讀文獻(xiàn)時(shí),必須修改read_count變量。因此需要一個(gè)互斥對(duì)象mutex來(lái)實(shí)現(xiàn)對(duì)全局變量read_count修改時(shí)的互斥。此外,為了實(shí)現(xiàn)寫(xiě)一寫(xiě)互斥,需要增長(zhǎng)一個(gè)臨界區(qū)對(duì)象write。當(dāng)寫(xiě)者發(fā)出寫(xiě)請(qǐng)求時(shí)?,必須申請(qǐng)臨界區(qū)對(duì)象的所有權(quán)。通過(guò)這種方法,也可以實(shí)現(xiàn)讀-寫(xiě)互斥,當(dāng)read_count=1時(shí)(即第一個(gè)讀者到來(lái)時(shí)),讀者線程也必須申請(qǐng)臨界區(qū)對(duì)象的所有權(quán)。a當(dāng)讀者擁有臨界區(qū)的所有權(quán)時(shí),寫(xiě)者阻塞在臨界區(qū)對(duì)象write上。當(dāng)寫(xiě)者擁有臨界區(qū)的所有權(quán)時(shí),第一個(gè)讀者判斷完〃read_count==l〃后阻塞在write上,其余的讀者由于等待對(duì)read_count的判斷,阻塞在mutex上。寫(xiě)者優(yōu)先與讀者優(yōu)先類似;不同之處在于一旦一個(gè)寫(xiě)者到來(lái),它應(yīng)當(dāng)盡快對(duì)文獻(xiàn)進(jìn)行寫(xiě)操作,假如有一個(gè)寫(xiě)者在等待,則新到來(lái)的讀者不允許進(jìn)行讀操作。為此應(yīng)當(dāng)添加一個(gè)整型變量write_count,用于記錄正在等待的寫(xiě)者的數(shù)目,當(dāng)write.count=0時(shí),才可以釋放等待的讀者線程隊(duì)列。為了對(duì)全局變量write_count實(shí)現(xiàn)互斥,必須增長(zhǎng)一個(gè)互斥對(duì)象mutex3。為了實(shí)現(xiàn)寫(xiě)者優(yōu)先,應(yīng)當(dāng)添加一個(gè)臨界區(qū)對(duì)象read,當(dāng)有寫(xiě)者在寫(xiě)文獻(xiàn)或等待時(shí),讀者必須阻塞在read上。?④讀者線程除了要對(duì)全局變量read_count實(shí)現(xiàn)操作上的互斥外,還必須有一個(gè)互斥對(duì)象對(duì)阻塞,read這一過(guò)程實(shí)現(xiàn)互斥。這兩個(gè)互斥對(duì)象分別命名為mulex1和mutex2o結(jié)構(gòu):頭文獻(xiàn)定義全局變量RP_ReaderThread()讀者優(yōu)先讀者線程RP_WriterThread()讀者優(yōu)先--寫(xiě)者線程ReaderPriority()讀者優(yōu)先解決函數(shù)WP_ReaderThrea()寫(xiě)者優(yōu)先一一讀者線程WP_WriterThread()寫(xiě)者優(yōu)先——寫(xiě)者線程WriterPriority()寫(xiě)者優(yōu)先解決函數(shù)主函數(shù):包含對(duì)dat文獻(xiàn)的讀取以及函數(shù)的調(diào)用。代碼:附錄五、實(shí)驗(yàn)結(jié)果界面:
.ReaderPriority.WriterPriority.ExittoUindowsEnteryourchoice!.,2,3:測(cè)試數(shù)據(jù):3R524R655W5.13結(jié)果讀者優(yōu)先ReaderPriority:Writethread2sentsthewritingrequire.Writerthread2beginstowritetothefile.Readerthread3sentsthereadingrequire.Writethread5sentsthewritingrequire.Readerthread4sentsthereadingrequire.file.Writethread2finishedwritingtothe13,file.13,川。rReaderReaderrrWriter13,川。rReaderReaderrrWriterthread3thread313,川。rReaderReaderrrWriterthread3thread3threadthreadthreadthreadbeginstoreadfile.beginstoreadfile.beginstoreadfile.finishedreadingfile.finishedreadingfile.beginstov/ritetotheWritethread5finishedwritingtothefile,file.Allreaderandwriterhauefinishedoperating.pressAnyKeytoCoutinue:寫(xiě)者優(yōu)先Writerpriority:WriterWriterReaderWriterdeaderWriterWriterWriterBeaderBeaderBeaderReaderBeaderthread2thread2thread3thread5thread4thread2thread5thread5thread3thread3thread4thread3thread4sentsthewritingrequire.beginstosentsthesentsthesentsthewritetothefile.readingrequire,writingrequire.readingrequire.finishedwritingtothefile.beginstowritetothefile.finishedwritingtothefile.beginstoreadfile.WriterWriterReaderWriterdeaderWriterWriterWriterBeaderBeaderBeaderReaderBeaderthread2thread2thread3thread5thread4thread2thread5thread5thread3thread3thread4thread3thread4sentsthewritingrequire.beginstosentsthesentsthesentsthewritetothefile.readingrequire,writingrequire.readingrequire.finishedwritingtothefile.beginstowritetothefile.finishedwritingtothefile.beginstoreadfile.beginstoreadfile.beginstoreadfile.finishedreadingfile.finishedreadingfile.Allreaderandwriterhauefinishedoperating.PressAnyKeytoCoutinue:六、實(shí)驗(yàn)心得體會(huì)通過(guò)對(duì)讀者寫(xiě)者問(wèn)題的編程,對(duì)線程有了更深的了解,希望在后面的學(xué)習(xí)中懂得更多。七、參考文獻(xiàn)老師提供的資料,以及互聯(lián)網(wǎng)查閱。八、附錄#incIude"windows.h"#incIude<conio.h>#incIude<stdIib.h>#incIude<fstream.h>#incIude<io.h>#include<string.h>
incIude<stdio.h>incIude"winbase.h"http://讀者//寫(xiě)者#defineINTEPERSEC1000//每秒時(shí)鐘中斷的數(shù)目#defineMAXTHREADNUM64//最大線程數(shù)intnReaderCnt0;//讀者計(jì)數(shù)intnWriterCnt=0;寫(xiě)者計(jì)數(shù)HANDLEhWrite::CreateSemaphor1,1,NULL);//寫(xiě)開(kāi)始信號(hào)HANDLEhRead=::CreateSemaphore(NULL,1,1,讀開(kāi)始信號(hào)HANDLEhRCMutex::CreateMutex(NULL,FALSE,NULL);HANDLEhWCMutex::CreateMutex(NULL,FALSE,NULL);HANDLEhReadMutex::CreateMutex(NULL,FALSE,NULL);//從測(cè)試數(shù)據(jù)文獻(xiàn)中獲取的線程信息//讀者//寫(xiě)者#defineINTEPERSEC1000//每秒時(shí)鐘中斷的數(shù)目#defineMAXTHREADNUM64//最大線程數(shù)intnReaderCnt0;//讀者計(jì)數(shù)intnWriterCnt=0;寫(xiě)者計(jì)數(shù)HANDLEhWrite::CreateSemaphor1,1,NULL);//寫(xiě)開(kāi)始信號(hào)HANDLEhRead=::CreateSemaphore(NULL,1,1,讀開(kāi)始信號(hào)HANDLEhRCMutex::CreateMutex(NULL,FALSE,NULL);HANDLEhWCMutex::CreateMutex(NULL,FALSE,NULL);HANDLEhReadMutex::CreateMutex(NULL,FALSE,NULL);//從測(cè)試數(shù)據(jù)文獻(xiàn)中獲取的線程信息structThreadInfoThreadInfo()nSeriaINo二0;dOpeTime=0.0;)//線程序號(hào)//線程序號(hào)//線程類別//線程延遲時(shí)間//線程讀寫(xiě)操作時(shí)間charcTyp
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 綠化養(yǎng)護(hù)工程施工方案
- 發(fā)票附帶合同范例范例
- 煙囪外掛電梯安裝施工方案
- 襄城鍋爐噴淋塔施工方案
- 發(fā)票報(bào)銷合同范本模板
- 成安縣數(shù)學(xué)試卷
- 運(yùn)營(yíng)車輛用電分析方案
- 初三基礎(chǔ)數(shù)學(xué)試卷
- 純凈式改卷數(shù)學(xué)試卷
- 麗江稅務(wù)顧問(wèn)服務(wù)合同范例
- 青島中國(guó)(山東)自由貿(mào)易試驗(yàn)區(qū)青島片區(qū)(青島前灣綜合保稅區(qū))管理委員會(huì)選聘35人筆試歷年參考題庫(kù)附帶答案詳解
- 《社區(qū)工作者培訓(xùn)課件 新浪版》
- 教育信息化背景下的學(xué)術(shù)研究趨勢(shì)
- 人教版小學(xué)數(shù)學(xué)(2024)一年級(jí)下冊(cè)第五單元100以內(nèi)的筆算加、減法綜合素養(yǎng)測(cè)評(píng) B卷(含答案)
- 2024-2025學(xué)年北京市豐臺(tái)區(qū)高三語(yǔ)文上學(xué)期期末試卷及答案解析
- 2024年度體育賽事贊助合同:運(yùn)動(dòng)員代言與贊助權(quán)益2篇
- 2025屆西藏林芝一中高三第二次診斷性檢測(cè)英語(yǔ)試卷含解析
- 開(kāi)封市第一屆職業(yè)技能大賽健康照護(hù)項(xiàng)目技術(shù)文件(國(guó)賽)
- 公路電子收費(fèi)系統(tǒng)安裝合同范本
- 醫(yī)院培訓(xùn)課件:《傷口評(píng)估與測(cè)量》
- 2021年全國(guó)高考物理真題試卷及解析(全國(guó)已卷)
評(píng)論
0/150
提交評(píng)論