专业解读“程序”:一文弄清什么是计算机程序!
點擊上方"藍字"
一個IT人共同提高的地方!
今天總結一下數據結構與算法的小知識~
著名計算機科學家沃思提出一個公式:
程序=數據結構+算法
先看個思維導圖:
1
? ?數據結構
1.概念
數據:數據是對客觀事物的符號表示,在計算機中指所有能輸入到計算機中并能被計算機程序處理的符號的總稱,是計算機程序加工的“原料”。
數據元素:是數據的基本單位,一個數據元素由若干個數據項組成。在計算機程序中通常作為一個整體進行考慮和處理。
數據項:數據項是數據的不可分割的最小單位。
數據對象:是性質相同的數據元素的集合,是數據的一個子集。
數據結構:是相互之間存在一種或多種特定關系的數據元素的集合。數據元素之間的關系稱為結構。
(另外數據結構在計算機科學中還是一門綜合性的專業基礎課程。是介于數學、計算機硬件、計算機軟件三者之間的一門核心課程。)
組成數據結構的三個要素有:數據邏輯結構、物理結構、數據的操作。
數據的邏輯結構:數據元素之間的邏輯結構,是結構的“關系”描述,邏輯結構有4種:集合、線性結構、樹形結構、圖狀結構或網狀結構。
集合:結構中的數據元素之間除了“同屬于一個集合”的關系外,別無其他的關系。
線性結構:結構中的數據元素之間存在一對一的關系。
樹形結構:結構中的數據元素之間存在一對多的關系。
網狀結構:結構中的數據元素之間存在多對多的關系。
物理結構:又稱存儲結構,是數據結構在計算機中的表示。數據的存儲結構有兩種存儲方式:順序存儲結構和鏈式存儲結構。
數據的操作可以理解為數據元素可以對其進行一系列的操作的集合,例如可以對數據元素進行插入、刪除、修改等操作。
2.實例:
例如九九乘法表,我們可以將每個乘式看作一個元素:1*1=1;5*5=25;都是一個數據元素。
每個數字看作是一個數據項。
數據對象看作是:兩個在1~9之間的正整數乘積公式所組成的一個集合。
邏輯數據結構是4種結構中的集合結構。
2
? ?算法
算法是對特定問題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示一個或多個操作。算法是一個程序的靈魂。算法是解決“做什么”和”怎么做”的問題。廣義的講為解決一個問題而采取的方法和步驟,就稱為算法。
對同一個問題可以有不同的解題方法和步驟,例如求1*2*3*4*5的積,我們可以按次序依次相乘,也可以按倒序依次相乘,我們也可以先算2乘5再乘3乘4乘1,打亂順序算。這就是不同的算法。
一個算法有5個特點:
有窮性,一個算法應該包含有限的操作步驟,而不能是無限的。
確定性:算法的每一個步驟都應當是確定的,而不應當是含糊的、模棱兩可的。
可行性:一個算法是能夠有效執行的,即所有的操作都是可以通過已經實現的基本運算的有限次來實現的。
輸入:一個算法有另個或多個的輸入。
輸出:一個算法有一個或多個的輸出。
算法的表示方法:可以用自然語言或者流程圖的方式來表示。
例如:判斷2000年到2500年的每一個年份是否是閏年的算法流程圖可以這么表示:
3
? ?寫個簡單的小程序
用C語言寫個99乘法表:
#include <stdio.h>int main(){int lim,row,cos,p,q;while(1){printf("請輸入1-9的數字(輸入0退出):");scanf("%d",&lim);if(lim==0){break;}else if(lim>0&&lim<10){q=1;}else{q=0;}if(q){for (row=1;row<=lim;row++){for(cos=1;cos<=row;cos++){p=row*cos;printf("%d*%d=%d ",cos,row,p);}printf("\n");}}} return 0; }程序編寫完后,到文件目錄下就可以看到exe的可執行程序文件:
今天就到這里吧~~~
END
掃碼關注我們
勤勤懇懇,善始善終
持之以恒,專心致志
今天因為你的分享,讓我元氣滿滿!
總結
以上是生活随笔為你收集整理的专业解读“程序”:一文弄清什么是计算机程序!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第2节:常量、变量与C语言的数据类型
- 下一篇: UOS使用技能:修复无法引导WIN7的步