第200章 什麽是編程語言
坦白了不裝了,其實我有病 作者:獅子吃薑餅 投票推薦 加入書簽 留言反饋
這邊蔣小周和潘笑笑聊著天,那邊的比賽馬上就要開始。
隨著考官把題目翻出來後,蔣小周注意力便轉移到了題目上。
其中有一道題和acm今年的題差不多,在計算g^k mod m 上,其實有另一種方法可以更快的計算出結果。
基本上是看誰的代碼在最後運行的時候,速度最快,效率最高。
同樣的題,在不同的人眼裏有不同的看法。
比如說有的人提出的思路是通過某個變量,把幾個數據主要循環的小魂環次數不能超多百次,從引入一個符號“%m=”,從而看出簡單的推導關係;
還有的人提出的思路是用除去較小數取餘運算,接下來的那段數就是循環,這樣可以直接從數組裏讀出最後的結果;
也有不少人覺得可以利用1<=n<=,將大整數剝筍味(0’-9‘)的字符串數組,從右向左每5個字符為一組,那麽最右的字符iran為1-5。
這裏麵不少人的思路大體相同,差別在於有的是想用字符串去存儲然後來迴轉換,有的人直接整型數據進行運算。
蔣小周坐在遠處,恨不得馬上掏出筆記本電腦來,也開始敲打起鍵盤來。
因為有的題她還是可以試一試的,隻可惜作為觀賽人員,她隻能看著題目,用筆在紙上寫寫畫畫。
旁邊的潘笑笑就有些傻眼了,這種像亂碼一樣的字符串,真的看無數次都覺得,這些是什麽東西啊!
她始終覺得這比課本上英文字母還要令人頭大。
一會兒一個百分號,一會兒又一個大括號,接著又來個井號,還有頓號什麽的。
不說潘笑笑這邊看傻眼,還有教育局的領導們,也一個個的都看傻了眼。
就靠著這些玩意兒,計算機就能運算出來想要的結果?
這數學不數學的,英語不英語的,怎麽算的啊?
但領導嘛,再怎麽樣麵兒上還是維持了應有的鎮定。
沒看旁邊的小蔡和小文兩人都看著題目,手裏還拿筆擱那算呢嘛。
小蔡和小文真的在算嗎?
是也不是。
蔡華和文明兩個人離開最前沿的敲代碼時間太久了,對這種需要腦子馬上反應過來怎麽做的事情,大多數時候是力不從心的。
那他倆拿紙筆在幹什麽呢?
在裝樣子啊,在領導麵前裝下還是可以的。
不裝怎麽辦,沒看任誌勇那家夥的學生,那個小屁孩都擱那奮筆疾書呢嗎?
這麽好的表現機會,自然是要利用起來的。
到時候領導問起來,他倆也能說道說道。
這些領導大多都是五十來歲的人,他們那個年代哪有這些東西啊。
五六十年代再富裕家庭裏出來的孩子,也認不得計算機語言究竟講的是什麽。
除非他本身就是研究這門學科的人。
這些領導是嗎?
不是。
周瑛也不是。
所以她也看的雲裏霧裏的。
隻不過對比起領導來說,她的表現還算是鎮定的那種。
畢竟自從蔣小周開始學習編程後,周瑛就不斷目睹女兒的電腦屏幕上出現的各式各樣的字符。
早就看不懂了,何談震驚?
至於說這些東西叫語言,周瑛心裏還是接受不了的。
舉個例子:
a big integer with most of its digits being zeros is called a sparese big inter.given a sparse big integer m and an integer n,you are to calcte m mod n.
………省略………
1<=k<=10;1<=d<=9;1<=p<=;1<=n<=.
output
for each test case,print the result of m mod n in a sing le line.
sample lnput
1
2 1 6 1 8
2046
sample output
944
從以上來看,不懂行的人,誰能看的懂這都寫的是什麽呢?
跟周瑛說這是門語言,周瑛隻會說,別開玩笑了。
但事實上,這確實是夾雜了英語的編程語言,隻不過是用來當作題目出給場上的學生。
而大學生電腦屏幕上,不斷閃動的字符,才是真正的編程語言。
比如:
#include<stdio.h>
#include<stdlio.h>
typedef strcut
{
char digit;
int bit;
unsigned mod;
}mbit;
……省略……
for(i=0,currmod =0;i<k;i++)currmod +=m[i].mod;
currmod %=n;
printf(‘’%d’’,currmod);
return 0;
}
除了“……省略……”,其餘的就都是題目解答的一種運行計算方式。
沒有一個換行(hang )是多餘的,也沒有一個字符是多餘的。
這是就是正兒八經的編程語言。
分號代表了什麽意思,百分號代表了什麽意思,大中小三種括號分別代表了什麽意思等等等。
可不懂行的人就是不懂,隻覺的這是亂碼。
即使知道auto是“聲明自動變量一般不使用”,知道int是“聲明整型變量或函數”又有什麽用呢?
這是用數學和英語等共同搭建的全新的語言。
隻能在電腦上識別並運行的語言。
周瑛等人的不理解其實也就不難理解了。
什麽是語言。
用百科的解釋來說,就是人類進行溝通交流的表達方式,是人與人交流的一種工具,更是文化的重要載體。
而計算機編程語言,就是程序設計的最重要的工具,它是指計算機能夠接受和處理的、具有一定語法規則的語言。
簡單的說,這是一種計算機和人都能識別的語言,能讓程序員能夠準確地定義計算機所需要的數據,並精確地定義在不同情況下所應當采取的行動。
畢竟再怎麽說,也是人類賦予了機器這門語言。
而編程語言就像古漢語和大白話和方言,分為了c、c++、java等。
還有現在不流行,後世2017年後才開始流行的python,也是編程語言的一種。
這些語言各有各的優缺點,有的執行效率高,有的是開發效率高。
最後還得根據程序員的個人喜好、習慣來使用。
比如說在表達對別人看自己不爽的情緒的時候,用古漢語說句“汝觀何物”,就顯得文鄒鄒的沒氣概;
用大白話說句“你看什麽”,多少顯得有點像打情罵俏;
但用東北話說句“你瞅啥”的時候,就言簡意賅的充分表達當事人的不爽;
可也有粵省的人不服氣,覺得用“你睇乜嘢”更解氣;
至於其他的地區,各有各的方法, 更甚者直接來句“草”也不是不可以。
用“草”就誰都聽得出來,說話人很生氣,但為什麽生氣,誰知道?
編程語言也是如此。
所以一般來說,資深點的碼農通常會掌握至少兩種及以上的編程語言。
為的就是能在一個問題出現的時候,可以更好的解決它。
這些參加比賽的人也不例外,大多數人都掌握了至少兩門及以上的編程語言。
在這種誰最先解出對的答案,誰就獲勝的場合裏,爭分奪秒是重中之重。
隻是時間才剛剛過去了一兩個小時後,旁觀者就不行了。
比如潘笑笑,比如周瑛。
隨著考官把題目翻出來後,蔣小周注意力便轉移到了題目上。
其中有一道題和acm今年的題差不多,在計算g^k mod m 上,其實有另一種方法可以更快的計算出結果。
基本上是看誰的代碼在最後運行的時候,速度最快,效率最高。
同樣的題,在不同的人眼裏有不同的看法。
比如說有的人提出的思路是通過某個變量,把幾個數據主要循環的小魂環次數不能超多百次,從引入一個符號“%m=”,從而看出簡單的推導關係;
還有的人提出的思路是用除去較小數取餘運算,接下來的那段數就是循環,這樣可以直接從數組裏讀出最後的結果;
也有不少人覺得可以利用1<=n<=,將大整數剝筍味(0’-9‘)的字符串數組,從右向左每5個字符為一組,那麽最右的字符iran為1-5。
這裏麵不少人的思路大體相同,差別在於有的是想用字符串去存儲然後來迴轉換,有的人直接整型數據進行運算。
蔣小周坐在遠處,恨不得馬上掏出筆記本電腦來,也開始敲打起鍵盤來。
因為有的題她還是可以試一試的,隻可惜作為觀賽人員,她隻能看著題目,用筆在紙上寫寫畫畫。
旁邊的潘笑笑就有些傻眼了,這種像亂碼一樣的字符串,真的看無數次都覺得,這些是什麽東西啊!
她始終覺得這比課本上英文字母還要令人頭大。
一會兒一個百分號,一會兒又一個大括號,接著又來個井號,還有頓號什麽的。
不說潘笑笑這邊看傻眼,還有教育局的領導們,也一個個的都看傻了眼。
就靠著這些玩意兒,計算機就能運算出來想要的結果?
這數學不數學的,英語不英語的,怎麽算的啊?
但領導嘛,再怎麽樣麵兒上還是維持了應有的鎮定。
沒看旁邊的小蔡和小文兩人都看著題目,手裏還拿筆擱那算呢嘛。
小蔡和小文真的在算嗎?
是也不是。
蔡華和文明兩個人離開最前沿的敲代碼時間太久了,對這種需要腦子馬上反應過來怎麽做的事情,大多數時候是力不從心的。
那他倆拿紙筆在幹什麽呢?
在裝樣子啊,在領導麵前裝下還是可以的。
不裝怎麽辦,沒看任誌勇那家夥的學生,那個小屁孩都擱那奮筆疾書呢嗎?
這麽好的表現機會,自然是要利用起來的。
到時候領導問起來,他倆也能說道說道。
這些領導大多都是五十來歲的人,他們那個年代哪有這些東西啊。
五六十年代再富裕家庭裏出來的孩子,也認不得計算機語言究竟講的是什麽。
除非他本身就是研究這門學科的人。
這些領導是嗎?
不是。
周瑛也不是。
所以她也看的雲裏霧裏的。
隻不過對比起領導來說,她的表現還算是鎮定的那種。
畢竟自從蔣小周開始學習編程後,周瑛就不斷目睹女兒的電腦屏幕上出現的各式各樣的字符。
早就看不懂了,何談震驚?
至於說這些東西叫語言,周瑛心裏還是接受不了的。
舉個例子:
a big integer with most of its digits being zeros is called a sparese big inter.given a sparse big integer m and an integer n,you are to calcte m mod n.
………省略………
1<=k<=10;1<=d<=9;1<=p<=;1<=n<=.
output
for each test case,print the result of m mod n in a sing le line.
sample lnput
1
2 1 6 1 8
2046
sample output
944
從以上來看,不懂行的人,誰能看的懂這都寫的是什麽呢?
跟周瑛說這是門語言,周瑛隻會說,別開玩笑了。
但事實上,這確實是夾雜了英語的編程語言,隻不過是用來當作題目出給場上的學生。
而大學生電腦屏幕上,不斷閃動的字符,才是真正的編程語言。
比如:
#include<stdio.h>
#include<stdlio.h>
typedef strcut
{
char digit;
int bit;
unsigned mod;
}mbit;
……省略……
for(i=0,currmod =0;i<k;i++)currmod +=m[i].mod;
currmod %=n;
printf(‘’%d’’,currmod);
return 0;
}
除了“……省略……”,其餘的就都是題目解答的一種運行計算方式。
沒有一個換行(hang )是多餘的,也沒有一個字符是多餘的。
這是就是正兒八經的編程語言。
分號代表了什麽意思,百分號代表了什麽意思,大中小三種括號分別代表了什麽意思等等等。
可不懂行的人就是不懂,隻覺的這是亂碼。
即使知道auto是“聲明自動變量一般不使用”,知道int是“聲明整型變量或函數”又有什麽用呢?
這是用數學和英語等共同搭建的全新的語言。
隻能在電腦上識別並運行的語言。
周瑛等人的不理解其實也就不難理解了。
什麽是語言。
用百科的解釋來說,就是人類進行溝通交流的表達方式,是人與人交流的一種工具,更是文化的重要載體。
而計算機編程語言,就是程序設計的最重要的工具,它是指計算機能夠接受和處理的、具有一定語法規則的語言。
簡單的說,這是一種計算機和人都能識別的語言,能讓程序員能夠準確地定義計算機所需要的數據,並精確地定義在不同情況下所應當采取的行動。
畢竟再怎麽說,也是人類賦予了機器這門語言。
而編程語言就像古漢語和大白話和方言,分為了c、c++、java等。
還有現在不流行,後世2017年後才開始流行的python,也是編程語言的一種。
這些語言各有各的優缺點,有的執行效率高,有的是開發效率高。
最後還得根據程序員的個人喜好、習慣來使用。
比如說在表達對別人看自己不爽的情緒的時候,用古漢語說句“汝觀何物”,就顯得文鄒鄒的沒氣概;
用大白話說句“你看什麽”,多少顯得有點像打情罵俏;
但用東北話說句“你瞅啥”的時候,就言簡意賅的充分表達當事人的不爽;
可也有粵省的人不服氣,覺得用“你睇乜嘢”更解氣;
至於其他的地區,各有各的方法, 更甚者直接來句“草”也不是不可以。
用“草”就誰都聽得出來,說話人很生氣,但為什麽生氣,誰知道?
編程語言也是如此。
所以一般來說,資深點的碼農通常會掌握至少兩種及以上的編程語言。
為的就是能在一個問題出現的時候,可以更好的解決它。
這些參加比賽的人也不例外,大多數人都掌握了至少兩門及以上的編程語言。
在這種誰最先解出對的答案,誰就獲勝的場合裏,爭分奪秒是重中之重。
隻是時間才剛剛過去了一兩個小時後,旁觀者就不行了。
比如潘笑笑,比如周瑛。