山東專升本計算機(2024新版大綱新增)-計算思維(程序設(shè)計)_第1頁
山東專升本計算機(2024新版大綱新增)-計算思維(程序設(shè)計)_第2頁
山東專升本計算機(2024新版大綱新增)-計算思維(程序設(shè)計)_第3頁
山東專升本計算機(2024新版大綱新增)-計算思維(程序設(shè)計)_第4頁
山東專升本計算機(2024新版大綱新增)-計算思維(程序設(shè)計)_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

2024山東專升本計算機-大綱新增知識點

主講人:高老師計算思維(程序設(shè)計)考綱要求:(一)掌握計算思維的概念;了解計算思維在社會生活中的應(yīng)用。(二)了解計算機求解問題的基本方法;掌握利用計算思維解決簡單計算問題的方法。(三)掌握計算機算法的基本知識;了解典型問題求解策略、算法復(fù)雜度分析及對應(yīng)用程序進行時間優(yōu)化和空間優(yōu)化的實現(xiàn)方法與思路。(四)掌握計算機程序的基本結(jié)構(gòu)(順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu))、程序流程表達與分析方法(程序流程圖、偽代碼等);了解面向?qū)ο蟪绦蛟O(shè)計的思想與方法。2024山東專升本計算機-大綱新增計算思維目錄一、計算思維概述

二、算法與數(shù)據(jù)結(jié)構(gòu)三、程序設(shè)計語言四、面向?qū)ο蟪绦蛟O(shè)計計算思維一、計算思維概述1.1

計算思維概念計算思維是運用計算機科學(xué)的基礎(chǔ)概念進行問題求解、系統(tǒng)設(shè)計,以及人類行為理解等涵蓋計算機科學(xué)之廣度的一系列思維活動。計算思維由周以真于2006年3月首次提出。2010年,周以真教授又指出計算思維是與形式化問題及其解決方案相關(guān)的思維過程,其解決問題的表示形式應(yīng)該能有效地被信息處理代理執(zhí)行。計算思維的本質(zhì)是抽象和自動化。就是如何利用計算機去求解問題,確定合適的抽象;自動化是最終目標,選擇合適的方法去解釋執(zhí)行該抽象,讓機器去做計算的工作。1.2計算思維在社會生活中的應(yīng)用決策制定:在個人生活或商業(yè)環(huán)境中,計算思維有助于分析信息、評估選項并做出最佳決策。問題解決:計算思維使人們能夠分解問題、識別模式并提出解決方案。這種思維方式強調(diào)邏輯推理和創(chuàng)造性解決問題的能力??茖W(xué)研究和創(chuàng)新:計算思維在科學(xué)領(lǐng)域中至關(guān)重要。它幫助科學(xué)家分析數(shù)據(jù)、構(gòu)建模型、測試假設(shè),并發(fā)現(xiàn)新的解決方案和創(chuàng)新。技術(shù)和工程領(lǐng)域:計算思維對于軟件開發(fā)、工程設(shè)計和技術(shù)創(chuàng)新至關(guān)重要。它涉及編碼、系統(tǒng)設(shè)計和解決技術(shù)難題的能力。數(shù)據(jù)分析和預(yù)測:在商業(yè)領(lǐng)域,計算思維可以幫助分析大量數(shù)據(jù),發(fā)現(xiàn)趨勢并做出預(yù)測。這對市場營銷、銷售預(yù)測和業(yè)務(wù)決策非常重要。教育和培訓(xùn):教育界認識到計算思維對于學(xué)生的重要性,因此越來越多的教學(xué)方法側(cè)重于培養(yǎng)學(xué)生的邏輯思維、問題解決能力和創(chuàng)造性思維。社會政策制定:在政府和社會領(lǐng)域,計算思維可以幫助分析社會問題、評估政策效果并制定更有效的政策方案。信息管理和安全:計算思維對于管理和保護信息資產(chǎn)至關(guān)重要。它有助于識別和解決安全漏洞,確保數(shù)據(jù)和信息的安全性。1.2

