




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第1章程序設(shè)計(jì)基礎(chǔ)天津科技大學(xué)公共基礎(chǔ)與新技術(shù)部2主要內(nèi)容程序設(shè)計(jì)語言程序設(shè)計(jì)的本質(zhì)算法算法的表示結(jié)構(gòu)化的程序設(shè)計(jì)3程序設(shè)計(jì)語言程序是用來完成特定功能的一系列指令。通過向計(jì)算機(jī)發(fā)布指令,程序設(shè)計(jì)人員可以控制其執(zhí)行某個操作或進(jìn)行某種運(yùn)算。一組指令構(gòu)成一個程序,可以用來解決一個具體問題。大俠霍元甲玄孫女—霍靜紅算是現(xiàn)在國內(nèi)唯一習(xí)武的霍家子孫4語言的分類1.機(jī)器語言2.匯編語言3.高級語言
4.面向?qū)ο蟮某绦蛟O(shè)計(jì)語言:VB/VC/JAVA/C#5語言的分類4.面向?qū)ο蟮某绦蛟O(shè)計(jì)語言:VB/VC/JAVA/C#(構(gòu)件化的語言)
編程語言的分層結(jié)構(gòu)編程語言的分層結(jié)構(gòu)思維,以下層語言為基礎(chǔ),再定義一套能力更強(qiáng)的新語言和編譯器。人們使用新語言高效率地編寫程序,使用編譯器將其編譯成下層語言能識別的源程序。7語言的執(zhí)行方式編譯執(zhí)行:將源程序翻譯生成一個可執(zhí)行的目標(biāo)程序,該目標(biāo)程序可以脫離編譯環(huán)境和源程序獨(dú)立存和執(zhí)行如C、C++解釋執(zhí)行:將源程序逐句解釋成二進(jìn)制指令,解釋一句執(zhí)行一句,不生成可執(zhí)行文件,它的執(zhí)行速度比編譯方式慢。如Basic、Java等語言的版權(quán)問題與國產(chǎn)編程語言為什么沒有國產(chǎn)的主流編程語言C語言沒有版權(quán)問題Java在Oracle的手上x86、ARM指令集也受專利保護(hù)編程語言也面臨著斷供的風(fēng)險(xiǎn)!語言的版權(quán)問題與國產(chǎn)編程語言華為除了推出鴻蒙操作系統(tǒng)外,即將發(fā)布國產(chǎn)“倉頡”編程語言,補(bǔ)齊軟件核心短板。頡,原姓侯岡,名頡,俗稱倉頡先師,又史皇氏,又曰蒼王、倉圣。《說文解字》、《世本》、《淮南子》皆記載倉頡是黃帝時期造字的左史官,見鳥獸的足跡受啟發(fā),分類別異,加以搜集、整理和使用,在漢字創(chuàng)造的過程中起了重要作用,被尊為“造字圣人”。10C語言簡介C語言是書寫UNIX操作系統(tǒng)的語言C語言是結(jié)構(gòu)化的程序設(shè)計(jì)語言,它功能豐富、使用靈活、可移植性好廣泛應(yīng)用于科學(xué)計(jì)算、工程控制、網(wǎng)絡(luò)通信、圖像處理等領(lǐng)域。C語言是特別適宜作為學(xué)習(xí)程序設(shè)計(jì)的語言,也是實(shí)用性較強(qiáng)的編程語言。具體發(fā)展過程,參考教材P2C語言具體特點(diǎn),參考教材P311C語言組成C程序由函數(shù)構(gòu)成。一個C程序至少由一個函數(shù)構(gòu)成,而且至少包含一個名為main的主函數(shù)?!纠?.1】#include<stdio.h>voidmain()//函數(shù)首部{ printf("IlikeProgramming!\n");//輸出一串字符}12馮·諾依曼系統(tǒng)結(jié)構(gòu)(1)計(jì)算機(jī)由控制器、運(yùn)算器、存儲器、輸入設(shè)備和輸出設(shè)備5個部分構(gòu)成。(2)計(jì)算機(jī)采用二進(jìn)制,指令和數(shù)據(jù)均以二進(jìn)制數(shù)形式表示和存放。(3)計(jì)算機(jī)按照程序規(guī)定的順序?qū)⒅噶顝拇鎯ζ髦腥〕觯⒅饤l執(zhí)行。13程序設(shè)計(jì)的本質(zhì)程序設(shè)計(jì)的本質(zhì)是設(shè)計(jì)能夠利用計(jì)算機(jī)的五個部件完成特定任務(wù)的指令序列?!纠?.2】#include<stdio.h>voidmain(){ intprice,number,total; scanf("%d%d",&price,&number);//輸入 total=price*number;//計(jì)算 printf("total=%d\n",total);//輸出}說明:分析五部件在程序中的作用過程。14程序設(shè)計(jì)的過程分析和定義實(shí)際問題建立處理模型設(shè)計(jì)算法設(shè)計(jì)流程圖編寫程序調(diào)試程序和運(yùn)行程序15算法的概念和特性算法:解決一個問題所采取的一系列步驟。NikiklausWirth提出一個公式:程序=數(shù)據(jù)結(jié)構(gòu)+算法數(shù)據(jù)結(jié)構(gòu)是指在程序中數(shù)據(jù)的類型和組織形式。算法給出了解決問題的方法和步驟,是程序的靈魂它能決定如何操作數(shù)據(jù),如何解決問題。同一個問題可以有多種不同算法。十四五規(guī)劃與2035年遠(yuǎn)景目標(biāo)《中共中央關(guān)于制定國民經(jīng)濟(jì)和社會發(fā)展第十四個五年規(guī)劃和二〇三五年遠(yuǎn)景目標(biāo)的建議》17算法舉例算法,必須是計(jì)算機(jī)能夠運(yùn)行的方法?!纠?.3】求1+2+3+4+…+100。第一種算法:書寫“1+2+3+4+5+6+…+100”的表達(dá)式第二種算法:
顯然,第二種算法要簡單得多18算法舉例【例1.4】求5!=1*2*3*4*5。step1:p=1step2:i=2step3:p=p*istep4:i=i+1step5:如果i<=5,那么轉(zhuǎn)入step3執(zhí)行step6:輸出p,算法結(jié)束跟蹤上述算法的執(zhí)行過程,理解變量的作用,程序設(shè)計(jì)時可用的部件和功能。19算法舉例【例1.5】求1*2*3*…*100。step1:p=1step2:i=2step3:p=p*istep4:i=i+1step5:如果i<=100,那么轉(zhuǎn)入step3執(zhí)行step6:輸出p,算法結(jié)束只需要在【例1.4】算法,將循環(huán)條件改為“i<=100”20算法舉例【例1.6】求1*3*5*…*101。step1:p=1step2:i=1step3:p=p*istep4:i=i+2step5:如果i<=101,那么轉(zhuǎn)入step3執(zhí)行step6:輸出p,算法結(jié)束只需要將i的初值改為1、每次循環(huán)增加2即可21算法的特性(1)有窮性(2)確定性(3)輸入:算法可以有輸入,也可以沒有輸入,即有0個或多個輸入。(4)輸出(5)可行性22算法的表示方法自然語言:例:如果A大于B,那么最大值為A,否則最大值為B。
偽代碼偽代碼用介于自然語言和計(jì)算機(jī)語言之間的文字及符號來描述算法。例:ifA大于B,then最大值為A,else最大值為B傳統(tǒng)流程圖用流程圖表示算法比較直觀,它使用一些圖框來表示各種操作,用箭頭表示語句的執(zhí)行順序。25N-S流程圖N-S流程圖又稱盒圖,其特點(diǎn)是所有的程序結(jié)構(gòu)均用方框表示。26結(jié)構(gòu)化的程序設(shè)計(jì)方法1966年,Bohra和Jacopini提出了順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)三種基本結(jié)構(gòu),結(jié)構(gòu)化程序設(shè)計(jì)方法使用三種基本結(jié)構(gòu)組成算法已經(jīng)證明,用3種基本結(jié)構(gòu)可以組成解決所有編程問題的算法。27順序結(jié)構(gòu)順序結(jié)構(gòu)是指按照語句在程序中出現(xiàn)的先后次序執(zhí)行28選擇結(jié)構(gòu)選擇結(jié)構(gòu)根據(jù)條件選擇程序的執(zhí)行順序選擇結(jié)構(gòu)一29選擇結(jié)構(gòu)選擇結(jié)構(gòu)二30循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)通過設(shè)定循環(huán)條件,在滿足該條件時反復(fù)執(zhí)行程序中的某部分
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 肉雞養(yǎng)殖購銷合同樣本
- 建筑外墻清洗服務(wù)合同范本
- 合同終止通知書模板與合同范本
- 工程技術(shù)人才勞動合同書
- 應(yīng)收賬款質(zhì)押貸款合同
- 機(jī)動車維修服務(wù)合同標(biāo)準(zhǔn)范本
- 勞動合同簡化版合同模板
- 個人貸款合同還款計(jì)劃書范本大全
- 簡版?zhèn)€人商業(yè)空間租賃合同
- 集中隔離觀察點(diǎn)培訓(xùn)課件
- 后循環(huán)缺血治療
- 體育學(xué)科核心素養(yǎng)解析
- 2024年浙江紹興杭紹臨空示范區(qū)開發(fā)集團(tuán)有限公司招聘筆試真題
- 2025年體檢科醫(yī)療質(zhì)量控制工作計(jì)劃
- 2024年萍鄉(xiāng)衛(wèi)生職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫參考答案
- 飛行器小學(xué)生課件
- 無人機(jī)法律法規(guī)與安全飛行 第2版2-2 領(lǐng)空
- 《單片機(jī)應(yīng)用實(shí)訓(xùn)教程》課件第4章
- 應(yīng)急突發(fā)處置
- 2024年定融認(rèn)購協(xié)議合同范文
- 系統(tǒng)思維與系統(tǒng)決策:系統(tǒng)動力學(xué)(中央財(cái)經(jīng)大學(xué))知到智慧樹章節(jié)答案
評論
0/150
提交評論