在下會編程
Ⅰ 現在學編程有哪些方向
首先,當前程序開發的方向還是比較多的,由於IT互聯網行業的技術迭代速度比較快,所以程序開發的細分方向也在不斷增加,當前規模比較大的開發方向包括Web開發、移動互聯網開發、物聯網開發(嵌入式)、大數據開發、雲計算開發、人工智慧開發等。
Web開發和移動互聯網開發的規模比較大,對於開發人員的需求也比較多元化,既需要研發級程序員,也需要大量的應用級程序員,而物聯網、大數據等平台開發往往會匯集大量的研發級程序員。隨著各大科技公司紛紛開放自身的技術平台,未來行業領域也需要大量的程序開發人員來進行行業創新。
Web開發方向也有兩個大的細分方向,一個方向是後端開發,另一個方向是前端開發,在當前雲計算平台的推動下,前後端開發的界限正在逐漸開始模糊,前端程序員也可以走全棧開發路線,而且在移動互聯網的推動下,前端開發的邊界也在不斷得到拓展,所以當前也把前端開發稱為「大前端」。
物聯網平台、大數據平台和人工智慧等平台的開發任務也分為兩大部分,一部分是平台本身的開發,這部分開發任務的難度是比較大的,當前不少大型科技公司都紛紛布局平台研發領域,以便於構建起自身的生態體系。從近些年計算機專業研究生的就業情況來看,不少畢業生會從事平台研發崗位,相關崗位的崗位附加值還是比較高的。
另一部分是基於技術平台來進行業務端開發,這部分開發需求在工業互聯網時代很有可能會迎來大的爆發,所以對於廣大應用級程序員來說,掌握各種技術平台會為自己帶來更多的發展機會。
Ⅱ 誰會匯編語言編程啊,給在下指點一下
START: MOV AL,00H ; 初始化AL的值為0
A1: OUT 00H,AL ; 輸出AL的值
CALL DELLY ; 延遲,你沒有寫延遲子程序
INC AL ; AL的值加1
CMP AL,7FH ; 將AL的值和7FH(十六進制)比較
JNC START ; 如果相等,則跳到START,也就是AL會重新清零
JMP A1 ; 否則(沒有到達7FH最大值)就跳到A1。
整個A1循環過程,每循環一次AL的值就加1,並且輸出,如果AL加到了7FH(十六進制)就重新清零,所以就形成了鋸齒波
Ⅲ 在下想要自學編程 在暑假期間 然而我是0基礎 問問大神
建議網上下北大青鳥電子書,這些書比較簡單易懂。多久才學會,看你的悟性和毅力的。需要電子書的話,可以發你。
Ⅳ 在下想學編程,不過現在是一竅不通,該從何處下手
先學c語言.然後學可視化編程比如(VB,C#)等,如果英語能力很好也可以想java方向發展.
Ⅳ 什麼是編程,簡單介紹一下
簡單的說,編程就是為了藉助於計算機來達到某一目的或解決某個問題,而使用某種程序設計語言編寫程序代碼,並最終得到結果的過程。
計算機雖然功能十分強大。可以供你上網、打游戲、管理公司人事關系等等,但是沒有程序,它就等於是一堆廢鐵,不會理會我們對它下達的「命令」。於是,我們要馴服它,只有通過一種方式——程序,這也是我們和計算機溝通的唯一方式。
那程序到底是什麼呢?
程序也就是指令的集合,它告訴計算機如何執行特殊的任務。
打個比方說,它好比指導你烹調菜品的菜譜或指揮行駛一路到達目的地的交警(或者交通路標)。沒有這些特殊的指令,就不能執行預期的任務。計算機也一樣,當你想讓計算機為你做一件事情的時候,計算機本身並不能主動為我們工作,因此我們必須對它下達指令,而它根本不會也不可能聽懂人類自然語言對事情的描述,因此我們必須使用程序來告訴計算機做什麼事情以及如何去做?甚至對最簡單的任務也需要指令,例如如何取得擊鍵,怎樣在屏幕上放一個字母,怎樣在磁碟中保存文件等等。
這么麻煩,連這些東西編程都要考慮!怪不得人家說編程好難!你錯了,其實許多這樣的指令都是現成的,包含在處理晶元中內置於操作系統中,因此我們不必擔心它們工作,他們都是由處理器和操作系統來完成的,並不需要我們來干預這些過程。
上面講到的計算機本身不會主動的做任何事情。因此我們要通過程序的方式來讓計算機為我們「效勞」。而這個過程就是我們「編」出來的。編程可以使用某一種程序設計語言來實現,按照這種語言的語法來描述讓計算機要做的事情。
我們這里所講的語法和外語中的語法完全兩碼事,這里講的語法只是讀你的程序書寫做出一寫規定而已。
寫出程序後,再由特殊的軟體將你的程序解釋或翻譯成計算機能夠識別的「計算機語言」,然後計算機就可以「聽得懂」你的話了,並會按照你的吩咐去做事了。因此,編程實際上也就是「人給計算機出規則」這么一個過程。
隨計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。
電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。
計算機所能識別的語言只有機器語言,即由構成的代碼。但通常人們編程時,不採用機器語言,因為它非常難於記憶和識別。
目前通用的編程語言有兩種形式:匯編語言和高級語言。
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。
匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。由於省略了很多細節,所以編程者也不需要具備太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。
(1)解釋類:執行方式類似於我們日常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。
(2)編譯類:編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(*.OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如Visual Basic、Visual C++、Visual Foxpro、Delphi等。
這個問題其實很簡單。前面我們講到,程序是人與計算機進行溝通的唯一方式,因此我們要讓計算機為我們服務,就必須有程序,而程序從哪裡來?當然是由我們編寫出來了。或許你又會問到另一個問題:現在要什麼程序有什麼程序,我幹嘛還要編程呢?這你就錯了,現在的程序雖然很多,需要什麼樣的程序直接到網上不需要很長時間就可以找到類似的,而且有可能就是你所需要的。但是,就好比去買衣服,雖然賣衣服的到處都是,但是哪一件是為你「量身定做」的呢!
程序還能夠做很多事情不同的程序可以完成不同的事情。從大的方面到管理國家的財務,小的方面管理家庭的帳務。
又如,如果你想要你的計算機能播放動畫,那麼你的計算機中也要有相應的動畫播放程序,下面所示的就是一個F1ssh動畫播放器。我們將會在後面的章節具體講述這個程序的編制過程。
隨著計算機的飛速發展,總會有那麼一天將不會編程的人列為「文盲」。你不希望吧?那麼就好好的學習一種程序設計語言吧。
編程會過時嗎
編程會過時嗎?這個問題,讓我先問你一個問題:計算機會消失嗎?這兩者答案是一樣的。知道了計算機會不會消失,就知道了編程會不會過時。
編程工具會過時,而編程卻不會過時
計算機系統由可以看見的硬倒:系統和看不見的軟體系統組成。要使計算機能夠正常的工作,僅僅有硬體系統是不行的,沒有軟倒系統(即沒有程序)的計算機可以說只是—堆廢鐵,什麼事情都幹不了。例如當你撰寫—篇文章的時候,你需要在操作系統中用文字編輯軟體來實現文字的輸入,但如果沒有這些文字輸入軟體的話,你是否想過如何向計算機中輸入文章呢?很難想像出如何在一個沒有任何軟體的計算機(我們稱之為裸機)上進行文字的輸入。而這些軟體其實就是通常我們所說的程序。
編程會過時嗎?我們從另一個角度來考慮這個問題,計算機有——天會消失嗎?如果有一天當世界上所有的事情處理都用不到計算機了,那麼計算機將會很快的消失,那時編程不僅過時了,而且也會隨之消失了。但是計算機會消失嗎?當然不會,如今計算機應用到每一領域,為人類的發展做出了不可估量的貢獻。試想一下如果有一天全世界的計算機突然消失了,那麼這個世界將變成什麼樣子,或許和全世界都停電了一樣恐怖,甚至還會有更大的損失。計算機的存在必須要有軟體系統來維持。因此編程永遠不會、也不可能會過時。
計算機程序設計語言發展到今天,已經從最原始的機器語言發展到如今可視化的集成開發環境,甚至集多種語言在同一開發平台上,像微軟的NET平台。回頭看看程序設計語言的發展史,不難看出對於編程來說,只會出現編程工具的過時,不會出現編程本身的過時。
不斷變化的技術需要不斷變化的程序員
從二十世紀60年代以後,計算機得到了突飛猛進的發展。似乎歷史上沒有任何一門科學的發展速度超過了計算機的發展,無論硬體、軟體、還是網路都以驚人的速度向前發展。計算機的硬體發展速度遵循「摩爾定律」每十八個月速度翻一倍(實際現在已超過了這個速度)。 軟體的發展速度和硬體一樣,二十世紀九十年代中國的軟體業還不是很成熟,而現在大大小小 的軟體企業四處聳立,共享軟體網上隨處可見。不斷發展的技術需要不斷變化的程序員,例如,如今Visual Basic可以快速構Windows下的應用程序,程序設計方面的技術不斷發展著,不斷引進新的概念、新的方法,如從結構化的C開始,當面向對象的思想被提出後,出現了C++,微軟在C++的基礎上為使用戶構建win32應用程序更加方便,推出了Visual C++。這也就需要程序員也要不斷的更新自己的技術。
計算機科學與別的學科很不一樣,不像語言學、歷史學那樣,幾乎是永久不變的東西。計算機科學要求不斷的更新自己的知識,否則很快就會被淘汰,即便是編程亦是如此。
編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在後面的章節中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟體管理器等。如果你願意的話,你完全可以編寫出比這些更高級的程序來。
隨著計算機軟體業的發展,誕生了「程序員」這個職位。於是便形成了一種理念,編寫程 序的人就是程序員,因此編程是程序員的事情。但程序員並不是一開始就是程序員,他們也是從現在我們的位置慢慢成為程序員的。
編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在後面的章節中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟體管理器等。如果你願意的話,你完全可以編寫出比這些更高級的程序來。
編程也可以作為——種愛好或興趣,如果你對它感興趣學起來就容易多了!因為如果對編程感興趣的話,就會多看些有關方面的書、多編些小程序上機實踐,這些對於學習編程的幫助是非常大的,而且隨著學習的進程不斷的推進就會覺得它並不是很困難,相反卻是很容易的。
總之,在學習編程時一定要堅持不懈,只要有信心、有毅力就一定能學好;不能因為一些似是而非的觀念就動搖了自己的信心。
我們一起來編程
面對擺在面前的計算機該如何操作,相信這個問題已經不再是困擾大家的首要問題了。現在軟體的種類那麼多,在選用的時候「電腦發燒友」的心裡是否也想過有一天自己能編寫一款屬於自己的軟體呢?想學習編程的朋友在選擇程序語言時會不會因為不知道如何選擇而大感頭痛呢?在不知如何下手的時候,朋友們的心中是不是會產生「我是不是可以編程」的思想呢?但是又有哪個程序員是不經過學習就能成功的呢!其實編寫程序並不是人們所想像的那麼困難、那麼復雜,每個有心致力於學習計算機的朋友都是可以嘗試的!
選擇適合自己的程序語言的必要性
目前常用的基本程序語言的種類比較繁多,比較簡單的有:Pascal、c語言、qBasic、 Fortran、Visual Basic等等。但前幾種都是在DOS下進行編程的工具,Visual Basic是在 Windows下進行應用程序設計的編程工具,現在一般的計算機用戶幾乎都不再使用DOS了,因此我們通常會選擇Visual Basic作為初學者的編程工具。Visual Basic是Windows應用程序設計中最容易上手的編程工具,學習步驟也比較容易被初學者接受。對於剛開始學習編程的初學者來說,還是選擇Visual Basic,學習編程語言不能想像著一步登天,一步一個腳印的學習才是最佳方法。
堅定自己學習編寫程序的信心
編寫程序並不是具有專業知識的人員才有的專利,每個學習計算機的人都可以編寫程序,每個人的靈感不同,在編寫程序的思路和作法上又有區別。但共同的想法就是編寫成功的程序。學習編程是一個漫長的過程,其中要付出艱辛的努力和汗水,不過成功者的喜悅又不是別人所能體會的。克服學習中的困難,努力去實踐,要有一個思想:別人能做到的事情自己也一定可以做到。計算機的普及讓更多的人有了學習的機會,也讓更多的人參與到編程人員的隊伍中來,每個人都有編程的權利,機遇給予每個人都是平等的。拿出自己必勝的信心,在編程的道路工勇於進取,相信成功就會在眼前。
三、我可以編程嗎
隨著計算機軟體業的發展,誕生了「程序員」這個職位。於是便形成了一種理念,編寫程 序的人就是程序員,因此編程是程序員的事情。但程序員並不是一開始就是程序員,他們也是從現在我們的位置慢慢成為程序員的。
編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在後面的章節中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟體管理器等。如果你願意的話,你完全可以編寫出比這些更高級的程序來。
編程也可以作為——種愛好或興趣,如果你對它感興趣學起來就容易多了!因為如果對編程感興趣的話,就會多看些有關方面的書、多編些小程序上機實踐,這些對於學習編程的幫助是非常大的,而且隨著學習的進程不斷的推進就會覺得它並不是很困難,相反卻是很容易的。
總之,在學習編程時一定要堅持不懈,只要有信心、有毅力就一定能學好;不能因為一些似是而非的觀念就動搖了自己的信心。
四、我們一起來編程
面對擺在面前的計算機該如何操作,相信這個問題已經不再是困擾大家的首要問題了。現在軟體的種類那麼多,在選用的時候「電腦發燒友」的心裡是否也想過有一天自己能編寫一款屬於自己的軟體呢?想學習編程的朋友在選擇程序語言時會不會因為不知道如何選擇而大感頭痛呢?在不知如何下手的時候,朋友們的心中是不是會產生「我是不是可以編程」的思想呢?但是又有哪個程序員是不經過學習就能成功的呢!其實編寫程序並不是人們所想像的那麼困難、那麼復雜,每個有心致力於學習計算機的朋友都是可以嘗試的!
選擇適合自己的程序語言的必要性
目前常用的基本程序語言的種類比較繁多,比較簡單的有:Pascal、c語言、qBasic、 Fortran、Visual Basic等等。但前幾種都是在DOS下進行編程的工具,Visual Basic是在 Windows下進行應用程序設計的編程工具,現在一般的計算機用戶幾乎都不再使用DOS了,因此我們通常會選擇Visual Basic作為初學者的編程工具。Visual Basic是Windows應用程序設計中最容易上手的編程工具,學習步驟也比較容易被初學者接受。對於剛開始學習編程的初學者來說,還是選擇Visual Basic,學習編程語言不能想像著一步登天,一步一個腳印的學習才是最佳方法。
堅定自己學習編寫程序的信心
編寫程序並不是具有專業知識的人員才有的專利,每個學習計算機的人都可以編寫程序,每個人的靈感不同,在編寫程序的思路和作法上又有區別。但共同的想法就是編寫成功的程序。學習編程是一個漫長的過程,其中要付出艱辛的努力和汗水,不過成功者的喜悅又不是別人所能體會的。克服學習中的困難,努力去實踐,要有一個思想:別人能做到的事情自己也一定可以做到。計算機的普及讓更多的人有了學習的機會,也讓更多的人參與到編程人員的隊伍中來,每個人都有編程的權利,機遇給予每個人都是平等的。拿出自己必勝的信心,在編程的道路工勇於進取,相信成功就會在眼前。
一、計算機語言的發展過程
到目前為止,世界上公布的程序設計語言有上千種之多,常用的也有三十來種,為了有21於正確選擇和使用它們,下面我們做一個簡單介紹。
(1)匯編語言:
它是依賴於具體計算機的語言,用它編寫出的程序,執行效率高,但是只在一些特殊要求或特殊的場合才使用它。
(2)高級語言:
大家可能都聽過使用高級語言進行程序設計,但由於對其並不了解,所以總認為這些是很高深的東西。其實並非如此,學習了後面的章節,相信同學會產生編程原來不過如此。
但計算機是不懂得自然語言的(可以理解為高級語言),而高級語言設計出來的程序如何讓計算機去執行呢?其實很簡單,看了下圖後相信大家會明白許多。
現在我們就向大家介紹幾種常見的高級語言:
Fortran語言是科學和工程計算中使用的主要編程語言。目前國內使用版本多數是Fortran 66和Fortran77兩種。Fortran語言的主要缺點是不能直接支持結構化編程。
Cob0l語言是商業數據處理中廣泛使用的語言。由於它本身結構上的特點,使得它能有效的支持與商業處理有關的、范圍廣泛的過程技術。它的缺點是不簡潔。
Algol語言是所有結構化語言的先驅,具有豐富的過程和數據結構。但是,這種語言並沒有被廣泛採用,主要是由於它本身的歷史原因所造成的。
Basic語言是一種解釋執行的會話語言。由於它簡單易學的特點,它被廣泛應用在微型計算機系統中。
PL//1語言是一個用途廣泛的語言。能支持通常的科學工程和商業應用,能描述復雜的數據結構、多重任務處理、復雜的輸入輸出和表格處理等。
Pascal語言是70年代初期發展起來的結構化程序設計語言,具有特別豐富的數據結構類型。它自問世後,得到了眾人的贊賞,也得到了軟體開發者的廣泛支持。Pascal語言已用於科學、工程和系統程序設計中。我們教育部計算機專業教育會議曾把Pascal語言定為計算機專業程序設計語言。
C語言是作為UNIX操作系統的主要使用語言。由於UNIX操作系統的成功,現在C語言也得到了廣泛的使用。C語言是有經驗的軟體工程師設計的,它具有很強的功能,以及高度的靈活性。它和其他的結構化語言一樣,能提供豐富的數據類型、廣泛使用的指針以及—組很豐富的計算和數據處理使用的運算符。
C++語言是C語言的擴充。在1980年,貝爾實驗室的Bjarne Strotstrup博士及其同事開始對C語言進行改進和擴充,最初被稱為「帶類的C」,1983年才取名為C++。以及不斷完善和發展,成為目前的C++語言。一方面,它將C語言作為它的子集,使它能夠與C語言兼容。使許多C語言代碼不經修改就可以為C++語言所用以及用C語言編寫的眾多庫函數和和實用軟體可以直接用於C++語言中;另一方面。C++語言支持面向對象的程序設計這是它對C語言最重要的改進。
Ⅵ 在windows下能進行編程嗎
當然需要了。在WINDOW下可以的,你去下載相關的開發環境比如VC++等等就可以在WINDOWS下編程了
Ⅶ 怎樣更快的學會編程
其實能否快速學習並掌握一門編程語言,往往需要具備以下幾個條件:
第一:計算機基礎知識。
計算機基礎知識對於學習編程語言有重要的作用,其中操作系統(體系結構)、計算機網路、資料庫等內容對於學習編程語言的幫助作用還是比較大的,尤其是操作系統知識。對於不少學習編程語言的人,如果計算機基礎知識比較薄弱,那麼在學習編程語言的過程中也需要補學相關內容。
第二:邏輯思維能力。編程本身要解決的問題就是實現邏輯思維的過程,所以學習編程語言的人往往需要具備一定的邏輯思維能力,而數學基礎對於邏輯思維能力有較大的幫助作用。其實軟體開發問題說到底就是數學問題,而軟體編程過程說到底就是演算法和數據結構的整合。因此,數學基礎對於軟體開發人員,尤其是研發級程序員來說,是非常重要的。
第三:實踐能力。編程語言本身就是一種工具,所以要想順利的掌握一門編程語言就一定要有較強的實踐動手能力,學習編程語言一定要多做實驗。不少程序員在學習新的編程語言的時候,往往都是一邊用一邊學,所以多做實驗是快速掌握編程語言的訣竅。
最後,要想快速入門編程語言一定要注重交流的作用,通過與有經驗的程序員交流能夠獲得較多的經驗,對於學習編程語言,尤其是初期階段,會起到較大的幫助作用。
Ⅷ 初學者學編程如何下手
首先作為一個優秀的程序員,數學是十分重要的。數學是自然科學的基礎,計算機科學實際上是數學的一個分支。數學主要能讓人懂得一種分析問題的方法,然後再通過編程去實現它。計算機內部的許多原理也都牽涉到比較復雜的數學知識。它是我們用來解決現實問題的最高效的工具。很多學習編程的朋友對數學覺得不屑一顧,覺得對於編程沒有什麼關系。實際上優秀程序員和一般程序員拉開檔次很大一個程度上就是取決於對數學的能力。一些項目有時需要很復雜的數學建模和利用數學對於系統效率進行分析,而這些項目對於一般的程序員是很困難的。正確應用數學知識有時候能使你的程序的效率產生質的飛躍。現在的程序員在數學上普遍是薄弱環節,這點是大家應該引起足夠重視的。當別人對於這些項目感到無從下手,而你卻能夠完成,這個時候你的價值也就表現出來了。真正優秀的程序員是能夠最基本的一點就是要能夠通過自己的知識來解決一般程序員所無法完成的問題。而數學能力就是一個很重要的環節。
其次就是要對數據結構引起足夠的重視。如果說計算機專業的學生與非計算機專業的最根本的差別絕對是數據結構(數學大家都一樣學了,主要看你自己學得好壞)。對數據結構的掌握與運用能力是衡量你編程能力的一個很重要的指標。有的人對於看了鏈表,棧,樹,廣義表這些東西就頭痛。然而這些東西往往能使你的程序的效率比別人高出百倍。由於一直搞信息學競賽,到了大學又搞ACM,所以我對數學和數據結構都掌握得相對較好。這使我在應聘與工作中明顯感到勝人一酬。記得自己大學時去一家公司應聘的經歷,當時去應憑的還有3個人,有2個大學畢業,有個也工作了一段時間了。他們幾個都在大講自己的能力如何之強,會使用的語言及編程工具如何之多,經驗如何之豐富。按理說我應該是資質最淺的。當時也是初生牛X不怕虎,也就硬著頭皮去了。當時面試的題目是一個公司的資金管理項目的一個問題,要求每個人都在思考後給出自己的設計方案。其中比較核心的一個問題就是要計算一個資金最小波動值的問題,給出的數據量相當大,對效率要求很高。對於整個程序的面向對象化的分析我們幾個都是差不多的,畢竟這些東西在學校里是很重視的,而且不是真正的難點。然而到了最關鍵的問題時其餘的人都卡殼了,有兩個是用簡單的雙重循環,時間復雜度(N^2),慘不忍睹。還有一個在冥思苦想了好一陣以後說用樹,具體技術細節又講不清楚,效率分析也很馬虎。只有我當時很快就給出了採取AVL樹的方案,並且利用高等數學推導作出了很詳細的效率分析和時空換算,並提出了引入匯編的方法。很自然的我得到了這分工作。在這里大家顯然可以看到數學和數據結構對於一個優秀程序員是多麼重要,它們是和一般的程序員打開檔次的最關鍵的地方。這樣向"棗子"碰到的那種情況應該很輕松的就可以想到。
如果你是一位想學習編程的朋友,我經過多年的學習總結出來了一個學習的線路希望對你有所幫助。要學習編程是要有很大恆心和毅力的,首先你要明確自己的目標,想好自己編程是為了干什麼。如果你學習僅僅只是一時想編出QUAKE和成為比爾蓋次的沖動,那麼我勸你還是應該還是不要開始學習,應為這樣的目標很難支持你日後大量的學習。而且你的年齡不能太大(最好是中學或者大學生)。如果你想好目標並決定開始奮斗,那就讓我們開始吧。如果你一開始對電腦一無所知,那麼你應該先熟悉一些電腦的一些最基本的原理和操作,這個不需要特別細致的學習,只要大概知道二進制和一些基本操作就可以了。接下來你應該先學習BASIC語言,這個語言並不會耽誤你太多的時間,學習它完全是為了入門,讓你對電腦編程有一個比較初步的認識。這時候你應該多編一些小的程序,知道一些最基本每條語句的功能,搞清楚一些基本的數據結構(尤其是數組)對於一些其餘用途的函數最好不要做任何學習,因為這樣只會分散你的注意力。當你能夠可以熟練的運用BASIC編出猴子選大王,以及電腦出題考試之類的程序時,你就可以開始後面的學習了。接下來如果覺得自己接受能力強的話就可以開始學C了(注意不是C++),如果感覺有困難也可以先學Pascal過度一下。還有很重要的一點就是千萬不要一開始就學VB,DELPHI,VC之類的東西,這些東西在一開始學會對你造成很壞的影響。有可能會把你引入另外一個錯誤的學習方向而忽略了真正應該掌握的東西。學C主要是學過程話的程序設計,學會把自己的程序分成許多的函數(或過程),養成良好的編程習慣。這時可以多看一下高人的程序,不一定要懂意思,主要是學會別人程序的格式(比如變數如何起名,怎麼劃分函數)。除開掌握基本的控制流語句外,應該學習一些很簡單的I/O函數和數學函數。C的學習主要是你舍棄原來BASIC程序那種把所有語句積成一大堆的風格,要學會使用函數,提高代碼重用性。對於指針之類的東西如果實在看不懂可以先不去管,到後面會有辦法。當你能夠比較自如的用C編寫一些小的計算程序時,你就可以開始你的數據結構的學習了(數學的學習主要是在學校,自己要多用心)。數據結構你可以一點一點漫漫看,並不需要專門空出一段時間來專門研究,這樣的目的是讓你能夠很好的掌握它,要學會用數據結構的知識來規范自己的程序設計和提高程序的效率。學完C我認為接著最好學習匯編。這個或許有許多人都會反對,然而我個人認為這樣是很好的。從最基本的DOS匯編開始,買本《IBM PC匯編程序設計》(清華黃皮)一定要一點一點吃透,實在看不懂就跳,反復的嚴讀是一定可以看懂的。匯編是一定要掌握的,因為它涉及到很多最基本的知識。掌握了匯編和對I/O有了個很徹底的認識後,應該去學編譯原理。這個東西並不要精通,但是一定要知道,在大腦里要有一個這樣的概念,這對你對程序語言的控制能力都有很大的幫助。這樣最基本的學習就算完成了。一般智力正常的人前一段東西應該都是可以掌握的。接著後面的學習就要看你自身的造化了。這個時候你應該研究一下數據結構,不要分散自己學習的注意力,要知道數據結構是異常重要的(相信我,絕對沒錯)如果你覺得自己已經對於樹,連表,堆棧之類的東西和排序,遞歸之類的演算法已經十分清楚,就可以開始學習C++了。學習前一定要有個正確的認識,那就是C和C++是兩個不同的東西。學習C++是為了學習面向對象的程序設計,這個時候你對於指針應該也能夠掌握了(有匯編的基礎),主要抓住C++和C相比的一些新特性,對於多態之類的特性要注意理解掌握,如果沒有搞懂就堅決不要往下學習。一些基本的概念掌握以後可以看一些別人設計的程序,學習別人怎麼利用面向對象的方法來設計程序的。這個東西也是人之間拉開檔次的一個環節,可以和數據結構放在同等重要的地位。我就見過有的人都大學畢業了還搞不懂virtual到底是怎麼一回事情。其實我認為學到這里你已經為你成為一個優秀的程序員打下了很好的基礎,你已經能夠應用C++,懂得面向對象程序設計,對數據結構掌握很好,掌握匯編和編譯原理。接下來的學習就是基於操作平台的了,一般是先學windows(Microsoft畢竟是老大),先學win32 api,搞請windows基本消息機制和原理,有匯編基礎基本上不會碰到什麼困難。其實只要會了API,其餘什麼MFC,VCL都是囊中之物了,都不過是對於API的封裝而已。VC,C++Builder都可輕松拿下,這只是開發工具的問題。以後的OLE(ActiveX),.NET,資料庫就要看自己的發展方向而定了。我在這里強調的是前面的基本能力的學習,後面操作平台雖然知識體系龐大,然而畢竟比較死,更好掌握。最後編程能力的高低主要還是有以下幾點決定:1。編程的習慣 2。數學能力(包括邏輯思維,分析問題的能力) 3。對數據結構的認識能力 4。經驗的多少(包括多使用語言的掌握能力)
最後,祝你學有所成!
Ⅸ 在會cad的情況下 要如何學會數控編程
學會CAD後,只是數控編程的一個新的起點
你還需要學MasterCAM,UG等編程軟體,還有要學金屬材料,金屬切削加工工藝,數控機床構造和操作,如果是要在模具行業里進行數控編程的話,還需要學模具結構和模具加工工藝,對拆銅公,線切割加工,火花機加工也要熟悉。如果是在機械產品零件行業里做數控編程的話,對機械零件數控加工工藝和工裝夾具這一塊也要比較懂。
數控編程分兩種,手工編程和編程軟體半自動編程,手工編程相對要求少一些,編出的程序也只能是簡單的二維線框那種,稍微復雜一些的基本上都要用到編程軟體半自動編程,MasterCAM,UG等兩個軟體就是這其中使用最為廣泛的軟體,要使用這些軟體進行數控編程的話,先要三維圖形,要畫出三維圖形就先要會看圖識圖,機械制圖,三視圖是這些的基本中的基本,如果還想提升的話,還要懂數控四軸五軸,甚至車銑復合加工等技術。
總之,這個行業是一個綜合的技術應用型的行業,也是我們中國未來發展的一個重要行業,中國製造2025規劃中把數控行業定性為我國由製造業大國向製造業強國邁進的關鍵支柱性產業。
Ⅹ 問下會電腦編程的人,你們數學學的非常好嗎
我是個編程的愛好者。我的感受是,學會編程語言編程序,這本身不需要很好的數學來支持的。
但是編程還是需要數學的,那是因為編程畢竟不是目的,通過編程更多是解決應用問題以及效率問題,而這真好需要數學來解決。有個好的數學基礎,編出來的程序效率高,運行快而穩定,bug少。沒有很好數學基礎的,盡管也能編出程序達到應用目的,但往往耗資源,效率地,運行不可靠,還有可能關鍵時出嚴重問題了。