計算思維在社會生活中的應(yīng)用準備去旅行時,提前將所需的衣物、洗漱用品等放入行李箱,這就是一種預(yù)置行為預(yù)置;當你使用手機或電腦瀏覽網(wǎng)頁時,瀏覽器會將已經(jīng)訪問過的網(wǎng)頁內(nèi)容暫時存儲在緩存中,以便下次再次訪問相同的網(wǎng)頁時能夠更快地加載。這就是一個日常生活中常見的緩存;當你在迷宮中迷路時,你可能會使用回溯策略來找到出口;在超市付賬時,你應(yīng)該選擇哪個隊伍排隊,可以涉及到計算思維中的“最優(yōu)化”;當你對智能手機說出指令或問題時,比如“設(shè)置提醒我明天早上8點起床”,智能手機的語音識別系統(tǒng)會錄下你的聲音并將其轉(zhuǎn)換成文本。在這個過程中,神經(jīng)網(wǎng)絡(luò)可能會用于語音的識別和理解;計算思維的基本特征是概念化,而不是程序化計算思維不等同于計算機編程。像計算機科學(xué)家那樣去思維意味著遠不止能為計算機編程,還要求能夠在抽象的多個層次上思維。是根本的,不是刻板的技能。是一種根本技能,是人為了在現(xiàn)代社會中發(fā)揮職能所必須掌握的分析和解決問題的能力,刻板技能意味著機械的重復(fù)。是人的,不是計算機的思維計算思維是人類求解問題的途徑,但決非要使人類像計算機那樣思考。比如計算思維使用海量數(shù)據(jù)來加速計算,在時間和空間、處理能力和存儲容量之間進行權(quán)衡,人并不需要具備這樣的能力。計算思維的基本特征是數(shù)學(xué)和工程思維的互補與融合計算機科學(xué)本質(zhì)上源自數(shù)學(xué)思維和工程思維,像其它科學(xué)一樣,其基礎(chǔ)源自數(shù)學(xué)學(xué)科,但其實現(xiàn)過程又基于工程思維,計算機系統(tǒng)的目標是創(chuàng)造能與現(xiàn)實世界互相的系統(tǒng)。是思想,不是人造物計算思維不只是我們生產(chǎn)的軟硬件以物理形式到處呈現(xiàn)并時刻觸及我們的生活,更重要的是還體現(xiàn)了人類用以接近和求解問題,管理日常生活、與他人交流互動的計算思想。1.4

利用計算思維求解問題的一般方法第一步:把實際的應(yīng)用問題轉(zhuǎn)化為數(shù)學(xué)問題,建立數(shù)學(xué)模型;第二步:設(shè)計算法;第三步:將算法編程實現(xiàn);

第四步:在計算機中運行求解前兩步是計算思維中的抽象,后兩步是計算思維中的自動化。真題解析下列關(guān)于計算思維的描述,正確的有A.計算思維是運用計算機科學(xué)的基礎(chǔ)概念進行問題求解、系統(tǒng)設(shè)計以及人類行為理解等涵蓋計算機科學(xué)之廣度的系列思維活動B.計算思維的本質(zhì)是抽象與自動化C.計算思維是人的思維,不是計算機的思維D.計算思維是分析和解決問題的能力,而不是刻板的操作技能例題:1.問題解決和系統(tǒng)設(shè)計涉及哪種思維范式?A.平面思維B.計算思維C.文學(xué)思維D.視覺思維答案:B.計算思維2.計算思維的核心特征是什么?A.理性與情感的結(jié)合B.創(chuàng)造力和想象力C.抽象化和自動化D.實用主義與理論性的結(jié)合答案:C.抽象化和自動化3.計算思維的特點是什么?A.特定性和固定性B.邏輯性和系統(tǒng)性C.非理性和隨機性D.實驗性和主觀性答案:B.邏輯性和系統(tǒng)性4.計算思維是人的思維方式,與計算機的思維方式有何區(qū)別?A.無區(qū)別B.計算思維和計算機思維完全相同C.計算思維強調(diào)應(yīng)用計算機概念和技術(shù),而不是計算機本身的思維D.計算機思維更注重人類的抽象化能力答案:C.計算思維強調(diào)應(yīng)用計算機概念和技術(shù),而不是計算機本身的思維二、算法與數(shù)據(jù)結(jié)構(gòu)2.1

算法的概念與特征算法通俗講就是解決某種問題所采用的一系列的方法和步驟??梢钥醋魇怯捎邢迋€步驟組成的用來解決問題的過程,其實質(zhì)反映的是解決問題的思路和步驟。2.1

算法的概念與特征算法的特征:有窮性、確定性、可行性。有窮性:一個算法應(yīng)包含有限個操作步驟,也就是說,解決過程必須是可終止的。確定性:算法的每一個步驟都必須明確定義,不應(yīng)該產(chǎn)生二義性。

