搥使題目驚坐起,笑問這題怎麼寫 可憐夜半虛前席,不問蒼天問教授 估狗仍舊不知曉,鍵盤滑鼠仍默矣 不為浮雲遮望眼,只緣身在最高層 大難臨頭往下推,小事一樁自己來 周遭都說很容易,四面楚歌要搞啥 甭要再問為什麼,因為說了你會怕
2018年8月24日 星期五
寫程式入門會遇上的術語小整理
對於自己學程式時,查資料遇上的卡關用字,盡可能的集中於此,解釋上也以好懂優先,若有錯誤歡迎提醒更正...:3
參考來源:維基百科,自由的百科全書 - Wikipedia 電腦程式
1.函數與副程式最基本的差異就是:函數有"回傳值",副程式沒有。
2.每一個函數或副程式只負責解決"一個"小問題。
3.函數與副程式是程式裡的"黑盒子(Black Box)",在黑盒子外面不需要知道裡面實作的方法,只需要知道輸入值( 參數(Parameter) )與回傳值。
ex:回傳值 = 函數 ( 參數 )
回傳值就是黑盒子出來的輸出值,輸入值就是參數(Parameter),黑盒子即應用時不需要了解中間怎麼做、經過了什麼,能達成目的就行,而目的就是函數的名稱。
4.黑盒子的出入口(參數與回傳值)必須定義清楚並且容易了解。
5.在物件導向裡,所有的函數與副程式都被稱為"方法"。
6.在迴圈,重複的程序會連續執行。在函數與副程式裡,重複的程序可以需要時再呼叫,在分配上更能靈活應用。
在開刀房工作時,醫生會告訴護士需要的器材(物件名稱)、尺寸(屬性),護士就會給予該項器材,該器材的功能可能不只一個,但醫生知道使用該器材的部分功能(方法)來工作。
外出開車(物件名稱),我們開啟了冷氣(方法),調了溫度(屬性)。播放了音樂(方法),決定哪首歌(屬性)。踩下油門(方法)出發,踩太底(屬性)會爆衝出去(副程式的結果)。
網路遊戲裡,血量不夠(目的)要喝血罐(物件名稱)來補血(方法),每瓶血罐預先設定可以補多少血量(屬性)。
註:當然,血量不能隨玩家輸入來決定,不是遊戲不會結束,就是角色永生了。
需要什麼工具(物件名稱)?工具的什麼功能(方法)?該功能要什麼輸入值(屬性)?是否有結果(輸出值)會出來?
1.決定完屬性(預設或等待輸入)與方法(是否有輸出)後,會集中放在一個" 類別 ",之後要使用時,該類別會以一個寫法上像" 資料型態 "(int、float....etc)那樣,並銜接一個變數名稱(就是物件名稱),然後就可以開始設定該物件的屬性與應用該物件的方法。
2.在" 物件導向 "裡,這種集中放置屬性與方法的方式,就是" 封裝(Encapsulation) "
3.相異物件名稱,可以有相同名稱的屬性或方法,但是並不會被混淆,使用時就會發現到。
4.屬性就是" 資料成員(Data Member) "。
5.方法的名稱不可與" 類別名稱 "相同,這唯一特殊例外的方法叫" 建構子(Constructor) "
你我拿相同的手機(物件名稱),有著一樣的功能(方法),且設定不同的電話號碼(屬性),且操作(輸出值)上卻不會互相影響。
參考來源:摩刻部落 一個呆子的網站 基礎程式設計(14)-物件、屬性與方法
1.自創的" 類別名稱 "不可與" 主程式名稱 "相同。唯一的例外,就是被設定關鍵字為全域(Public),且會包含一個叫" main "的類別,這是一般語言裡程式執行的起點。
2.程式碼裡,擁有同名類別的異名套件並不會被混淆喔!:3
3.類別也是有因為各種目的而生出的特殊種類,如
" 常數類別 "(為了不讓該類別被繼承而修改)。
" 抽象類別 "
1.為了一定要被繼承,且不能被宣告成物件(需透過子類別名稱建立)。
2.可以自行實作方法給子類別呼叫。但是,若宣告為" 抽象方法 "(函數或副程式),則沒有實作過程且一定由子類別覆寫(Override),僅僅只能宣告。。
3.該類別底下的屬性與方法關鍵字不可為私有(Private)。
4.而且,子類別僅能繼承(Inheritance)唯一的抽象類別。
" 巢狀類別 "(一種兩類別之間寫法上的結構,由外層類別對內層的類別的一切支配與控制。內層的屬性與方法能供外層來使用,即便關鍵字是私有(Private))。
參考來源:
摩刻部落 一個呆子的網站 基礎程式設計(14)-物件、屬性與方法
摩刻部落 一個呆子的網站 基礎程式設計(17)-類別的種類
iT 邦幫忙 4x D9:[Java]抽象類別(基本範例解說)
然而,這種方法,當然可以透過在同一" 類別 "裡,再寫一個一樣的方法,但執行內容與回傳結果相異,且輸入值(參數)的部分給予設定個數與資料型態,當之後遇到應用時,若有加上對應的輸入值,則會自動被判定是對應到哪一種同名的方法,這就是" 過載(Overloading) "。
參考來源:
摩刻部落 一個呆子的網站 基礎程式設計(15)-建構子
寫程式時,不免會應用到各種暫時儲存資料的物件 --- " 容器 "。然而,在這些裡要取出指定的部分資料時,勢必要" 挨家挨戶 "的走一遭來尋求結果(查水表?)。而這挨家挨戶的" 人 ",就是以一個移動式箭頭的存在,來進行所謂的" 走訪 ",以協助程式進行" 篩選資料 "。
維基百科,自由的百科全書 - Wikipedia 沙盒 (電腦安全)
什麼是沙箱?沙盒? Sandbox
程式(Porgram):
指一連串能 "指示電腦" 或其他具有 "訊息處理能力的裝置" 每一步動作的指令,通常用某種程式語言編寫,執行於某種目標(求得結果)上。參考來源:維基百科,自由的百科全書 - Wikipedia 電腦程式
函數(Function)與副程式(Subroutines)、參數(Parameter)、引數(Argument):
有些程式碼被重覆使用,一旦這些程式碼需要修改,可能會造成前後不一致,或是變數名稱不符等種種問題。總而言之是不容易被維護的。為了方便維護程式,並且節省程式設計師的力氣,因此發展出了函數與副程式的寫法。執行相同動作的程式碼只需要撰寫一次。1.函數與副程式最基本的差異就是:函數有"回傳值",副程式沒有。
2.每一個函數或副程式只負責解決"一個"小問題。
3.函數與副程式是程式裡的"黑盒子(Black Box)",在黑盒子外面不需要知道裡面實作的方法,只需要知道輸入值( 參數(Parameter) )與回傳值。
ex:回傳值 = 函數 ( 參數 )
回傳值就是黑盒子出來的輸出值,輸入值就是參數(Parameter),黑盒子即應用時不需要了解中間怎麼做、經過了什麼,能達成目的就行,而目的就是函數的名稱。
4.黑盒子的出入口(參數與回傳值)必須定義清楚並且容易了解。
5.在物件導向裡,所有的函數與副程式都被稱為"方法"。
6.在迴圈,重複的程序會連續執行。在函數與副程式裡,重複的程序可以需要時再呼叫,在分配上更能靈活應用。
保留字(Reserved Word):
也有稱關鍵字,指該程式語言保留下來的英文單字,這些單字是不能被用來作為變數名稱。簡單的說就是該程式語言的語法不能拿來當變數,因為電腦會搞不懂我們寫的是指令還是變數。
物件(Object)、封裝(Encapsulation):
物件裡只有兩種東西:屬性(Property)與方法(Method)。在開刀房工作時,醫生會告訴護士需要的器材(物件名稱)、尺寸(屬性),護士就會給予該項器材,該器材的功能可能不只一個,但醫生知道使用該器材的部分功能(方法)來工作。
外出開車(物件名稱),我們開啟了冷氣(方法),調了溫度(屬性)。播放了音樂(方法),決定哪首歌(屬性)。踩下油門(方法)出發,踩太底(屬性)會爆衝出去(副程式的結果)。
網路遊戲裡,血量不夠(目的)要喝血罐(物件名稱)來補血(方法),每瓶血罐預先設定可以補多少血量(屬性)。
註:當然,血量不能隨玩家輸入來決定,不是遊戲不會結束,就是角色永生了。
需要什麼工具(物件名稱)?工具的什麼功能(方法)?該功能要什麼輸入值(屬性)?是否有結果(輸出值)會出來?
1.決定完屬性(預設或等待輸入)與方法(是否有輸出)後,會集中放在一個" 類別 ",之後要使用時,該類別會以一個寫法上像" 資料型態 "(int、float....etc)那樣,並銜接一個變數名稱(就是物件名稱),然後就可以開始設定該物件的屬性與應用該物件的方法。
2.在" 物件導向 "裡,這種集中放置屬性與方法的方式,就是" 封裝(Encapsulation) "
3.相異物件名稱,可以有相同名稱的屬性或方法,但是並不會被混淆,使用時就會發現到。
4.屬性就是" 資料成員(Data Member) "。
5.方法的名稱不可與" 類別名稱 "相同,這唯一特殊例外的方法叫" 建構子(Constructor) "
你我拿相同的手機(物件名稱),有著一樣的功能(方法),且設定不同的電話號碼(屬性),且操作(輸出值)上卻不會互相影響。
參考來源:摩刻部落 一個呆子的網站 基礎程式設計(14)-物件、屬性與方法
類別(Class):
就像在寫函數時,可以先寫在主程式前面,告訴電腦執行主程式時,對該函數的" 前提 "。同樣的道理,類別是創造物件的" 前提 ",應用時在寫法上與函數稍有差異,因為類別裡包含的屬性與方法,都是為了該物件的需要而設計、集合起來的,省略了每次應用都要再重新撰寫並呼叫好幾個函數。1.自創的" 類別名稱 "不可與" 主程式名稱 "相同。唯一的例外,就是被設定關鍵字為全域(Public),且會包含一個叫" main "的類別,這是一般語言裡程式執行的起點。
2.程式碼裡,擁有同名類別的異名套件並不會被混淆喔!:3
3.類別也是有因為各種目的而生出的特殊種類,如
" 常數類別 "(為了不讓該類別被繼承而修改)。
" 抽象類別 "
1.為了一定要被繼承,且不能被宣告成物件(需透過子類別名稱建立)。
2.可以自行實作方法給子類別呼叫。但是,若宣告為" 抽象方法 "(函數或副程式),則沒有實作過程且一定由子類別覆寫(Override),僅僅只能宣告。。
3.該類別底下的屬性與方法關鍵字不可為私有(Private)。
4.而且,子類別僅能繼承(Inheritance)唯一的抽象類別。
" 巢狀類別 "(一種兩類別之間寫法上的結構,由外層類別對內層的類別的一切支配與控制。內層的屬性與方法能供外層來使用,即便關鍵字是私有(Private))。
參考來源:
摩刻部落 一個呆子的網站 基礎程式設計(14)-物件、屬性與方法
摩刻部落 一個呆子的網站 基礎程式設計(17)-類別的種類
iT 邦幫忙 4x D9:[Java]抽象類別(基本範例解說)
過載(Overload)、建構子(Constructor):
" 物件 "透過" 類別 "事先告訴電腦使用時該連結那些功能(方法)或設定哪個值(屬性)。然而,有一種特殊的" 方法 ",是唯一能和類別名稱相同,不回傳任何值,可以用來作為集中預設值設定區域的方法,並能將集中於此的預設值再次應用於同類別的其他方法中,當該方法需要輸入值卻沒有被輸入時,就可以加入預設值來輸出結果。然而,這種方法,當然可以透過在同一" 類別 "裡,再寫一個一樣的方法,但執行內容與回傳結果相異,且輸入值(參數)的部分給予設定個數與資料型態,當之後遇到應用時,若有加上對應的輸入值,則會自動被判定是對應到哪一種同名的方法,這就是" 過載(Overloading) "。
參考來源:
摩刻部落 一個呆子的網站 基礎程式設計(15)-建構子
繼承(Inheritance)、覆寫(Override)、多型(Polymorphism):
繼承(Inheritance)顧名思義,是一種與來源的支配關係,應用於類別與類別之間,來源的類別即是所謂唯一的" 父類別 ",所以底下可能支配著多個" 子類別 "。類別裡只有兩種東西:屬性(Property)與方法(Method)。而" 子類別 "則能夠將" 父類別 "的屬性(被設定允許修改的)與方法(建構子不行)做再一次的延伸應用(改寫預設值、重寫一個同名的方法(就是" 覆寫 ")、呼叫父類別的方法與屬性...etc)。
也就是說,若有一群要重複執行的指令,則能用迴圈進行。有多次同樣重複執行且含迴圈的指令,則能用" 函數與副程式 "來統一管理。有多個部分同樣的屬性、方法的類別,則能將相同的部分集中放在父類別裡,再透過繼承的方式來逐一延伸與應用以顯示差異。
建立物件時,倘若使用父類別名稱做物件的" 資料型態 ",而後面接著的,卻是子類別的建構子。在應用與父類別同名的方法時,則會自動選擇使用被子類別覆寫(Override)的方法(即使同父的子類別之間有同名的方法但不同實作)。這種會依據子類別的不同而自動做出相異的判斷就是多型(Polymorphism)。
參考來源:
Elsaの程式學習筆記 [Java] Java中函數「覆寫(Override)」之介紹
摩刻部落 一個呆子的網站 基礎程式設計(16)-類別繼承
國立中山大學程式諮詢網 5. 什麼是多型
痞客邦 Cedric's 學習備忘錄 多型 ( polymorphism)
摩刻部落 一個呆子的網站 基礎程式設計(18)-多形概念
也就是說,若有一群要重複執行的指令,則能用迴圈進行。有多次同樣重複執行且含迴圈的指令,則能用" 函數與副程式 "來統一管理。有多個部分同樣的屬性、方法的類別,則能將相同的部分集中放在父類別裡,再透過繼承的方式來逐一延伸與應用以顯示差異。
建立物件時,倘若使用父類別名稱做物件的" 資料型態 ",而後面接著的,卻是子類別的建構子。在應用與父類別同名的方法時,則會自動選擇使用被子類別覆寫(Override)的方法(即使同父的子類別之間有同名的方法但不同實作)。這種會依據子類別的不同而自動做出相異的判斷就是多型(Polymorphism)。
參考來源:
Elsaの程式學習筆記 [Java] Java中函數「覆寫(Override)」之介紹
摩刻部落 一個呆子的網站 基礎程式設計(16)-類別繼承
國立中山大學程式諮詢網 5. 什麼是多型
痞客邦 Cedric's 學習備忘錄 多型 ( polymorphism)
摩刻部落 一個呆子的網站 基礎程式設計(18)-多形概念
介面(Interface)、實作(Implements):
從類別與類別間相同的部分集中到父類別,會應用到繼承(Inheritance)。但從設計程式功能時的角度來看,若從集中" 需要的程式功能 "這點來著手,是否較好進行思考呢?於是,一種類似" 父類別 ",卻打破唯一繼承(實作的子類別可以實作(似" 繼承 ")多個介面(" 類別 "))。與" 抽象類別 ",卻只有宣告方法(完全交由實作類別" 外包 "的概念),完全沒有自己的實作。
在介面需要新增方法時,並不適合直接在原介面與實作的子類別各自加上內容,因為當事後要來回朔問題時,對於找尋錯誤的該方法時,會因為越來越多的方法數而形成如同海底撈針似的困擾,所以會產生新的介面(用同一個子類別,所以會實作多個介面)來存放要新增的功能,並繼承先前的介面(對!新介面繼承舊介面)。
1.介面下會有一個類別以" 實作 "(Implements)的方式(不是用繼承(Inheritance),用的關鍵字不一樣)來" 實作 "(設計方法的內容)宣告的方法。
2.介面與介面之間,則可以使用繼承(Inheritance)的方式來新增方法。
參考資料:摩刻部落 一個呆子的網站 基礎程式設計(19)-介面與多重繼承
API(Application Programming Interface)是該程式常用或基本的方法(必須被設定為可被外部存取,也就是要全域(Public))集中起來(也許自己或別人開發的),做成一支可供匯入的程式,不需再自己重新定義相同目的的方法,直接應用裡面的函式,以加速程式與程式之間的開發為主要目的(因為開發程式時可以再匯入其他程式增加功能,這裡的其他程式就是API)。
框架(Frame)制定一套規範或者規則(思想),大家(程式設計師)在該規範或者規則(思想)下,確保所做的、所想的、所理解的一樣。如同開發環境(IDE)、作業系統、程式語言、資料結構...etc,通常具有增進開發效率的特色。
套件(Package)則是除了函式庫外,額外增加了自動安裝程序(為了防止使用者自行設定造成的各種不可測錯誤。應該是用腳本寫的吧...),也就是軟體包。之後依據看是開發者(再自行引入函式庫)、使用者(程式自動匯入執行)。
參考來源:
痞客邦 CONY的世界 什麼是Library(函式庫,大陸稱庫)
摩刻部落 一個呆子的網站 基礎程式設計(20)-套件與API
Simple API、Method和Library是什麼東西和關係?
Corner Hack [Dev] IDE, API, SDK, Library 基本術語解釋
學長
[英](語言跟我一樣易卡關者,前方高能注意!!@o@)
Quora What is the difference between an API, a library and a framework?
Onetrail API, Library and Framework. What’s the difference?
在介面需要新增方法時,並不適合直接在原介面與實作的子類別各自加上內容,因為當事後要來回朔問題時,對於找尋錯誤的該方法時,會因為越來越多的方法數而形成如同海底撈針似的困擾,所以會產生新的介面(用同一個子類別,所以會實作多個介面)來存放要新增的功能,並繼承先前的介面(對!新介面繼承舊介面)。
1.介面下會有一個類別以" 實作 "(Implements)的方式(不是用繼承(Inheritance),用的關鍵字不一樣)來" 實作 "(設計方法的內容)宣告的方法。
2.介面與介面之間,則可以使用繼承(Inheritance)的方式來新增方法。
參考資料:摩刻部落 一個呆子的網站 基礎程式設計(19)-介面與多重繼承
函式庫(Library)、API(Application Programming Interface)、框架(Frame)、套件(Package)、模組/模塊(Module):
函式庫(Library)指將該程式語言該常用或基本的方法、物件集中起來(也許是程式語言本身給予的、自己或別人開發的),做成一支可供匯入的程式,不需再自己重新定義相同目的的方法,直接應用裡面的函式,以加速撰寫程式碼效率為主要目的。API(Application Programming Interface)是該程式常用或基本的方法(必須被設定為可被外部存取,也就是要全域(Public))集中起來(也許自己或別人開發的),做成一支可供匯入的程式,不需再自己重新定義相同目的的方法,直接應用裡面的函式,以加速程式與程式之間的開發為主要目的(因為開發程式時可以再匯入其他程式增加功能,這裡的其他程式就是API)。
框架(Frame)制定一套規範或者規則(思想),大家(程式設計師)在該規範或者規則(思想)下,確保所做的、所想的、所理解的一樣。如同開發環境(IDE)、作業系統、程式語言、資料結構...etc,通常具有增進開發效率的特色。
套件(Package)則是除了函式庫外,額外增加了自動安裝程序(為了防止使用者自行設定造成的各種不可測錯誤。應該是用腳本寫的吧...),也就是軟體包。之後依據看是開發者(再自行引入函式庫)、使用者(程式自動匯入執行)。
參考來源:
痞客邦 CONY的世界 什麼是Library(函式庫,大陸稱庫)
摩刻部落 一個呆子的網站 基礎程式設計(20)-套件與API
Simple API、Method和Library是什麼東西和關係?
Corner Hack [Dev] IDE, API, SDK, Library 基本術語解釋
學長
[英](語言跟我一樣易卡關者,前方高能注意!!@o@)
Quora What is the difference between an API, a library and a framework?
Onetrail API, Library and Framework. What’s the difference?
巨集(Macro):
根據一系列預定義的規則替換一定的文字模式。將一系列的的操作自訂為一個步驟(制定操作程序),讓應用程式來「記住」這些操作以及順序。必較像是這隻程式執行前的" 暖身準備 "。
參考資料:維基百科,自由的百科全書 - Wikipedia 巨集
參考資料:維基百科,自由的百科全書 - Wikipedia 巨集
平台(Platform):
插件/外掛、(Plug-in、Plugin、add-in、addin、add-on、addon)、擴充套件(Extension):
在程式裡,針對功能上進行修改或者增加,而差別在於,插件通常依賴於應用程序的用戶界面(修改),它的一切行為都不能超出已經嚴格定義好的界限。而擴充套件通常較沒有限制,也許還會擁有獨立的用戶界面(新增)。他們通常是用來減小應用程序的尺寸,並提供一些可選的功能。
參考資料:維基百科,自由的百科全書 - Wikipedia 插件
參考資料:維基百科,自由的百科全書 - Wikipedia 插件
疊代器(Iterator):
沙箱、沙盒(Sandbox):
源自於一種安全模型,可以將為信任的程式碼在裡頭進行測試,以防止直接對電腦造成損害,在這虛擬出來的環境裡頭,因為記憶體被獨立出來,存取權上也受限,對於檢測危害的程式碼有相當的助益。
參考資料:
參考資料:
維基百科,自由的百科全書 - Wikipedia 沙盒 (電腦安全)
什麼是沙箱?沙盒? Sandbox
2018年5月21日 星期一
ITSA- Recursionc 001~050-[C_RU30-中] 迷宮問題
題目連結:https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?a=15488
看不到內容請點這:
C++
https://hackmd.io/owAW7zoGTo66CZ2xG78V-A#%E8%BF%B7%E5%AE%AE%E5%95%8F%E9%A1%8C
看不到內容請點這:
C++
https://hackmd.io/owAW7zoGTo66CZ2xG78V-A#%E8%BF%B7%E5%AE%AE%E5%95%8F%E9%A1%8C
Time Limit: 2 seconds
問題描述 :
一個 10x10 的迷宮(0~9),以右下角為出發點 (8,8) ,左上角為出口 (1,1) ,設計者以右上左下的順序來找尋出口, 1 表示牆壁, 0 表示可走的路,請輸入迷宮,並顯示路徑。
搜尋規則為:右→上→左→下。走過的路徑標示為G,在沒有遭遇無路可走的情況時不能在走標示G的路徑。
如發現無路可走時,退回上一步,並將此格標示為D,表示不得再走此格。
此時我們會發現,如退回到起點時,這表示這是一個沒有可行路徑的迷宮。
搜尋規則為:右→上→左→下。走過的路徑標示為G,在沒有遭遇無路可走的情況時不能在走標示G的路徑。
如發現無路可走時,退回上一步,並將此格標示為D,表示不得再走此格。
此時我們會發現,如退回到起點時,這表示這是一個沒有可行路徑的迷宮。
輸入說明 :
輸入一個 10x10 的迷宮,
1表示牆壁,0表示可走的路
1 1 1 1 1 1 1 1 1 1
1 0 0 1 1 1 1 1 0 1
1 1 0 1 1 1 1 1 0 1
1 1 0 0 0 0 0 0 0 1
1 1 1 0 0 1 1 1 0 1
1 1 1 0 0 0 1 1 0 1
1 1 1 0 1 0 0 0 0 1
1 1 1 0 1 1 1 0 0 1
1 1 1 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1 1 1
1表示牆壁,0表示可走的路
1 1 1 1 1 1 1 1 1 1
1 0 0 1 1 1 1 1 0 1
1 1 0 1 1 1 1 1 0 1
1 1 0 0 0 0 0 0 0 1
1 1 1 0 0 1 1 1 0 1
1 1 1 0 0 0 1 1 0 1
1 1 1 0 1 0 0 0 0 1
1 1 1 0 1 1 1 0 0 1
1 1 1 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1 1 1
輸出說明 :
如成功輸出YES,否則輸出NO;下一行則輸出路徑結果,如:
YES
1 1 1 1 1 1 1 1 1 1
1 X G 1 1 1 1 1 D 1
1 1 G 1 1 1 1 1 D 1
1 1 G G G G G G 1
1 1 1 0 0 1 1 1 G 1
1 1 1 0 0 0 1 1 G 1
1 1 1 0 1 0 0 G G 1
1 1 1 0 1 1 1 G 1 1
1 1 1 0 0 0 0 G S 1
1 1 1 1 1 1 1 1 1 1
YES
1 1 1 1 1 1 1 1 1 1
1 X G 1 1 1 1 1 D 1
1 1 G 1 1 1 1 1 D 1
1 1 G G G G G G 1
1 1 1 0 0 1 1 1 G 1
1 1 1 0 0 0 1 1 G 1
1 1 1 0 1 0 0 G G 1
1 1 1 0 1 1 1 G 1 1
1 1 1 0 0 0 0 G S 1
1 1 1 1 1 1 1 1 1 1
範例 :
輸入範例 | 輸出範例 |
1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 1 0 1 0 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 | YES 1 1 1 1 1 1 1 1 1 1 1 X G 1 1 1 1 1 1 1 1 1 G 1 1 1 1 1 1 1 1 1 G G G G G G D 1 1 1 1 0 0 1 1 1 G 1 1 1 1 0 0 0 1 1 G 1 1 1 1 0 1 0 0 G G 1 1 1 1 0 1 1 1 G 1 1 1 1 1 0 0 0 0 G S 1 1 1 1 1 1 1 1 1 1 1 |
1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 0 1 1 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 | NO 1 1 1 1 1 1 1 1 1 1 1 X 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 D D D D D 1 1 1 1 0 1 1 1 1 D 1 1 1 1 0 1 D 1 1 D 1 1 1 1 0 1 D D D D 1 1 1 1 1 1 1 1 D 1 1 1 1 1 D D D D D S 1 1 1 1 1 1 1 1 1 1 1 |
2018年5月16日 星期三
ITSA- Arrayc 151~200-[C_AR154-易] 感染被包圍的人
題目連結:https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=24871
看不到內容請點這:
C++
https://hackmd.io/owAW7zoGTo66CZ2xG78V-A#%E6%B3%9B%E6%B4%AA%E6%BC%94%E7%AE%97%E6%B3%95%E7%AF%84%E4%BE%8B%E9%A1%8C-%E2%80%94-ITSA--Arrayc-151200-C_AR154-%E6%98%93%E6%84%9F%E6%9F%93%E8%A2%AB%E5%8C%85%E5%9C%8D%E7%9A%84%E4%BA%BA
留意點:
//只要在邊綠的人,就不會被感染;
//就算是被包圍 ( 僅四方位 ) 的團體,仍舊會全部感染;
//只要和邊緣的人有相連 ( 相連指的是走上、下、左、右,任一邊可以相連即可 ) 就不會被感染;
這題的寫法有兩種,僅寫出差異點
/*只要在邊緣找到一個 0,就由這個 0 開始使用 flood fill 演算法走訪下去。凡走到 0,這個 0 就可以標記為「非感染」。到最後,剩下的 0 就是會被感染的人了。*/
看不到內容請點這:
C++
https://hackmd.io/owAW7zoGTo66CZ2xG78V-A#%E6%B3%9B%E6%B4%AA%E6%BC%94%E7%AE%97%E6%B3%95%E7%AF%84%E4%BE%8B%E9%A1%8C-%E2%80%94-ITSA--Arrayc-151200-C_AR154-%E6%98%93%E6%84%9F%E6%9F%93%E8%A2%AB%E5%8C%85%E5%9C%8D%E7%9A%84%E4%BA%BA
Time Limit: 1 seconds
問題描述 :
在一個 2 維的空間中,有一群病毒(用大寫英文字母 X 表示),還有一群人類(用數字 0 表示)。若這群人則被病毒包圍了,那他們都會被感染成木頭人(用大寫的 I 表示)。
舉例而言:
舉例而言:
Table 1 中只有 1 位人類,而且它被病毒包圍,所以這位人類會被感染,成為木頭人,其結果如 Table 3 所示。
Table 2 中也只有 1 位人類,但它沒被病毒包圍,所以不會被感染。因此結果如 Table 4 所示。
給你一個 2 維的空間,請你撰寫程式,將所有被感染的人類都換成木頭人。
輸入說明 :
輸入是一個 7 X 7 的 2 維盤面。
每一行有 7 個字母,每個字母不是 X ,或是數字 0 。每個字母用空白隔開。
輸出說明 :
將輸入盤面中被感染的人類改為大寫的 I ,並且輸出。
範例 :
輸入範例 | 輸出範例 |
X X X X X X X X X X X X X X X X X X X X X X X 0 X X X X X X X X X X X X X X X X X X X X X X X X X | X X X X X X X X X X X X X X X X X X X X X X X I X X X X X X X X X X X X X X X X X X X X X X X X X |
留意點:
//只要在邊綠的人,就不會被感染;
//就算是被包圍 ( 僅四方位 ) 的團體,仍舊會全部感染;
//只要和邊緣的人有相連 ( 相連指的是走上、下、左、右,任一邊可以相連即可 ) 就不會被感染;
這題的寫法有兩種,僅寫出差異點
/*只要在邊緣找到一個 0,就由這個 0 開始使用 flood fill 演算法走訪下去。凡走到 0,這個 0 就可以標記為「非感染」。到最後,剩下的 0 就是會被感染的人了。*/
2018年5月15日 星期二
C++曾經新手犯過的可執行錯誤-vector兩層寫法
int m=0,n=0;
cin>>m>>n;
vector<vector<int> > map;//預設兩層陣列
/*兩個 ">>" 之間一定要隔開*/
//將資料讀入兩層陣列
//寫法 1
for (in t i = 0; i < m; i++)
{
vector<int> tmp(n, 0);// 宣 告一暫時的內層向量,n 為個數,0為預寫入資料
for (int j = 0; j < n; j++)//內層向量先將資料一排逐一讀入
cin >> tmp[j];
map.push_back(tmp);/ /再推入外層向量
}
//寫法 2
for(int i=0;i<m;i++)
{
vector<int> ma;// 宣告一暫時的內層向量
map.push_back(ma);//先推入外層向量
for(int j=0;j<n;j++)
{
int a=0;//宣告一整數
cin>>a;//讀入
map[i].push_back(a);//再進行推入向量
/*注意到該寫法,不再使用內層向量,而是使用外層向量的元素作指定*/
}
}
cin>>m>>n;
vector<vector<int> > map;//預設兩層陣列
/*兩個 ">>" 之間一定要隔開*/
//將資料讀入兩層陣列
//寫法 1
for (in t i = 0; i < m; i++)
{
vector<int> tmp(n, 0);// 宣 告一暫時的內層向量,n 為個數,0為預寫入資料
for (int j = 0; j < n; j++)//內層向量先將資料一排逐一讀入
cin >> tmp[j];
map.push_back(tmp);/ /再推入外層向量
}
//寫法 2
for(int i=0;i<m;i++)
{
vector<int> ma;// 宣告一暫時的內層向量
map.push_back(ma);//先推入外層向量
for(int j=0;j<n;j++)
{
int a=0;//宣告一整數
cin>>a;//讀入
map[i].push_back(a);//再進行推入向量
/*注意到該寫法,不再使用內層向量,而是使用外層向量的元素作指定*/
}
}
2018年4月16日 星期一
保險學筆記-人身保險種類
1.人身保險分類
人壽保險:含死亡保險、生存保險(儲蓄保險)及生死合險。
年金保險:生存期間或特定期間分期或一次給付保險金。(商業年金保險、社會年金保險)
傷害保險:因意外發生而死亡或受傷(殘廢)時給付保險金。(傷害險、傷害失能險、旅平險、傷害醫療險)
健康保險:填補於疾病、醫療時,經濟上的損失。(住院醫療、失能、癌症、長期看護、豁免保費)
2.人壽保險
1.死亡保險
定期保險:被保險人於保險期間內死亡,保險公司給付保險金。反之,若期滿,被保險人仍生存,則契約終止,自保險期間屆滿之日起即無給付保險金的責任。
終身保險:約定以被保險人終身為保險期間,死亡發生時保險公司依照契約約定金額立即給
付保險金。
2.生存保險(儲蓄保險)
被保險人於保險期間內仍然生存時,保險公司依照契約所約定的金額給付保險金。如於保險期間內死亡,保險公司無給付保險金的責任。
3.生死合險(養老保險)
被保險人於保險期間內死亡或於保險期間屆滿仍生存時,保險公司依照契約所約定的金額給付保險金者。保險費較貴。
4.重大疾病、 傷病給付保險
主要針對癌症、心肌梗塞、冠狀動脈繞道手術、中風、慢性腎衰竭、重大器官移植、癱瘓等七項提供保障。
5.生前提前給付
被保險人在經醫師診斷因疾病或傷害致其生命經判斷不足六個月時,可以提前申領保險金。
3.年金保險
被保險人生存期間或特定期間內,依照契約負一次或分期給付一定金額之責。
若年金不以個人或被保險人的生存為條件,稱為確定年金。
社會年金
老年年金:被保險人加入此保險滿一定期間,到達一定年齡之定期性給付保險。
殘廢年金:被保險人遭遇永久性殘廢事故無法工作,發給的保險。
遺囑年金(死亡年金):被保險人死亡家屬請領,以保障遺囑未來生活。
商業年金
依給付始期與繳費方式,分為
即期年金(繳完馬上領) + 躉(ㄉㄨㄣˇ)繳(保費一次繳)
遞延年金(以後再領) + 分期繳(保費分期繳)
依年金給付方式
終身年金:受領人生存期間內,終身給付定額保險金
保證期間:即使被保險人死亡,保證期間內一定給付。
保證金額:即使被保險人死亡,保證給付一定金額。
領超過保證部份被保人仍生存,給付至被保人死亡為止。
未領完的部分,會給應得之人。
定期生存保險金:僅一定年限內領取,期間死亡則停止給付。
保險學筆記-人身保險與稅法
1.所得稅公式
當年度所得總額 - 免稅額 - 扣除額(每人最高$2,4000) = 當年度所得淨額依照當年度表格(所得稅稅率表)對應
當年度所得淨額(依區間分別計算) X 稅率(表格有) - 累進差額(表格有) = 所得稅
免稅額
納稅義務人、配偶、直系尊親屬(年滿60歲、無謀生能力(年度所得未超過免稅額者))、子女或兄弟姊妹(未滿20歲、在校就學、身心障礙)、其他親屬(未滿20或超過60歲者,父母不得為軍人或國中以下教師)
扣除額(每人最高$2,4000)
分為標準扣除額(單身、配偶)或列舉扣除額(捐贈、保險費、醫藥生育費、災害損失、購屋借款利息、房屋租金支出)。
加上特別扣除額(財產交易損失、薪資所得、儲蓄投資、身心障礙、教育學費)
2.所得稅法
綜合所得稅:依據所得稅法規定,納稅義務人本人、配偶或受扶養直系親屬的人身保險、勞工保險、國民年金保險及軍、公教保險之保險費(不含全民健康保險之保險費)得從個人所得總額中採列舉申報方式扣除,但每人每年扣除數額以不超過新台幣24,000元(收入低於24,000則以差額計算)為限。營利事業所得稅:由營利事業負擔之團體壽險保險費,每人每月保險費在新台幣2000元以內部份,免視為被保險人之薪資所得,超過部份視為對員工之補助費,應轉列各該被保險員工之薪資。
人身保險、勞工保險及軍公教保險之保險給付免納所得稅。
滿期給付:壽險滿期保險金係屬儲蓄性質,其中所含之利息所得,依前述之規定,滿期 受益人 亦享有免納利息所得之稅法優惠。
醫療殘廢給付:此項保險給付,不論 要保人 與 被保險人 是否同一人,亦不論其給付金額多寡,免納所得稅。
死亡給付:只要 被保險人 在契約規定年限內,因疾病或遭遇意外傷害事故死亡,且無除外責任原因存在或違反告知義務的情形,保險單上所載明之身故 受益人 即可依照契約條款規定申請給付該項死亡保險金。不論 要保人 是為自己或他人的利益而訂立之人壽保險契約、要保人與 被保險人 是否同一人。
基本所得在新台幣600萬以上之個人,若投保 受益人 與 要保人 非屬同一人之人壽保險及年金保險,由 受益人 受領之保險給付(死亡給付每一申報戶全年合計數在新台幣3330萬元以下之部分不予計入,否則課徵基本所得稅)部分,應依同條例第13規定扣繳所得稅。
舉凡約定於被繼承人死亡時, 給付其所指定受益人之人壽保險金額,軍、公教人員、勞工或農民保險之保險金額及互助金,皆不計入遺產總額。
3.遺產稅公式
遺產總額 - 免稅額 - 扣除額 = 遺產淨額依照當年度表格(遺產稅稅率表)對應
遺產淨額(依區間分別計算) X 稅率(表格有) - 累進差額(表格有) = 遺產稅
遺產總額:遺留的動產(現金、股票)及不動產(土地、房屋)等與被繼承人死亡前2年內贈與配偶及子女、父母、兄弟姐妹、祖父母等法定繼承人及上述法定繼承人的配偶的財產。
免稅額
被繼承人:1,200萬(軍公人因執行職務而死亡者:2,400萬)
扣除額
1.配偶:493萬
2.成年子女、受被繼承人扶養之兄弟姐妹及祖父母:50萬(每人)
(未成年按其年齡距屆滿20歲(還差幾歲),每年加扣50萬(相差歲數承以50萬))
3.父母:123萬(每人)
4.應納之各項稅捐、罰鍰、罰金及其有確實證明之未償還債務
5.喪葬費用:123萬
6.執行遺囑及管理財產之直接必要費用
4.遺產稅優惠
遺產稅或贈與稅應納稅額在30萬元以上,納稅義務人確有困難,不能一次繳納現金時,
1.得向該管稽徵機關申請, 分18期以內繳納;每期間隔以不超過2個月為限。
2.得於納稅期限內,就現金不足繳納部分申請以在中華民國境內之課徵標的物或納稅義務人所有易於變價及保管之實物一次抵繳。
5.贈與稅
贈與是一種契約行為,即當事人一方,以自己的財產無償給予他方,並為他方同意接受者稱之。
贈與人在一年內,贈與他人財產總值超過免稅之部份,應於行為發生後30日內,向贈與人戶籍所在地或中央政府所在地之稅捐機關申報。
配偶相互贈與的財產不計入贈與總額。
父母對子女婚嫁時所贈與之財物總金額100萬元以內不計入贈與總額。
贈與總額 - 免稅額(220萬元) = 贈與淨額
贈與淨額 X 贈與稅率 = 贈與稅
贈與免稅額:每人(贈與人)/每年220萬,1年有2次以上贈與者,應合併計算其贈與額。
贈與人有下列情形之一者,以受贈人為納稅義務人:
1.行蹤不明。
2.逾本法規定繳納期限尚未繳納,且在中華民國境內無財產可供執行。
3.死亡時贈與稅尚未核課。
以受贈人名義為要保人,且要保人與受益人為同一人。
以分年贈與方式贈與。
夫妻各贈與小孩220萬購買保險(夫妻間贈與免稅),節稅效果擴大!
6.繼承
因被繼承人死亡而開始。此之死亡包括自然死亡與宣告死亡。
宣告死亡
1.失蹤人失蹤滿7年
2.若失蹤人為80歲以上於失蹤滿3年
3.失蹤人若遇特別災難,於災難終了滿1年, 得由利害關係人向法院申請死亡宣告
7.拋棄繼承
知悉其得繼承之時起三個月內,以書面向法院表示拋棄繼承,即可不繼承財產,亦不用負擔任何債務。
8.以遺產比例償還債務(限定繼承)
繼承人於繼承開始時起三個月內,開具遺產清冊陳報法院,表示以所繼承的遺產為限,來承擔被繼承人債務。
9.遺囑處分
保險契約未指定受益人時,其保險金作為 被保險人 的遺產,假如 被保險人 未立下遺囑,依民法繼承順位及比例規定,且須課徵遺產稅,無免稅的優惠。
法定繼承人:是指無特別訂立遺囑的情況下,法律優先適用的繼承順位。
遺產繼承人,除配偶(當然繼承人) 外, 依下列順序定之:
1.直系血親卑親屬(包括子女、養子女、孫子女、 曾孫子女,以親等近者為先。)
2.父母
3.兄弟姊妹
4.祖父母
應繼分:指各繼承人對於遺產上一切權利義務所得繼承之比例。
特留分:指繼承開始時應保留於繼承人之遺產之一部分而言。
先算『應繼分』,再算『特留分』民法各順位繼承人之特留分如下:
應繼分
唯獨僅留下配偶與祖父母時,配偶2/3、祖父母1/3
其餘組合(配偶+子女/父母/兄弟姊妹)皆各自為1/2
特留分
1.子女的特留分---------應繼分之1/2
2.父母的特留分---------應繼分之1/2
3.兄弟姐妹的特留分---- 應繼分之1/3
4.祖父母的特留分-------應繼分之1/3
5.配偶的特留分---------應繼分之1/2
10.代位繼承:
民法所定第一順位之繼承人,有於繼承開始前死亡或喪失繼承權者,由其直系血親卑親屬代位繼承其應繼分,是謂代位繼承。
11.隔代繼承:
當所有第一順位繼承人(第二代)全部拋棄繼承,由其次等親人(第三代)隔代繼承。隔代繼承可免掉一次贈與稅或者下一次的遺產稅。
2018年4月15日 星期日
保險學筆記-保險法規
1.保險契約的角色與關係?
當事人關係:保險人(法人)、要保人(法人、自然人)關係人:被保人(自然人)、受益人(法人、自然人、胎兒(還活著))
利益關係(可保利益):要保人對被保險人、家屬與自己、生活費與教育費仰給人、債務人
指定、變更權:要保人
同意上述權力執行:被保險人
2.訂立契約之雙方當事人必須具有行為能力
年齡 < 7者,無行為能力,所為意思表示無效,由法定代理人代為表示。其意思表示當下,在無意識或精神錯亂中所為者,同樣無效
滿7歲以上、未成年者(7~20),有限制行為能力,所為意思表示須由法定代理人允許。
若未成年人結婚(年齡 > 16),則認定為已具有行為能力。
立遺囑的最低年齡為16歲。
3.訂立契約
意思表示一致。支付對價。(保費與保額):要保人應負保險人支付保費之責,保險人應負保額理賠之責。
合法、不違反公序良俗。
------------保險契約成立要件------------
4.保險契約基本原則
保險利益原則(可保利益):只 要保人 對 被保險人 的生命因有利害關係而享有合法經濟利益。目的為避免賭博行為與防止道德行為(如為詐保去殺害 被保險人 )最大誠信原則: 要保人 與 被保險人 應將與 被保險人 相關重要事實告知 保險人。(若故意隱匿、過失疏漏、不實之說明以影響保險人估計時,保險人得解約,即便是危險發生後)
主力近因原則:導致 被保險人 死亡、受傷的最主要或有效原因(如法醫判定的死因),而非最接近、直接的原因。(事故與保單承保的危險間,需因果關係存在,才能構成理賠條件)
損害填補原則:因事故所受損失,獲得的理賠金額須讓被保險人在經濟上回到事故發生前的狀態。(僅適用於財產保險、實支實付型健康險商品、人身保險不適用)
分攤原則(攤派原則):指保險人與保險人之間,對於事後理賠金額之分攤。(僅適用於財產保險、實支實付型健康險商品、人身保險不適用)
保險代位原則:指 被保險人 損失發生時,對於第三人有損失請求權者,保險人 得於給付賠償金額後,代位行使對於第三人的請求權,要求賠償的金額不得超過給付給 被保險人 的金額。(僅適用於財產保險、人身保險不適用)
ITSA-資料結構 I (Datastructure I)-[C_DT45-易] 2048
題目連結:https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=24094
看不到內容請點這:
C++
https://hackmd.io/owAW7zoGTo66CZ2xG78V-A#2048
看不到內容請點這:
C++
https://hackmd.io/owAW7zoGTo66CZ2xG78V-A#2048
[C_DT45-易] 2048
成績: 0 / 倒扣: 0.8
Time Limit: 3 seconds
問題描述 :
2048 是一款單人線上遊戲,是在 2014 年由 19 歲的義大利人 Gabriele Cirulli 所開發。遊戲的任務是在一個網格上滑動小方塊進行組合,直到形成一個帶有數字 2048 的方塊。該遊戲使用方向鍵讓方塊上下左右移動。如果兩個帶有相同數字的方塊在移動中碰撞,則它們會合併成一個方塊,該方塊所帶的數字變成兩者之和。每次移動後,會有一個值為 2 或者 4 的新方塊出現。當值為 2048 的方塊出現時,遊戲即勝利。下圖為按「向上」方向鍵的範例。
輸入盤面資料及方向鍵,請計算出產生之盤面。
輸入說明 :
輸入資料包含若干筆測資,每筆測資有五行資料,第一行只有一個英文字母 ‘U’, ‘D’, ‘L’, 或 ‘R’ ,分別代表「上」、「下」、「左」或「右」。接下來四行資料記錄盤面資訊,每一行有四個整數(以空格隔開)代表該行在盤面中的數字,空位置以數字 0 表示。
輸出說明 :
每一筆 測資輸出運算後結果盤面。盤面資料為四行資料,每行四個整數,整數間以空格隔開。
範例 :
問題描述 :
2048 是一款單人線上遊戲,是在 2014 年由 19 歲的義大利人 Gabriele Cirulli 所開發。遊戲的任務是在一個網格上滑動小方塊進行組合,直到形成一個帶有數字 2048 的方塊。該遊戲使用方向鍵讓方塊上下左右移動。如果兩個帶有相同數字的方塊在移動中碰撞,則它們會合併成一個方塊,該方塊所帶的數字變成兩者之和。每次移動後,會有一個值為 2 或者 4 的新方塊出現。當值為 2048 的方塊出現時,遊戲即勝利。下圖為按「向上」方向鍵的範例。
輸入盤面資料及方向鍵,請計算出產生之盤面。
輸入說明 :
輸入資料包含若干筆測資,每筆測資有五行資料,第一行只有一個英文字母 ‘U’, ‘D’, ‘L’, 或 ‘R’ ,分別代表「上」、「下」、「左」或「右」。接下來四行資料記錄盤面資訊,每一行有四個整數(以空格隔開)代表該行在盤面中的數字,空位置以數字 0 表示。
輸出說明 :
每一筆 測資輸出運算後結果盤面。盤面資料為四行資料,每行四個整數,整數間以空格隔開。
範例 :
輸入範例 | 輸出範例 |
U 2 8 2 0 2 8 2 0 2 0 0 0 0 0 0 0 | 4 16 4 0 2 0 0 0 0 0 0 0 0 0 0 0 |
2018年3月26日 星期一
保險學筆記--風險基本概念
1.何謂"風險"?
針對"損失"的不確定性這裡的"損失"
指的是能以貨幣來衡量經濟價值的人或財產
且具有不可預測與不可抗力的事故造成
如同突發事件。
2."風險"來源?
僅兩種可能,分別是自然天災與人為疏失3."風險"特色?
不確定性、有財物(包含人)損失可能性、將來性(未來發生)
4."風險因素"?
增加損失幅度(機率)的條件、情況5."風險因素"分類?
有形風險:即實質風險,環境本身即是風險因素無形風險:再區分為道德風險與心理風險
道德風險:個人積極的風險因素(故意促使)
心理風險:個人消極的風險因素(不小心、因注意而不去注意)
6.風險類別?
依衡量損失客觀風險:可觀察與衡量,大家看得都一樣
主觀風險:受個人心理或精神狀況影響,大家看得不一定相同
依損失性質
投機風險:可能損失、也可能獲利(如 股市)
純粹風險:必然造成損失,完全無獲利,即保險的目的
依事故原因:
靜態風險:自然力量或人為導致損失
動態風險:社會變動、趨勢導致(如 市場的流向)
依範圍:
基本風險:範圍大且難控制,依性質常兩者風險兼具
特定風險:範圍小,常僅在個人上,依性質常屬於純粹風險
7.風險因素>>風險事故>>損失
8.風險"4W"?
四種損失發生不確定性:發生與否、時間、原因、結果9.風險管理步驟:風險確認>>風險衡量>>管理方法>>決策執行與評估
10.損失頻率?損失幅度?風險數理值?
損失頻率:特定期間內,風險發生次數 意外發生次數/暴露單位總數損失幅度:每次損失的損失金額 損失金額/發生次數
兩者相乘結果即"風險數理值"(損失成本、純保費)
11.風險管理目的?
達到預防、減輕、彌補損失12.風險控制型?
迴避:直接排除或減少損失控制:預防(事前改善和事發補救)或減輕
非保險性轉移:轉讓(全權轉移)、轉包(分散)、租賃(部分權力轉移)
13.風險理財型?
依財務計畫消耗發生損失成本自留:
單純自留:評估後在承擔能力內
評估後保險成本超出承擔能力
自己保險:自行另外準備應付風險的基金
專屬保險人:針對非保險業的企業,自立保險機構
財務型非保險性轉移:
公司化:合夥或獨資企業組織型態轉換,使企業經營者,對企業可能之債務,由無限連帶清償責任(個人承擔公司的債務),轉為有限責任(公司全部人共同分擔)
保證:不履約時,透過保證契約由保證人承擔賠償之責
免責約定:約定用以免除或限制其未來合同責任的條款。
傳統保險
必要保險:如 健保或強制險
重要保險:如 火災險
14.風險管理的選擇與評估
損失幅度 大、損失頻率 高:風險迴避、損失控制(有機會執行)損失幅度 大、損失頻率 低:保險轉嫁、損失控制
損失幅度 小、損失頻率 高:自己保險(高成本)、損失控制
損失幅度 小、損失頻率 低:單純自留、損失控制(成本可負擔)
2018年3月18日 星期日
C++冷知識~~~while、括號與逗點
C++冷知識~~~
#include<iostream>
using namespace std;
int main()
{
int a,b;
a=1,2,3,4,5;//輸出第一個值, a=1;
b=(1,2,3,4,5);//輸出最後一個值, a=5;
cout<<a<<endl;
cout<<b<<endl;
int c[10]={1,2,3,4,5,6,7,8,9,0},b=10;
while(b --> 0)cout <<c[b]<<" ";//輸出0 9 8 7 6 5 4 3 2 1 ;
cout<<endl;
int d=10;
while(d --> 0)cout <<d<<" ";//輸出9 8 7 6 5 4 3 2 1 0;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int a,b;
a=1,2,3,4,5;//輸出第一個值, a=1;
b=(1,2,3,4,5);//輸出最後一個值, a=5;
cout<<a<<endl;
cout<<b<<endl;
int c[10]={1,2,3,4,5,6,7,8,9,0},b=10;
while(b --> 0)cout <<c[b]<<" ";//輸出0 9 8 7 6 5 4 3 2 1 ;
cout<<endl;
int d=10;
while(d --> 0)cout <<d<<" ";//輸出9 8 7 6 5 4 3 2 1 0;
return 0;
}
2018年3月17日 星期六
C++曾經新手犯過的可執行錯誤
是否在剛學習宣告變數時,想要使用了那些懶人包( a=a+1 改成 a+=1 或 ++a );😙😙
但應用上輸出結果卻時常不如預期,不知道錯在哪裡;😕😖
誤打誤撞的對了,也就這樣了,對於同樣錯誤的隔壁;😓😒😑😐
兩兩互看、四目對望的也不知道錯在哪;😵😵
即便改對了,完全像作夢似的完全不記得夢境內容,說不出個所以然;😭😣😱
既是交不了作業覺得煩躁又覺得程式困難重重,大大的打擊信心(桑勳~~);😬💔💢💣
以下示範了這些懶人包(這些可執行的寫法),靜靜的思考一下,搞清楚;😤😤😤
弄懂了,搞不好在其他地方 ,也能運用呢,也可以自行執行看看喔~~!;😀😀😀
#include<iostream>
using namespace std;
int main()
{
int a = 1 , b = 0 ;
b=a++;//先執行 b=a 後 a++(即a=a+1),a=2 b=1
cout << a <<endl;// a=2
cout << b <<endl;// b=1
cout << a++ <<endl;//a會先傳回原來的2,但實際上a=a+1, a=3
a++;//a=a+1, a=4
cout << a++ <<endl;//a會先傳回原來的4,但實際上a=a+1, a=5
cout << +a <<endl;//無運算, 保持不變 a=5
cout << ++a <<endl;//a=a+1, a=6
b=++a;//b= (a=a+1), a=7 b=7
cout << a <<endl;//保持不變, a=7
cout << b <<endl;//保持不變, b=7
cout << ++b <<endl;//b=b+1, b=8
cout << b++ <<endl;//b會先傳回原來的7,但實際上b=b+1, b=8
++a;//a=a+1, a=8
cout << a <<endl;//保持不變, a=8
//👉💭 a++ 在運算子裡面的優先等級高於 ++a 喔~~~ 💭👈
cout << a++ + ++a << endl;
//a會先更新為 a++ 傳回的 8 (實際上a=a+1, a=9)加上
//實際的 a=9 (a=a+1, a=10), 故b=8+10, a=18
cout << a << endl;// a=10
cout << ++b + b++ << endl;
//雖然會先傳回 b=9(但之後繼續參與運算的是實際上的b=b+1, b=10)
//加上剛被前算式 b++ 更新的 b=10, b=10+10=20,然後再進行 ++b, b=b+1, b=21
cout << b << endl;// b=11
return 0;
}
但應用上輸出結果卻時常不如預期,不知道錯在哪裡;😕😖
誤打誤撞的對了,也就這樣了,對於同樣錯誤的隔壁;😓😒😑😐
兩兩互看、四目對望的也不知道錯在哪;😵😵
即便改對了,完全像作夢似的完全不記得夢境內容,說不出個所以然;😭😣😱
既是交不了作業覺得煩躁又覺得程式困難重重,大大的打擊信心(桑勳~~);😬💔💢💣
以下示範了這些懶人包(這些可執行的寫法),靜靜的思考一下,搞清楚;😤😤😤
弄懂了,搞不好在其他地方 ,也能運用呢,也可以自行執行看看喔~~!;😀😀😀
#include<iostream>
using namespace std;
int main()
{
int a = 1 , b = 0 ;
b=a++;//先執行 b=a 後 a++(即a=a+1),a=2 b=1
cout << a <<endl;// a=2
cout << b <<endl;// b=1
cout << a++ <<endl;//a會先傳回原來的2,但實際上a=a+1, a=3
a++;//a=a+1, a=4
cout << a++ <<endl;//a會先傳回原來的4,但實際上a=a+1, a=5
cout << +a <<endl;//無運算, 保持不變 a=5
cout << ++a <<endl;//a=a+1, a=6
b=++a;//b= (a=a+1), a=7 b=7
cout << a <<endl;//保持不變, a=7
cout << b <<endl;//保持不變, b=7
cout << ++b <<endl;//b=b+1, b=8
cout << b++ <<endl;//b會先傳回原來的7,但實際上b=b+1, b=8
++a;//a=a+1, a=8
cout << a <<endl;//保持不變, a=8
//👉💭 a++ 在運算子裡面的優先等級高於 ++a 喔~~~ 💭👈
cout << a++ + ++a << endl;
//a會先更新為 a++ 傳回的 8 (實際上a=a+1, a=9)加上
//實際的 a=9 (a=a+1, a=10), 故b=8+10, a=18
cout << a << endl;// a=10
cout << ++b + b++ << endl;
//雖然會先傳回 b=9(但之後繼續參與運算的是實際上的b=b+1, b=10)
//加上剛被前算式 b++ 更新的 b=10, b=10+10=20,然後再進行 ++b, b=b+1, b=21
cout << b << endl;// b=11
return 0;
}
2018年1月4日 星期四
ITSA線上程式競賽基礎題目-題目33. 一整數序列所含之整數個數及平均值
ITSA線上程式競賽基礎題目-題目13. 撲克牌大小
題目連結:https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=30764
看不到內容請點這:
C++
https://hackmd.io/rm3s4cyYRs22sofZh3ZaCg#%E6%92%B2%E5%85%8B%E7%89%8C%E5%A4%A7%E5%B0%8F
看不到內容請點這:
C++
https://hackmd.io/rm3s4cyYRs22sofZh3ZaCg#%E6%92%B2%E5%85%8B%E7%89%8C%E5%A4%A7%E5%B0%8F
訂閱:
文章 (Atom)