2007-03-30

【計概實習】for迴圈講義&解答

講義下載: http://yaushung.googlepages.com/2007033001.ppt

解答

九九乘法表

#include <stdio.h>
#include
<stdlib.h>

int main() {
int i, j ;
printf(" 1 2 3 4 5 6 7 8 9\n") ;
for(i=1 ; i<10 ; i++) {
printf("%3d", i) ;
for(j=1 ; j<10 ; j++) {
printf("%3d", i*j) ;
}
printf("\n") ;
}
system("pause") ;
return 0 ;
}

九九乘法表進階版
#include <stdio.h>
#include
<stdlib.h>

int main() {
int i, j ;
printf(" 1 2 3 4 5 6 7 8 9\n") ;
for(i=1 ; i<10 ; i++) {
printf("%3d", i) ;
for(j=1 ; j<i ; j++)
printf(" .") ;
for(j=i ; j<10 ; j++) {
printf("%3d", i*j) ;
}
printf("\n") ;
}
system("pause") ;
return 0 ;
}

九九乘法表進階版【二】

  由於這次實習課的練習目標是for迴圈,因此不建議用if的寫法完成該程式。

#include
<stdio.h>
#include
<stdlib.h>
int main() {
int i, j ;
printf(" 1 2 3 4 5 6 7 8 9\n") ;
for(i=1 ; i<10 ; i++) {
printf("%3d", i) ;
for(j=1 ; j<10 ; j++) {
if(j<i)
printf(" .") ;
else

printf("%3d", i*j) ;
}
printf("\n") ;
}
system("pause") ;
return 0 ;
}

2007-03-29

安裝Bash Shell

  習慣Linux的使用者轉過來使用FreeBSD可能會有點不習慣,一般來說Linux的預設Shell是使用Bash而FreeBSD預設安裝只提供tcsh,這時候如果習慣兩次tab鍵來回意指令的人一定很不習慣,如果堅持Bash Shell的好,那就安裝Bash Shell吧!

以下提供Port Tree安裝方法

# cd /usr/ports/shells/bash/
# make install clean

2007-03-23

用csup更新port tree

版本FreeBAD 6.2 RELEASE

在6.2版csup已經被納入預設的套件中了,所以不必像以前一樣還得先安裝csup。

直接建立設定檔就可以了
# vi /etc/make.conf

//加入下列文字
SUPHOST= cvsup.tw.freebsd.org
SUP_UPDATE= yes
SUP= /usr/bin/csup
SUPFLAGS= -g -L 2

SUPFILE= /usr/share/examples/cvsup/stable-supfile
PORTSSUPFILE= /usr/share/examples/cvsup/ports-supfile

//更新ports tree
# cd /usr/ports
# make update

//更新src
# cd /usr/src
# make update

2007-03-13

if敘述的練習:閏年的判斷

  閏年(Leap year)定義:四年一潤,百年不潤,四百年潤。有人會說能被3200整除的年份也要排除在潤年之外,有科學家認為在這麼多年後,地球公轉已可能受到其他因素的影響而改變,因此大部分情況下並不會把3200列入考量!
  程式流程可以規劃如下圖:

  程式碼如下:

#include <stdio.h>
#include
<stdlib.h>

int main() {
int year ;
printf("請輸入西元年, 程式會檢查輸入的年份是否為閏年: ") ;
scanf("%d", &year) ;
if(year%4 == 0) {
if(year%100 == 0) {
if(year%400 == 0) //可被4,100,400除盡

printf("%d, 是閏年!", year) ;
else //可被4,100除盡, 不可被400除盡

printf("%d, 不是閏年!", year) ;
}
else //可被4除盡, 不可被100除盡

printf("%d, 是閏年!", year) ;
}
else //不可被4除盡
printf("%d, 不是閏年!", year) ;
system("pause") ;
return 0 ;
}

2007-03-11

CSS更改游標範例

語法→cursor:設定樣式(請參考下面範本的單字)


































auto
由使用者瀏覽器預設的滑鼠箭頭
crosshair
十字交叉的滑鼠箭頭
default
作業系統所決定的滑鼠指標
move
十字指向四方的指標箭頭
e-resize
指向右方的箭頭滑鼠指標
ne-resize
指向右上方的箭頭滑鼠指標
nw-resize
指向左上方的箭頭滑鼠指標
n-resize
指向上方的箭頭滑鼠指標
se-resize
指向右下方的箭頭滑鼠指標
sw-resize
指向左下方的箭頭滑鼠指標
s-resize
指向下方的箭頭滑鼠指標
w-resize
指向左方的箭頭滑鼠指標
text
代表可編輯文字的I字滑鼠指標
wait
表示等待作業或忙碌中的滑鼠指標
help
箭頭再加上問號的滑鼠指標
pointer
手指頭指向的滑鼠指標