可行性:算法的每一個步驟都是可以在有限時間內(nèi)完成的基本操作,并能得到確定的結(jié)果。輸入:有零個或多個輸入,執(zhí)行算法有時需要從外界取得必要的信息。輸出:有一個或多個輸出。沒有輸出的算法是沒有意義的。2.2

算法的3種基本的控制結(jié)構(gòu)1、順序結(jié)構(gòu)是最簡單、最基本的控制結(jié)構(gòu),其操作步驟是按照設(shè)置的先后順序,一步一步的執(zhí)行。2、選擇結(jié)構(gòu)也叫分支結(jié)構(gòu),它首先需要判斷給定條件的真假,然后選擇執(zhí)行方向和順序3、循環(huán)結(jié)構(gòu)也叫重復(fù)結(jié)構(gòu),它在給定條件成立時,需要反復(fù)重復(fù)執(zhí)行同一操作或類似操作。算法的表示方法常見的算法表示方法有:自然語言、流程圖、N-S圖、偽代碼等。1、自然語言優(yōu)點通俗易懂缺點:容易產(chǎn)生歧義,導(dǎo)致執(zhí)行的不確定性。當算法循環(huán)和分支較多時,很難清晰的表示出來。自然語言表示的算法不便翻譯成計算機程序設(shè)計語言。2.3

算法的表示方法2、用流程圖表示算法流程圖是一種常用的算法描述工具,主要采用一些圖框表示

各種操作,用箭頭表示算法流程,其特點是直觀形象,結(jié)構(gòu)清晰,易于理解。美國標準化協(xié)會ANSI規(guī)定了一些常用的流程圖符號,已為世界各國程序工作者普遍采用。2.3

算法的表示方法2、用流程圖表示算法int

i

=

0;輸出i不成立i=i+1i是偶數(shù)?不成立成立結(jié)束開始i

=

0,cnt

=

0;cnt

=

cnt

+

ii

<=

100?成立不成立i=i+1開始輸出cnt結(jié)束i<100?int

i

=

0;輸出i不成立i=i+1不成立成立結(jié)束開始i

=

0,cnt

=

0;cnt

=

cnt

+

ii

<=

100?成立不成立i=i+1開始輸出cnt結(jié)束int

i

=

0;i<100?;i是偶數(shù)嗎?2.3

算法的表示方法3、N-S圖表示法N-S圖也稱N-S流程圖,這種流程圖完全去掉了帶箭頭的流程線,對算法的每一步描述都用一個矩形框表示。優(yōu)點:比文字描述更直觀、形象、易于理解比傳統(tǒng)的流程圖緊湊易畫廢除流程線,整個算法結(jié)構(gòu)是由各個基本結(jié)構(gòu)按順序組成,N-S圖的上下順序就是執(zhí)行時的順序。流程圖和盒圖比較Leap=1?求閏年算法的表示方法4、偽代碼表示法偽代碼是介于自然語言和計算機語言之間的文字和符號來描述算法的工具。優(yōu)點:書寫方便、格式緊湊,易于理解,便于向計算機程序設(shè)計語言過渡缺點由于語言的種類繁多,偽代碼的語句不容易規(guī)范。2.3

算法的表示方法4、偽代碼表示法真題解析2.4

典型問題求解策略算法策略就是在問題空間中搜索所有可能的解決問題的方法,直到

選擇一種有效的方法解決問題,策略是面向問題的,算法是面向?qū)崿F(xiàn)的。經(jīng)典的算法策略主要包括:枚舉算法、遞推算法、遞歸算法、分治算法、貪心算法、回溯算法等。1、枚舉算法也叫窮舉法,其思路就是對問題的所有可能的解空間逐一嘗試,直到找到最終解。針對于要解決的問題,列舉出它所有可能的情況,逐個判定哪些是符合問題所要求的約束條件,從而得到問題的解。枚舉算法的示例:百錢買百雞2.4

典型問題求解策略2、遞推算法遞推算法是通過已知條件,利用特定關(guān)系得出中間結(jié)論,直到得到結(jié)果的算法。遞推算法分為順推和逆推兩種。順推就是從已知條件出發(fā),

逐步推算出要解決的問題的方法。逆推從已知問題的結(jié)果出發(fā),

用迭代表達式逐步推算出問題的開始的條件,是順推法的逆過程。示例:斐波拉契數(shù)列,設(shè)它的函數(shù)為f(n),已知f(1)=1,f(2)=1;

