版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程式設計基礎知識
主要內容:1、程式設計概述(理解)程式、程式設計語言的概念程式設計的一般過程如何學習程式設計2、演算法(熟悉)3、結構化程式設計方法(瞭解)1.1程式設計概述
一、概念:1、程式:程式是為解決某一問題而編寫的語句序列。通俗的說,將解決一個實際問題的具體操作步驟用某種電腦語言描述出來,就形成了程式。
例如:判斷輸入的任意整數n能否被3整除,程式如下:
main(){intn;printf("\nenterainteger:");scanf("%d",&n);if(n%3==0)printf("\n%dcanbedividedby3",n);elseprintf("\n%dcan'tbedividedby3",n);}2、程式設計語言:即電腦語言分類:機器語言:用電腦能直接理解和執行的“0”和“1”表示各種操作的程式設計語言,很難使用。組合語言:用助記符號來表示各個基本操作的程式設計語言,如addr1,4高級語言:用接近自然語言和數學語言的語法符號描述基本操作的程式設計語言本課程主要介紹:C——C++——VC++——C#系列中的基礎部分:標準C,然後引入C++的基礎知識。二、程式設計的一般過程用電腦解決問題的基本過程如圖1.1所示:對於簡單問題,前三步可看作一步,即分析問題、設計演算法。程式設計的基本過程(1)分析要解決的問題,明確任務。即分析要處理的數據是什麼,從哪里來,作怎樣的處理,結果送往那裏。例如:求學生的平均成績。分析該問題,明確它有三項功能:輸入學生成績、求平均成績、輸出結果;要處理的原始數據為:學生的成績;要進行的處理為:求平均;結果為:平均值,送螢幕顯示或保存於檔中。(2)分析問題,建立數學模型,並選擇合適的解決方案例如:分析求平均成績的處理過程,可以將數據的具體含義去掉,抽象為:計算一批數據的平均值。(3)確定數據結構和演算法:數據結構及數據的組織方式,演算法是對數據處理過程的具體描述。不同的數據結構對應不同的演算法。例如:有一堆盒子,上面有編號(設編號為兩為數字),要查找某個編號的盒子,如何實現?方法1:若該堆盒子已排成一隊,則可以從第一個開始逐個比較,直至找到或找完為止。方法2:若該堆盒子已按編號排成多隊,每一隊的高位數字相同,則可以根據要找的盒子的高位直接確定他在那一隊,然後在該隊中再逐個查找。由此可見,只有線確定了數據結構,才能設計相應的演算法。
(4)編碼:即編寫程式。用某種電腦語言將上一步設計好的演算法描述出來,就是程式。可見,演算法是編程的基礎。(5)調試程式:將根源程式送入電腦,進行排錯、試運行,調試的結果是得到一個能正確運行的程式。通常,調試程式至少占整個程式設計工作量的一半。(6)整理資料,交付使用三、學習程式設計的方法1、一講、二練、三考2、多讀根源程式、多編寫程式、多上機調試3、忌上課只聽不記、忌“紙上談兵”、忌課下不練習具體要求:1、上課有重點、有選擇的記2、上機有準備:準備好課本、筆記、作業等3、除課後習題必須全部解決外,多做一些二級考試的模擬題4、做一個自己感興趣的完整的程式(小專案)1.2演算法及其描述一、演算法:
對解決某一特定問題的操作步驟的具體描述。廣義的說,演算法就是為解決一個問題而採取的方法和步驟。程式=演算法十數據結構
就是說:“程式是在數據的特定的組織方式的基礎上,對抽象演算法的具體描述”。作為程式設計人員,在設計演算法前,必須認真考慮和設計數據的組織方式,即數據結構;然後針對具體的數據結構設計相應的操作步驟,即演算法。二、演算法的描述描述演算法的方法有多種,常用有:自然語言(描述不夠嚴格,限於簡單問題)流程圖*(同一問題的流程圖不唯一)N-S圖*(結構清晰,但難於修改)PAD圖(結構清晰,唯一性好)偽代碼*(靈活,但需要有一定的程式設計基礎)學習建議:流程圖或N-S圖一定要熟練掌握,偽代碼表示法在學習完基本的流程控制語句後也經常使用。1、用自然語言描述例1.1
計算任意長方形的面積。分析:要實現的功能有:輸入長和寬,計算面積,輸出結果。先定義數據結構:程式中要處理的數據有三個,即長、寬、面積,設分別用實型變數length、width、area表示。則演算法如下:①輸入長和寬分別存入length,width②計算面積:length×width=>area③輸出結果area例1.2計算s1+s2+s3+s4+s5(其中si表示第i個數)。分析:要實現的功能是“加法運算”,要輸入的數據是s1~s5,對其進行的運算是“加”,結果是“累加和”,並輸出。先定義數據結構:設變數s表示累計和,初值為0;變數x表示每次要處理的數據(s1~s5中的一個);變數i表示要處理第幾個數(其取值範圍可以是:1~5),設初值為1。例1.2演算法根據以上定義,演算法設計如下:S1:賦初值0=>sS2:
賦初值1=>iS3:
輸入第i個數xS4:
累加:s+x=>sS5:
計數增值:i+1=>iS6:
若i≤5,表示數據還未處理完,返回S3繼續重複S3、S4、S5;否則,計算結束,執行S7。S7:輸出結果s。例1.4判斷任意整數是奇數還是偶數。
分析:設整型變數n表示要處理的整數,則演算法為:首先輸入n,
然後判斷條件“n%2等於0”(%是求餘運算符)是否成立,若條件成立,則輸出“n是偶數”;否則輸出“n是奇數”。2、用流程圖表示演算法流程圖是用幾種圖形、箭頭線和文字說明來表示演算法的框圖。流程圖中規定使用的符號如圖1.2所示用流程圖的優點是:直觀形象、易於理解,能將設計者的思路清楚地表達出來,便於以後檢查修改和編程。結構化的流程圖:即一個流程圖由三種基本結構(順序、選擇、迴圈結構)組成,這三種基本結構可以相互嵌套,組合成複雜的演算法。注:P表示條件,A、B表示一個基本操作或一個基本結構。例1.3計算長方形的面積(用流程圖表示的演算法如圖1.4所示)。
例1.4
判斷任意整數是奇數還是偶數。
3.用N-S圖表示演算法用N-S圖表示的三種基本結構
4.偽代碼表示的演算法熟悉:什麼是偽代碼?(自學)1.3結構化程式設計結構化程式設計思想包括兩個方面的內容:模組化設計和結構化編碼特點:結構化的程式結構清晰,層次分明,便於程式員編寫、閱讀和修改,提高了程式的可靠性,保證了程式的高質量、高效率。為了得到結構化的程式,必須強調程式設計的規範化,採用結構化的程式設計方法。1.模組化設計方法自頂向下,逐步細化。(常用)其基本思想是:將一個複雜的大任務分解為若干個較小的任務,如果這些子任務還較複雜,再將其進行劃分,直到每個任務都能很容易的實現其具體細節,然後“分而治之”,即分別實現各個小任務。這樣,對一個大任務的處理就變成了對一個個小任務的實現,使問題變得相對簡單了。例學生管理系統。自下而上,逐步積累。(不常用)例:學生管理系統。
…
…
…學生管理成績管理學籍管理宿舍管理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东济南市2026届高三4月阶段性检测英语试题(解析版)
- 安全用电下载
- 2026年人体生理学实验操作技能考核题库模拟试卷巩固练习
- 安全用电讲义
- 高三地理教学设计-资源安全与国家安全的关联分析
- 初中九年级英语 Units 1-2 作业本A精准讲评教学设计
- 初中七年级语文人物形象教案(36部名著联读)
- 一年级劳动《刷牙》教学设计
- 高三语文二模试题精讲与备考策略调整教学设计
- 高二数学选择性必修第一册椭圆及其标准方程习题课教案
- 2025年广东省新高考地理真题试卷(解析版)
- 矽力杰 Silergy SY56816 PD 反激控制器 规格书 Datasheet 佰祥电子
- 《机器人用力触觉传感器分级规范》
- 抗肿瘤药物静脉给药技术规范与临床实践-蓝色-商业摄影风格
- 2025江苏南京紫金山科技产业发展集团有限公司工作人员招聘7人笔试参考题库附带答案详解
- 民房拆除安全协议书
- 2025-2026学年北京市丰台区高一(上)期中物理试卷(含答案)
- 广东省幼儿园课程建设指导纲要(试行)2025
- 企业档案分类、归档范围、保管期限表
- 2024入团考试题库及答案初中
- 学生心理健康一生一策档案表
评论
0/150
提交评论