2013年10月10日 星期四

計算概論A

POSTID:5265922973185006254

目錄



壹、計算機基礎知識

計算機的基本原理------------------------------- Week1

1. 從數學危機到圖靈機

2. 圖靈機的基本構成

3. 圖靈機的運行機理

4. 數的二進制表示

5. 二進制的布林運算


計算機的歷史與未來----------------------------- Week2

1. 關於計算機

2. 早期的計算機

3. 現代計算機發展與分類

4. 從巨型機的比拚到綠色計算


程序運行的基本原理----------------------------- Week2

1. 問題的提出

2. 馮諾依曼式計算機

3. 儲存器的種類與特點

4. 儲存器的原理與種類

64bit 與 32bit 的分別

5. CPU 指令的執行


作業1

1. 找出CPU、內存、顯示器及硬碟的相關資訊

電腦訊息
樓上的可以看到一小部分,我告訴你一個完美的辦法:進入cmd,然後使用下面的命令,你可以看到一切。 1.查看磁盤信息:freedisk 可以查看每一個盤的剩餘空間 wmic diskdrive
可以看出來牌子和大小.
wmic logicaldisk
可以看到有幾個盤,每一個盤的文件系統和剩餘空間
wmic volume
每個盤的剩餘空間量,其實上一個命令也可以查看的
fsutil volume diskfree c:
這個命令查看每一個卷的容量信息是很方便
2.CPU信息
wmic cpu
上面顯示的有位寬,最大始終頻率, 生產廠商,二級緩存等信息
3.內存信息 wmic memorychip 可以顯示出來三條內存,兩條256,一條1G的,速度400MHz
4.BIOS信息 wmic bios 主板型號
BIOS 版本
6.至於CDROM輸入wmic cdrom,其他的大家可以研究。
再說一個最長用的,可以查看基本的信息:
Systeminfo

2. 程序的執行


貳、程序設計基礎

週期一:感性認識計算機程序

感性認識計算機程序------------------------- Week3

1. 說在前面的話

2. 程序是妳告訴計算機的話

3. 如果你的大腦是台計算機

4. 如果妳來設計一門編程語言

  1. 是不是我們在程序中說甚麼單詞,計算機都能明白?
    • 非也。只有關鍵字
  2. 是不是我們在程序中寫甚麼"數"和"計算符號",計算機都能明白?
    • 非也。
      1. 數據的類型
        • 基本數據類型
          • 布爾型 bool
          • 字符型 char
          • 整型 int
          • 實型(浮點型)
        • 自定義數據類型
          • 數組型(類型[])
          • 指針型(類型 *)
          • 構造數據類型
          • 類(class)
          • 空類型(void)
      2. 運算的種類
  3. 程式裡需要多少種"句式"才夠用?
    • 三種即可
      1. 順序語句
      2. 分支語句
      3. 循環語句

5. 快步走進C程序語言之一

例子
  1. C++举例说明\n和endl的不同
  2. 一個簡單的 C++ 程序
  3. cout 輸出你要的字
  4. C++輸入與輸出—cout和cin的用法
自然對數 1. 為什麼自然對數這麼重要? 2. 自然對數漫談
順序結構
#include<iostream>
using namespace std;
int main()
{
    float a = 0, b = 0, temp = 0;
    cout << "Input a and b:"<<endl;
    cin >> a >> b;
    cout << "a = "<< a << ", b = " << b<<endl;
    temp = a; a = b; b = temp;
    cout << "a = " << a << ", b = " << b<<endl;
    return 0;
}

6. 快步走進C程序語言之二