f(n)=f(n-2)+f(n-1)(n>=3,n∈N)。則我們通過順推可以知道:f(3)=f(1)+f(2)=2,f(4)=f(2)+f(3)=3……直至我們要求的解2.4

典型問題求解策略3、遞歸算法遞歸算法是把問題轉(zhuǎn)化為規(guī)??s小了的同類問題的子問題,然后通過遞歸調(diào)用函數(shù)或過程來表示問題的解。遞歸算法是一個程序或函數(shù)直接或間接調(diào)用自己本身。示例:漢諾塔問題斐波拉契數(shù)列2.4

典型問題求解策略4、分治算法分治算法是將一個規(guī)模較大的問題,分解為若干個規(guī)模較小的子問題,這些子問題相互獨立且與原問題性質(zhì)相同,再把子問題分成更小的子問題,直到最后子問題可以簡單的直接求解,原問題的解即為子問題的解的合并。分治是一種算法思想,思路。示例:二分搜索(折半搜索《幸運52》)2.4

典型問題求解策略4、分治算法示例:

二分搜索2.4

典型問題求解策略5、貪心算法是指在對問題求解時,總是做出在當前看來是最好的選擇,也就是說,不從整體最優(yōu)加以考慮,僅是局部最優(yōu)解。貪心算法常常用于組合優(yōu)化問題,它的求解過程是多步判斷的過程。示例:合并排序問題6、回溯算法也稱試探法,是一種優(yōu)選搜索法,按選優(yōu)條件向前搜索,以達到目標。但

當探索到某一步時,發(fā)現(xiàn)原先選擇并不優(yōu)或達不到目標,就退回一步重新選擇。解決一個回溯問題,實際上就是一個決策樹或回溯樹的遍歷過程。示例:全排列問題、N皇后問題2.4

典型問題求解策略6、回溯算法----八皇后2.5

算法評價評價算法優(yōu)劣的指標或條件:正確性、可讀性、健壯性、復(fù)雜性1、正確性算法應(yīng)當能正確求解問題。正確性是評價算法的首要條件,一個正確的算法是指在合理的輸入數(shù)據(jù)下,能在有限的運行時間內(nèi)得到正確的結(jié)果。2、可讀性好的算法應(yīng)當具有良好的可讀性,容易理解3、健壯性(魯棒性)當輸入非法數(shù)據(jù)時,算法也能適當?shù)淖龀龇磻?yīng)或進行處理,而不會產(chǎn)生莫名其妙的輸出結(jié)果2.5

算法評價4、復(fù)雜性算法復(fù)雜性分為時間復(fù)雜度和空間復(fù)雜度,用于評價算法在運行時間和占用空間上的程度。通常把算法中所消耗的時間的多少稱為“算法的時間復(fù)雜度”,算法的時間效率是問題規(guī)模n的函數(shù)??捎涀鱐(n)=O(f(n)),比如,

算法的執(zhí)行時間為

3*n2+3n+1,則它的時間復(fù)雜度為T(n)=O(n2)算法的時間復(fù)雜度一般有:O(1)常數(shù)級、O(logn)對數(shù)級、O(n)線性級、O(nc)多項式級(c為常數(shù))、O(cn)指數(shù)級(c為常數(shù))、O(n!)階乘級常數(shù)時間復(fù)雜度O(1):算法的執(zhí)行時間與輸入規(guī)模無關(guān),例如直接訪問數(shù)組中的一個元素。對數(shù)時間復(fù)雜度O(logn):二分查找等對數(shù)據(jù)規(guī)模進行對數(shù)級別的處理,隨著輸入規(guī)模增加,其執(zhí)行時間不是線性增長,而是以對數(shù)的方式增長。線性時間復(fù)雜度O(n):算法的執(zhí)行時間與輸入規(guī)模成線性關(guān)系,例如遍歷一個數(shù)組。線性對數(shù)時間復(fù)雜度O(nlogn):一些高效排序算法(如歸并排序、快速排序)的時間復(fù)雜度。平方時間復(fù)雜度O(n^2):一些簡單排序算法(如冒泡排序、插入排序)的時間復(fù)雜度,執(zhí)行時間與輸入規(guī)模的平方成正比。指數(shù)時間復(fù)雜度O(2^n):某些暴力解法、窮舉法等算法的時間復(fù)雜度,隨著輸入規(guī)模的增加,執(zhí)行時間指數(shù)級增長。階乘時間復(fù)雜度O(n!):某些旅行商問題、全排列問題等的時間復(fù)雜度,隨著輸入規(guī)模的增加,執(zhí)行時間按階乘級別增長。2.5