2007-03-08

【0309】徐弘洋:計算機結構學

加速比(Speedup)


Amdahl' Law:

the performance improvement to be gained from using some faster mode of execution is limited by the fraction of the time the faster mode can be used.
整體Speedup公式:
千萬不要死背,請看懂以下推倒過程:

2007-03-07

【93-下】王壘-計算機概論(期末考)





【關鍵字:93-下、王壘、計算機概論、期末考、考古題】

2007-03-05

【93-下】王壘-微處理機系統(期中考)




【關鍵字:93-下、王壘、微處理機系統、期中考、考古題】

【93-上】王壘-計算機概論(期末考)





【關鍵字:93-上、王壘、計算機概論、期末考、考古題】

【93-上】王壘-計算機概論(期中考)




【關鍵字:93-上、王壘、計算機概論、期中考、考古題】

2007-03-03

Dev C++軟體操作入門教學

  用Dev C++的理由:在經驗上,Dev C++編出來的檔案較VC來的小,而且軟體是免費的,軟體執行檔案也小,操作上也十分簡單而且還有中文介面呢!

  1. 開啟下載頁面點選下載連結:http://www.bloodshed.net/dev/devcpp.html
    或直接點此下載Dev-C++ 5.0 beta 9.2 (4.9.9.2)):http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe
  2. 雙點下載回來的執行檔進行安裝程序,安裝過程使用語系先選擇English
  3. 點選I Agree
  4. 安裝模式選擇完整安裝(Full)
  5. 指定安裝路徑,預設為C:\Dev-Cpp,接著按Next
  6. 安裝完畢後,點選Finish按紐,會結束安裝視窗並且開啟Dev C++軟體
  7. 第一次執行會出現設定畫面,首先語言選擇Chinese(TW),其他介面風格選擇依個人喜好作選擇即可。
  8. 第二個設定頁面如果選擇Yes,程式將會檢索header files,在日後可以輔助找尋函數之類的,如果不用選擇No即可
  9. 點選OK即可開始使用Dev C++。
  10. 點選功能列的「檔案」→「開新檔案」→「原始碼」
  11. 嘗試Hello word程式,鍵入以下程式:
    #include <stdio.h>
    #include
    <stdlib.h>

    int main() {
    printf("Hello word!!") ;
    system("pause") ;
    return 0 ;
    }

    其中system("pause")是讓程式暫停執行,必須引入標頭檔stdlib
  12. 點選「檔案」→「另存新檔」,儲存檔案!
  13. 存檔完畢後,點選「執行」→「編譯並執行」
  14. 當出現下面畫面就OK了,開始Coding吧!

2007-03-02

【0302】林秀峰:密碼學

Cryptology(密碼技術)
  Cryptography(密碼學):
    如何使信息能夠達到秘密性,可鑑定的科學(或藝術)。
  Cryptanalysis(破密學):
    破解秘密系統或偽造信息使密碼系統認為其真。


Cryptosystem(秘密通訊系統):
  Plaintext(明文),M
  Ciphertext(密文),C



Cryptosystem的要件:
  ① 秘密性(Secrecy or Privacy)
  ② 鑑定性(Authenticity)
    確定訊息來源的合法性,亦即接收此信息確實發方所傳送而非別人偽造或利用以前信息重送。
  ③ 完整性(Integrity)
    確定信息沒有被惡意或無意中遭到修改、取代、加入或刪除…等。
  ④ 不可否認性(Nonrepudiation)
    發方在事後,不可否認傳送過此信息。

Kerckhoff(1835~1903)提出系統安全的觀點:

密碼系統安全必須僅賴其解密金匙,亦即在密碼系統中,除了解密金匙外,其餘加/解密器等方法,均假設破密者完全知道,在此情況下,破密者無法解此密碼系統,此系統方可稱為安全

通常破密方式
  (1)密文攻擊法(Cyphertext-only attack)
  (2)已知明文攻擊法(know plaintext attack)
  (3)選擇性攻擊(Chosen-text attack)
    A. 選擇密文攻擊(chosen-ciphertext attack)
    B. 選擇明文攻擊(chosen-plaintext attack)