分支語句
x 跟 y 誰大
#include<iostream>
using namespace std;
int main()
{
    int x = 0, y = 0;
    cin >> x >> y;
    if (x > y)
        cout << "Max number is: " << x << endl;
    else
        cout << "Max number is: " << y << endl;
    return 0;
}
循環語句
輸出 20 以內的奇數
#include<iostream>
using namespace std;
int main()
{
    int i = 0;
        cout << "20以内的奇数:" << endl;
    for (i = 0; i < 20; i++)
    {
    if (i % 2 != 0)
        cout << i << endl;
        }
    return 0;

7. 快步走進C程序語言之三

數組
打印出 字母表中,序號是奇數 的前五個字母
#include<iostream>
using namespace std;
int main()
{
    int i = 0;
    char a[10] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' };
    cout << “字母表中序号为奇数的前五个字母:" << endl;
    for (i = 0; i < 10; i=i+2)
    {
        cout << a[i] << endl;
    }
    return 0;
}
綜合
  1. 要添加相應的注釋
  2. 注重可讀性:排版、縮進
#include<iostream>
using namespace std;
int main()
{
    char a = ' '; //用于存放用户输入的字母
    cout << "猜猜我是哪个字母,最多猜5次哦:" << endl;
    int i = 0; //用于记录猜过多少次了
    for (i = 0; i < 5; i++)
    {
        cin >> a;
        if (a == 'G') //如果猜中
        {
            cout << "被你猜中了!" << endl;
            break; //终止循环
        }
        else //如果没有猜中
            cout << "你猜错了!接着猜吧!" << endl;
    }
    return 0;
}

8. 甚麼樣的程序是好程序

我们重视:
 “我的程序运行结果正确,解决了问题!” * * *  “我的程序更容易被别人看懂!”
 “我的程序结构更清楚,更美!”
我们不重视:
ⅹ“我少使用了几个变量!”
ⅹ“我的程序行数比较少!”
ⅹ“我的程序运行起来快了一些!”
荀子勸學篇
不積蹞步,無以致千里;不積小流,無以成江海。

從現實問題到計算機程序--------------------- Week3


週期二:理性認識程序設計語言

C++語言的基本成分–數據成分---------------- Week4

C++語言的基本成分–運算成分---------------- Week5

C++語言的基本成分–控制成分---------------- Week5

C++程序中的數組---------------------------- Week6

字符數組與字符串---------------------------- Week6

程序設計習題課(1)------------------------- Week7


週期三:學會使用——函數

C++程序中的函數---------------------------- Week7

函數 - 嵌套、遞推、遞歸-------------------- Week8

函數 - 遞歸(1)--------------------------- Week8

函數 - 遞歸(2)--------------------------- Week9


週期四:學習使用C程序中的複雜成分

可愛的 指針(1)--------------------------- Week10

可愛的 指針(2)--------------------------- Week10

結構體與鏈表------------------------------- Week11

程序設計習題課(2)------------------------ Week12

程序設計基礎總結 -------------------------- Week12


計算概論A是針對「信息科學技術學科一年級本科生」開設的一門專業基礎主幹課程。本課程的教學目標有二:其一,幫助學習者建立起「學習計算機科學技術知識所需的基本知識背景」;其二,幫助學習者「掌握計算機程序設計的基礎知識」,培養學習者「獨立設計計算機程序解決問題」的基本技能。
本課程的內容主要分為兩個部分:(1)計算機基礎知識,約占課時量的15%;(2)C程序設計基礎,約占課時量的85%;
在計算機基礎知識部分,我們將為大家解答一些與計算機程序設計相關的基礎問題,例如,「計算機為什麼能夠進行計算?」,「計算機程序在計算機中是如何運行的?」,「計算機的發展規律是什麼?」,「下一代的計算機將會是什麼樣子?」等等。我們希望通過對這些問題的解答,達到兩個目的:A 培養起大家對計算機科學的興趣;B 幫助大家建立起學習計算機科學所需要的「背景知識框架」。
在C程序設計基礎部分,我們將以「C 語言」為主要學習對象,以典型的C++編程環境(如Visual Studio C++, Eclipse等)為工具,學習計算機程序設計的相關知識,並培養程序設計的基本技能。通俗講,在這個部分,我們將教會大家「如何使用C語言編寫計算機程序,甚至編寫具有一定技術難度的程序」。
對於第一次學習計算機程序設計的同學而言,通常會覺得學習過程比較困難。在這裡,我們特別提示大家:「對於難學的東西,更要循序漸進,更要遵循學習規律——先打好基礎,逐步進階!」為此,我們把「程序設計基礎」部分的學習劃分為四個迭代週期:
週期一: 感性認識計算機程序; 週期二: 理性認識程序設計語言; 週期三: 學會使用——函數; 週期四: 學習使用C程序中的複雜成分(指針、結構體、鏈表、文件等);
之所以稱為「迭代週期」,是因為我們希望在每個週期中,同學們都能夠編寫出完整、可運行、能解決問題的計算機程序,而不是僅僅學習計算機程序設計語言的某個部分!所以,學習程序設計的過程,應該是一個「在實戰中進階」的過程,而不是一個「知識堆砌」的過程。希望這個迭代進階的學習過程可以幫助大家順利達成學習目標。
計算機概論

沒有留言:

張貼留言