算法評價4、復(fù)雜性算法在運行過程中所消耗的內(nèi)存空間的大小被稱為“算法的空間復(fù)雜度”。用S(n)表示。與算法的時間復(fù)雜度相同。算法的空間復(fù)雜度也可表示為:S(n)=O(g(n)),表示隨著問題規(guī)模n的增大,算法運行所需存儲量的增長率與g(n)的增長率相同。2.6

數(shù)據(jù)結(jié)構(gòu)定義一:數(shù)據(jù)結(jié)構(gòu)是計算機存儲、組織數(shù)據(jù)的方式。定義二:數(shù)據(jù)結(jié)構(gòu)(data

structure)是帶有結(jié)構(gòu)特性的數(shù)據(jù)元素的集合,它研究的是數(shù)據(jù)的邏輯結(jié)構(gòu)和數(shù)據(jù)的物理結(jié)構(gòu),以及它們之間的相互關(guān)系,并對這種結(jié)構(gòu)定義相適應(yīng)的運算,設(shè)計出相應(yīng)的算法,并確保經(jīng)過這些運算以后所得到的新結(jié)構(gòu)仍保持原來的結(jié)構(gòu)類型。數(shù)據(jù)結(jié)構(gòu)與算法之間的關(guān)系:數(shù)據(jù)結(jié)構(gòu)+算法=程序2.6

數(shù)據(jù)結(jié)構(gòu)典型的數(shù)據(jù)結(jié)構(gòu)包括線性表、樹和圖。線性表是最基本、最簡單也是最常用的一種數(shù)據(jù)結(jié)構(gòu)。線性表的定義:一個線性表是n個具有相同特性的數(shù)據(jù)元素的有限序列。通常來說,從邏輯上看,線性表中數(shù)據(jù)元素之間的關(guān)系是一對一的關(guān)系,即除了第一個和最后一個數(shù)據(jù)元素之外,其它數(shù)據(jù)元素都是首尾相接的。堆棧和隊列是兩種特殊的線性表數(shù)據(jù)結(jié)構(gòu),前者是一種后進先出(FILO),后者是一種先進先出(FIFO)的集合。2.6

數(shù)據(jù)結(jié)構(gòu)1、隊列(先進先出:FIFO)2.6

數(shù)據(jù)結(jié)構(gòu)2、堆棧(后進先出:LIFO)2.6

數(shù)據(jù)結(jié)構(gòu)3、樹是由n(n≥0)個有限節(jié)點組成一個具有層次關(guān)系的集合2.6

數(shù)據(jù)結(jié)構(gòu)4、圖是由頂點集合以及頂點間的關(guān)系集合組成的一種數(shù)據(jù)結(jié)構(gòu)。真題解析2.7

算法的時間和空間優(yōu)化算法復(fù)雜度的優(yōu)化,就是要將可行解提高到更優(yōu)解,其最終目標是:要采用盡可能低的時間復(fù)雜度和空間復(fù)雜度,去完成一個算法的設(shè)計。1、無效操作剔除處理為了降低算法復(fù)雜度,一個首要的思路是:

清理算法中的無效計算或無效存儲。即首先嘗試將代碼中的無效計算、無效存儲剔除。比如,在一個窮舉算法中,可以嘗試縮小可用的窮舉空間,以減少無用的窮舉操作?;蛘弑M量提高變量或數(shù)據(jù)結(jié)構(gòu)的復(fù)用性,減少內(nèi)存的使用。2.7

算法的時間和空間優(yōu)化2、使用合理的算法和數(shù)據(jù)結(jié)構(gòu)對于同一問題,可用的算法或數(shù)據(jù)結(jié)構(gòu)可以有很多種,都能實現(xiàn)相同的目的,為了減少算法的時間和空間復(fù)雜性,可以選用最優(yōu)的方案。降低空間復(fù)雜度的核心思路就是。盡可能用低復(fù)雜度的數(shù)據(jù)結(jié)構(gòu),而不用高復(fù)雜度的數(shù)據(jù)結(jié)構(gòu);盡可能復(fù)用現(xiàn)有內(nèi)存,而不是重新分配

