Ⅰ 什麼是程序設計
程序設計(Programming)是給出解決特定問題程序的過程,是軟體構造活動中的重要組成部分。程序設計往往以某種程序設計語言為工具,給出這種語言下的程序。程序設計過程應當包括分析、設計、編碼、測試、排錯等不同階段。專業的程序設計人員常被稱為程序員。
某種意義上,程序設計的出現甚至早於電子計算機的出現。英國著名詩人拜倫的女兒Ada Lovelace曾設計了巴貝奇分析機上解伯努利方程的一個程序。她甚至還建立了循環和子程序的概念。由於她在程序設計上的開創性工作,Ada Lovelace被稱為世界上第一位程序員。
任何設計活動都是在各種約束條件和相互矛盾的需求之間尋求一種平衡,程序設計也不例外。在計算機技術發展的早期,由於機器資源比較昂貴,程序的時間和空間代價往往是設計關心的主要因素;隨著硬體技術的飛速發展和軟體規模的日益龐大,程序的結構、可維護性、復用性、可擴展性等因素日益重要。
另一方面,在計算機技術發展的早期,軟體構造活動主要就是程序設計活動。但隨著軟體技術的發展,軟體系統越來越復雜,逐漸分化出許多專用的軟體系統,如操作系統、資料庫系統、應用伺服器,而且這些專用的軟體系統愈來愈成為普遍的計算環境的一部分。這種情況下軟體構造活動的內容越來越豐富,不再只是程序設計活動了,還包括資料庫設計、用戶界面設計、介面設計、通信協議設計和復雜的系統配置過程。
程序設計(Programming)是指設計、編制、調試程序的方法和過程。它是目標明確的智力活動。由於程序是軟體的本體,軟體的質量主要通過程序的質量來體現的,在軟體研究中,程序設計的工作非常重要,內容涉及到有關的基本概念、工具、方法以及方法學等。
按照結構性質,有結構化程序設計與非結構化程序設計之分。前者是指具有結構性的程序設計方法與過程。它具有由基本結構構成復雜結構的層次性,後者反之。按照用戶的要求,有過程式程序設計與非過程式程序設計之分。前者是指使用過程式程序設計語言的程序設計,後者指非過程式程序設計語言的程序設計。按照程慎鎮拆序設計的成分性質,有順序程序設計、並發程序設計、並行程序設計、分布式程序設計之分。按照程序設計風格,有邏輯式程序設計、函數式程序設計、對象式程序設計之分。
程序設計的基本概念有程序、數據、子程序、子常式、協同常式、模塊以及順序性、並發性、並旅凱行性、和分布性等。程序是程序設計中最為基本的概念,子程序和協同常式都是為了便於進行程序設計而建立的程序設計基本單位,順序性、並發性、並行性和分布性反映程序的內在特性。
程序設計規范是進行程序設計的具體規定。程序設計是軟體開發工作的重要部分,而軟體開發是工程性的工作,所以要有規范寬棗。語言影響程序設計的功效以及軟體的可靠性、易讀性和易維護性。專用程序為軟體人員提供合適的環境,便於進行程序設計工作。
計算機程序或者軟體程序(通常簡稱程序)是指一組指示計算機每一步動作的指令,通常用某種程序設計語言編寫,運行於某種目標體系結構上。打個比方,一個程序就像一個用漢語(程序設計語言)寫下的紅燒肉菜譜(程序),用於指導懂漢語的人(體系結構)來做這個菜。 通常,計算機程序要經過編譯和鏈接而成為一種人們不易理解而計算機理解的格式,然後運行。未經編譯就可運行的程序通常稱之為腳本程序。
Ⅱ 什麼是多道程序設計
多道程序設計定義:是指在計算機內存中同時存放幾道相互獨立的程序,使它們在管理程序控制之下,相互穿插的運行。兩個或兩個以上程序在計算機系統中同處於開始到結束之間的狀態。這就稱為多道程序設計。多道程序技術運行的特徵:多道、宏觀上並行、微觀上串列。多道程序設計是指允許多個程序同時進入一個計算機系統的主存儲器並啟動進行交替計算的方法,即計算機內存中同時存放了多道程序,它們都處於開始和結束點之間。從宏觀上看,多道程序並發運行,它們都處於運行過程中,但都未運行結束。
多道程序技術運行的特徵:多道、宏觀上並行、微觀上串列。
多道程序設計必須有硬體基礎作為保證。
多道程序設計的基本特徵:間斷性、共享性、制約性。