關於部落格
  • 18128

    累積人氣

  • 0

    今日人氣

    0

    訂閱人氣

2000.10.09 管四

2000.10.09 管四 【上卷A面】 …只能在這裡的機器上面跑,IBM的電腦,只能跑這語言,這語言以前滿紅的,現在好像很少人用,IBM,這叫程式語言1,Program Language 1,∴叫PL1,那包含有FORTRAN,要注意,FORTRAN是什麼?他是工程、科學用的,這是考古題哦,這不能開玩笑哦,這個科,科學跟工程用的語言,叫FORTRAN,然後這個AOGOL,AOGOL比較有效率,∴這個有效率,那COBOL是商用啊,這個商用的,∴功能很強,那記得這三個特性,現在是功能最強的語言,那特性具有區塊結構,這我們講過了,一個block、一個block,PASCALL跟C都有,就是這種結構,好,那注意哦,這裡喔,這個要特別注意,這個滿重要特性,首創例外處理的觀念,像一般啊,一般語言,像我舉個例子講,像說,假設這個,這邊有一個I,我們寫basic,這邊,這邊假設有個32767,再加1,好,那注意,20,print I,然後這邊打RUN的時候,注意,打RUN的時候,電腦就馬上罵人了,罵什麼?∵這裡就死掉了,這邊為什麼死掉?∵已經超過多少?負32768。到什麼?32767。你超過這個範圍,你超過這個範圍,這邊要注意,這邊是一個範圍啊,這範圍,這邊是overflow,這邊也是overflow,這個叫overflow,滿出來,這邊也是overflow,滿出來,∴你超過這個範圍就是滿出來,∴電腦就罵你,這叫overflow in 10,電腦就這樣講了,那像PL/1,他可以讓你去處理,像說這裡的,這一句話就讓你自己處理了,他不會讓你當掉,這邊是當掉了,電腦就當掉了,他不會,這邊假設判斷overflow,他list overflow occur,∴他會印出這個東西,印出,好,這個是overflow occur,那注意哦,印完之後他繼續執行,聽好哦,他會不會當掉?不會當掉,繼續執行。這個能不能聽得懂?那邊會當掉,當掉是不是就停掉了?…。這邊不會,顯示之後,顯示這一段話之後,電腦還是繼續執行,好,他不會當掉,好,差別在這裡,這叫做例外處理,發生異當狀況時,系統所提供的處理方法,就叫例外處理,這個basic也有啊,不是沒有啊,不曉得你有沒有玩過這個,不曉得你有沒有玩過這個,注意聽哦,這邊也有啊,好,注意聽哦,你看這裡啊,basic,你也可以做,這怎麼做?你這個執行、執行的時候,這邊跟你講,若有錯誤,跑到哪裡去?1000。好,那這邊,這邊真的,這邊是不是錯掉了?這邊大於多少?32767。是不是滿出來?∴電腦怎麼做?電腦就跳過去。跳過去,有錯誤他跳過去,注意聽哦,有錯誤他跳過去,然後,他顯示這個東西,∴電腦會跑出這個東西,overflow,然後這邊跟你講resume,resume就是迴轉,迴轉到哪一行?到110。對不對?∴resume,從邊繼續執行下來…,會不會當掉?不會當掉。這應該知道吧,這應該知道吧,basic有這種東西,對不對?這個東西叫什麼?error handle routing。這一段叫error handle routing,這叫error,這一段,這叫error handle routing,有這種功能啊,那在pl/1不用那麼辛苦,你直接寫這一串就好了,假設是有overflow,就顯示這個東西,這個是顯示,list是顯示,顯示完繼續執行,∴我跟你講3種情況啊,第一種是basic最差的情況,當掉啊,超過就當掉啊,對不對?那這種情況是你超過範圍,他不會當掉,他跳到這一段程式來執行,執行完再回來,但是你一定要有這一句話,這一句話叫做錯誤,錯誤的展誤的處理,好,諸如的敘述,那在PL/1,第三種的是PL/1,PL/1就不用那麼麻煩了,他就是有溢位,就馬上印這個東西,∴他印出來了,印出來繼續執行這個東西。 好,他有指標,什麼叫指標?就像這個,這個就是指標,這邊裡面放1,這邊裡面放2,好,這種東西就是指標,一般的語言沒有啊,有這種語言的,有指標這種語言的,就是我們現在講的,叫PL/1、C、PASCALL,好,C、PASCALL,好,這個你先抄,這個PL/1我講完了,這邊我要擦掉了,…cut…每個禮拜來看我啊,看我沒有用啊,回去要看啊,看講義啊,你看35頁第一題,下列何種不是高階語言相較於低階語言的優點?這是不是講過了?高階很多優點,但速度怎樣?慢。∴答案是A啦,對不對?答案是A嘛。 你看第二題,哪一個,他說以上何者不是低階語言的特性?低階語言怎樣?速度快。其餘都不是他特性嘛,對不對?∴你看看,程式撰寫較困難,沒有錯,這是低階語言,對不對?指令會比較短,對啊;C呢?無法完成高階語言的功能,這錯了嘛,低階能做,高階就能做嘛,對不對?∴第二題,答案C。 第三題,下列何者屬於非程序語言?這是不也講過了啊?答案誰?答案誰?A嘛。SQL嘛,S-Q-L,對不對? 好,第4,第4題,非程序式語言是誰?LISP。答案是B,這是不是都講過了啊?第五題,下列何者不屬於SQL指令?C。沒有move這種指令,move是組合語言嘛。 第六題,SQL是何者資料庫的標準之查詢語言?啊,哪一個?B嘛。Relational,關聯式。這是不是表格?這是不是都教過了?同學,是不是都教過了? 然後注意,第8題,一開始就講一堆有的沒的,對不對?模擬時候用GPSS、SIMSCRIPT或DYNAMO,他說讓非電腦專業人員用來存取資料庫,”資料庫”畫線,” 資料庫”這個畫線,資料庫是不是access啊,早期是不是叫dBASE III,對不對?那這一個是不是用SQL來抓資料?∴SQL是屬於什麼?非程式語言。對不對?答案是B。這聽懂嗎?這能不能聽得懂?好,第七題沒講,對不起,第七題沒講啊,第七題,高階語言是屬於哪一代?第3代。答案C。這是不是你們筆記都抄過了?有沒有?我們在那一間,對不對?答案3啊。 第九題,下列何者跟使用的機器無關?哪一個跟使用的機器無關?答案誰?高階語言。高階語言,高階語言跟使用的機器無關。 第10題,哪一個與電腦硬體之關係最小?高階語言,答案D。 第11題,與組合語言相比,下列何者不是高階程式語言的優點?高階語言,可攜性較高、可讀性較高,執行效率比較低,答案C。這是不是都教過了,同學,這是不是都教過了,你問第二個高階語言,現在是不是在,現在講這個,像13題來,像13題,下列那一種程式語言不提供遞迴功能?哪一種?愈早的愈差,愈早的愈差,我們第一個什麼語言?第一,第一,client c語言,同學,我們第一個工商語言,什麼語言?FORTRAN語言嘛。答案什麼?答案B。 第17題,下列何種程式語言最適合什麼?科學運算使用。科學,喂!喂!在這裡la,有沒有?FORTRAN。 你看30頁,30頁這裡是不是有一個連連看,第例題4,有沒有?第例題4,有沒有?連連看第5題,第5點是誰?第5點誰?看第5題,什麼是1960年代中期由IBM公司發展出來的?我剛才講,有一種語言是IBM公司才有用的,PL/1一種功能甚強的通用語言,你寫那麼清楚要做什麼?同學,你寫那麼清楚要做什麼?30頁右邊不是有答案給你,你寫那麼清楚要做什麼?那邊不是有答案嗎?你寫那麼高興要做什麼?好了,你左邊趕快補啊,我擦掉了,我擦掉了哦,…cut…,要注意,美國國防部,發展的語言,”國防部”畫線,”國防部”,看到”國防部”,記得寫ada,這是考古題,”國防部”,講是講國防部la,這都是外包給 那個廠商,電腦廠商做出來,紀念艾達而命名,有沒有找到”艾達”?那個”艾達”自己註解,第一個程式設計師,第一個程式設計師,所以有人稱為,稱她叫做”程式設計師之母”,這是女的,主要用於國防上,用在那個,其實是用在那個飛彈上面啊,國防上啊,提供平行處理,平行處理就是兩部電腦可以同時處理,好,兩部電腦,兩個處理機可以同時處理,平行處理。 資料抽象化,這畫起來,”平行處理”畫線,”資料抽象化”畫線,”例外處理”畫線,這有3個特性,平行處理、資料抽象化、例外處理,且可作融入式,融入式系統,這畫線,”融入式”,“融入式系統”畫線,之標準語言,∴這裡有4個特性哦,第一個特性,他具有平行處理,速度會很快,好,兩個處理機來執行,在我們的一般電腦的裡面,都是什麼?一個處理機。像…聽不清楚…伺服處理機嘛。(…是一個處理機嘛) 那這邊要注意哦,資料抽象化,待會…在黑板會解釋,在這裡,資料抽象化,然後,再來是例外處理,好,這我剛才解釋過了,還有融入系統,融入式系統,在這裡。注意,這個啊,怕你會考那個插大,所以這邊寫一個名詞給你們,資料抽象化,這個不只啊,不只ada有,ada、C++均有,要注意哦,資料抽象化,這什麼意思?是將一個資料的表現方式,及操作運算給予簡化,要注意,資料的表現方式,跟操作予以簡化,這個什麼意思啊,我們平常看到一個堆疊,這裡是一個stack嘛,對不對?這就是stack,我們說他要push資料,push,我們平常在講push,push 3,我們是把資料放進去,對不對?把資料放進去。再做一個push,push 4,我們是把資料放進去,這應該聽得懂吧,把資料壓進去,壓進去,壓進去,這裡就是一個口袋嘛,3先放進去,在底下,4放,在後面嘛,好,在上面嘛,在上面,∴這叫先進,先進後出,這邊叫後進先出,這講過嘛,那注意哦,找們這樣講是不是很簡單?其實真的是這樣放嗎?不是。不是這樣放。真正的,要注意,真正的是一個陣列,他是一個陣列,這邊一個stack,stack 1,stack 2,stack 3,這不要抄,這聽就好了,這聽就好了,∵資料結構會講,∴你要放進去,這邊有個sp,這邊有個sp,一開始sp是放0,sp放0,∴你要做push,你要做push,我寫簡單一點,sp,要等於sp怎樣?加1。什麼意思?0加1,要等於什麼?1。是不是要指到這個位置?然後東西要注意,堆疊裡面的東西,放什麼進去,放data進去,∴注意哦,這邊是0,0加1變成什麼?1。∴資料放到哪裡去?堆疊裡。∴這個資料放進去了,我們有沒有講到這麼複雜?沒有。對不對?講到這裡就真的很麻煩,相當麻煩,∴我們沒有講這麼複雜,我剛才講的時候是不是很簡單?我說這裡像一個堆疊,我把東西怎樣?壓進去。我再把東西怎樣?壓進去。這是不是很簡單?這個是不是很複雜?∴我們不這樣講,我們用這個來描述,這種叫資料抽象化,∴你看這裡啊,是將一個資料的表現方式及操作運算給予簡化,讓使用者以預定的方法,”預定的方法”,就是剛才講的,叫push,還有一個叫什麼?pop。來使用這個資料型態,這種強調簡化的動作是資料抽象化,注意哦,就是怕你出這樣,考那個插大啊,以後要考研究所,這一段要背,資料表示法跟他的使用,都予以簡化了,那這種觀念叫做資料抽象化,我們在講C++會再強調一次。第二個叫embedded system,叫融入式系統,利用已經,一個已經設好的Computer,來控制另外一個Computer System,這種系統稱為呢,embedded system,像什麼?核能發電廠。能核發電廠本身會有一個什麼?會有一個那個電腦系統,然後再做一個系統去控制這個電腦系統,這叫融入式系統,那像這裡也是一樣哦,飛機本身有一個電腦系統控制,我們再月一個computer去控制什麼?飛機上面的什麼?飛彈。叫融入式系統,∴這剛才講了,我這全部用在哪裡?國防上。國防上。這個很嚴重,這個,這個,台灣不建就很嚴重啊,這核4不建就很嚴重啊,雖然是很危險la,但是已經有核1、核2、核3了,那再建一個又多危險?∴不建很奇怪,大概以後…有的沒有…,那個講到最後,…,注意聽哦,這兩個是給你們背那個考插大、研究所的。你不要亂背哦,二技只要要記得一個觀念,ada有什麼特性?第一個是ada是用在哪裡?國防部的。注意聽哦,用在國防部。第二個,要注意聽哦,他是紀念什麼?艾達而命名。第三個,要注意,第三個,他的特性是什麼特性?平行處理。還有什麼?資料抽象化。還有什麼?融入式系統。還有什麼?例外處理。這要記好。∴怕考什麼?怕考那個,下列何者的,要注意,怕考下列何者具有例外處理的特性?昏倒了,然後他寫個一堆給你猜,然後他就會寫給你什麼BASIC啦,BASIC,然後第2個,PASCALL,第3個,C,第3個,C,第4個呢,這個是ADA,第5個呢,那個是PL/1,然後複選題A,b要刪,b,b又不是,這是複選題,聽得懂嗎?∴這要記得,這個觀念一定要記得,好,LISP啊,LISP要注意,這個LISP是串列,就是我剛剛一直在講的這種東西,這種東西就是串列,這種東西,串列,那我不講了,這我不講了,這個我不講了,太深了,這個你讀起來很辛苦,∴專門處理串列的語言,LISt Processing Language,這叫L-I-S-P,美國MIT,要注意,麻省理工學院,MIT啊,麻省理工學院,這個很像那個,台灣科大啊,但是台灣科大跟這個MIT差太遠了,是人工智慧的低階語言,要注意哦,他比較傾向於機器,∴他叫低階語言,低階的東西人看不太 懂,∴比較難學習,這個不適合你們學習,這個是工科在學習,這個是電機科他們在學的,他的效率比較高,偏向於機器的,當然比較難學習,但是效率比較高,我們是學這個東西,我們是學這個PROLOG,或是叫…,這個PROgramming,PROgramming,P-R-O,好,in LOGIC,∴這種是邏輯推理的語言,這個是邏輯推理的語言,邏輯推理的語言,∴他是人工智慧的高階語言,容易學習,要注意,既然是高階,一定是容易學習,但是效率比較差,那剛才那個是美國發展的,這邊是法國發展,英國修改的,所以要注意,法國滿勵害的,但是英國比較差,他們再拿來改一改,那最後是日本更差,日本,日本推廣,推廣在哪裡?第五代。第五代沒有出來,第五代沒有出來,但是沒有出來,這種東西發展一堆東西出來,∴什麼叫人工人慧?我註解在這邊,人工智慧是由知識庫,裡面放的是專家的知識啊,好,知識庫與推理機組成,跟推理機組成,推理機組成,但是不只啊,不只啊,不只,好,還有一個解釋系統,還有一個解釋系統,解釋系統,還有一個什麼?軟體界面。軟體的界面,友善的軟體界面,組成,要注意,他裡面有很多東西哦,就像說這個比較出名的啊,比較出名的,本來台灣要進口一個啊,那種醫療診斷系統,像說感冒啊,可以由電腦來處理,不用醫生啊,就你去找電腦,電腦就會問你啊,你哪裡不舒服啊?你就講說我感冒,感冒啊,∴是感冒…,這很像BASIC,這邊啊,他好像這樣,IF感冒,好,然後就then,然後就問你,要注意,這個成立,這邊成立的話,這邊就開始做這個,所以你有沒有發燒?他會問你,我這邊寫假設要這樣子,then,IF咳嗽,然後就then,這個成立,就去挖這個,這個成立,就去挖這個,這個成立,就去挖這個,一直去挖,出發到最後,他會print,print啊,這邊是感冒了,∵你,∵你咳嗽發燒,∴流鼻涕,∴最後什麼?感冒。聽懂嗎?他會跟你這樣講,那假設,假設這個知識不太好的時候,推…推,推到最後會跟你講說,∵你的咳嗽、發燒、流鼻涕,結果得到cancer,昏倒了,∴什麼很重要?這個最重要。這個知識從哪裡來?從醫生來。從醫生來。我們把醫生的知識拿過來之後,加以整理之後,變成一個什麼?知識庫。那再加推理機,推理機就是這個東西,推理機,那剛才我這邊講的解釋是∵你是什麼什麼,∴是感冒了,那這個軟體介面就是有問你,哪裡不舒服?∴這邊呢,要注意哦,是由知識庫、推理機、解釋系統,軟體界面組成,主要研究方向,主要研究方向,一個是專家系統,專家系統,expert system,你應該聽過專家系統,與自然語言,要注意,這個,自然語言啊,這個問題滿嚴重的,像這個東西就不能突破,你這種東西不能突破,不然的話,電影上演的那個阿諾,就會跑出來了,魔鬼阿諾啊,就會跑出來了,∵現在人講的話,電腦聽不太懂,∴你看日本人,電腦都在做什麼?什麼相撲丸啊,日本那個機器的那個摔角有沒有?好,就在做那種東西。這種東西做得很好,專家系統,可以去探測地底下還有什麼礦產,好,可以把藥拿來分析看看有什麼成份,好,那這個不能突破,自然語言,你不要看這樣哦,這都是考古題哦,這都是考古題哦,…cut…,39頁,你看39頁,39頁是不是有一個38題?有沒有?39頁38題,人工智慧AI最重要的兩個研究主題是什麼?好,自然語言跟什麼?專家系統。答案是A。還不只哦,還要看36題,36題哦,來,這題哦,就比較難,下列敘述中,何者不屬於專家系統的構成元作?人工智慧主要研究是專家系統,∴人工智慧已經有的,專家系統一定會有,∴有什麼?A對不對?A有沒有?inference engine有沒有?推理引擎,推理引擎就推理機,有。推理引擎就推理機,聽懂嗎?推理引擎就推理機,有。然後B呢,natural language interface,自然語言的界面,有。軟體界面,是不是要問,問你,哪裡不舒服,C呢interpretation subsystem,這是什麼?解釋系統。有沒有?有。然後D呢?robotics subsystem,有沒有機器人?你不要亂翻啊,什麼羅勃特啊,是機器人啊,有沒有這個系統?沒有。沒有,∴答案什麼?答案D。好,這個我們把他收起來。…cut…我講過,人工智慧有兩種語言,是哪兩種?A、B、C、D?這個答案是B哦,好,那注意聽哦,這是什麼語言?這是什麼語言?物件導向語言哦。物件導向語言哦。SMALLTALKX、C++,不只哦,不只哦,這邊…補上去哦,java,還不只哦,把這補上去哦,delphi,也叫delphi,你要怎麼唸都可以,對不對,再來還有,…還有,但是這個最差,這個最差,這都是物件導向,注意,這都是物件導向,∴A是物件導向語言,∴這一題答案是B,喂,拜託哦,我們講是這一題答案題是B,但是主要是介紹物件導向語言有哪些,…cut…沒有錯,到時候會介紹la,他是用block structure所生產出來的,一塊一塊的,那再注意哦,他可以在程式中使用組合語言,沒有錯,他可以呼叫組合語言,要注意哦,使用就是呼叫,然後這個可攜性最高,∴這邊要注意哦,最具有可攜性,要注意,最具有可攜性,好,他是C,那注意哦,最結構化,最結構化不是C,最結構化是PASCAL,這個不要忘掉,好,第4個,他適合於發展系統程式,講得是很好聽,其實他做出來是做,要注意哦,他是什麼?即,好,作業系統,好,他寫這個出名的,但是,沒有錯la,系統程式比較大,系統程式比較大,作業系統是他的一部份而已,∴即作業系統,UNIX,∴什麼叫UNIX?我這邊要解釋,UNIX,他是90%的C,90%的C,再加10%的組合語言,∴他裡面有C語言,也有組合語言,撰寫的,∴這是UNIX哦,UNIX,UNIX,在微電腦現在這個最紅,Linux,有沒有?現在這個最紅,∴UNIX要注意,UNIX他是多元程式,multiprogramming,multiprogramming,多元程式,多使用者,multi user,多工,多工叫multi tasking,多工,好,他有三多,注意,三多,多元程式,多使用者,然後再來是多工,這個什麼意思?一個cpu,一個cpu啊,可同時執行多個程式,可同時執行多個程式,這個很像什麼啊?要注意哦,在我們的微電腦就是多工,要注意,在微電腦,這個要注意,多元程式其實跟多工差不多,你不要把他寫得很複雜,太複雜了,等一下哦,我現在解釋什麼叫多工,你們應該都有玩過windows吧,windows你是不是可以開兩個窗戶?開兩個視窗,一個視窗在下載,另外一個視窗是不是看別的?或做別的事情?那其實他是這樣,這一個視窗做視窗,那做一段時間,好,分時系統。∴多工在微電腦為分時系統,∴這裡有三多,一個叫多元程式,一個叫多使用者,一個叫多工的作業系統,在微電腦上的版本,oh,這很多,早期叫XENIX,這個我們把他顛倒,UNIX顛倒,成XIUN,這個都有書啊,Venix,Nenix,還有現在這個什麼?Linux。然後找們現介紹這個DOS演進,最早是Tos,這個Tos叫什麼什麼?Tape os。Tape,Tape os,在磁帶上,這你們沒有玩過,這我玩過,這在65年我玩過,但是常常會當機啊,你那個磁帶載不進來,載入很久啊,一兩個小時就會當掉重來,∴這個很快就會消失掉了,變成disk,dos就是disk的os,這個都知道,那再來就有一個叫control program,這叫control program,control program monitor,這個,這個什麼意思?這個就控制程式,控制程式,什麼叫控制程式?控制電腦執行控制程式,monitor叫什麼?這個是,monitor叫什麼?monitor叫做監督程式。監督程式說穿了啊,監瞖程式就是我們講的叫什麼?os啊。監督程式即os,這個東西就是os,好,再來這裡啊,cpm,cpm要注意,cpm只能一個人玩啊,∴到這裡是,這裡叫multi user,multi user啊,multi user,多使用者,叫多使用者,要注意,multi user的什麼?cpm。這個是單使用者,這是多使用者,結果這個發展沒多久也是,這個很多爭議啊,∴這個就消失了,∵4個人玩一部電腦,結果那部電腦,一個人當掉,全部都當掉,∴這個系統很快就不見了然後,這個應該知道,micorsoft,micorsoft dos,這應該知道了,ms-dos,再來是unix,好,後來又發展os/2,再來是windows,然後再來又是什麼?nt。對不對?nt。然後再來什麼?現在還有什麼?這個,這個軟體,其實這個東西就是這個啊,好,這個拉出來的,∴底下有一個第一個考古題,下列何者不是作業系統?這個是,這在這裡,這個也是,這個在這裡,這個不是,要注意,這個不是,這個也是,他是在這裡,這個不是哦,這個是80386的機型,他的機器型式叫做ps2,這個是。 …cut…self compile,這叫自己翻譯自己,注意,自己翻譯自己,∴自己編譯自己,什麼意思?注意聽哦,我們現在寫一個C語言,注意C語言的,C語言的原始程式,source program,我們上次不是講過嗎?打好的程式是不是叫aaa.c?對不對?好,經過一個compiler,注意,compile,這是一個compile,經過compile要產生什麼?object。object,∴這個檔,你可以想像,我上次講過,這個什麼檔?這個檔叫做aaa點什麼?c。那這個檔叫什麼檔?aaa點什麼?obj。那注意聽哦?這個compiler用什麼語言寫?早期都用什麼?最早最早都用機器語言、組合語言,再來是用pl/1,但是都很難寫,∴後來就有人用一種語言來寫,C語言,C語言撰寫而成,但是你看不到,你會覺得很奇怪,怎麼看不到,∵C語言寫完之後,有要經過一個什麼?compile、link、load、run。對不對?∴他留下來只剩下什麼?點什麼?exe檔。聽得懂我在說什麼嗎?點exe檔。∴你把那個c語言,c語言程式去呼叫compiler,翻譯成object code,但是這個compiler是什麼語言寫的?c語言寫的。自己,自己翻譯自己,這種叫做什麼?self compile。聽懂嗎?聽得懂嗎?self compile,一般語言都這樣,我舉個例子,來,pl/1,這個compiler,那一般來講,compiler用什麼來寫的?早期都用語個語言寫的,都用這個語言寫的,∴他不叫self compile,他不是自己翻譯自己,這應該聽懂了嘛,今天假設這個用什麼語言寫的?用這個語言寫的。那就自己翻譯自己,那自己翻譯自己叫什麼?self compile。∴C語言啊,他可以做什麼?self compile。自己寫成的compiler,然後翻譯C語言程式,你抄一抄,我全部擦掉,C語言我介紹完了,他有這些特性。 …cut…這writh是發明…,這個啊,PASCAL,注意哦,writh是發明pascal,後來修改pascal,注意,他是發明這個東西,然後把他修改這個東西,然後擴充其資料結構,∴這個語言比這個語言更強,這個語言比這個語言更強,這個台灣有一陣子滿紅的,那現在又消失了,你在學校應該也有玩過這個吧,∴這裡,台灣在寫這個啊,那時候70幾年,民國70幾年,中共已經在學這個了,中共在教這個,∴不要騙自己,∴中共的科技不會比台灣差,…,再來這個要注意,LOGO,LOGO是,這個會考哦,注意哦,這個會考,不要抄,等一下,他具有遞迴的特性,要注意,這個,這邊有考古題,有3個語言沒有遞迴,這一個一個是COBOL,絕對沒有遞迴,FORTRAN,但是到FORTRAN 90就有遞迴,現在的FORTRAN有遞迴,早期沒有,好,BASIC也沒有,但是BASIC現在也有遞迴,∴這3個不具有遞迴特性,…cut…繪圖語言,要注意,上面有一個東西,…這個,這個你們有沒有看過這個,這個語言有沒有看過?這個語言有沒有看過?這個語言有書哦,松崗有書ne,松崗有書哦,LOGO,LOGO你們有沒有玩過?小烏龜la,小烏龜,他上面有一隻小烏龜,這個,這種東西要注意,這種東西屬於什麼語言?知道嗎?屬於CAI。電腦輔助教學,電腦輔助教學,那個給小孩子的東西,一定有動物啊,一定有動物,像那個教算數的,釣一雙魚,再釣兩隻,答案多少?若小孩子答對了,有一個機器人在那邊跳,答錯了,機器人掉眼淚,屬於CAI語言。 好,第12個要注意,第12個叫FORTH,這個符式語言,研究這個語言最多是在台灣,以前開會都要到台灣來開會,這叫後序式語言,我們寫A加B,他要寫AB加,他要寫AB加,這種是後序式語言,∴速度快,為什麼快?要注意哦,為什麼快?這邊我有註解,這個我們講過了,中序式,一定要經過這個,經過這個,或這一個,轉換成後序式,記不記得什麼叫後序式?A加B,你要轉成什麼?AB加。才能執行,但FORTH不需轉換,可立即執行,∴這個要注意,這個不要轉換,可立即執行,∴他的速度怎麼樣?最快。 第13個更強了,第13個語言大概你也沒看過,但是要注意,這個語言非常強,允許陣列整體運算,這在講什麼?平常我們講陣列啊,等一下哦,等一下哦, 我們講陣列,假設這樣,這邊有一個A,A矩陣,這個東西要怎麼寫?你要這個,這個陣列跟這個相加怎麼加?像我們這樣解啊,像我們這樣解,這個加,加怎麼加啊,電腦是不是這個加這個?這一個加這個,對不對?是不是一個個加?∴這要寫的話,一定要這樣寫,這樣寫,全部寫在這裡,for I等於1,I小於等於2,I加加,然後,for j,這C語言啊,j小於等於2,然後這邊,j加加,現在看不懂沒有關係,大概知道做什麼就好了,然後這邊做什麼?A,A,I,J,等於什麼?A,I,J,加什麼?加b,I,J。這應該看懂嘛,這個啊,好,我們把他解出來,這邊1,1,11等於11,加這邊的1,這看懂嗎?能不能看得懂?這邊變2,注意,j加加變2,12,12,12,這看懂嗎,有沒有看懂?沒關係啦,大概看一看就好了啦,這是一個,要做這種東西,但是你知道apl多強嗎?你知道嗎?這個是叫什麼?C語言。APL啊,他說:好好好,你這樣寫就可以了。你看多強,多強,你們都不用做,你們都不用做,你只要這條向右就是這個東西,凸起來了,是不是凸起來了?對不對?有這麼強,那電腦就自己處理了,現在不只這種語言啊,現在有一個軟體,他叫做ATLAB,有沒有聽過?MATLAB。MATLAB,有沒有?現在工科最紅是這個語言,MATLAB,專門處理什麼?這個啊這個。專門處理什麼?這叫什麼?matrix。專門在處理陣列,只要你寫這樣,他就相加,∴這個東西類似這個語言,這個軟體很強,哦,好強,太強了,這個軟體,甚至啊,可以出什麼?可以畫圖。畫很漂亮,地理,地理圖,可以畫地理圖,你只要下個命令,他就幫你畫了,你什麼都不用做,你要求根,你只要下個命令,他就幫你求根,這個太強了,∴要注意,這種是應用在什麼?整體運算。擅於解決數學問題,數學問題。 好,第14個語言啊,這跟我們資管就比較有關係,snobol,這個做什麼?String。這個S-N-O-BO-L,…這個什麼意思?要注意哦,這叫字串導向,字串導向,5號不對,5號不對,所以這個跟你講說具有很強的字串處理能力,字串處理能力,你知道字串處理能力做什麼事?知道嗎?可製作一個什麼?編輯器,editor。editor,editor,好,就是用這個做的,利用這個來做的,當然你會說editor一定要用這種嗎?不一定。Editor也可以用別種東西來做,BASIC也可以寫editor,好,C也可以寫。 第15個,BASIC,這個大家都知道,這叫初學者,這叫初學者,beginner’s是初學者,∴他適合初學者,∴這翻譯在這邊,初學者,那”all purpose”,全用途,全部用途,全部都可以用嘛,不管你要用在哪裡,都可以用,然後,symbolic就是符號,instruction code就是指令,具有交談能力,basic有交談能力,我們講過了,死得佷清楚嘛,死在哪裡,syntax error in哪裡,且程式發展較容易,為什麼發展較容易?他只要兩個步驟。一個叫編輯,一個叫run,∴發展容易,∴適合什麼?初學者。 好,GPSS,general,purpose simulation system,G-P-S-S,他主要做這件事情,做什麼?模擬。simulation,模擬,這邊的黑板趕快抄一抄…cut…。 【下卷A面】 …PIL,這邊是OT,那注意,他這個,主要用於CAI啊,這個就剛才講的電腦輔助教學,這個電腦輔助教學啊,這個輔助啊,就是幫助教師編輯教材,這個稍微知道就好了,這個第17種,最後一種是pascal,pascal他進入一個程式哦,好,我們看那個第3題,第3題,這邊啊,這邊忘記寫了,…cut…,這個剛才講過了啊,這個沒遞迴,這是不是學過了?這個沒遞迴,好。 那第4個,哪一個是物件導向,答案是D,smalltalk。 然後,再注意,第5個,多人同時使用,這答案是C,注意,這種是單人,這邊是單人多工,但是,注意,這兩個,單人單工,這單人單工。 好,那再來,這邊有一個第6個,哪一個並非作業系統之一?這一個啊,要注意,早期這個不是,早期這個不是,windows3.1不是,但是現在沒有人用window3.1了,∴以前我解的時候是解C、D,沒有人用這個了啊,現在用的都是window,這邊是這個,∴這裡,這個當成是os的一部份,負責基本的,基本輸入輸出系統,這個是即控制什麼?控制CRT與鍵盤。∴這一題答案是C哦。這一題答案C,…cut…,我要講pascal,pascal多少人還沒學過啊,舉個手,pascal在這一章把他看完,…cut…(我把這一張帶完,那以後會講C),好,這個是瑞士啊,瑞士蘇黎士大學的化學的教授,好,他最早提出結構化程式的,要注意,結構化程式,那什麼叫結構化程式,我們待會會解釋,他具有區塊結構,他這個區塊是巢狀,巢狀,他有巢狀的啊,這邊是一塊,裡面又一塊,還…裡面一塊,這邊一塊,這叫巢狀,注意聽,這是一個,喂,等一下,這主程式,聽好,這主程式,裡面這是副程式,這個副程式,不要抄啊,這個副程式,這個是副程式,這副程式,∴這裡要注意,當一個主程式,裡面一個副程式,一個副程式,這邊一個副程式,∴這邊有4個程式,這邊有4個程式,∴這裡啊,我這樣寫啊,這個副程式,好,這邊又副程式,這邊又副程式,這叫巢狀,巢狀的區塊結構,那第二個,程式師可自定資料型態,像這樣,他可以自定一個叫type,A等於array,1點點10,of integer,那注意聽哦,以後你要宣告,以後你要宣告,這邊var,注意,var,假設說你要宣告對不對,你要宣告有一個,像說,我要宣告x,X是一個array,聽好哦,他是一個array,他1點點10,of integer,不要這麼麻煩,注意聽,不要這麼麻煩,你是不是要這樣宣告,x是一個array,1到10的整數,對不對?不要這麼麻煩,接著用,用這樣寫就可以,∵這裡是不是已經,這個東西等於什麼?A嘛。∴你只要這樣講就可以了,這聽得懂嗎?這樣講就可以了,∴他自己定義一個資料型態,這個資料型態要注意,自己定義這個資料型態,那名稱給誰?給A。∴你宣告的時候就Var X,就是誰?這個。要不要寫一堆?不用了。好,這個叫自己定義資料型態,那他有指標,那注意,他有集合,哦,這個很強,這個是別的語言沒有的,他有集合,他有集合,什麼意思?像說我舉個例子,像說,有個,有一個啊,有一個A,A1好了,A1是個,這是pascal,好,上面有一個東西,不要抄,先聽一下,A1,A1冒號,等於,pascal很囉嗦,還多個冒號,括號,1、3、5,1、3、5、7,注意,這本身就是一個集合,這東西是一個集合,這是一個集合,他裡面有幾個元素? 1、3、5、7。然後,這邊,read,read line,一個X,然後就可以判斷,if,注意聽哦,if x in A1,then write line odd number,odd好了,odd,什麼意思?X屬於這裡面的,假設你今天是1,他是這裡面的,他是什麼數?奇數。對不對?假設,注意哦,else write line,這邊是even,聽好哦,這個就是程式囉,∴你看這個,pascall,非常強,pascall非常強,我舉個例子講,中間假設你讀進來,這邊是4,4執行哪裡?4,請問4,有沒有屬於,注意,這個叫屬於,有沒有屬於這個A1裡面?有沒有屬於A1裡面?有沒有4?沒有4。∴執行什麼?elsd。不成立,∴電腦就會強迫印,印這個even,even是什麼數?偶數。能不能聽得懂?可不可以?這個,這個要注意,中間括號就是一個集合,這邊判斷,是不是屬於這個,是就印奇,否則就印偶數,∵他有集合,那這個記錄不用講,記錄我們到時候會講,他有record,好,他有record,好,你要補趕快補,我等你,…cut…,我現在解釋這個啊,我現在解釋這個,你要做一個成績處理系統,你這邊要做一個成績處理系統,在學校,假設你要幫這個,教務處做一個成績處理系統,你要慢慢畫,要這樣畫起來,這邊是一個主程式,主程式就負責呼叫啊,然後呼叫啊,這邊會有3個,這邊會有3個部份,一個叫input,一個叫process,一個叫output,注意,我們現在是從上面開始一直畫啊,由上而下開始畫,由上而下,∴這邊主程式,這邊只要,他負責呼叫,呼叫他,做完回來,呼叫他,做完回來,呼叫他,做完回來,∴他負責呼叫這3個,那輸入呢,input,input這裡啊,這邊有輸入,這邊有輸入啊,好,這個輸入啊,這個是,這個是各科成績,輸入科目名稱,科目名稱,科目名稱,就像說有國文課,他3個小時,3個學分,那這邊呢,輸入各科成績,我們現在沒有考慮很多哦,我們只考慮這樣,∴要注意,他是由上而下一直畫下來的,那這個process做什麼?這個處理啊。這個處理,畫過來一點,這個process啊,做什麼事?這邊求,求總分,求總分啊,那求總分裡面會包括求平均,然後再來是排名次,注意,這排名次,這個圖啊,後面還要用到哦,排名次,然後最後呢,要去搜尋,為什麼要做搜尋?∵你成績單啊,可能會寄到別人家,可能掉了,好,成績單一般都怕,怕會讓家裡人收到,∴都寄到別人家,∴這邊你要去跟學校啊,去要成績啊,∴要去search啊,要去search,…有的沒的…,∴這裡output,輸出,輸出什麼?輸出表頭。你是哪一班?什麼名字?然後是再來各科成績,然後最後的事就是表尾,這個地方就是表尾,什麼叫表尾?好,有個3分之2,2分之1,這個叫表尾。∴他由上而下畫下來,∴這種叫由上而下程式設計,也叫什麼?這樣一塊一塊叫什麼?同學,這樣一塊叫什麼?注意聽,這種一塊啊,這一塊叫什麼?就是副程式。這種東西叫副程式,∴你看這個地方哦,他是由上而下,然後這邊呢,記得,這邊是什麼?模組化程式設計。什麼叫模組化?即副程式。用副程式的方法設計,模組能細分則細分,就是剛才講的,一塊一塊分下來,然後直到基本功能為止,這些就是基本功能,這些是基本功能,那記得哦,你寫程式一定要少用goto,我們待會會解釋,少用goto,那流程圖待會會解釋,∴這個流程圖就是,這個流程圖,你看這裡啊,一入口,這邊就什麼?一出口。這是流程圖,一入口,一出口,還有模組之間的耦合力,兩個模組,他的耦合力,愈弱愈好,就是像說這一個,這一個跟這個,注意,這個跟這個,要注意,這個跟這個,他們之間的關係愈弱愈好,就像你在學校做專題啊,你跟別的同學溝通啊,愈少愈好,好,假設說這裡,這是一個同學,這是你,他跟你講說,喂!我們做,做一個東西,我們之間的資料結構說要用陣列,結果講好用陣列,陣列做到一半,然後他發覺說用陣列不好,∵陣列要常常insert、delete,像這個就是哦,我舉個例子哦,假設這樣,這要1000,我現在insert,要insert這個35,那糟糕了,insert 35,這邊是不是大家往後移動,這邊變什麼?這邊,這邊往後移動,這個要移到這邊,這裡變40,那這一直移,這邊變什麼?999。那底下變什麼?1000。那這樣東西是不是可以塞進來?變什麼?35。是不是很多資料要移動?那他會說這樣不好,這樣效率很差,等到你做完,你做完他也做完了,你做完他也做完了,就跟你講說,喂!不行哦,我要用這個,我要用指標。哇!吐血了,什麼叫指標?什麼叫指標?像這樣,像這樣,…,這叫指標。我要加一個35,很好加,35,這邊,這邊連上去,這邊指下來,是不是就進去了,注意哦,他會說我要指標,結果這邊可以畢業,這邊是不是畢不了業?對不對?他已經改完了,他還沒改啊,∴兩個之間的關係要怎樣?愈簡單愈好。你要改什麼是你家的事,你都不要,我都不管你la,反正你丟到檔案給我就好了,你丟到檔案給我,我自己要怎麼做我就做了啊,這知道我在說什麼嗎?或者,你乾脆不要,給我資料,你叫我就好,我就幫你做,對不對?就沒有關係。∴兩個之間啊,的關係要怎樣?絕對常考,耦合力愈弱,愈好,愈弱愈好。 模組內的內聚力愈強愈好,什麼叫內聚力?就是說你寫一個程式,你不要寫到這種程式啊,這種程式太可笑了,這邊是,這邊sine,這邊cosine,一個程式裡面放兩個,為什麼,為什麼不把他分開?cosine就cosine,sine就sine嘛。這邊就是cosine,這邊就是sine,你要呼叫sine,就呼叫這個,你要呼叫cosine,是不是呼叫這個?∴把一個很大的模組,是不是可以把他切開?好,這叫做內聚力,內聚力就是內部聚集的力量,內部聚集的力量,內部聚集的力量,當然是愈強愈好,∴這裡愈強愈好,∴最好,要注意哦,最好是,要注意哦,模組,模組最好是執行一個功能,執行單一功能,就是我剛才講的sine、cosine,執行單一功能,就是sine這種東西,好,∴要背好哦,耦合力愈弱愈好,內聚力愈強愈好,好,然後再來,僅能用3種基本結構,3種,要注意,只有3種,一種叫循序、選擇、迴圈,∴我們要馬上進入,這個叫循序,這個叫循序,什麼叫循序?這一個,這一個指令做完,是不是應該從這邊執行下來?這一個指令做完之後,會執行下一個指令,這一條指令做完,換下一個指令,這一個指令做完,換下一個指令,這叫什麼?循序。這樣一直下來,∴你看這個流程圖,一入口一出口,一入口一出口,∴他符合這一個,一入口一出口。 …cut…,有講義啊,看講義,56頁啊,56頁,56頁的147題,下列何者是不對的?有沒有找到?那答案是什麼?答案是B。寫程式可以完全不用到什麼?goto。我們剛才講過,要少用goto,其實你可以不用gogo。 再看148題,對於結構化設計的敘述,下列何者是錯誤的?有sequence循序,selection,選擇,repetition是重複,沒有錯,循序、選擇、重複,這三種結構,B,應該減少goto,沒錯,C呢,入口要少,出口要多,死在這裡,出口要多,錯掉了,我剛才講,一入口一出口,D呢,應盡量採用模組設計,使結合性弱,那個”結合性”自己畫線,然後畫個箭頭出來,耦合力,耦合力,耦合力,就是黑板上寫的耦合力,耦合力,好,你要抄什麼,你趕快抄,我等你la,…cut…有一個叫case或是switch,這要注意哦,這個叫多重判斷的if, 多重判斷的if,這個到C語言,我們再詳細的講,這個是在pascal,pascal是用,pascal是用case,這個C語言是用switch,C語言用switch,他有兩種結構,一種叫單一分支,叫if then,∴他的流程圖是長這樣,這邊條件,條件這邊成立,是做這個敘述,這邊,敘述,好,不成立,他就離開,直接離開,不成立,這邊,這一部份,不用做迴圈,要注意,這個喔,這個圓圈代表什麼?連接符號。好,離開了,那我們舉個例子,這看起來很怪,對不對?我們舉個例子好了,這個假如沒寫程式,可能根本看不太懂,∴這邊寫個程式給你,basic的語言,這是個迴圈,然後then,a等於負a,好,沒有了,注意聽,沒有了,這是什麼意思?這個意思是說,像這個a小於0,成立做這裡,做完之後,這一條做完之後,從這邊離開,不成立做哪裡?不成立做這裡。注意,不成立做這裡,然後,不成立從這邊離開,注意哦,這邊,這邊是黃的,那這邊是紅的,不成立這邊離開,∴你可以判斷啊,判斷這裡,等一下啊,等一下啊,這裡判斷,等一下,這邊假設是負3,那負3做什麼?負3小於0啊,那負3,注意,負3,負3得負變什麼?正3。那是不是離開?然後,你注意看,假設這樣啊,假設,我用紅色,正3小於0嗎?正3小於0嗎?不是。不是是不是不成立?是不是就離開?有沒有進來這裡?沒有啊。好,這叫單一分支,這邊可以擦嗎? …cut…,這邊有一個叫雙向分支啊,要注意,成立往這邊走,等一下哦,成立往這邊走,然後這邊走,走完就離開,等一下哦,等一下哦,你會說奇怪,這不是一入口嗎?這不是一出口嗎?怎麼會兩出口?從這邊走,或從這邊走,是不是兩出口?不對,不對,會走這條路就不會走右邊的,會走右邊就不會走什麼?左邊的。∴這兩條路是只有一種走法,好,∴這裡,這邊是一出口,一入口一出口,成立從這邊走,不成立從這邊走,∴你看這個例子啊,假設這個是4,你看往哪裡走?4除以2,注意,這取餘數,這邊取餘數,4除以2等於0嗎?當然是等於0。∴成立往這邊走,∴印出什麼?A is even number,注意哦,注意聽哦,else前面,這跟C語言不太一樣,else前面不能分號,哪裡都可以分號,else前面不能分號,記得,else前面不能分號;C語言,else前面可以分號,在這裡不能分號,∴這裡,注意,這邊沒有分號,∴印出這個A is even number,好,我們再看這個,假設這裡是3,3除以2的餘數是不是等於0?不是。∴不成立,不成立走這裡,∴A is什麼?odd number,odd number是什麼?奇數。奇數。好,注意哦,這個做完之後,不管是橙色,還是紅色,這個做完就到這邊執行,紅色做完也是從這邊執行,∴注意哦,橙色執行完不會下來哦,不會到這裡哦,不會,他就從這邊下來,那紅色也是一樣,紅色執行完也是從這邊下來,好了,這邊註解,不對稱的if then else,你注意看這個if,這個pascal,大、小寫都一樣la,這邊沒有個if,這邊有if,∴if then,else,但是糟糕了,注意聽,糟糕了,糟糕了,這邊呢,if then,else,但是注意哦,這邊也是if then,if then,但是沒有else,∴注意聽哦,問題來了,這邊有爭議,這個else跟誰?請問這else跟誰?兩個then,跟哪個then?跟前面還跟後面?後面。要注意,這邊呢?跟隨較接近的then。這個很重要的觀念,就很像什麼?很像你交了兩個朋友,注意聽哦,你交了第一個朋友,你交了第二個朋友,請問你會跟哪一個比較靠近?現在是說同性,同性…說異性好了,你跟第一個,再交第二個,你會跟哪一個較近?第三個…有的沒的…,這邊要注意哦,這裡啊,第三個…有的沒的…,這邊要注意哦,這裡啊,不要抄,不要抄,這很重要的,…,這個一定跟這一個啊,∴你交第一個,再交第二個,一定跟誰?第二個。∵第一個一定有缺點,你才會交第二個,不要想交很多個,交太多會出問題,∴跟人較接近,∵這是人發展出來的,∴跟人滿像的。 ∴像底下要注意,他說哪一個是正確的?你看這裡啊,這邊有then,好,這邊有then,好,這邊else,他跟哪一個比較近?跟這一個。是不是跟這一個?好,那再注意看,不要抄,同學不要抄,真的不要抄,同學不要抄,∵第二個,第二個少一個字啊,第二個少一個字,不要抄la,不要抄,少一個begin,知道嗎?有end,怎麼會沒有begin?少一個begin。這邊begin在這裡,好,你把這個補上去,begin在這裡,左邊能擦嗎?左邊能不能擦?我要擦左邊哦,…cut…這一個要注意,第一個啊,我把這邊改成是非的,選擇在這裡,這邊有一個else,對不對?他跟誰?跟這個then。要注意哦,跟這個then,那你不要亂扯哦,你不能亂扯,你說啊,那我懂了,我把他打成這樣,電腦就會在那邊偷笑,你知道嗎?不好好讀書啊,不學無術,對不對?怎麼可以變這樣,注意聽啊,電腦真的在笑你啊,他,他會不會跟這一個?他會不會跟這個?不會。電腦說:啊,你把我裝成什麼?傻子啊,我還是跟他。知道嗎?∵pascal跟C都是自由格式嘛,他會完全自由格式,∴這個不要亂打,他一定是在這裡,∴這個是跟這個。 我們看第二個結構啊,第二個結構是if,if I大於j,然後then,then begin,好,begin,if,注意哦,if,j大於k,然後then,then這邊呢,L,l等於1,l等於1,那注意,這個end,∴end在這裡,end在這裡,然後注意,else,else1等於2,好,else 1等於2,∴你看得很清楚,注意聽哦,他這裡,一定end是把他關起來,這個是關起來,∴else只能跟誰?else只能跟這個。∵begin、end是開始、結束,這裡關起來,∴else會去,去找前一個then,∴這兩個結構完全不一樣,再看第三個結構,那I大於j,then begin,好,begin在這裡,然後if j大於k,然後then l等於1,要注意,這個end,這個end,…聽不清楚…(要寫清楚),else,else l等於2,然後這個end,好,這邊結束,注意看哦,我把那個第三個,來,注意看這裡哦,begin在哪裡?begin在這裡,end在這裡。∴then跟then,then,begin,這邊end,那注意哦,這兩,這個是不是放在一起?這是不是放在這裡面?∴這裡else是跟誰?跟這個then。那是誰跟誰會相同?1跟3會相同。1跟3相同,∴答案選這個,1跟3相同,答案這個,好,你趕快抄,我等你。 …cut…,這邊else,不成立,這邊then,成立,不成立,好,等一下哦,我要印誰?現在印誰?我要印C。C在哪裡?C在這裡。對不對?∴開始解了,怎麼走?要印C嘛,怎麼走?你會,會到這裡,注意聽,會到這裡,一定什麼?不成立。誰不成立?這個不成立。是不是這個不成立?∴注意聽哦,第一個,x小於100,不成立,那注意聽哦,第二個,再看看,你會進來到這裡,請問你會到這裡的話,這邊一定要什麼?成立。∴這邊怎樣?X小於200,成立。那注意聽哦,來來來,根據這個,X小於100,不成立的話,什麼意思?X不小於100,喂!不小於100什麼意思?不小於100,看這裡,看這裡,不要亂抄,不要亂抄,等一下你們開始辛苦了,…有的沒的…,X不小於100,是什麼?X大於,等於100,聽懂嗎?∴X大於、等於100,就是符合這個條件,這是第一點,那要注意哦,還要怎樣?X大於、等於什麼?200。這個符合什麼條件?這個符合第二個條件。能不能聽得懂這個在做什麼?∴答案選誰?答案選C。這個有沒有問題?這樣做有沒有問題?…cut…好la,註、註、註,不要抄,註,請問印出B,印出B,怎麼去判斷?不要抄,這個不要抄,印出B,不要抄,印出B,B在哪裡?B在這裡。對不對?B在這裡。那進來這裡,一定什麼?不成立。對不對?∴第一個條件,X小於、等於0不成立;好,那注意哦,會進來這裡,一定怎樣?成立。這邊也怎樣?成立。對不對?∴第二個,∴第二個,同學,第二個,X小於100,成立;第3個,X小於、等於200,成立,好,全部,怎麼辦?這邊這裡,X不小於、等於0,就是什麼?大於0。對不對?喂!這裡有等號,這裡就不可以等,你不可以隨便說說,喂!隨便la,隨便就會邏輯出問題,不能隨便,那注意,X小於100成立,那X小於200又成立,請問這個條件取誰?小於誰?100。對不對?看得懂嗎?看得懂嗎?∵你小於100成立,才會進來嘛,對不對?這比100小才會進來啊,對不對?100小,是不是會進來?假設你判斷200的話,200是進來la,但是到這邊的時候,會小於100嗎?不會是不是就跳開?好,∴小於100,∴這個是選誰?這要選誰?同學,這選誰?A嘛,好,這樣就選A,不要亂抄哦,這邊我寫一個什麼?印C。好,你抄一抄,…cut…,這個印誰?印A。對不對?這個,這個要注意,這個條件,不夠,假設X大於200,印誰?印D。我都寫在這邊哦,我都寫在這邊哦,∴我們這個標準答案誰?C。C印誰?印C。同學看得懂嗎?同學看得懂嗎?A是印什麼?印D。B是印什麼?印A。C是印C。E是印,E,條件要改,改成X大於200,就印D,那這個是胡說la,這個不是,我都寫…聽不清楚…的,你抄一抄,我要講迴圈。 …cut…這個東西要注意哦,這個東西叫前測,什麼叫前測?while do,這邊就判斷,條件成立,回來,成立,成立一直做,成立,注意聽哦,成立,一直做,成立,成立做,什麼時候離開?不成立離開。∴這個是先判斷,注意,先判斷,先判斷,這邊呢?再什麼?再處理。先判斷,再處理。那注意聽哦,這個是比較糟糕,先處理,注意聽哦,這個是先處理,注意聽哦,不管什麼情況之下,先處理,再判斷,∴先處理,先處理,再判斷。∴這要注意聽,考古題,至少執行一次,至少執行一次,∴這種就是先處理,再判斷。∴這就是repeat,這邊,這邊,這邊,這邊,這邊,不成立,不成立,不成立,成立,會離開,要注意,這當然,這忘記寫了,這邊忘記寫了,這邊是while,這邊條件,注意,while,條件,然後do,do,這邊是s1,∴注意看這裡啊,這邊是條件成立,一直做,這邊成立,一直做,一直做,…一直做,什麼時候會離開?這邊不成立。不成立就會離開。∴這邊成立,成立,…成立,不成立離開。這個不一樣,這邊是不成立,不成立,…不成立,成立,離開了,∴注意,這個條件跟這個條件一定會怎樣?同學,這個條件跟這個條件會怎樣?像不像?假設這叫條件1,這叫條件2,有什麼關係?你們看這裡就好了,等一下,你看這裡,什麼時候離開?no。這是不是離開?yes,…什麼意思?註解,條件一跟條件二有什麼關係?就是我們下一章要講的,下一章要講的,這兩個之間有什麼關係?布林代數的關係。∴布林代數不只用在邏輯電路,他還用在我們的什麼?程式裡面。條件二的什麼?not。變什麼?條件一。這兩個之間的關係是什麼?not關係。not關係。然後再注意,這邊有個固定次數,固定次數喔,for loop,這要注意哦,這for loop,注意看這裡啊,等一下啊,這個啊,這個啊,這個做幾次?從1,做到什麼?10。做10次。I小於、等於10,一直在那邊跑就好了,i大於10,怎樣?離開。是不是離開?這叫固定次數,好,你要補趕快補,我要講第一個啊,第一個例子,…cut…這個東西是有標準的,∴ANSI,ANSI製定標準,要注意哦,ANSI製定的標準,那這演算法啊,我們先不寫,演算法以後再寫,演算法在第4章,我會教你寫,∴現在我們來畫流程圖,∴一開始,這邊有個start,這邊一個start,不需要輸入,同學,不需要輸入,∵他這個是死的,不需要輸入,∴馬上做處理,我們講過了,剛才講過了,有3件事嘛,這叫input,i,這個叫process,這個叫output,∴這邊呢?也設定這個值,sum,等於什麼?sum等於0。然後這邊I等於1,設定初值,這個叫設定初值,這個寫程式應該養成習慣,設定初值,然後,再來判斷,我們剛才不是有判斷嗎?這邊有一個流程圖,判斷,I是不是小於、等於10?真的,真的,∵我們這邊要從哪裡開始做起?1做到什麼?10。做什麼?sum等sum加I。∴做這件事情,sum等sum加I,這裡,做這件事情,然後,注意哦,做這件事情之後,I從1、2、3、4,做到什麼?10。∴這邊沒有做,做什麼?I等於什麼?I加1。這個有考,∴注意哦,這個一直做、一直做、…一直做,做到什麼?10的時候,10還記得住la,做到什麼?11。∴這邊做什麼?print 9。print sum。到這裡,end結束,這應該看得懂吧?…聽不清楚…看得懂吧?行不行?可以吧?那這個從頭到尾,只有兩個主角,注意,這兩個主角是誰?這兩個主角是這個跟這個,∴主角,∴var sum跟I,這是什麼型態?integer。我現在寫pascal,假設要寫C的話,就要int,sum,I,分號,好,一樣的,其實都差不多la,那我現在先不要講C語言,不然讀到最後,兩個語言你會打架,然後最後再加一個basic進來打,三種語言會打架,∴我們先不要寫C,好,這第2步驟,你注意看哦,這就是我們剛才講的,這叫什麼?先判斷。然後再來呢?後處理。後處理。那這個當然輸出lo,我們要寫程式哦,…cut…有的裡面有,書本上有,第一個步驟叫需求分析,第二個步驟叫畫流程圖,第3個撰寫程式,程式撰寫,∴這個program,program做什麼?summation。summation。好,再來這邊啊,這兩,這要養成習慣啊,一般來講,這邊會寫個什麼?input、output。input是從鍵盤進來,output是從crt出去,好,這邊var,先等一下,先等一下,先等一下,不要抄,這叫程式頭,程式頭一定要寫,這個是可讀性比較高,這叫什麼?summation叫什麼?總合。求總合,∴var,主角誰?sum跟I。sum,I,都是什麼型態?整數。integer。這是宣告,∴剛才這個叫程式頭,程式頭,然後這個叫做宣告,我們待會就寫,begin,做什麼事情?做這個跟這個。∴這邊有一個叫sum等於0,喂!這是冒號,你不要抄不對去了,抄錯會變成什麼?會變亂寫啊。這個冒號、等於0,這個i,冒號、等於1,然後再來,while,注意,while loop,這邊是一個while loop,I小於、等於10,括號,I小於、等於10,然後,do,do什麼?兩件事。注意哦,一件事不要begin end,兩件事,兩件以上要begin,然後這邊end,begin什麼事?第一件叫sum等於sum加上i,就要斷氣,I等於I加1,這裡不能斷氣,end之前不能加上分號,這邊斷氣,∴這邊迴圈,轉…轉,轉到最後,印出這個值,∴write line,write line,然後這邊強迫印,1加2加3,加到10,逗號,sum,0好,end之前不能加分號,end,一點,結束了,注意聽哦,你看這程式很漂亮,相當漂亮,注意看,我把那個剛才所講的,畫給你看,這一條跟這一條對齊,這叫什麼?循序。這一條跟這一條對齊叫什麼?循序。這個凹進去叫什麼?迴圈。看懂嗎?凹進去。begin、end是不是迴圈?然後注意,這邊又是,這一條跟這一條,是不是對齊?這叫什麼?循序。∴你看lo,循序,迴圈,循序,循序,結束掉,∴注意,他這種東西,書本上會跟你講說,這邊有,有什麼?這個腰身。腰身,要注意,腰身就是凹入結構,要注意,凹入結構,可提高程式可讀性,可提高程式可讀性,凹入結構可提高程式可讀性,那注意哦,剛剛講的,這個地方叫什麼?這個地方叫宣告部份。∴pascal有3個部份,這叫宣告部份。那剩下的部份,注意,剩下這紅色部份,就屬於什麼?程式身。這叫程式身。∴這個叫做program head,program head叫程式頭,這叫degration var,這叫宣告部份,這個叫做程式身,program body叫程式身,拜託,不要亂加分號,講完一句話,不要抄,講完一句話一定要分號,程式頭,斷氣,宣告,什麼,什麼,斷氣,開始,做這個,斷氣,做這個,斷氣,當什麼,do什麼,斷氣,斷氣,end之前,不能斷氣,記得,∴end之前,不能斷氣,好,end,結束掉,然後write,本來想斷,但是end之前不能什麼?斷氣。End最後一次,一點,結束掉,這有沒有問題?
相簿設定
標籤設定
相簿狀態