新的內(nèi)存降低時間復(fù)雜度常用的方法有遞歸、二分法、排序算法、動態(tài)規(guī)劃等。2.7

算法的時間和空間優(yōu)化3、時間換空間或空間換時間由于系統(tǒng)資源是有限的,為了在有限的資源內(nèi),達成某些特定的性能目標,還可以使用時間換空間或者空間換時間的方法。性能優(yōu)化的關(guān)鍵在于掌握各部分組件的性能平衡點,如果系統(tǒng)CPU資源有空閑,但是內(nèi)存使用緊張,便可以使用用時間換空間的策略,即多花一點CPU工作時間,來換取空間的節(jié)省。。時間換空間通常用于嵌入式設(shè)備,或者內(nèi)存、硬盤空間不足的情況,通過使用犧牲CPU的方式,獲得原本需要更多內(nèi)存或者硬盤空間才能完成的工作。2.7

算法的時間和空間優(yōu)化2、時間換空間或空間換時間與時間換空間的方法相反,空間換時間則是嘗試使用更多的內(nèi)存或者磁盤空間換取CPU資源或者網(wǎng)絡(luò)資源等,通過增加系統(tǒng)的內(nèi)存消耗,來加快程序的運行速度。典型應(yīng)用就是緩存的使用,緩存是一塊額外的系統(tǒng)內(nèi)存區(qū)域,如果沒有緩存,程序依然可以正常工作,但是在一般情況下,緩存中總是保存那些頻繁或即將使用的數(shù)據(jù),反復(fù)從內(nèi)存獲取這些數(shù)據(jù)會花費大量的資源和時間,而通過緩存這塊額外的內(nèi)存,避免了頻繁的CPU資源消耗,加快了程序的運行速度。CPU內(nèi)部的高速緩存(cache),程序設(shè)計中的緩存策略,都是空間換時間的典型應(yīng)用。三、程序設(shè)計語言程序設(shè)計語言可以分為三類:機器語言、匯編語言、高級語言。其中,機器語言和匯編語言都屬于低級語言。1、機器語言機器語言是計算機系統(tǒng)唯一能直接識別、不需要翻譯直接供機器使用的程序設(shè)計語言。機器語言實際上是一串二進制指令代碼,其中的每條語句稱為指令。機器語言的缺點:編寫難掌握、編程繁瑣、可讀性差、容易出錯、修改和調(diào)試均不方便。依賴于具體的機器,所以通用性和移植性很差。機器語言的優(yōu)點:能充分發(fā)揮硬件功能的特點,程序運行速度非???,程序也可以編寫的非常簡潔。2、匯編語言是機器語言的“符號化”。匯編語言和機器語言基本上一一對應(yīng)的,但在表示方法上作了改進,用一

種助記符來代替操作碼,用符號來表示操作數(shù)地址(地址碼)。例如用“ADD”表示加操作,用“MOV”來表示數(shù)據(jù)傳送等。用助記符和符號地址來表示指令,

容易辨認,給程序的編寫帶來了很大的方便。匯編語言的優(yōu)點:比機器語言直觀、容易記憶和理解,比機器語言程序易讀、易檢查、易修改。缺點:本質(zhì)上仍然是面向機器的語言,依賴于具體的計算機、很難在系統(tǒng)間移植,這樣的程序編寫起來仍然比較困難,程序的可讀性也比較差。匯編語言不能直接被計算機直接識別和執(zhí)行,把匯編語言源程序翻譯成機器語言的過程稱為匯編。3、高級語言高級語言是20世紀50年代后期開始出現(xiàn)的,是一種接近于人類自然語言的習(xí)慣、便于閱讀理解、檢查和修改。高級語言易學(xué)易用、可讀性好、表達能力強(接近自然語言)、通用性好(編寫的程序能在不同的計算機系統(tǒng)上運行)。高級語言不能被計算機直接識別和執(zhí)行。高級語言可以分成兩類:解釋型和編譯型解釋型語言:有一個專門的解釋程序,對源程序一邊翻譯、一邊執(zhí)行,不產(chǎn)生目標程序,如python。編譯型語言:需要由編譯程序先翻譯成目標程序以后才可以執(zhí)行,會產(chǎn)生目標程序。如C語言、C++、Basic、Visual

