演算法思維測試
Ⅰ YCL青少年人工智慧編程水平測試怎麼樣都考些什麼
是權威、專業,是政府單位舉辦的考試。編程水平測試涵蓋從數學邏輯到計算思維、從拖拽語句模塊到語句編寫、從數學建模到演算法設計等多學科知識。
青少年人工智慧編程水平測試(YCL)是行業唯一由中央部委直屬單位主辦的青少年編程等級考試,並且還有雙公章聯合認證。考試本身能集中檢驗孩子學習成果,是對孩子編程能力的標准化、專業化測評,能增強孩子學習動力。
它的主辦單位是工業和信息化部教育與考試中心、中國電子教育學會。主要用於考查青少年在程序思維、編程語言、數據處理及人工智慧演算法方面的能力水平。
題庫開發單位為中國科學院計算技術研究所,匯聚了人工智慧、機器人、計算機等相關專業院士、教授、學科帶頭人、中小學一線特級高級教師、各類賽事裁判長等行業知名專家,共同對考試題庫進行全面開發,能夠保證考試題目的專業性、權威性和公正性。
含金量——主辦單位+認證證書
青少年人工智慧編程水平測試(YCL等級考試)的主辦單位是工業和信息化部教育與考試中心、中國電子教育學會。
據官方網站顯示,工業和信息化部教育與考試中心是工業和信息化部直屬事業單位,承擔中國計算機技術與軟體專業技術資格(水平)考試、通信專業技術人員職業水平考試、電子通信行業職業技能鑒定、全國信息技術人才培養工程、產業工人網路平台建設等人才培養選拔工作。
YCL等級考試證書也將由工業和信息化部教育與考試中心、中國電子教育學會共同頒發,同時在青少年人工智慧編程水平測試官網以及工業和信息化部教育與考試中心官網雙渠道進行查詢。
Ⅱ 邏輯思維訓練題:小王是怎麼算出來的
被5除餘3=>8
然後8加上5的n倍構成除7餘4
8+5*2=7*2+4=>18
18加上5*7的倍數構成除11餘6,18/11餘6,35/11餘2,因此需要5倍的35加上才能構成除11餘6
18+35*5=17*11+6=>193
最後人數在1700到1800之間,所以:
(1800-193)/(5*7*11)=4.1
=>總人數=4*(5*7*11)+193=1733人
Ⅲ 在我們計算,有沒有那些計算方式符合我們計算機的思維
計算思維是建立在計算過程的能力和限制之上的,不管這些過程是由人還是由機器執行的。計算方法和模型給了我們勇氣去處理那些原本無法由任何個人獨自完成的問題求解和系統設計。計算思維直面機器智能的不解之謎:什麼人類能比計算機做得更好?什麼計算機能比人類做得更好?最基本的是它涉及這樣的問題:什麼是可計算的?今天,我們對這些問題的答案仍是一知半解。
計算思維是每個人的基本技能,不僅僅屬於計算機科學家。在閱讀、寫作和算術(英文簡稱3R)之外,我們應當將計算思維加到每個孩子的解析能力之中。正如印刷出版促進了3R的傳播,計算和計算機也以類似的正反饋促進了計算思維的傳播。
計算思維涉及運用計算機科學的基礎概念去求解問題、設計系統和理解人類的行為。計算思維涵蓋了反映計算機科學之廣泛性的一系列思維活動。
當求解一個特定的問題時,我們會問:解決這個問題有多困難?怎樣才是最佳的解決之道? 計算機科學根據堅實的理論基礎來准確地回答這些問題。表明問題的困難程度是為了考量機器——就是用來運行其解的計算工具之基本能力。我們必須考慮機器的指令系統、它的資源約束和它的操作環境。
為了有效地求解一個問題,我們可能要進一步問:一個近似解是否就足夠了,是否可以利用一下隨機化,以及是否允許誤正或誤負。計算思維就是把一個看來困難的問題重新闡述成一個我們知道怎樣解的問題,如通過約簡、嵌入、轉化和模擬的方法。
計算思維是一種遞歸思維。它是並行處理。它是把代碼譯成數據又把數據譯成代碼。它是由推廣量綱分析進行的類型檢查。對於別名或賦予人與物多個名字的做法,它既知道其益處又了解其害處。對於間接定址和程序調用的做法,它既知道其威力又了解其代價。它評價一個程序時,不僅僅根據其准確性和效率,還有美學的考量,而對於系統的設計,還考慮簡潔和優雅。
計算思維採用了抽象和分解來迎戰浩大復雜的任務或者設計巨大復雜的系統。它是關注的分離。它是選擇合適的方式去陳述一個問題,或者是選擇合適的方式對一個問題的相關方面建模使其易於處理。它是利用不變數簡明扼要且表述性地刻畫系統的行為。它是我們在不必理解每一個細節的情況下就能夠安全地使用、調整和影響一個大型復雜系統的信心。它就是為預期的多個用戶而進行的模塊化,它就是為預期的未來應用而進行的預置和緩存。
計算思維是通過冗餘、堵錯、糾錯的方式,在最壞情況下進行預防、保護和恢復的一種思維。它稱堵塞為死結,叫合同為界面。它就是學習在諧調同步相互會合時如何避免競爭的情形。
計算思維是利用啟發式推理來尋求解答。它就是在不確定情況下的規劃、學習和調度。它就是搜索、搜索、再搜索,最後得到的是一系列的網頁,一個贏得游戲的策略,或者一個反例。計算思維是利用海量的數據來加快計算。它就是在時間和空間之間,在處理能力和存儲容量之間的權衡。
考慮這些日常中的事例:當你女兒早晨去學校時,她把當天需要的東西放進背包;這就是預置和緩存。當你兒子弄丟他的手套時,你建議他沿走過的路回尋;這就是回推。在什麼時候你停止租用滑雪板而為自己買一對呢?這就是在線演算法。在超市付賬時你應當去排哪個隊呢?這就是多伺服器系統的性能模型。為什麼停電時你的電話仍然可用?這就是失敗的無關性和設計的冗餘性。完全自動的大眾圖靈測試是如何區分計算機和人類(簡稱CAPTCHA)的,即CAPTCHAs是怎樣鑒別人類的?這就是充分利用求解人工智慧難題之艱難來挫敗計算代理程序。
計算思維將滲入到我們每個人的生活之中,那時諸如演算法和前提條件已成為每個人日常詞彙的一部分,非確定論和垃圾收集已含有計算機學家所指的含義,而樹已常常被倒過來畫了。
我們已見證了計算思維在其它學科中的影響。例如,機器學習已經改變了統計學。就數據尺度和維數而言,統計學慣用於各類問題的規模僅在幾年前還是不可想像的。各種組織的統計部門都聘請了計算機科學家。計算機學院系正在聯姻已有或開設新的統計部門。
計算機學家們近來對生物科學的興趣是由他們堅信生物學家能夠從計算思維中獲益的信念驅動的。計算機科學對於生物學的貢獻決不限於其能夠在海量時序數據中搜索尋找模式規律的本領。最終的希望是數據結構和演算法——我們的計算抽象和方法——能夠以闡釋其功能的方式表示蛋白質的結構。計算生物學正在改變著生物學家的思考方式。類似地,計算博弈理論正改變著經濟學家的思考方式,納米計算改變著化學家的思考方式,量子計算改變著物理學家的思考方式。
這種思維將成為不僅僅是其他科學家,而且是其他每一個人的技能組合之部分。普在計算之於今天就是計算思維之於明天。普在計算是已變為今日之現實的昨日之夢,計算思維就是明日之現實。
它是什麼,又不是什麼
計算機科學是計算的學問——什麼是可計算的,怎樣去計算。因此,計算思維具有以下特性:
概念化,不是程序化。計算機科學不是計算機編程。像計算機科學家那樣去思維意味著遠遠不止能為計算機編程。它要求能夠在抽象的多個層次上思維。
基礎的,不是機械的技能。基礎的技能是每一個人為了在現代社會中發揮職能所必須掌握的。生搬硬套之機械的技能意味著機械的重復。具有諷刺意味的是,只有當計算機科學解決了人工智慧的宏偉挑戰——使計算機像人類一樣思考之後,思維才會變成機械的生搬硬套。
人的,不是計算機的思維。計算思維是人類求解問題的一條途徑,但決非試圖使人類像計算機那樣地思考。計算機枯燥且沉悶;人類聰穎且富有想像力。我們人類賦予計算機以激情。配置了計算設備,我們就能用自己的智慧去解決那些計算時代之前不敢嘗試的問題,就能建造那些其功能僅僅受制於我們想像力的系統。
數學和工程思維的互補與融合。計算機科學在本質上源自數學思維,因為像所有的科學一樣,它的形式化解析基礎築於數學之上。計算機科學又從本質上源自工程思維,因為我們建造的是能夠與實際世界互動的系統。基本計算設備的限制迫使計算機學家必須計算性地思考,不能只是數學性地思考。構建虛擬世界的自由使我們能夠超越物理世界去打造各種系統。
是思想,不是人造品。不只是我們生產的軟體硬體人造品將以物理形式到處呈現並時時刻刻觸及我們的生活,更重要的是還將有我們用以接近和求解問題、管理日常生活、與他人交流和互動之計算性的概念;而且,
面向所有的人,所有地方。當計算思維真正融入人類活動的整體以致不再是一種顯式之哲學的時候,它就將成為現實。
許多人將計算機科學等同於計算機編程。有些家長為他們主修計算機科學的孩子看到的只是一個狹窄的就業范圍。許多人認為計算機科學的基礎研究已經完成,剩下的只是工程部分而已。當我們行動起來去改變這一領域的社會形象時,計算思維就是一個引導著計算機教育家、研究者和實踐者的宏大願景。我們特別需要走進大學之前的聽眾,包括老師、父母、學生,向他們傳送兩個主要信息:
1)智力上極有挑戰性並且引人入勝的科學問題依舊亟待理解和解決。這些問題的范圍和解決方案的范圍之唯一局限就是我們自己的好奇心和創造力;同時一個人可以主修計算機科學並且干什麼都行。一個人可以主修英語或者數學,接著從事各種各樣的職業。計算機科學也一樣。一個人可以主修計算機科學,接著從事醫學、法律、商業、政治,以及任何類型的科學和工程,甚至藝術工作。
2)計算機科學的教授應當為大學新生開一門稱為「怎麼像計算機科學家一樣思維」的課,面向非專業的,而不僅僅是計算機科學專業的學生。我們應當使大學之前的學生接觸計算的方法和模型。我們應當設法激發公眾對於計算機領域中的科學探索之興趣,而不是悲嘆對其興趣的衰落或者哀泣其研究經費的下降。所以,我們應當傳播計算機科學的快樂、崇高和力量,致力於計算思維的常識化。
Ⅳ 誰有邏輯思維測試題越多越好
1)兩地旅行
我租了一輛旅遊小車,離開阿姆斯特丹,向花城亞里士梅爾出發了。
在阿姆斯特丹和亞里士梅爾兩城正中間有一K鎮,鎮上有兩個 朋友A和B也乘上了我們的車。三人愉快地度過一天的旅行後,准備返回,可是A決定在K鎮下車,B隨我回阿姆斯特丹。現在仍按荷蘭式的均攤方式,准備各付自己的旅程費。從阿姆斯特升到亞里士梅爾規定往返要付24盾 (約合20元人民幣)。K域位於兩城的正中間,那麼三個人應各付多少錢?
答案:我付10.7盾,A付5.3盾,B付8盾
我的思路:設K鎮與亞里士梅爾或阿姆斯特丹的路程為X,則A走了2段路程,B走了3段路程,我走了4段路程,按比例分配旅費即可。
2)耕地能手和播種能手
新德里郊區有個庄園主,雇了兩個小工為他種小麥。其中A是 一個耕地能手,但
不擅長播種;而B耕地很不熟練,但卻是播種的能手。庄園主決定種10公畝地的小麥,讓他倆各包一半,於是A從東頭開始耕地,B從西頭開始耕。A耕地一畝用20分鍾,B卻用40分鍾,可是B播種的速度卻比A快3倍。 耕播結束後,庄園主根據他們的工作量給了他倆100盧比工錢。
他倆怎樣分才合理呢?
答案:每人一半,各拿50盧比。因為不論每個人幹活速度如何,庄園主早就決定他們兩人 "各包一半"。因此他們二人的耕地、播種面積 都是一樣的,工錢當然也應各拿一半。
我的思路:
工錢是按面積算的,只要抓住「各包一半」即可。
3)叫喊幾分鍾
沙漠中的駱駝商隊,通常把體弱的駱駝夾在中間,強壯的走在兩頭,駝隊排成一行
按順序前迸。商人為了區別它們,就在每一頭駱駝身上蓋上火印,枝而引頂序,在給駱駝打火印時,它們都要痛得叫喊5分鍾。
問:若某個商隊共有10頭駱駝,蓋火印時的叫喊聲最少要聽幾分鍾,假如叫聲是不重
疊在一起的。
答案:45分鍾。開始你也許會想是5x10=50。可是因為火印蓋到第九隻駱駝,剩下的一隻,他們就不蓋了,因為不蓋也能與其他的區別。
啟發:做人要靈活。
4)應該找多少零錢
進了一家禮品商店,看到一架照相機,這種照相機在日本連皮套 共值3萬日元,可這家商店要310美元 (要美元,不要泰國銖),摺合日元約為4萬多日元。照相機的價錢比皮套貴300美元,剩下的就是皮套的價錢。請問:現買一副皮套拿出100美元,應該找多少零錢?
答案:不仔細考慮,就會中計受騙。假如皮套是10美元,那麼照相機比它貴300美元,即310美元。加在一起就成為320美元。正確答案 應該是皮套5美元,應找零錢95美元。這樣,照相機為305美元,加皮套共310美元,才符合計算。
我的思路:設皮套為X,照相機為300+X,即2X+300=310,X=5。只是用到初中的數學知識。
5)大小燈球
"雞兔同籠"的算題和演算法,在中國古代的民間廣為流傳,甚至被譽為"了不起的妙算"。以至清代小說家李汝珍,把它寫到自己的 小說《鏡花緣》中。
《鏡花緣》寫了一個才女米蘭芬計算燈球的故事——
有一次米蘭芬到了一個闊人家裡,主人請她觀賞樓下大廳里五彩繽紛、高低錯落、宛若群星的大小燈球。
主人告訴她:"樓下的燈分兩種:一種是燈下一個大球,下綴兩個小球;另一種是燈下一個大球,下綴四個小球。樓下大燈球共360 個,小燈球1200個。"
主人請她算一算兩種燈各有多少。
答案:一個大燈球下綴兩個小燈球當是雞,一個大燈球下綴四個小燈球當是兔。 (360x4-1200)/(4-2)=240/2=120 (一大二小燈的盞數) 360-120=240(一大四小燈的盞數)
我的思路:設每一種燈為X,另一種燈為Y,則有
X+Y=360;2X+4Y=1200;解得:X=120,Y=240。
6)粗木匠的難題
木匠拿來一根雕刻著花紋的小木柱說:
"有一次,一位住在倫敦的學者,拿給我一根3英尺長,寬和厚均為1英尺的木料,希望我將它砍削、雕刻成木柱,如你們現在看到 的樣子。學者答應補償我在做活時砍去的木材。我先將這塊方木稱一稱,它恰好重30磅,而要做成的這根柱子只重20磅。因此,我從方木上砍掉了1立方英尺的木材,即原來的三分之一。但學者拒不承認,他說,不能按重量來計算砍去的體積,因為據說方木的中間部分要重些,也可能相反。請問,我在這種情況下怎樣向好挑剔的學者證明,究竟砍掉了多少木材?"
乍一看,這個問題很困難,但答案卻如此簡單,以致粗木匠的辦法人人皆知。這種小聰明在日常生活中也是很有用的。
答案:木匠說,他做一個箱子,內部的尺寸精確得與最初的方木相同, 即是3x1x1。然後,他把己雕刻好的木柱放入箱內,而在空檔處塞滿干沙土。然後,他細心地振動箱子,使得箱內沙土填實並與箱口齊平。然後,木匠輕輕取出木柱,不帶出任何沙粒,再把箱內的沙土搗 平,量出其深度便能證明,木柱能占的空間恰為2立方英尺。這就是 說,木匠砍削掉一立方英尺的木材。
啟發:做這題時讓我想起了〈〈稱象〉〉的故事。
7)鳥與木柱
有一群鳥,還有一堆木柱, 如果一隻鳥落在一個柱的話, 剩下一個鳥沒地方落
如果一個木柱兩只鳥的話, 那就多了一個木柱, 問有多少只鳥, 多少個木柱?
答案:給個干擾答案: 設鳥=X,木柱=Y ;X=Y+1 ,Y=X/2+1 ;X=?Y=? 四隻鳥,三隻木樁。
但不全對,如果是謙讓的鳥,它們就飛走了,另找他地。 如果是貪婪的鳥,那麼它們為爭搶多出來的木樁 就會大打出手。
所以。答案是四隻木樁,零隻鳥。
啟發:要留意生活。
1.IBM社會招聘筆試題 1.一個粗細均勻的長直管子,兩端開口,裡面有4個白球和4個黑球,球的直徑、兩端開口的直徑等於管子的內徑,現在白球和黑球的排列是wwwwbbbb,要求不取出任何一個球,使得排列變為bbwwwwbb。
2.一隻蝸牛從井底爬到井口,每天白天蝸牛要睡覺,晚上才出來活動,一個晚上蝸牛可以向上爬3尺,但是白天睡覺的時候會往下滑2尺,井深10尺,問蝸牛幾天可以爬出來?
3.在一個平面上畫1999條直線最多能將這一平面劃分成多少個部分? 4.在太平洋的一個小島上生活著土人,他們不願意被外人打擾,一天,一個探險家到了島上,被土人抓住,土人的祭司告訴他,你臨死前還可以有一個機會留下一句話,如果這句話是真的,你將被燒死,是假的,你將被五馬分屍,可憐的探險家如何才能活下來?
5.怎樣種四棵樹使得任意兩棵樹的距離相等。
6.27個小運動員在參加完比賽後,口渴難耐,去小店買飲料,飲料店搞促銷,憑三個空瓶可以再換一瓶,他們最少買多少瓶飲料才能保證一人一瓶?
7.有一座山,山上有座廟,只有一條路可以從山上的廟到山腳,每周一早上8點,有一個聰明的小和尚去山下化緣,周二早上8點從山腳回山上的廟里,小和尚的上下山的速度是任意的,在每個往返中,他總是能在周一和周二的同一鍾點到達山路上的同一點。例如,有一次他發現星期一的8點30和星期二的8點30他都到了山路靠山腳的3/4的地方,問這是為什麼?
8、美國有多少輛汽車?
9、將汽車鑰匙插入車門,向哪個方向旋轉就可以打開車鎖?
10你讓某些人為你工作了七天,你要用一根金條作為報酬。這根金條要被分成七塊。你必須在每天的活幹完後交給他們一塊。如果你只能將這根金條切割兩次,你怎樣給這些工人分?
11一列火車以每小時15英里的速度離開洛杉磯,朝紐約進發。另外一列火車以每小時20英里的速度離開紐約,朝洛杉磯進發。如果一隻每小時飛行25英里的鳥同時離開洛杉磯,在兩列火車之間往返飛行,請問當兩列火車相遇時,鳥飛了多遠?
12假設一張圓盤像唱機上的唱盤那樣轉動。這張盤一半是黑色,一半是白色。假設你有數量不限的一些顏色感測器。要想確定圓盤轉動的方向,你需要在它周圍擺多少個顏色感測器?它們應該被擺放在什麼位置?
13假設時鍾到了12點。注意時針和分針重疊在一起。在一天之中,時針和分針共重疊多少次?你知道它們重疊時的具體時間嗎?
14你有兩個罐子,分別裝著50個紅色的玻璃球和50個藍色的玻璃球。隨意拿起一個罐子,然後從裡面拿出一個玻璃球。怎樣最大程度地增加讓自己拿到紅球的機會?利用這種方法,拿到紅球的幾率有多大?
15中間只隔一個數字的兩個奇數被稱為奇數對,比如17和19。證明奇數對之間的數字總能被6整除(假設這兩個奇數都大於6)。現在證明沒有由三個奇數組成的奇數對。
16一個屋子有一個門(門是關閉的)和3盞電燈。屋外有3個開關,分別與這3盞燈相連。你可以隨意操縱這些開關,可一旦你將門打開,就不能變換開關了。確定每個開關具體管哪盞燈。
17假設你有8個球,其中一個略微重一些,但是找出這個球的惟一方法是將兩個球放在天平上對比。最少要稱多少次才能找出這個較重的球?
18假設你站在鏡子前,抬起左手,抬起右手,看看鏡中的自己。當你抬起左手時,鏡中的自己抬起的似乎是右手。可是當你仰頭時,鏡中的自己也在仰頭,而不是低頭。為什麼鏡子中的影像似乎顛倒了左右,卻沒有顛倒上下?
答案:
1,管子口對口彎曲,形成一個圓環。
2、8天(第7天已爬7尺)
3,0條直線分平面為1份
1條(1+1)份,2條(2+1+1)份,3條(3+2+1+1份
1999條(1999+1998+1997+-------+2+1+1)份為1999001份
4,我將被五馬分屍,若為真則會燒死則假,若為假則五馬分屍則為真
5,種在一個坑或按立體的正四面體的頂點排列
6,18瓶,18---6---2再借一瓶喝完後用三個空瓶換得一瓶再還回去
7,這好比兩個小和尚在8點同時從山頂山腳出發,必有相遇的時刻此時他總是能在周一和周二的同一鍾點到達山路上的同一點.
8,不知道
9,順時針
10,按1,2,4分開第1天給1,第二天拿走1給2
11,設兩地距離akm則飛了a/35*25=(5/7)a
12,2個為a,b,均放在左側a在左上,b在左下,若a先於b變化,則順時針,b先於a變化,則逆時針
13,22次,因為時針速度0.5度/min,分針速度6度/min
兩次相遇的間隔距離為360度,需360/(6-0.5)=65又5/11min
一天24小時得24*60/65又5/11=22
14將裝有紅球罐子的49個紅球拿到藍球罐子中,一個留下
那到紅求的概率為1/2+(1/2)*49/99=74/99=74.74747%
15是不是奇數對中各數之和被六整除
證:設奇數對中兩個奇數為2x-1,2x+1
則之間的數為2x
和為6x,被6整除
證明沒有由三個奇數組成的奇數對
證:假設有三個奇數組成的奇數對,為a,b,c
且a<b<c
則a與b,b與c,c與a均為奇數對
所以a+1=b,a+1=c
所以b=c矛盾
所以不存在
16,設開關a,b,c
打開a一段時間,關上,開b
開門
亮著的燈與b相連
未亮但有熱度的與a相連
剩下一個與c相連
17,兩次
將小球編號1,2,3,4,5,6,7,8
1,2,3放在天平左端
4,5,6放在天平右端
7,8不放
若左端下沉則將1,2,3中
1放在左端,2在右端,3不放
哪端下沉即為重球,都不下沉則3為重球
若右端下沉方法類似
若都不下沉
則把7放在左端,8右端
哪端下沉即為重球
Ⅳ 演算法面試
我在《再談「我是怎麼招程序員」》中比較保守地說過,「問難的演算法題並沒有錯,錯的很多面試官只是在膚淺甚至錯誤地理解著面試演算法題的目的。」,今天,我想加強一下這個觀點——我反對純演算法題面試!(注意,我說的是純演算法題)圖片源Wikipedia(點擊圖片查看詞條)我再次引用我以前的一個觀點——能解演算法題並不意味著這個人就有能力就能在工作中解決問題,你可以想想,小學奧數題可能比這些題更難,但並不意味著那些奧數能手就能解決實際問題。好了,讓我們來看一個示例(這個示例是昨天在微博上的一個討論),這個題是——「找出無序數組中第2大的數」,幾乎所有的人都用了O(n)的演算法,我相信對於我們這些應試教育出來的人來說,不用排序用O(n)演算法是很正常的事,連我都不由自主地認為O(n)演算法是這個題的標准答案。我們太習慣於標准答案了,這是我國教育最悲哀的地方。(廣義的洗腦就是讓你的意識依賴於某個標准答案,然後通過給你標准答案讓你不會思考而控制你)功能性需求分析試想,如果我們在實際工作中得到這樣一個題 我們會怎麼做?我一定會分析這個需求,因為我害怕需求未來會改變,今天你叫我找一個第2大的數,明天你找我找一個第4大的數,後天叫我找一個第100大的數,我不搞死了。需求變化是很正常的事。分析完這個需求後,我會很自然地去寫找第K大數的演算法——難度一下子就增大了。很多人會以為找第K大的需求是一種「過早擴展」的思路,不是這樣的,我相信我們在實際編碼中寫過太多這樣的程序了,你一定不會設計出這樣的函數介面 —— Find2ndMaxNum(int* array, int len),就好像你不會設計出 DestroyBaghdad(); 這樣的介面,而是設計一個DestoryCity( City& ); 的介面,而把Baghdad當成參數傳進去!所以,你應該是聲明一個叫FindKthMaxNum(int* array, int len, int kth),把2當成參數傳進去。這是最基本的編程方法,用數學的話來說,叫代數!最簡單的需求分析方法就是把需求翻譯成函數名,然後看看是這個介面不是很二?!(註:不要糾結於FindMaxNum()或FindMinNum(),因為這兩個函數名的業務意義很清楚了,不像Find2ndMaxNum()那麼二)非功能性需求分析性能之類的東西從來都是非功能性需求,對於演算法題,我們太喜歡研究演算法題的空間和時間復雜度了。我們希望做到空間和時間雙豐收,這是演算法學術界的風格。所以,習慣於標准答案的我們已經失去思考的能力,只會機械地思考演算法之內的性能,而忽略了演算法之外的性能。如果題目是——「從無序數組中找到第K個最大的數」,那麼,我們一定會去思考用O(n)的線性演算法找出第K個數。事實上,也有線性演算法——STL中可以用nth_element求得類似的第n大的數,其利用快速排序的思想,從數組S中隨機找出一個元素X,把數組分為兩部分Sa和Sb。Sa中的元素大於等於X,Sb中元素小於X。這時有兩種情況:1)Sa中元素的個數小於k,則Sb中的第 k-|Sa|個元素即為第k大數;2) Sa中元素的個數大於等於k,則返回Sa中的第k大數。時間復雜度近似為O(n)。搞學術的nuts們到了這一步一定會歡呼勝利!但是他們哪裡能想得到性能的需求分析也是來源自業務的!我們一說性能,基本上是個人都會問,請求量有多大?如果我們的FindKthMaxNum()的請求量是m次,那麼你的這個每次都要O(n)復雜度的演算法得到的效果就是O(n*m),這一點,是書獃子式的學院派人永遠想不到的。因為應試教育讓我們不會從實際思考了。工程式的解法根據上面的需求分析,有軟體工程經驗的人的解法通常會這樣:1)把數組排序,從大到小。2)於是你要第k大的數,就直接訪問 array[k]。排序只需要一次,O(n*log(n)),然後,接下來的m次對FindKthMaxNum()的調用全是O(1)的,整體復雜度反而成了線性的。其實,上述的還不是工程式的最好的解法,因為,在業務中,那數組中的數據可能會是會變化的,所以,如果是用數組排序的話,有數據的改動會讓我重新排序,這個太耗性能了,如果實際情況中會有很多的插入或刪除操作,那麼可以考慮使用B+樹。工程式的解法有以下特點:1)很方便擴展,因為數據排好序了,你還可以方便地支持各種需求,如從第k1大到k2大的數據(那些學院派寫出來的代碼在拿到這個需求時又開始撓頭苦想了)2)規整的數據會簡化整體的演算法復雜度,從而整體性能會更好。(公欲善其事,必先利其器)3)代碼變得清晰,易懂,易維護!(學院派的和STL一樣的近似O(n)復雜度的演算法沒人敢動)爭論你可能會和我有以下爭論,如果程序員做這個演算法題用排序的方式,他一定不會像你想那麼多。是的,你說得對。但是我想說,很多時候,我們直覺地思考,恰恰是正確的路。因為「排序」這個思路符合人類大腦處理問題的方式,而使用學院派的方式是反大腦直覺的。反大腦直覺的,通常意味著晦澀難懂,維護成本上升。就是一道面試題,我就是想測試一下你的演算法技能,這也扯太多了。沒問題,不過,我們要清楚我們是在招什麼人?是一個只會寫演算法的人,還是一個會做軟體的人?這個只有你自己最清楚。這個演算法題太容易誘導到學院派的思路了。是的這道「找出第K大的數」,其實可以變換為更為業務一點的題目——「我要和別的商戶競價,我想排在所有競爭對手報價的第K名,請寫一個程序,我輸入K,和一個商品名,系統告訴我應該訂多少價?(商家的所有商品的報價在一數組中)」——業務分析,整體性能,演算法,數據結構,增加需求讓應聘者重構,這一個問題就全考了。你是不是在說演算法不重要,不用學?千萬別這樣理解我,搞得好像如果面試不面,我就可以不學。演算法很重要,演算法題能鍛煉我們的思維,而且也有很多實際用處。我這篇文章不是讓大家不要去學演算法,這是完全錯誤的,我是讓大家帶著業務問題去使用演算法。問你業務問題,一樣會問到演算法題上來。小結看過這上面的分析,我相信你明白我為什麼反對純演算法面試題了。原因就是純演算法的面試題根本不能反應一個程序的綜合素質!那麼,在面試中,我們應該要考量程序員的那些綜合素質呢?我以為有下面這些東西:會不會做需求分析?怎麼理解問題的?解決問題的思路是什麼?想法如何?會不會對基礎的演算法和數據結構靈活運用?另外,我們知道,對於軟體開發來說,在工程上,難是的下面是這些挑戰:軟體的維護成本遠遠大於軟體的開發成本。軟體的質量變得越來越重要,所以,測試工作也變得越來越重要。軟體的需求總是在變的,軟體的需求總是一點一點往上加的。程序中大量的代碼都是在處理一些錯誤的或是不正常的流程。所以,對於編程能力上,我們應該主要考量程序員的如下能力:設計是否滿足對需求的理解,並可以應對可能出現的需求變化。
Ⅵ c語言怎麼提高邏輯思維和演算法
我剛開始學的時候也是和你一樣,首先從選擇題入手,把每章能有的題都刷一遍搞懂,然後做編程題,記住每一句都自己親自打在電腦上運行測試,剛開始自己寫不出來可以邊看邊打,哪怕死記硬背把開始的那些典型程序背下來,慢慢理解,時間長了自然會了。記住一定要親自電腦上多打代碼,哪一處不懂就問,切記不要復制粘貼
Ⅶ 在我們計算,有沒有那些計算方式符合我們計算機的思維
計算思維是建立在計算過程的能力和限制之上的,不管這些過程是由人還是由機器執行的。計算方法和模型給了我們勇氣去處理那些原本無法由任何個人獨自完成的問題求解和系統設計。計算思維直面機器智能的不解之謎:什麼人類能比計算機做得更好?什麼計算機能比人類做得更好?最基本的是它涉及這樣的問題:什麼是可計算的?今天,我們對這些問題的答案仍是一知半解。
計算思維是每個人的基本技能,不僅僅屬於計算機科學家。在閱讀、寫作和算術(英文簡稱3R)之外,我們應當將計算思維加到每個孩子的解析能力之中。正如印刷出版促進了3R的傳播,計算和計算機也以類似的正反饋促進了計算思維的傳播。
計算思維涉及運用計算機科學的基礎概念去求解問題、設計系統和理解人類的行為。計算思維涵蓋了反映計算機科學之廣泛性的一系列思維活動。
當求解一個特定的問題時,我們會問:解決這個問題有多困難?怎樣才是最佳的解決之道? 計算機科學根據堅實的理論基礎來准確地回答這些問題。表明問題的困難程度是為了考量機器——就是用來運行其解的計算工具之基本能力。我們必須考慮機器的指令系統、它的資源約束和它的操作環境。
為了有效地求解一個問題,我們可能要進一步問:一個近似解是否就足夠了,是否可以利用一下隨機化,以及是否允許誤正或誤負。計算思維就是把一個看來困難的問題重新闡述成一個我們知道怎樣解的問題,如通過約簡、嵌入、轉化和模擬的方法。
計算思維是一種遞歸思維。它是並行處理。它是把代碼譯成數據又把數據譯成代碼。它是由推廣量綱分析進行的類型檢查。對於別名或賦予人與物多個名字的做法,它既知道其益處又了解其害處。對於間接定址和程序調用的做法,它既知道其威力又了解其代價。它評價一個程序時,不僅僅根據其准確性和效率,還有美學的考量,而對於系統的設計,還考慮簡潔和優雅。
計算思維採用了抽象和分解來迎戰浩大復雜的任務或者設計巨大復雜的系統。它是關注的分離。它是選擇合適的方式去陳述一個問題,或者是選擇合適的方式對一個問題的相關方面建模使其易於處理。它是利用不變數簡明扼要且表述性地刻畫系統的行為。它是我們在不必理解每一個細節的情況下就能夠安全地使用、調整和影響一個大型復雜系統的信心。它就是為預期的多個用戶而進行的模塊化,它就是為預期的未來應用而進行的預置和緩存。
計算思維是通過冗餘、堵錯、糾錯的方式,在最壞情況下進行預防、保護和恢復的一種思維。它稱堵塞為死結,叫合同為界面。它就是學習在諧調同步相互會合時如何避免競爭的情形。
計算思維是利用啟發式推理來尋求解答。它就是在不確定情況下的規劃、學習和調度。它就是搜索、搜索、再搜索,最後得到的是一系列的網頁,一個贏得游戲的策略,或者一個反例。計算思維是利用海量的數據來加快計算。它就是在時間和空間之間,在處理能力和存儲容量之間的權衡。
考慮這些日常中的事例:當你女兒早晨去學校時,她把當天需要的東西放進背包;這就是預置和緩存。當你兒子弄丟他的手套時,你建議他沿走過的路回尋;這就是回推。在什麼時候你停止租用滑雪板而為自己買一對呢?這就是在線演算法。在超市付賬時你應當去排哪個隊呢?這就是多伺服器系統的性能模型。為什麼停電時你的電話仍然可用?這就是失敗的無關性和設計的冗餘性。完全自動的大眾圖靈測試是如何區分計算機和人類(簡稱CAPTCHA)的,即CAPTCHAs是怎樣鑒別人類的?這就是充分利用求解人工智慧難題之艱難來挫敗計算代理程序。
計算思維將滲入到我們每個人的生活之中,那時諸如演算法和前提條件已成為每個人日常詞彙的一部分,非確定論和垃圾收集已含有計算機學家所指的含義,而樹已常常被倒過來畫了。
我們已見證了計算思維在其它學科中的影響。例如,機器學習已經改變了統計學。就數據尺度和維數而言,統計學慣用於各類問題的規模僅在幾年前還是不可想像的。各種組織的統計部門都聘請了計算機科學家。計算機學院系正在聯姻已有或開設新的統計部門。
計算機學家們近來對生物科學的興趣是由他們堅信生物學家能夠從計算思維中獲益的信念驅動的。計算機科學對於生物學的貢獻決不限於其能夠在海量時序數據中搜索尋找模式規律的本領。最終的希望是數據結構和演算法——我們的計算抽象和方法——能夠以闡釋其功能的方式表示蛋白質的結構。計算生物學正在改變著生物學家的思考方式。類似地,計算博弈理論正改變著經濟學家的思考方式,納米計算改變著化學家的思考方式,量子計算改變著物理學家的思考方式。
這種思維將成為不僅僅是其他科學家,而且是其他每一個人的技能組合之部分。普在計算之於今天就是計算思維之於明天。普在計算是已變為今日之現實的昨日之夢,計算思維就是明日之現實。
它是什麼,又不是什麼
計算機科學是計算的學問——什麼是可計算的,怎樣去計算。因此,計算思維具有以下特性:
概念化,不是程序化。計算機科學不是計算機編程。像計算機科學家那樣去思維意味著遠遠不止能為計算機編程。它要求能夠在抽象的多個層次上思維。
基礎的,不是機械的技能。基礎的技能是每一個人為了在現代社會中發揮職能所必須掌握的。生搬硬套之機械的技能意味著機械的重復。具有諷刺意味的是,只有當計算機科學解決了人工智慧的宏偉挑戰——使計算機像人類一樣思考之後,思維才會變成機械的生搬硬套。
人的,不是計算機的思維。計算思維是人類求解問題的一條途徑,但決非試圖使人類像計算機那樣地思考。計算機枯燥且沉悶;人類聰穎且富有想像力。我們人類賦予計算機以激情。配置了計算設備,我們就能用自己的智慧去解決那些計算時代之前不敢嘗試的問題,就能建造那些其功能僅僅受制於我們想像力的系統。
數學和工程思維的互補與融合。計算機科學在本質上源自數學思維,因為像所有的科學一樣,它的形式化解析基礎築於數學之上。計算機科學又從本質上源自工程思維,因為我們建造的是能夠與實際世界互動的系統。基本計算設備的限制迫使計算機學家必須計算性地思考,不能只是數學性地思考。構建虛擬世界的自由使我們能夠超越物理世界去打造各種系統。
是思想,不是人造品。不只是我們生產的軟體硬體人造品將以物理形式到處呈現並時時刻刻觸及我們的生活,更重要的是還將有我們用以接近和求解問題、管理日常生活、與他人交流和互動之計算性的概念;而且,
面向所有的人,所有地方。當計算思維真正融入人類活動的整體以致不再是一種顯式之哲學的時候,它就將成為現實。
許多人將計算機科學等同於計算機編程。有些家長為他們主修計算機科學的孩子看到的只是一個狹窄的就業范圍。許多人認為計算機科學的基礎研究已經完成,剩下的只是工程部分而已。當我們行動起來去改變這一領域的社會形象時,計算思維就是一個引導著計算機教育家、研究者和實踐者的宏大願景。我們特別需要走進大學之前的聽眾,包括老師、父母、學生,向他們傳送兩個主要信息:
1)智力上極有挑戰性並且引人入勝的科學問題依舊亟待理解和解決。這些問題的范圍和解決方案的范圍之唯一局限就是我們自己的好奇心和創造力;同時一個人可以主修計算機科學並且干什麼都行。一個人可以主修英語或者數學,接著從事各種各樣的職業。計算機科學也一樣。一個人可以主修計算機科學,接著從事醫學、法律、商業、政治,以及任何類型的科學和工程,甚至藝術工作。
2)計算機科學的教授應當為大學新生開一門稱為「怎麼像計算機科學家一樣思維」的課,面向非專業的,而不僅僅是計算機科學專業的學生。我們應當使大學之前的學生接觸計算的方法和模型。我們應當設法激發公眾對於計算機領域中的科學探索之興趣,而不是悲嘆對其興趣的衰落或者哀泣其研究經費的下降。所以,我們應當傳播計算機科學的快樂、崇高和力量,致力於計算思維的常識化。
Ⅷ 計算思維的計算思維
操作模式 計算思維建立在計算過程的能力和限制之上,由人由機器執行。計算方法和模型使我們敢於去處理那些原本無法由任何個人獨自完成的問題求解和系統設計。計算思維直面機器智能的不解之謎:什麼人類比計算機做得好?什麼計算機比人類做得好?最基本的問題是:什麼是可計算的?迄今為止我們對這些問題仍是一知半解。
計算思維用途 計算思維是每個人的基本技能,不僅僅屬於計算機科學家。我們應當使每個孩子在培養解析能力時不僅掌握閱讀、寫作和算術(Reading, wRiting, and aRithmetic——3R),還要學會計算思維。正如印刷出版促進了3R的普及,計算和計算機也以類似的正反饋促進了計算思維的傳播。
計算思維是運用計算機科學的基礎概念去求解問題、設計系統和理解人類的行為。它包括了涵蓋計算機科學之廣度的一系列思維活動。當我們必須求解一個特定的問題時,首先會問:解決這個問題有多麼困難?怎樣才是最佳的解決方法?計算機科學根據堅實的理論基礎來准確地回答這些問題。表述問題的難度就是工具的基本能力,必須考慮的因素包括機器的指令系統、資源約束和操作環境。
為了有效地求解一個問題,我們可能要進一步問:一個近似解是否就夠了,是否可以利用一下隨機化,以及是否允許誤報(false positive)和漏報(false negative)。計算思維就是通過約簡、嵌入、轉化和模擬等方法,把一個看來困難的問題重新闡釋成一個我們知道怎樣解決的問題。
計算思維是一種遞歸思維 它是並行處理。它是把代碼譯成數據又把數據譯成代碼。它是由廣義量綱分析進行的類型檢查。對於別名或賦予人與物多個名字的做法,它既知道其益處又了解其害處。對於間接定址和程序調用的方法,它既知道其威力又了解其代價。它評價一個程序時,不僅僅根據其准確性和效率,還有美學的考量,而對於系統的設計,還考慮簡潔和優雅。
抽象和分解 來迎接龐雜的任務或者設計巨大復雜的系統。它是關注的分離(SOC方法)。它是選擇合適的方式去陳述一個問題,或者是選擇合適的方式對一個問題的相關方面建模使其易於處理。它是利用不變數簡明扼要且表述性地刻畫系統的行為。它使我們在不必理解每一個細節的情況下就能夠安全地使用、調整和影響一個大型復雜系統的信息。它就是為預期的未來應用而進行的預取和緩存。計算思維是按照預防、保護及通過冗餘、容錯、糾錯的方式從最壞情形恢復的一種思維。它稱堵塞為「死鎖」,稱約定為「界面」。計算思維就是學習在同步相互會合時如何避免「競爭條件」(亦稱「競態條件」)的情形。
計算思維利用啟發式推理來尋求解答,就是在不確定情況下的規劃、學習和調度。它就是搜索、搜索、再搜索,結果是一系列的網頁,一個贏得游戲的策略,或者一個反例。計算思維利用海量數據來加快計算,在時間和空間之間,在處理能力和存儲容量之間進行權衡。
考慮下面日常生活中的事例:當你女兒早晨去學校時,她把當天需要的東西放進背包,這就是預置和緩存;當你兒子弄丟他的手套時,你建議他沿走過的路尋找,這就是回推;在什麼時候停止租用滑雪板而為自己買一付呢?這就是在線演算法;在超市付帳時,你應當去排哪個隊呢?這就是多伺服器系統的性能模型;為什麼停電時你的電話仍然可用?這就是失敗的無關性和設計的冗餘性;完全自動的大眾圖靈測試如何區分計算機和人類,即CAPTCHA[注1]程序是怎樣鑒別人類的?這就是充分利用求解人工智慧難題之艱難來挫敗計算代理程序。
計算思維將滲透到我們每個人的生活之中,到那時諸如演算法和前提條件這些詞彙將成為每個人日常語言的一部分,對「非確定論」和「垃圾收集」這些詞的理解會和計算機科學里的含義驅近,而樹已常常被倒過來畫了。
我們已見證了計算思維在其他學科中的影響。例如,機器學習已經改變了統計學。就數學尺度和維數而言,統計學慣用於各類問題的規模僅在幾年前還是不可想像的。各種組織的統計部門都聘請了計算機科學家。計算機學院(系)正在與已有或新開設的統計學系聯姻。
計算機學家們對生物科學越來越感興趣,因為他們堅信生物學家能夠從計算思維中獲益。計算機科學對生物學的貢獻決不限於其能夠在海量序列數據中搜索尋找模式規律的本領。最終希望是數據結構和演算法(我們自身的計算抽象和方法)能夠以其體現自身功能的方式來表示蛋白質的結構。計算生物學正在改變著生物學家的思考方式。類似地,計算博弈理論正改變著經濟學家的思考方式,納米計算改變著化學家的思考方式,量子計算改變著物理學家的思考方式。
這種思維將成為每一個人的技能組合成分,而不僅僅限於科學家。普適計算之於今天就如計算思維之於明天。普適計算是已成為今日現實的昨日之夢,而計算思維就是明日現實。
Ⅸ 托蘭斯創造性思維測驗
思維:以人已有的知識為中介,對客觀事物的概括的、間接的反映,它藉助語言、表象或動作實現,是認知活動的高級形式。
思維特徵:
1.間接性:思維和感知覺不同,它是建立在過去的知識經驗上的對客觀事物的反映,因此具有間接性。
2.概括性:思維是在大量的感性材料的基礎上,把一類事物的共同特徵和規律抽離出來加以認識的。反映著思維的水平,具有重要的作用。
3.思維和語言有密切關系:緊密聯系在一起的,思維的間接性、概括性正是憑借語言得以實現的。人藉助語言進行思維是人與動物的思維的最本質區別。除語言外還有表象和動作。
思維過程:
1.分析:在頭腦中把事物的整體分解為各個部分或各個屬性。
綜合:在頭腦中把事物的各個部分、各個屬性、各個特徵結合起來,了解它們之間的聯系,形成一個整體的過程。
分析和綜合是思維的基本過程,分析是了解事物的特徵和屬性,綜合是通過對各部分、各屬性的分析實現的。
2.比較:把各種事物或同一事物的不同部分、個別方面或個別特點加以對比,確定它們的系統點和不同點及它們之間關系。比較是重要的思維過程,實質上是一種更復雜的分析和綜合。
3.抽象:在頭腦中抽象出各種事物與現象的共同特徵和屬性,舍棄個別特徵和屬性的過程。
概括:在頭腦中把從各種事物中抽象出來的共同特徵聯合起來的過程。分為初級概括(感覺、知覺、表象水平上的概括)高級概括(根據事物的內在聯系和本質屬性進行的概括)
思維種類:
1.根據思維過程所憑借中介不同分
直覺動作思維:依據實際行動來解決具體問題的思維過程。
具體形象思維:人們利用頭腦中具體形象(表象)來解決問題的思維過程。
抽象邏輯思維:運用言語符號形成的概念來進行判斷、推理,以解決問題的思維過程。是人類思維的典型形式。
2.根據思維活動探索目標的不同方向分
聚合思維:人們根據已知的信息,利用熟悉的規則解決問題,也就是從給予的信息中產生邏輯的結論。是有方向,范圍,條理的思維方式。
發散思維:人們根據當前問題給定的信息和記憶系統中存儲的信息,沿著不同的方向和角度思考,從多方面尋求多樣性答案的一種思維活動。
3.常規思維:人們根據已有的知識經驗,按現成的方案和程序直接解決問題(公式解答)
創造性思維:重新組織已有的知識經驗,提出新的方案或程序,並創造出新的思維成果的思維活動。
是多種思維的綜合表現,即是發散與聚合思維的結合,也是直覺與分析思維的結合,包括理論思維,又離不開創造想像。
概念:在心理學上指反映客觀事物共同特點與本質屬性的思維形式,是高級認知活動的基本單元,以一個符號,就是詞的形式來表現。包括在每個概念下的事物一般都具有共同的屬性或特性。
每個概念都包含1.內涵:概念所反映的事物的本質2.外延:概念的范圍。兩個方面。
概念途徑分:
1.日常概念(模糊或前科學概念):在日常交往和個人經驗的積累過程中形成的,因此這類概念的內涵中有時包含著非本質特性,忽略了本質特徵。
2.科學概念(明確概念):在科學研究過程中經過假設和檢驗逐漸形成的,對個人則主要在學習條件下獲得的。
心理學家常用「人工概念」的方法研究概念的形成
1.人工概念:人為的,在程序上模擬的概念。這種方法是赫爾1920年首創,研究發現概念形成過程是從許多具體事例中歸納和發現共同因素的過程,而且受反饋的影響。
自赫爾後,最著名的是布魯納等人實驗研究,提出概念形成的假設檢驗模型。認為,概念形成的過程是一個提出假設和檢驗假設的過程。基本模式:假設—檢驗—再假設—再檢驗……直到成功。
人工概念有很大的人為性質,有人指出不能把它的研究全部應用到人類自然語言概念形成上,又有了概念形成的樣例理論(羅施):認為自然概念不像人工概念那麼確定,頭腦中的自然概念不是一個或幾個關鍵特徵,而是對概念樣例的記憶。即:自然概念的形成用不著假設檢驗參與。
但馬丁等人對成人所做的臉譜分類實驗否定了該理論。
20世紀80年代後新觀點:人們記憶中可能存在兩類信息,樣例和類別信息。當一個刺激,並且需要迅速判斷這個刺激是否屬於某個類別時,就要用到樣例信息。在嚴格地從邏輯上進行證明時,需要依靠類別信息概念的定義、關鍵特徵及特徵間的相互關系。
2.自然語言概念的獲得:假設檢驗和信息反饋對自然語言概念獲得也適用。兒童是通過類比歸納和理解一類事物的共同屬性來獲得概念的。最初只把它當作一個樣例來理解,生活中依據這個例證來進行類比,提出自己的假設。經過生活正反方面的反饋,最終從大量例證中歸納出一類事物的共同的關鍵特徵,從而獲得了某個概念。
推理:從一組具體事物經過分析綜合得出一般規律(歸納推理),或者從一般原理演出新的具體結論的思維活動(演繹推理)。
歸納推理過程由假設形成和假設評價組成,概念形成過程實際上研究的是歸納推理。其結果受個人的知識經驗影響,有很大的不一致性。
演繹推理的結論是從前提推出來的,即從一般的規則推導出來的,其結論應該是一致的,在本質上屬於問題解決的范疇。
三段論推理:由三個命題構成,其中兩個命題為假定真實的前提,另一命題為結論,該結論可能符合這兩個前提,也可能不符合。都帶有直接陳述的性質。
人的很多認識是用邏輯量詞表達的。三段論推理中,也根據命題中邏輯量詞將命題分:
1.全稱肯定命題,即包含「所有…」的命題。
2.全稱否定命題,包含「沒有…」的命題。
3.特稱肯定命題,包含「某些…」
4.特稱否定命題,包含「某些…不…」。
武德沃斯和塞爾斯提出:人們進行三段論推理使用的是氣氛探索法。使用邏輯量詞(有,沒,不)產生了一種氣氛,促使被試容易接受包含有同一邏輯量詞的結論。
使用氣氛假說方法,被試可在80%以上的三段論問題上獲得正確答案。
線性推理:(線性三段論)依據有序事物間的關系進行的推理,它給出的兩個前提說明了三個邏輯項之間的可傳遞性的關系。
斯滕伯格將上述兩種理論結合,提出語言—表象整合模式:人們在線性推理時,首先對前提中的信息以命題的方式進行表徵,繼而將表徵的命題建構成一種心理表象上的空間序列。依據命題的空間序列進行認識加工,從而推論合乎邏輯的結論。
條件推理:(假言推理)人們利用條件性命題所進行的推理。
人們傾向於去證實某種假設或規則,而很少去證偽它們,這種現象稱:證實傾向
沃森認為在檢驗規則或假設過程中,人們有強烈的對規則加以證實的傾向。
問題:尚未被人們解決的某種思維任務。
問題空間:解決問題時,你所知道的與你所需知道的之間往往存在著差距,差距就是問題空間。
以信息加工的觀點看,一個問題可分:
1.初始狀態:接受問題,所擁有的信息不夠完整。
2.目標狀態:確定所希望達到的狀態。
3.認知操作:從初始到目標狀態的過程中必須採取的步驟思維過程就是採取有效的策略和方法不斷縮小問題空間,以至問題解決的過程。
問題特徵:
1.目標指向性:明確的目的性。
2.操作系列性:包含有一系列的心理操作才稱為問題解決活動。
3.認知性操作:目標指向性活動是靠認知性操作。
問題解決策略方法:
需要運用一系列的認知性操作來從初始狀態達到目標狀態。
認知性操作也稱運算元(也就是問題解決)
1.演算法式:依照正規的,機械性的途徑去解決問題。做法是將各種可能達到目標的方法都算出來,再一一嘗試,確定哪一種為正確答案。缺點:費時,費力,缺乏效率。
2.啟發式:能夠通過觀察發現當前問題狀態與目標狀態的相似關系,利用經驗而採取較少的操作來解決問題的方法。缺點:依賴經驗,准確性上有及演算法式但效率提高。
①手段—目的分析法:先有一個目標(目的)它與當前的狀態之間存在著差異,人們認識到這個差異,就要想出某種辦法採取活動(手段)來減少這個差異。
其核心:將一個較為復雜的問題分解為幾個較簡單的子問題。
其要點:1比較初始狀態和目標狀態,提出第一個子問題:如何縮小兩者差距?2找出縮小差距的辦法及操作。3如果提出的辦法實施條件不夠成熟,則提出第二個子問題:如何創造條件。4提出創造條件的辦法及操作。5如果第四條也不成熟,則提出第三個子問題,如何創造條件。……直至問題解決。
②爬山法:經過評價當前的問題狀態後,限於條件,不是去縮小,而是去增加這一狀態與目標狀態的差異,經過迂迴前進,最終達到解決問題的總目標。
③逆向工作法:目標遞歸策略,從目標狀態出發,按照子目標組成的邏輯順序逐級向初始狀態遞歸。
影響問題解決因素:
1.問題表徵方式:客觀事物在頭腦中的呈現方式。同一事物或問題由於表徵的方式不同,在理解上會出現很大差異。
2.無關信息干擾:人們經常錯誤地假定:問題中的所給出的條件或數字在解題中都有用,總想辦法去利用。
3.功能固著性:格式塔學派研究知覺時發現的,人在知覺一個物體時,傾向於只從它一般性功能上認識它。限制人們的思維和解決問題的能力。
4.心向:堅持使用原有已證明有效的方法解決新問題的心理傾向稱心向或心理定勢。
想像:對頭腦中已有的表象進行加工改造,形成新形象的過程。是一種高級認知活動。
想像特徵:
1.新穎性:想像不是回憶,不是對表象的簡單重現,而是對舊有的表象積極的再加工和再組合,因此具有新穎性。
2.形象性:想像主要處理圖形信息或表象,而不是詞或符號,因此具有形象性的特徵。
創造性思維:相對常規思維而言的,指重新組織已有的知識經驗,提出新的方案或程序,並創造出新的思維成果的思維活動。是人們創造、發明、想像、設計、假設出新的概念、想法與念頭或者實物的心理活動。
特徵:
1.敏感性:容易接受新現象,發現新問題。
2.流暢性:思維敏捷,反應迅速,對於特定的問題情景能夠順利地做出多種反應或答案。
3.靈活性:具有較強的應變能力和適應性,具有靈活改變定向的能力,能發揮自由聯想。
4.獨創性:產生新的非凡的思想的能力,表現為產生新奇、罕見、首創的觀念和成就。
5.再定義性:善於發現特定事物的多種使用方法。
6.洞察性:能夠通過事物的表面現象,認清其內在含義,特性或多樣性,進行意義交換。
創造性的測量和鑒別:
創造力:一種能力。創造性:一種傾向。
對創造力和創造性的評估最常用的是發散思維測驗:要求個體對一個具體的要求給出幾個反應,認為觀念流暢性是創造過程的關鍵萬分。
同類測驗中最著名的是:
吉爾福特:南加利福尼亞大學創造力測驗(1960)測量的是吉爾福特智力結構模型理論中與發散思維有關的內容。
托蘭斯:創造性思維測驗:是應用最廣泛的發散思維測驗。其測驗任務是要求被試對言語或圖形刺激給出多個反應。分三套:1.言語測驗:從流暢性、變通性。獨特性三方面記分。2.圖畫測驗:除以上三方面,還對精緻性記分。3.聲音和詞的測驗:只記獨特性得分。
為消除被試的緊張情緒,托蘭斯把測驗稱作「活動」,用游戲形式組織起來,最適合兒童的特點。
創造性的影響因素:
1.智力因素:高創造力必有高智力、高智力卻不能保證有高創造力。
2.人格因素:通過比較高低創造性個體發現:高創造性個體經常是具有某些典型的人格特徵,如獨立,自信,對復雜問題感興趣,審美取向和冒險精神等。
創造性人格特徵:智力屬於中上等,並不一定超常;觀察、感受力敏銳;流暢性;變通性;獨創性;精緻性;懷疑;持久性;智力的游戲性;幽默感;獨立;自信。
3.環境因素:有積極和消極兩方面。主要是通過個人的活動動機起作用。其中尤為重要的是寬松的外部環境和正確的激勵促使內部動機發揮作用。不適當的外在行為會使內部動機下降,只靠高水平的外在動機,反而會使創造力遭到扼殺。
4.動機因素:人類的任何行為、活動的產生和維持都離不開動機,創造性活動同樣需要動機的維持與激發。
內在動機更有利於個體創造性活動的產生和創造力的發揮與發展。人們被完成工作本身所獲得的滿足感和挑戰性激發,而不是被外在的壓力所激發時,才表現最具有創造性。創造本身也可產生動機。
社會和人類學家更多把創造活動看作一種社會文化現象,政治環境會對相應群體的創造表現產生影響。某些因素會直接影響成年人的創造表現,如戰爭。
創造性思維訓練:
1.建立目標與意向。
2.訓練基本的技巧:會聚、信息收集、記憶、信息的組織、分析、從現有知識中得出新信息、整合信息、評論技巧。
3.鼓勵個體取得某領域的具體知識:是創造性活動的必要條件。
4.刺激和鼓勵好奇心。
5.建立動機,特別是內部動機:主要是使參與者獲得成就感。
6.建立自信,鼓勵冒險精神。
7.強調掌握和自我競爭。
8.培養有關創造力和創造性思維的信念。
9.提供選擇和發現的機會。
10.促進自我管理技巧:個體要實現其創造性潛能,必須掌握自我管理的技巧,也就是元認知技巧。
11.傳授創造性思維的策略與技術。
12.運用例子。
國內學者:
1.發散思維訓練:通過頭腦風暴法進行。
2.直覺思維訓練:通過鼓勵學生大膽猜測、假設、想像等進行。
3.形象思維訓練:到大自然中去,接觸大自然中各種事物,通過發展表象系統來實現。
Ⅹ 大學計算思維考什麼
大學計算思維考形式化,抽象性,概括性,理論性四個方面。
計算思維基本的內容是,運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。
涉及理解問題並以一種計算機可以執行的方式表達其解決方案,使用計算機科學中的演算法概念與策略來制定、分析和解決問題。
相關信息介紹:
計算思維包括識別模式和順序、創造演算法、設計用於發現以及修正錯誤的測試,計算思維吸取了問題解決所採用的一般數學思維方法,現實世界中巨大復雜系統的設計與評估的一般工程思維方法,以及復雜性、智能、心理、人類行為的理解等的一般科學思維方法。
計算機科學又從本質上源自工程思維,因為我們建造的是能夠與實際世界互動的系統,基本計算設備的限制迫使計算機學家必須計算性地思考,不能只是數學性地思考。
構建虛擬世界的自由使我們能夠設計超越物理世界的各種系統。