什么是程序
在生活中,我們打開(kāi)開(kāi)關(guān)崎坊,燈就會(huì)亮备禀,關(guān)閉開(kāi)關(guān),燈就會(huì)滅奈揍,
學(xué)過(guò)初中物理曲尸,我們知道這是開(kāi)關(guān)控制了電路的斷開(kāi)與連接,
電路連通男翰,燈兩端的電壓不相等另患,有電壓差,就會(huì)形成電流蛾绎,電流經(jīng)過(guò)小燈的燈絲昆箕,發(fā)光發(fā)熱,燈就亮了租冠;
斷開(kāi)電路鹏倘,燈兩端沒(méi)有電壓差,沒(méi)有電流顽爹,燈就不會(huì)亮纤泵。
打開(kāi)開(kāi)關(guān),有電壓差镜粤,燈亮捏题,關(guān)閉開(kāi)關(guān)玻褪,沒(méi)有電壓差,燈滅涉馅。
如果此時(shí)我們有4盞這樣的燈归园,從左到右依次擺放,我們就可以創(chuàng)造很多組合稚矿。
僅讓第一盞燈亮:打開(kāi)關(guān)閉關(guān)閉關(guān)閉
僅讓第二盞燈亮:關(guān)閉打開(kāi)關(guān)閉關(guān)閉
讓后兩個(gè)燈亮:關(guān)閉關(guān)閉打開(kāi)打開(kāi)
如果想每個(gè)燈每隔5秒逐次亮起:
第0秒:打開(kāi)關(guān)閉關(guān)閉關(guān)閉
第5秒:打開(kāi)打開(kāi)關(guān)閉關(guān)閉
第10秒:打開(kāi)打開(kāi)打開(kāi)關(guān)閉
第15秒:打開(kāi)打開(kāi)打開(kāi)打開(kāi)
像這樣庸诱,在我們控制燈的時(shí)候,其實(shí)我們就在編程了晤揣。
程序其實(shí)就是指令的組合桥爽,而編程其實(shí)就是按照我們的目的,組合指令昧识。
打開(kāi)钠四、關(guān)閉就是指令,程序就是 打開(kāi)關(guān)閉關(guān)閉關(guān)閉跪楞,我們的目的就是僅讓第一盞燈亮缀去。
也許這樣太過(guò)簡(jiǎn)單,但是事實(shí)就是如此甸祭。
復(fù)雜的設(shè)備其實(shí)也都是這樣的開(kāi)關(guān)控制缕碎。
假設(shè)這樣的開(kāi)關(guān)用1表示開(kāi),用0表示關(guān)池户,上面的程序就變成了:
僅讓第一盞燈亮:1000
僅讓第二盞燈亮:0100
讓后兩個(gè)燈亮:0011
如果想每個(gè)燈每隔5秒逐次亮起:
第0秒:1000
第5秒:1100
第10秒:1110
第15秒:1111
如果我們想寫(xiě)跑馬燈的程序就是
1000
0100
0010
0001
1000
0100
0010
0001
...
一直循環(huán)
程序是怎么運(yùn)行的
上面的程序運(yùn)行起來(lái)很簡(jiǎn)單就是控制4個(gè)開(kāi)關(guān)咏雌,開(kāi)關(guān)其實(shí)除了做控制還可以做其他用途,比如
數(shù)據(jù)存儲(chǔ)
開(kāi)關(guān)本來(lái)就表示兩種狀態(tài)校焦,0和1赊抖,比如設(shè)置為打開(kāi)打開(kāi)關(guān)閉,就是110寨典,可以表示報(bào)警電話氛雪,擁有足夠多的開(kāi)關(guān),你就可以表示任何數(shù)耸成,
你也可以給不同的數(shù)报亩,賦予不同的含義,比如16個(gè)開(kāi)關(guān)為一組墓猎,表示一個(gè)漢字,或者一個(gè)顏色值赚楚,然后再把表示的漢字組合在一起毙沾,表示一篇文章,或者把不同的顏色值組合在一起宠页,表示一幅畫(huà)左胞,等等
信號(hào)傳輸
比如電臺(tái)寇仓,長(zhǎng)按、短按烤宙、按幾下遍烦,組合起來(lái)就可以傳遞消息,或者16個(gè)開(kāi)關(guān)表示一個(gè)漢字躺枕,但是每秒變化一次服猪,這樣一分鐘就有60個(gè)字,這樣就把這60個(gè)字傳遞給了看到開(kāi)關(guān)變化的人
這樣綜合起來(lái)拐云,就可以想象復(fù)雜的程序是如何運(yùn)行的罢猪,比如
點(diǎn)擊鍵盤(pán),屏幕上就會(huì)出現(xiàn)對(duì)應(yīng)的字母叉瘩,在點(diǎn)鍵盤(pán)時(shí)膳帕,
對(duì)應(yīng)按鍵的開(kāi)關(guān)狀態(tài)被改變,產(chǎn)生電壓變化薇缅,電腦讀取到電壓變化危彩,知道這個(gè)電壓變化代表這個(gè)按鍵被按下,然后修改代表屏幕的眾多開(kāi)關(guān)泳桦,從而改變屏幕區(qū)域的部分顏色汤徽,所有的顏色變化,在屏幕上形成了這個(gè)字母蓬痒。
最本質(zhì)的數(shù)據(jù)就是0和1泻骤,眾多開(kāi)關(guān)形成了各種不同的含義的設(shè)備和設(shè)備對(duì)應(yīng)的狀態(tài)。
程序本身就是對(duì)這些開(kāi)關(guān)的打開(kāi)關(guān)閉指令梧奢,不同的組合形成各種不同含義的程序狱掂,修改設(shè)備對(duì)應(yīng)的狀態(tài)。
程序的執(zhí)行就是打開(kāi)關(guān)閉開(kāi)關(guān)亲轨。