basic、C#、java、Jbuilder、delphi。問題1:在編程中,“變量”是什么?a)一種控制結(jié)構(gòu)b)用于存儲數(shù)據(jù)的標識符c)只能存儲數(shù)字的存儲單元d)用于執(zhí)行循環(huán)的關(guān)鍵字答案:b)用于存儲數(shù)據(jù)的標識符問題2:在編程中,“if”語句用于什么目的?a)執(zhí)行循環(huán)b)定義函數(shù)c)實現(xiàn)條件判斷d)進行數(shù)據(jù)類型轉(zhuǎn)換答案:c)實現(xiàn)條件判斷問題3:以下哪個關(guān)鍵字用于退出循環(huán)?a)exitb)loopc)breakd)continue答案:c)break問題4:在編程中,“數(shù)組”是什么?a)一種數(shù)據(jù)類型b)一種函數(shù)c)一組相同類型的元素集合d)用于控制程序流程的結(jié)構(gòu)答案:c)一組相同類型的元素集合問題5:在編程中,“函數(shù)”是用來做什么的?a)存儲數(shù)據(jù)b)控制程序流程c)執(zhí)行特定任務(wù)的獨立模塊d)定義變量類型答案:c)執(zhí)行特定任務(wù)的獨立模塊問題6:在編程中,“循環(huán)”用于什么目的?a)限制變量的范圍b)重復(fù)執(zhí)行特定代碼塊c)控制函數(shù)的返回值d)使變量變得全局可用答案:b)重復(fù)執(zhí)行特定代碼塊問題7:在編程中,“對象”是什么?a)變量的別名b)一種數(shù)據(jù)類型c)一種抽象數(shù)據(jù)類型的實例d)用于存儲常量的容器答案:c)一種抽象數(shù)據(jù)類型的實例問題8:在編程中,“字符串”是什么?a)一種數(shù)據(jù)類型b)用于保存數(shù)字的變量c)用于存儲文字的變量d)一種控制流結(jié)構(gòu)答案:c)用于存儲文字的變量問題9:在編程中,“迭代”是指什么?a)數(shù)據(jù)類型轉(zhuǎn)換b)循環(huán)的執(zhí)行次數(shù)c)重復(fù)執(zhí)行過程的過程d)函數(shù)的返回值答案:c)重復(fù)執(zhí)行過程的過程問題10:在編程中,“注釋”是用來做什么的?a)改變變量的值b)調(diào)試程序錯誤c)解釋代碼的功能d)控制程序的執(zhí)行順序答案:c)解釋代碼的功能四、面向?qū)ο螅?/p>

Object

Oriented

)程序設(shè)計1、概述目前程序設(shè)計方法主要有兩種:結(jié)構(gòu)化程序設(shè)計和面向?qū)ο蟪绦蛟O(shè)計。在結(jié)構(gòu)化程序設(shè)計中,任何程序段的編寫都基于3種結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。程序具有明顯的模塊化特征,每個程序模塊具有唯一的出口和入口語句。面向?qū)ο蟪绦蛟O(shè)計方法是盡可能模擬人類的思維方式,使得軟件的開發(fā)方法與過程盡可能接近人類認識世界、解決現(xiàn)實問題的方法和過程,也即使得描述問題的問題空間與問題的解決方案空間在結(jié)構(gòu)上盡可能一致,把客觀世界中的實體抽象為問題域中的對象。1、概述面向?qū)ο蟪绦蛟O(shè)計可以看作一種在程序中包含各種獨立而又互相調(diào)用的對

象的思想,這與傳統(tǒng)的思想剛好相反:傳統(tǒng)的程序設(shè)計主張將程序看作一系列

函數(shù)的集合,以功能模塊為中心,采用模塊化自頂向下,逐步求精的設(shè)計過程。面向?qū)ο蟪绦蛟O(shè)計把構(gòu)成問題的事務(wù)抽象分解成各個對象,每一個對象都

能夠接受數(shù)據(jù)、處理數(shù)據(jù)并將數(shù)據(jù)傳達給其它對象,或者調(diào)用其它對象的方法。面向?qū)ο蠓椒ǖ膬?yōu)點:與人類習(xí)慣的思維方法一致;穩(wěn)定性好;可重用性好;易于開發(fā)大型軟件產(chǎn)品;2、面向?qū)ο蟪绦蛟O(shè)計的基本思想客觀事物是由對象組成的,對象是在原事物基礎(chǔ)上抽象的結(jié)果。對象是由屬性和操作組成的,其屬性反映了對象的數(shù)據(jù)信息特征,而操作則用來定義改變對象屬性狀態(tài)的各種操作方式。對象之間的聯(lián)系通過消息傳遞機制來實現(xiàn)。對象可以按其屬性來歸類。對象具有封裝、繼承、多態(tài)的特性,可達到軟件復(fù)用的目的。面向?qū)ο蟮娜ㄋ模┐筇匦裕?/p>

