關於初賽的一些複習內容

2020-10-07 12:00:56


1.數制轉換

十進位制轉r進位制

例如(10) 10 _{10} 10轉成二進位制
在這裡插入圖片描述
把餘數從後往前寫下便是二進位制數了
因此 ( 10 ) 10 (10)_{10} (10)10 = ( 1010 ) 2 (1010)_2 (1010)2
但是出題人一般比較刁 鑽 (噁心)
會出現小數的轉換
小數轉換其實也很簡單,這裡還是拿二進位制為例
( 0.25 ) 10 (0.25)_{10} (0.25)10 轉二進位制
就是不斷拿0.25去乘2(若是八進位制就乘8),每次取整數部分,若為1,則取1,然後整數部分歸0,直到沒有小數為止,順著寫
在這裡插入圖片描述
所以 ( 0.25 ) 10 (0.25)_{10} (0.25)10 = ( 0.01 ) 2 (0.01)_2 (0.01)2


r進位制轉十進位制

從後往前逐位乘 2 i 2^i 2i小數點前最後一位視為第0位,越往左約高位,小數點後第一個視為-1位,越往右位數越小
乘了之後相加即可


2.原碼二補數反碼

原碼

第一位為符號位,正數為0,負數為1
然後接它的二進位制數


反碼

正數的反碼就是它的原碼
負數的反碼就是它的原碼除符號位外取反
例如11001是原碼,那麼反碼就是10110


二補數

正數的二補數和它原碼一樣
負數的二補數 = 它的反碼 + 1


3.計算機網路

分類

1.區域網(Local Area Network)(LAN)
2.都會網路(Metropolitan Area Network)(MAN)
3.廣域網(Wide Area Network)(WAN)


4.邏輯運算

與:and : ∧ 同1出1,有0出0
或:or : ∨ 有1出1
互斥或:xor: ⊕ 相同出1,不同出0
非:not : ¬ 0變1,1變0
非 > 與 > 或和互斥或


5.競賽類

歷史

第一屆 NOI :1984年,鄧某平:「計算機的普及要從娃娃做起。」
第一屆 NOIP :1995年


競賽環境


NOIP啥時候不能用Pascal了

2019 和 2022 以及 2020 之後。
(2019 是因為這一年沒有NOIP)


物件導向程式設計語言

S m a l l t a l k Smalltalk Smalltalk E i f f e l Eiffel Eiffel, C + + C++ C++, J a v a Java Java, P H P PHP PHP C C C#
C C C是程式導向程式設計語言
程式導向程式才是「自頂向下,逐步求精」,而物件導向程式設計並不是,而是基於問題物件的自底向上的設計方法。
就是物件是下到上,過程是上到下


競賽推薦語言

Visual C++不是競賽推薦語言
不是的還有 TP7 和 TC 。

Lazarus 是(pascal類),RHIDE 也是(C++類)。


暫時就這樣吧