6-1 程式語言發展史 6-2 資料型態 6-3 程式指令 6-4 程序定義和使用 (在此略掉)

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
資料結構使用Java 第1章 資料結構與Java程式複習.
主題五 CPU Learning Lab.
Chapter 5 迴圈.
程式語言的基礎 Input Output Program 世代 程式語言 第一世代 Machine language 第二世代
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
第十一章 結構.
LINQ 建國科技大學 資管系 饒瑞佶.
Java簡介.
Visual C++ introduction
Chapter 1 Introduction.
資料結構設計與C++程式應用 Fundamentals of Data Structures and Their Applications Using C++ 第3章 佇列 資料結構設計與C++程式應用.
第一篇 Unix/Linux 操作介面 第 1 章 Unix/Linux 系統概論 第 2 章 開始使用 Unix/Linux
JDK 安裝教學 (for Win7) Soochow University
第1章 認識Arduino.
6-1 程式語言發展史 6-2 資料型態 6-3 程式指令 6-4 程序定義和使用
2-3 基本數位邏輯處理※.
列舉(enum).
101北一女中 資訊選手培訓營 妳不可不了解的指標 Nan.
Java程式概觀.
C語言簡介 日期 : 2018/12/2.
生物資訊程式語言應用 Part 3 Perl Language.
類別(class) 類別class與物件object.
SQL Stored Procedure SQL 預存程序.
R教學 安裝RStudio 羅琪老師.
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
(Circular Linked Lists)
安裝JDK 安裝Eclipse Eclipse 中文化
Concepts in General / Web Programming
Visual Basic 物件導向程式設計簡介.
Java 程式設計 講師:FrankLin.
JAVA 程式設計與資料結構 第四章 陣列、字串與數學物件.
Chap3 Linked List 鏈結串列.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
|12 結構與列舉型態.
第一單元 建立java 程式.
第三章 資料型態與輸出控制 本章學習目標 認識Matlab的基本資料型態 練習資料型態的轉換 學習如何控制Matlab的輸出格式
第 19 章 XML記憶體執行模式.
JAVA 程式設計 資訊管理系 - 網路組.
輸入&輸出 函數 P20~P21.
CH05. 選擇敘述.
期末考.
緩衝區溢位攻擊 學生:A 羅以豪 教授:梁明章
挑戰C++程式語言 ──第8章 進一步談字元與字串
程式語言 程式語言發展史 資料型態 程式指令 程序定義和使用.
如何使用Gene Ontology 網址:
Class & Object 靜宜大學資工系 蔡奇偉副教授 ©2011.
樣版.
挑戰C++程式語言 ──第7章 輸入與輸出.
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
第14章 結構與其他資料形式.
函數應用(二)與自定函數.
陣列與結構.
第 4 章 認識 SQL 語言與資料型別.
北一女中 資訊選手培訓營 妳不可不了解的指標 Nan.
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
資料表示方法 資料儲存單位.
期末報告第一題 通訊四甲 B 湯智瑋.
第四章 陣列、指標與參考 4-1 物件陣列 4-2 使用物件指標 4-3 this指標 4-4 new 與 delete
Programming & Language Telling the computer what to do
開發Java程式語言的工具 JDK.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
Array(陣列) Anny
Chapter 4 Multi-Threads (多執行緒).
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
InputStreamReader Console Scanner
Presentation transcript:

6-1 程式語言發展史 6-2 資料型態 6-3 程式指令 6-4 程序定義和使用 (在此略掉) 全華計概書的 第6章 程式語言 6-1 程式語言發展史 6-2 資料型態 6-3 程式指令 6-4 程序定義和使用 (在此略掉)

6-1 程式語言發展史 機器語言 組合語言 電腦所能接受 由0與1組成 將0、1字串以符號表示 優點: 缺點: 指令比機器語言更易於學習 必須符合特定機器,不具可攜性 不具結構性,程式仍然不易理解

高階語言 範例:C語言 特性 編譯:高階語言的程式碼需編譯成目的碼之後才能執行,流程如下圖: 可讀性高,容易理解 比較容易維護和修改 具有可攜性 編譯:高階語言的程式碼需編譯成目的碼之後才能執行,流程如下圖:

程式語言發展年表

FORTRAN 第一個高階語言,為IBM於1957年左右推出 針對複雜的科學計算所設計 範例:

LISP MIT教授John McCarthy於1958年所推出 適合作符號運算 在人工智慧的應用特別重要 範例:

COBOL 專為商業資料處理而設計的語言 提供便利的檔案描述與處理 特別重視資料的定義 範例:

BASIC 隨著個人電腦推出 簡單易學,但不是很嚴謹 微軟的VISUAL BASIC(簡稱VB),為BASIC語言提供了視覺化的簡易開發環境 範例:

PASCAL 發源於歐洲 具有完備的資料型態,和結構化的控制結構 程式可讀性高,常為教科書所用 範例:

C 為了UNIX作業系統所設計 具有高階的結構化敘述,也具備了類似低階語言控制硬體的能力 為目前最常被使用的高階語言 範例:

PROLOG 1972年於法國所推出 邏輯化程式設計的代表 在人工智慧領域有重要應用 範例

ADA 由美國國防部主導 名稱是紀念世界上第一位程式設計員Ada Byron 希望結合所有語言的特性 語言過於複雜,目前所知的應用不多

C++ 基於C所擴充的物件導向程式語言 在類別中,可定義資料(Data member)和行為(Function member) 可以指定使用範圍為公開的(Public),或是私自的(Private) 範例:

JAVA 美國Sun公司於1995年發表 具備有物件導向的特性 提供了跨平台的功能 範例:

程式語言依照特性分類

6-2 資料型態 用以表示一個應用系統中要處理的對象 常見的資料型態 資料型態決定: 數字:整數(int)、長整數(long int)、浮點數(float)、雙精準數(double) 文字:字元(char)、字串(string) 資料型態決定: 所需空間 可表示的數值或資料範圍(參見下頁) 有意義的運算

C的資料型態

陣列 表示一系列相同型態的資料 範例:一個包含50個整數的陣列 int score[50]; C語言預設以註標0來表示陣列的第一個元素

結構 將一些相關資料,聚集成一個單元一起表示 範例: struct student { char(6) name; char(10) major; int year; }; 結構的名稱為「student」 欄位「name」的資料型態為6個字元(char),欄位「major」的資料型態為10個字元,欄位「year」的資料型態為整數

結構(續) 定義完結構之後可用以宣告為變數的型態 範例:宣告變數「x」的資料型態為「student」結構 struct student x; 可以利用小數點加上欄位名稱,來指出結構變數中的某一個成分 範例: x.name、x.major、x.year

指標 記錄某個資料在記憶體的位置 提供了非直接存取(Indirect Accessing)的功能 使用指標的理由 效率性的考量 指標所需的空間是固定的,可作為複雜結構的代理人 不能確定資料的大小 若使用陣列,預先宣告的空間可能浪費或不夠

鏈結串列 表示大小會變化的資料 將資料用節點表示,利用指標將節點串連起來 範例: struct node 鏈結串列的示意圖 { int data; struct node *next; }; 符號「*」表示指標變數 處理的資料為整數型態 鏈結串列的示意圖

6-3 程式指令 程式語言提供的指令,以組合出正確的程式 以下使用C和PASCAL語言作為範例 同時使用流程圖(Flow chart)來輔助說明指令代表的邏輯結構,和步驟間的關聯,其符號如下圖:

比較:If 提供邏輯判斷式 如果 “If” 後面接的運算式被判斷為真,則程式會繼續執行 “Then” 後面的運算式 如果 “If” 後面接的運算式被判斷為不真,則程式會繼續執行 “Else” 後面的運算式 注意: C裡面省略了 “Then”關鍵字 “Else” 後面的運算式可以不提供,如此程式不會有任何動作 範例:在變數 “i” 的值大於0時,變數 “x” 的值設定為 “10”,否則變數 “y” 的值設定為 “5”

If範例和流程圖

巢狀If 在 “Then” 或 “Else” 的部分,再放入另一個 “If” 敘述 範例:當變數 “i” 的值被判斷為正之後,我們需要再確定變數 “a” 的值大於變數 “b” 的值,才會指定變數 “x” 為10

固定次數的迴圈:For 事先指定好迴圈的執行次數 C沒有此種指令 範例:透過變數 “i” 的值將迴圈的執行次數控制為5次,同時變數 “x”的值在迴圈結束後,會等於整數1加到整數5的和

不固定次數的迴圈:While 迴圈的執行次數並沒有直接在程式裡指定好 利用邏輯判斷式決定迴圈要執行幾次

While (續) 對應的流程圖如右 注意:必須適當的改變變數值,使得邏輯判斷式的真假值改變,否則會造成無窮迴圈的情況

先執行再判斷的寫法 先執行命令,再進行邏輯式的判斷 當判斷式為真 範例: C提供的 “Do-while” 指令會留在迴圈裡 PASCAL提供的 “Repeat-until” 指令會離開迴圈 範例:

不固定次數的迴圈:For C語言裡面的For指令分成以下三部分: 在執行迴圈之前,所需要先給定的初始值設定 進入或留在迴圈的條件,有如While指令後面接著的判斷式 在每當要執行下一次迴圈之前,所需要執行的式子