(抽象)、封裝、繼承、多態(tài)塞大象()把大象裝進冰箱-結(jié)構(gòu)化程序設(shè)計方法開始結(jié)束打開冰箱門()關(guān)閉冰箱門()雙手開門單手開門結(jié)束雙手關(guān)門單手關(guān)門把大象裝進冰箱-結(jié)構(gòu)化程序設(shè)計方法開始 開始結(jié)束雙開門冰箱?是開冰箱門(

)關(guān)冰箱門(

)否否雙開門冰箱?是把大象裝進冰箱-結(jié)構(gòu)化程序設(shè)計方法裝大象揍大象()開始結(jié)束塞大象(

)否大象愿意進?是皮鞭抽棍棒打開始結(jié)束揍大象(

)棍棒工具?皮鞭把大象裝進冰箱-面向?qū)ο蟪绦蛟O(shè)計方法屬性:冰箱類型方法1:開門()方法2:關(guān)門()方法3:裝載(物品)屬性:意愿方法:挨揍(工具)冰箱對象大象對象冰箱.開門()開始結(jié)束冰箱.關(guān)門()大象.挨揍(皮鞭)冰箱.裝東西(大象)大象.意愿=愿意?是否3、對象(object)對象是面向?qū)ο蠓椒ㄖ凶罨镜母拍?,可以用來表示客觀世界中的任何實體,對象可以是具體的物(人、動物),也可以指某些概念(會議、課程)。對象是構(gòu)成系統(tǒng)的一個基本單位,任何對象都具有自己的特征和行為。所以對象由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成。屬性即對象的特征,操作描述了對象執(zhí)行的功能(對象具有的行為),操作也稱為方法或服務(wù)。4、類(class)類是編程實現(xiàn)中的概念,是指編程中具有相同屬性和方法的對象的集合。在編程中,類是對象的抽象,對象是類的一個實例。類相當于在程序語言中為某個對象設(shè)計的圖紙,而對象則是依據(jù)圖紙制造出來的某個實際產(chǎn)品。類中所包含的所有東西,稱為類的成員,包括類的屬性和方法。右方的代碼定義了一個“狗”的類,這只狗具有毛發(fā)顏色和是否孕育兩個屬

性,還有一個吠叫的方法。5、消息(Message)消息是對象之間傳遞的信息。對象之間只能通過消息進行通信,而不允許在對象之外直接地訪問它內(nèi)部的屬性,這是由封裝原則引起的。消息必須直接發(fā)給特定的對象,消息中包含所請求服務(wù)的必要信息,且遵守所規(guī)定的通信規(guī)格說明。一條消息至少包括:消息名、入口參數(shù)、可能返回的參數(shù),一個對象可以是消息的接受者、發(fā)送者和參數(shù)。6、封裝(Encapsulation)在完成抽象后,通過某種語法形式,將對象的屬性和方法捆綁在一起,在形式上寫成一個整體,即“類”,并盡可能隱藏對象的內(nèi)部細節(jié),對象好像是一個不透明的黑盒子,這個過程就叫作“封裝”。封裝是面向?qū)ο蟪绦蛟O(shè)計方法的一個重要特性,封裝具有兩方面的含義:1)將數(shù)據(jù)和操作代碼封裝在一個對象中,各個對象相對獨立、互不干擾;2)將對象中某些操作代碼對外隱藏,即隱藏其內(nèi)部實現(xiàn)細節(jié),只留下少量接口,以便與外界聯(lián)系,接收外界消息,這種做法稱為信息隱藏。信息隱藏有利于數(shù)據(jù)安全,防止無關(guān)人員訪問和修改數(shù)據(jù)。6、封裝(Encapsulation)對象封裝以后,使用一個對象的時候,只需知道它向外界提供的接口而無需知道它的數(shù)據(jù)結(jié)構(gòu)細節(jié)和實現(xiàn)操作的算法。封裝的結(jié)果實際上隱藏了復(fù)雜性,并提供了代碼重用性,從而減輕了開發(fā)軟件系統(tǒng)的難度。7、繼承(In

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論