好書推薦《#造局者》部落格文末抽獎贈書 2 本
這是我今年讀過最喜歡的書之一,作者探討在這個 AI 崛起和時局飄渺動盪的年代,人類已經無法跟演算法和電腦的計算速度競爭。但是,身為人類的我們仍然擁有一項電腦無法取代的優勢:「懂得建立、想像、創造各種思考框架的能力」,掌握這項能力的人在未來會愈來愈有優勢。
部落格文章 https://readingoutpost.com/framers/
Podcast 用聽的 https://readingoutpost.soci.vip/
.
【這本書在說什麼?】
《造局者》這本書的作者是三位學者共筆,他們都是在 AI 和 大數據領域有卓越的成就,分別是《經濟學人》雜誌資深編輯庫基耶(Kenneth Cukier)、英國牛津大學網路研究所教授麥爾.荀伯格(Viktor Mayer-Schönberger)、歐洲管理科技學院教授,決策、模型暨數據中心主任德菲爾利科德(Francis de Véricourt)。
他們發現在 AI 崛起和世局動盪的現在,人類最無可取代的能力之一就是「決策能力」,而要擁有好的決策能力就必須掌握許多不同的「思考框架」。因為當一個人能提出正確的思考框架,就能找出更多的選項,做出更好的決策,創造更好的局勢。深諳此道的人就被稱之為「造局者」。
這本書從人類如何做出好的決策出發,談到建立思考框架的重要性,也提供我們三種最重要的建立思考框架的方式。在書本中段,則說明了遇到瓶頸的時候,如何重啟另一個思考框架。在後半段則說明了我們該如何學習更多的思考框架,以及讓自己擁抱更加多元性的策略,並且培養敏銳的心智。
如同這本書的介紹影片裡談到的:生活中一切都需要抉擇,而做出更好抉擇的秘訣,就在於思考框架。駕馭這種思考方式可以讓你更瞭解世界、改善工作表現和人際關係、促進社會進步。這也是人類之所以能夠勝過機器和 AI 的因素。成為「造局者」正是未來人才必不可缺的關鍵技能。
.
【什麼是造局者?】
以標準的定義來說,「造局者」(Framer)指的就是起草美國憲法的那一群人,他們建立了聯邦政府的框架。因為美國憲法就像是一個思考框架,用來定義和界定聯邦政府的職權及程序。而在這本書中,造局者指的就是那些「懂得建立和運用思考框架的能手」。
這本書要講的重點之一,就是無論人們的地位高低,每個人都可以成為造局者:「能夠發揮和建立思考框架,或是重啟思考框架的能力,讓自己的生活乃至於整個世界有所不同。」作者也不斷強調建立思考框架所需要的技巧,可以靠著訓練與經驗不斷進步。這本書就像是一本操作指南。
.
【什麼是思考框架?】
在1970年代,「心智模型」(Mental Model)的概念開始流行,人類的推理並非以邏輯形式在運作,反而更像是在模擬現實:人們評估各種選項的方式,是去想像可能發生的種種情況。我們對於世界萬物的思考方式,會受到你「相信」這個世界如何運作而影響。因此,面對同樣一件事情,用不同心智模型在思考的人會有不同的觀點。
而在這本書中所謂的「思考框架」(Frame)就是我們選擇和應用的心智模型,這會決定我們如何理解世界、決定我們如何行動。面對一個新的情境,我們也可以用思考框架去歸納和歸類,並且想出一個抽象的概念,在應用到這個全新的情境裡面。
舉例來說,當我們要畫地圖的時候,經常會採取「笛卡爾直角坐標」的思考框架,這上面有X軸和Y軸的維度可以幫我們用2D的觀念畫出相對的距離和位置。可是當你要在台北市搭捷運從A地到B地的時候,反而採用「捷運地圖」的思考框架比較有效,雖然捷運地圖的站點之間,距離和位置都不是真實的呈現,可是卻能幫助乘客直覺地理解:下一站要去哪裡。這時的重點就不是距離和位置,而是清楚地辨認出目的地的站點該搭乘哪一條線。
所以當我們問:「哪一種地圖最好?」這個問題本身並沒有意義,而是會因為使用的情境和目的的不同,而產生不同的答案。所以,也沒有什麼叫做最正確的思考框架,都是要看情況和目的而定。讓自己成為建立思考框架的能手——也就是造局者,就能懂得如何選擇並且應用思考框架,這會是各種決定與行動的基礎。
.
【思考框架的轉變】
在聊主動建立思考框架之前,讓我們先看一個被動轉換思考框架的真實故事,這是書中提到一段關於朗讀到默讀的閱讀框架轉變。在西元11世紀之前,歐洲大部分都是在教堂才會有閱讀的行為,而且都是以「集體朗誦」的方式在進行,主要的目的是讓大家參與一個讚頌神的集體活動。但是到了11世紀之後,開始出現另外一種閱讀的框架,也就是「默讀」。
默讀讓閱讀這件事情不再是集體的體驗,而是一種個人的經歷。每個讀者都可以控制自己要讀快一點或慢一點,你也可以重複閱讀某一些篇章,自己可以慢慢思考書裡面的內容,產生新的點子,促進獨立思考。到底,是什麼東西造成了人們從朗讀的閱讀框架,轉移到默讀的閱讀框架呢?
在早期的書籍和文章裡面,常常沒有標點符號,字跟字之間也沒有空格,就像是一連串的字母之間不斷地延續。這種情況下光是要閱讀就非常困難了,想要默讀更是不可能的任務。這個時候集體朗讀就有它的功能,因為在一群人裡面,總會有人過去曾經讀過這篇本文,還記得某些字跟段落該怎麼念,就可以帶領大家一起朗讀下去。
在後來才出現了一項創新,書籍的字裡行間,開始有了「空格」和簡單的「標點符號」,這個時候就不再需要有人帶領,許多讀者可以自己進行斷句,獨自閱讀一本書了。於是,在這個時候人們就可以切換到另外一種閱讀框架。這件事情的影響非常的深遠,因為這一整個新世代的讀者都可以自行默讀,有助於人們自己的獨立思考,進而激發出更多元的思考框架。
.
【建立思考框架的三個方式】
建立思考框架的方式有三個:想清楚因果關係,想像出平行現實,運用物理學定律制定適合的限制條件。這三個特色正是應用思考框架的時候最重要的因素。值得注意的是,思考框架本身並不是解決方案,而且是尋找解決方案的工具。以下分別介紹這三個方式:
.
1.#因果關係
人類運用因果思維來看待這個世界,可以更容易理解世界,也有助於預測未來可能發生的事情,可以說人類是天生「因果推理」的機器。相較起來,AI 科技就無法擁有自己的因果思維,而是需要人類幫忙設定。舉經典的 Dota 電腦遊戲來說,這是一個兩隊人馬 5 vs. 5 互相廝殺,力求破壞對方大本營的遊戲。
科學家找來遊戲高手擔任 AI 策略的開發人員,設計了一些獎勵因素,讓 AI 跟自己進行的數百萬次的對戰,反覆嘗試錯誤,找出最好的操作手法。但是當 AI 跟人類正式交鋒的時候,人類還是取得了上風,尤其在團隊合作上面 AI 顯得像一團散沙。
後來,開發人員發現說,一般玩家會分成三個階段來安排戰鬥,所以開發人員就依照這樣的順序安排程式,在不同的階段給予不同的策略,調整獎勵的優先次序。然後開發人員就發現說一開始機器人通常只會照顧自己,所以還得幫他們建立「團隊合作」精神的框架。他們建立起了一些跨越個人遊戲角色的「超參數」,調整成一隻要達成共同獎勵的團隊。經過這一些修改之後,AI 反過來把人類打得落花流水。
值得注意的是,電腦不是自己學會這些事情的,而是因為人類先輸入了一些「因果框架」的獎勵因素,才可以讓這些運算發揮它的功效。同樣的現象發生在其他像是圍棋和西洋棋遊戲的對決,真正的突破並不在於機器高速的數字運算,而在於人類調整了 AI 對於因果關係(獎勵)的思考框架。
.
2.#平行現實
書中的說法是「反事實思考」,但我認為有點難懂,用「想像出另一個平行現實」比較好理解。這個方法可以讓我們跳脫當下對世界的認知,想像出一個全新的情境,問自己:「如果……會怎樣?」就像是小孩子在玩扮家家酒,或者是科學家透過抽象理論設計出全新的實驗。透過想像出一個平行現實,我們可以將因果關係轉換成實際行動,測試看看可能有什麼影響,帶來什麼後果。
心理學家高普尼克(Gopnik)認為這種能力其實在人類孩童時期就已經具備了,他還把嬰兒稱為「搖籃裡的科學家」,她設計過一個很有趣的實驗名叫「贊多測試」的假裝遊戲(贊多指的是顏色鮮豔、形狀可愛的物體)。
實驗的第一階段,高普尼克和孩童待在同一個房間,孩童會學到一個因果關係:把贊多放到一個機器上面,機器就會播放生日快樂歌,幫一隻猴子玩偶慶生。然後,在實驗的第二階段,會有實驗人員走進來把機器和贊多拿走,高普尼克和孩童一起露出失望的表情。
這時候高普尼克會拿出一個「盒子」、兩個不同顏色的「積木」,並對孩童說:「我們假裝這個盒子是機器,這塊積木是贊多,另一塊積木不是贊多。」接著她鼓勵孩童繼續幫猴子玩偶慶生。此時,孩童挑選了正確的積木,放到盒子上。即使她把兩塊積木的定義互相對調,孩童都能夠選到正確的積木。
這個假裝遊戲的實驗,證實了人類自幼就擁有了反事實思考的能力,也就是有能力可以想像出另一個平行現實。高普尼克發現,更會玩假裝遊戲的孩子,就能對平行現實做出更好的推論。她說:「嬰兒和幼兒就像人類社會的研發部門,至於成人這是那些單調無聊的製造與行銷部門。」許多人在成年之後,反而容易落入單一現實的思考方式,而忘記了我們天生就有想像平行現實的能力。
.
3.#限制條件
作者提到,所謂的建立思考框架,並不是任由想像力無邊無際地飛翔,也不是像斷了線的氣球到處亂飄,而是要有一定程度的「條件限制」,有助於約束我們的想像力,讓平行現實的想像維持在可以執行的程度,這才能讓思考光架真正發揮效用。
書中舉了一個很像電影裡才會發生的真實故事「恩德培行動」,這是一個以色列精銳部隊在恩德培機場的行動中,從恐怖分子手裡救出人質的戰鬥情節。1976年,恐怖分子綁架了飛機上106名人質,關押在烏干達的恩德培機場航廈中。當時烏干達獨裁者跟以色列當局並不友好,出動軍隊肯定不是好的選項。另一個方案是讓突擊隊員假裝成獲釋的巴基斯坦犯人,但太容易被看穿了。還有人提議讓突擊隊員降落在機場旁的湖裡,但是湖裡有許多鱷魚,而且任務結束之後這麼多人該怎麼全身而退?
評估了各種可能選項後,在種種條件限制之下,以色列想出了一個奇招:讓突擊隊搭乘運輸機在夜間降落到機場,搭乘機場內常見的車輛前往航廈,消滅恐怖份子、救出人質之後搭乘運輸機直接回國。他們在空軍基地搭建了航廈的等比例模型,透過少數獲釋的人質口中知道人質的大約位置,並且一次又一次地排練所有行動,講究到每一秒、每一步該怎麼進行。
在一個沒有烏雲的午夜,29位突擊隊員搭乘運輸機降落機場,他們身穿烏干達軍隊的服裝開著機場車輛前往航廈。突擊隊以迅雷不及掩耳的速度突擊航廈,只花了十分鐘就解決所有的恐怖分子,然後就帶著人質直接搭乘運輸機返回以色列。整場行動中只有三位人質喪生,而且連烏干達政府都還來不及反應。這個故事從天馬行空的平行現實裡,限縮了各種條件,找出了最可行的方案,最後成功執行了這次任務。
.
【重啟另一種思考框架】
當你想要解決一個全新問題的時候,尤其是還沒有人曾經解決過的問題,你可能會感到不知所措。這個時候,先透過兩個步驟來思考:(1) 先從自己腦袋裡的框架庫找找看,有沒有其他適用和類似的框架、(2) 檢查其他不同領域的框架庫,看看有沒有能夠直接借用,小幅度調整就可以使用的框架。
如果這兩個步驟都找不到適合的框架庫,那麼才嘗試最困難、也是最後的殺手鐧:「發明新的思考框架」。作者提醒道:「切換到不同的思考框架,能讓你對世界有不同的觀點,但這也有風險。」一旦你重新找到一個新的思考框架,帶來的報酬可以是相當可觀的。
書中有一個重啟框架的例子很值得我們參考,美國紐澤西南邊的小城市康登市為了改善當地的犯罪率,直接解散整個警察隊伍並且重整執勤策略。當時城市的治安非常糟糕,市容也很破舊,到處都會發生大小程度不同的犯罪。這還不是最慘的,警方栽贓、造假、暴力執法的情況更是屢見不鮮。民眾除了害怕黑道,也非常害怕警察。
當地首長找來社區領袖和居民共同商討,最後決定放棄頭痛醫頭、腳痛醫腳的貼膏藥方式,採取全新的執法策略。解散警隊之後,他們精挑細選和新聘任的警察,改變了巡邏的方式。他們逐家登門拜訪、自我介紹、談談可以幫忙居民什麼。警察在街頭舉辦派對,和民眾聚餐,和小孩打籃球。
過去的思考框架是「警方將人民視為罪犯」,但是新的思考框架則是「警民一家親」的社區群體,警察從原本打擊犯罪的戰士,搖身一變成了社區當中親切的守護者。最後,康登市的犯罪率下少了一半,謀殺率少了六成,警方過度使用武力的案件少了九成五。重啟思考框架的方式,獲得了前所未有的成功。
.
【創造多元性的四種策略】
作者指出,很多人可能會認為,想要擁有多元性就代表要接觸大量的想法和觀點,其實那是抓錯了重點。多元性的優勢不是來自於數量,而是來自於差異。找出七百個類似的想法,不如找出七個不同的想法來得有價值。如果一個工具箱可以有七種不同的工具,絕對會比擁有七百把錘子的工具箱更加實用。
如果我們想要擁有多元的思考框架,就是要刻意的去營造,以及一起維護,這並不是一次的成功就可以高枕無憂。如同貝佐斯在《創造與漫想》書中提到的:「這個世界要你與眾無異,千方百計把你拉向跟大家一樣,別讓它得逞。」人類本能的從眾傾向,以及社會自然而然的同質化趨勢,都需要我們自己刻意地、有意識地選擇,才能夠擺脫與眾趨同的自然發展,擁抱更加多元化的觀點和想法。
如果你想為自己的生活、家庭、工作環境創造出多元性的樣貌,可以採取以下四種策略:擁抱變化,運用教育,鼓勵遷徙,容許摩擦。
.
1.#擁抱變化
如果一個思考框架一直以來都行不通,最好的做法就是擁抱改變,試試看別種思考框架。書中舉例同性戀婚姻的推動者,把美國從1995年支持同婚的人從25%提高到2020年將近70%。以前的同志運動一直把婚姻當成是核心議題,也一直把爭取這種「法律權利」當作是重點。但是進展並不顯著。
當時那種法律思考的框架,講究的是「法律權利」,但就是沒有效果。那種框架太缺乏想像力、太唯物主義,沒有說服力。到了2000年,他們研究很多民意調查還有焦點團體的意見,想弄清楚大家到底還有什麼疑慮。他們去思考說要怎麼樣用大眾的思考模式來談。最後他們選定了一個價值觀的思考框架,鎖定大部分的人結婚的原因:「愛、奉獻、家庭」。
他們把同性戀婚姻不再當成一種自由或者是權利,而是對於愛的表達與承諾。他們漸漸的讓大家知道,世界上有許許多多不同的框架,而且都同樣正當。到了2011年,第一次出現的黃金交叉,支持的人數正式超過了反對的人數。根據調查,只有14%的人會說這是一種「自由」,而有32%的人會說這是一種「愛」,是一種人類的情感。最後在2015年聯邦最高法院正式裁定的用憲法來保障同性伴侶的結婚權利。這並不是強迫民眾接受某種特定的思考框架,而是讓各種不同的思考方式能夠共存。
.
2.#運用教育
要建立起多元的思考框架,從教育著手是非常有效的模式。美國有一個很有趣的研究,就是去看美國的白人父母和黑人父母怎麼跟孩子談論種族。發自內心一片好意的白人父母,通常不會去刻意談到種族議題,因為他們相信「種族色盲」這種做法比較能夠讓孩子避免成為種族主義者。
另一方面,黑人父母卻常常和孩子討論種族議題,在他們看來,這種種族色盲的做法就是在故意忽視各種明顯的歧視現象。例如逛超市的黑人被懷疑是小偷,開著車子卻無緣無故被警察攔下來,黑人孩子的家庭教育就是要強調看到「種族的各種顏色」在日常生活的各種影響。
最後,這些社會學家發現,種族色盲的框架正好是種族歧視的主要來源,白人父母雖然出自於好意不想強調種族之間的差異,但也在無意之間,否認了有色人種遭受到歧視的真實狀況。這種教育方式忽略了差異,抹去了多元性。要培養多元的思考,就必須認識到差異的存在,承認仍然存在的落差。
.
3.#鼓勵遷徙
如果我們能夠鼓勵遷徙及流動,人們會把自己的文化和思考方式帶到別的地方,促進融合和變化。曾經有學者研究各個區域和城市的經濟成敗因素,發現了這些地區成功背後的原因有三個主要的因素:「科技、人才、寬容」。作者認為,「寬容」是其中最關鍵的一項,那些現在最開放的地方,經濟表現就最好。因為這些地方有更大的思考地圖,會讓人能夠放手冒險,這也是思考框架多元化所造成的經濟紅利。
像是美國被譽為一個民族「熔爐」,但是最近比較像一個「燉湯」,也就是讓裡面的好料都還維持各自的形狀。像是韓國人會住在洛杉磯的韓國城,華人會住在舊金山的唐人街,拉丁美洲的族群住在德州南方,古巴人住在佛羅里達州,巴西人就住在波士頓。雖然這種文化融合的速度不像我們想像中的快速,但是不同的文化激盪之下,也為美國社會注入了很多元的觀點和看法。
.
4.#容許摩擦
把社會上的摩擦,看成是這個社會的優勢、而非缺點。作者說到:「如果在社會裡面維持思考框架的多元化,確實會讓人們彼此之間感覺到不安很衝突,就是因為大家要看到彼此的不同,而且還要可以彼此互動。但畢竟,大家觀點不同、意見相對,本來就是正常生活該有的模樣。」
哈佛法律學院的昂格(Unger)教授認為,如果要讓政治進一步的去中心化,就必須要用一些反事實的模型來做思考。他說:「當社會很果斷地沿著一條路前進的時候,應該要多方下注,以避免損失,也就是要允許在特定的地點或部門,跳脫一般的解決方案,實驗看看不同的國家走向會怎樣。」
昂格鼓勵讓社會充滿摩擦,也鼓勵教育上面要用辯證式的討論方式,不要讓社會被束縛在單一的版本,而是可以嘗試其他的社會組織方式。運用和擁抱多元的思考框架,才能擁有多樣化的各種策略,再從中選取適合的方案。
.
【對思考框架保持警覺】
這本書告訴我們,幾乎沒有錯誤的思考框架,只有不適合某種情況的思考框架。而且各種框架應該要有共同存在的權利。但是作者們提醒我們要保持一個警覺,他們說:「唯一要注意的是,這種慷慨的態度要有一個前提,也就是說:『唯一』的一種錯誤的思考框架,就是拒絕其他的思考框架。」
要讓框架多元性的目的,就是為了讓各種框架可以彼此競爭、互補、對抗、共存。然而,如果有某一套思考框架的目的在於完全抹煞其他框架的存在,這就是不可被接受的。所以作者們才說:「如果你聽到有任何人或團體,說只有自己的思考框架放諸四海皆準,只有自己說的是真理的時候,千萬別相信。」
.
【後記:拓展想像的邊界】
如果說另一本我很喜歡的《超級思維》那本書是心智模型的「百科全書」,那麼《造局者》就像是心智模型的「使用指南」。書中有清楚的概念和步驟,讓我們了解為什麼要學習更多的心智模型,以及該怎麼樣活用各種心智模型,並且在必要的時刻推翻自己的假設,重新啟動一個新的心智模型。
這本書是今年我讀過的書裡面感到非常印象深刻,也讓我的思考方式深受啟發的。作者們把故事和理論的比例搭配得恰到好處,從一則又一則的故事和研究案例當中,會自然而然地理解作者們要帶給我們的觀點,也讓我感受到什麼叫做多元性,以及為何要擁抱差異。
從書中也可以發現,AI 並不會削弱心智模型的重要性,反而是增強了心智模型的重要性。因為 AI 無法自己建立思考框架,仍然只能依靠人類。人類最重要的特色就是可以處理「假設之外」的新問題,能夠把心智模型的空間拓展到可以親身體驗的範圍之外,也就是能夠做到抽象與推理。人類只靠著極少數的資料,甚至是完全沒有新的資料,就能夠適應全新的、過去從來沒有體驗過的情境。
作者最後提醒到:「這是一個救贖也是一個警訊:一個人如果擁有建立思考框架的能力,就會保有價值。但要是放棄了努力,沒有辦法做好這件事情,就會失去現在人類的特權地位。」我們能夠想像的邊界,就是我們世界的邊界。
.
Kobo 購書連結:https://bit.ly/3rRI8Kg
Kobo 電子書7折代碼:WAKIFRAMER
使用期限:8/15~8/21
.
感謝 天下文化 提供贈獎抽書
「運算子優先順序」的推薦目錄:
- 關於運算子優先順序 在 Facebook 的精選貼文
- 關於運算子優先順序 在 噗兒馬迷的加州育兒點滴 Facebook 的最佳貼文
- 關於運算子優先順序 在 Tony的玩樂生活筆記 Facebook 的精選貼文
- 關於運算子優先順序 在 [分享] 運算子優先順序?: 大於= 大於, - 看板C_and_CPP 的評價
- 關於運算子優先順序 在 【C 語言入門】3.6 - 運算子的優先順序 - YouTube 的評價
- 關於運算子優先順序 在 c語言運算子順序2023-在Facebook/IG/Youtube上的焦點新聞和 ... 的評價
- 關於運算子優先順序 在 c語言運算子順序2023-在Facebook/IG/Youtube上的焦點新聞和 ... 的評價
- 關於運算子優先順序 在 VBA - 運算子Operator | Welcome to e87042170's Homepage 的評價
- 關於運算子優先順序 在 標準Swift 運算子的優先順序 - 他山教程 的評價
- 關於運算子優先順序 在 Java 快速導覽- 運算子 - 程式語言教學誌FB, YouTube: PYDOING 的評價
運算子優先順序 在 噗兒馬迷的加州育兒點滴 Facebook 的最佳貼文
🔥【Plugo 獨家英文單字款 ! 限量開團中】
超厲害的啦!
結合STEAM與AR的PLUGO互動式益智教具組
終於開團啦!!!
【三款現貨】都只有30組
邏輯思考(Link) – 工程概念、邏輯分析、創意
數學計算(Count)-數感、理解、運算能力
樂器曲調(Tunes)-音感、韻律、專注力、反應力
【#全台獨家!英文單字款】也是30組!預計11月底到貨
字母學習(Letters)-語言、拼字、聽力
比起各種英語學習APP,
PLUGO的教具除了結合APP,
更讓孩子透過動手拼排字母的過程,加深印象!
PLUGO的其他 #貼心設計
🌟多國語言可切換
🌟可按照孩子年齡安排難易度
🌟可設定多組帳號,每人有自己的進度
🌟闖關模式,激起孩子的興趣與持續性
🌟適當的語速,同時練習英文聽力
🌟即時回饋,學習更快速
有私訊我的,也都優先傳連結給你們囉
➡️這裡下單:https://pse.is/39gtmf
➡️每款詳細介紹:https://reurl.cc/N6O03e
▍團購日期 ▍即日起~2020/11/02 (一)
▍出貨日期 ▍11/05依付款完成順序陸續出貨
若訂單含 "PLUGO 英單小老師” 預期11月底出貨
▍付款方式 ▍匯款/刷卡
▍運費說明 ▍滿2000元免運
不知道怎麼選擇的?私訊我吧❤️!
==================
現代孩子接觸3C的機會實在太多了
尤其現在因為疫情的關係,
孩子們更是名正言順的與3C密不可分
許多益智型的APP,更是標榜著邊玩3C邊學習
腦袋是動到了,仍然無法顧及
「動手操作&安全距離」這2個重點
而PLUGO互動式益智教具,
#本質上還是讓孩子動手操作,
只是透過平板來給予及時的回饋
以故事情節讓孩子有參與感
再透過闖關,累積星星數等小遊戲,
讓孩子願意一直挑戰
數學,語言,邏輯,藝術
透過不同教具,不同操作方式
讓孩子必須透過動手操作教具,才能連動程式,
不只是單純的點擊螢幕
光是這個設計,就能避免孩子一直盯著螢幕
而且教具與平板有固定的距離,不會越看越近
一定要放置在遊戲板上才能玩
所以需要坐好,不會玩一玩就倒在沙發上
3C世代的孩子,
要學習的是 #如何與3C和平共處
噗媽一樣建議,孩子越晚接觸3C越好
有限度,有選擇的提供,
不要讓3C取代陪伴
也可以在陪伴孩子的時間裡,
用PLUGO【讓孩子的“螢幕時間”變得更有意義】
1.留言告訴我你最喜歡哪一款Plugo
2.公開分享這篇到個人臉書
3.團購結束後,送一組加加積木給幸運兒唷~❤️
#贈品照片在最後一張
運算子優先順序 在 Tony的玩樂生活筆記 Facebook 的精選貼文
Linksys MR8300 電競 Mesh WiFi網狀路由器-三頻 AC2200
先創代理正品 原全新價為NT$5,290
原廠介紹﹕
========================================
手遊致勝利器。
三頻 mesh 提供最高達2.2 Gbps的出色速度。
遊戲專屬獨立頻段,網速不拖慢。
Quad Core 四核處理器,高效能運算。
Ping值更低,延遲更少,帶來暢快高速的遊戲體驗。
先進的MU-MIMO技術,同時連接多種設備。
設備優先順序管理機制,讓遊戲裝置優先使用網路資源。
4個Gigabit乙太網路連接埠+1個Gigabit網際網路連接埠。
4個可調天線+6個大功率放大器。
可與 Linksys Velop 完美搭配,增加節點覆蓋更方便。
韌體自動更新,資安有保障。
安裝簡單,透過手機APP與藍牙即可完成設定。
https://goods.ruten.com.tw/item/show?22013384192757
運算子優先順序 在 【C 語言入門】3.6 - 運算子的優先順序 - YouTube 的推薦與評價
Python、C++ 與C 的LeetCode 七月挑戰 · Mix - Feis Studio · 邊聊邊入門Python 程式設計 · 【C 語言入門】4.3 - 滿額折扣計算練習(使用if 述句) · 翰林國中 ... ... <看更多>
運算子優先順序 在 c語言運算子順序2023-在Facebook/IG/Youtube上的焦點新聞和 ... 的推薦與評價
運算子優先 權(C 語言)Percedence Table 運算子Operator 說明Description 結合 ... 本篇文章是對C語言中運算子的優先順序進行了詳細的分析介紹,需要的朋友參考下每當想 ... ... <看更多>
運算子優先順序 在 [分享] 運算子優先順序?: 大於= 大於, - 看板C_and_CPP 的推薦與評價
C++ Primer 4/e (P.170) 中,運算子優先序 (Operator Precedence) 如下表:
?: (conditional) expr ? expr : expr 右—結合性
= (assignment) lvalue = expr 右—結合性
, (comma) expr, expr 左—結合性
####
考慮以下程式:
int main() {
1 ? puts("123"), puts("456") : puts("789"), puts("ABC");
return 0;
}
執行後:
123
456
ABC
眾所接知的是 ?: 是唯一的三元運算子,所以上面的運算中,
運算元I 必然是常數 1,
運算元II 只能是被夾在中間的運算式 puts("123"), puts("4567"),
運算元III 有兩種可能:
puts("789")
puts("789"), puts("ABC")
其中,第二種可能代表 puts(789) 先與 comma 綁定成一體,
成為 (puts("789"), puts("ABC")) 之後,才以運算元III 的身份參戰。
從結果來看,顯然 comma 運算子的優先次序,確實低於 ?: 運算子。
####
接著把 , 改成 = (賦值),再次驗證 ?: 的優先地位。
#include <stdio.h>
int main() {
int a = 1, b = 2;
1 ? a = 55 : b = 66;
printf("a = %d, b = %d", a, b);
return 0;
}
執行後 (C++ Compiler):
a = 55, b = 2
執行後 (C Compiler):
error C2106: '=' : 左運算元必須是左值 (l-value)
這裡就出現爭議了。
####
假設: 其實 ?: 優先權高於 assignment (=)
那就應該跟上次的分析過程相同,其運算元III 同樣為 b,又判斷式為 true,
最終傳回運算元II 當作 result,再以此 result 去執行最後的 = 66,
即 if (true) { (a = 55) = 66 };
又 C99 標準的規定是:
A conditional expression does not yield an lvalue.
故 55 = 66 得到一個 C2106 編譯錯誤,也是合情合理的。
又 C++03 標準的規定是:
If the second and third operands are lvalues and
have the same type, the result is of that type and is an lvalue.
故 (a = 55) 可以得到同樣是 int 型態的左值,最後再跑 = 66
理論上,最後會讓 a 變成 66,但實際結果是 55。
可見「?: 優先權高於 =」這個假設是錯的。
假設: 其實 ?: 優先權跟 assignment (=) 相等
在這個假設之下,因為 b 參與 ?: 跟 = 兩個運算子,雙方優先權相等,
所以依照右結合性,運算元III 將是 (b = 66),最終結果吻合 C++ 編譯器
跑出來的結果。
但 C 編譯器說「左運算元必須是左值」,此錯誤在此假設下,
就變成無理取鬧了。
運算元II 中「a = 55」是左值;
運算元III 中「b = 66」 亦為左值。
可見「?: 優先權等於 =」這個假設應該也是錯的。
世界上根本就沒有 "運算子優先權表",也可以說人人都是...
在 C++03 標準中,有這麼一句話:
The precedence of operators is not directly specified,
but it can be derived from the syntax.
根據 C99 / C++03 兩標準,可知
conditional-expression:
logical-or-expression
logical-or-expression ? expression : ┌ C++ 標準:assignment-expression
└ C99 標準:conditional-expression
重點就是,"assignment-運算式" 包含 "conditional-運算式",前者是後者的超集,
一個 "賦值運算式" 文法上可以替換成 "條件運算式",但反過來就不行。
所以 1 ? a = 55 : b = 66; 這個 statement 中,
可以把 b = 66 當成 "賦值運算式",最終使整個 statement,
在 C++ 文法下變成一組條件運算式。
但 C 的文法下,運算元III 要求是更狹窄的條件運算式,所以只能是 b 本身,
最終導致 a 的右值無法跟 66 進行運算的錯誤。
至於 comma 運算子,只能出現在 "賦值運算式" 的超集 "expression" 內:
expression:
assignment-expression
expression , assignment-expression
已知 "expression" 可以轉成 "賦值運算式",但是 "賦值運算式" 無法長大
變成 "expression",故 ?: 的運算元III 不會有 , 的參與。
故 1 ? puts("123"), puts("456") : puts("789"), puts("ABC"); 的結果
會是印出 123 456 ABC
除非在 "expression" 左右兩邊加上 () 就會變成 primary-expression,就可視為
單純的運算元使用了。
關於 ?: 的總結
一、不當左值用
int a = 10; int b = 20;
( 1 ? (a = 30) : (b = 40) ) = 50;
printf("a = %d, b = %d\n", a, b);
結果是 a = 50, b = 20
哪天心血來潮把這段 code 貼到 C 就編譯錯誤了;
在 C++,把 int b 改成 short int b 就又編譯錯誤了,不經改的東西很難用。
二、最好不要用
看別人程式碼,若運算式寫落落長,又沒加小括號,
這時看運算子優先權表格來判斷,還是很方便的,前提就是別碰到 ?:
根據經驗,只要 ?: 的冒號後面塞了一堆東西,就是傷眼睛的時候了。
賦值變數 = ? 數值1 : 數值2;
求絕對值函數( (a > b)? 數值1 : 數值2 );
像這樣簡單的形式,則是無妨的。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.132.109
感謝。
依據 C++03 在 5.17 Assignment operators 的內文中說:
The result of the assignment operation is the value stored in the
left operand after the assignment has taken place;
the result is an lvalue.
所以 (a = 55) = 66 這樣的運算,在 C++ 環境下,a 應該可以得到 66。
同時,在 C 的環境下,總是會變成 invalid lvalue in assignment 編譯錯誤。
不知道這樣理解對嗎?謝謝。
... <看更多>