前天是程序員節(jié) ,CodeForces 上舉辦了一場(chǎng)比賽 , 要求必須使用 ADA 語(yǔ)言提交 . 頓時(shí)虐爆了我這個(gè)只知道 pascal,C,BASIC 這 3 種 語(yǔ)系的菜 . 今天閑著看 了 看這種語(yǔ)言 , 一看才知道竟然是美國(guó)軍方專用計(jì)算機(jī)語(yǔ)言 . 總體感覺(jué) : 什么 JB 玩意兒 , 比 C 語(yǔ)言差的遠(yuǎn)了 . 主要是寫(xiě)代碼時(shí)感覺(jué)幾乎沒(méi)啥自由度 , 讓人十分不爽 , 操作還那么麻煩 .
????第一個(gè)程序照例是那最經(jīng)典的 HW.
????然而 , 我將程序?qū)懙皆次募髤s始終無(wú)法 build, 最后我放棄了最常用的直接新建一個(gè) .adb 文件的方法而采用 GPS.exe 的新建 , 終于編譯出了可執(zhí)行文件 .
????程序如下 :
with?Ada.Text_IO;
procedure?Main?is
begin
???Ada.Text_IO.Put("Hello?World!");
???Ada.Text_IO.New_Line;
???null;
end?Main;
在 ADA 語(yǔ)言中采用 ”--” 作為注釋的標(biāo)志 ,”--” 之后知道行末的內(nèi)容將被編譯器忽略 .
with?Ada.Text_IO; 差不多相當(dāng)于 C 里的 #include<stdio.h>, 先這么理解 .
程序框架 :
Procedure?procedure_name?is
Statement1;
Begin
Statement2;
End?procedure_name;
其中 ,statement1 是對(duì)變量或函數(shù)的聲明部分 ,statement2 是程序的語(yǔ)句 .
為了方便 , 可以使用 use 語(yǔ)句 : 如 use? Ada.Text_IO; 這樣 , 在以后調(diào)用 Put 或者 New_Line 時(shí)就不用再加上 ” Ada.Text_IO. ” 了 . 有點(diǎn)類似于 C++ 中最常用的 using?namespace?std;
變量的聲明方法 : 變量名 : 變量類型 := 初始化值
改進(jìn)版的 HW 程序 :
with?Ada.Text_IO;
use?Ada.Text_IO;
procedure?Main?is
???Str:String:="Hello?World!";
begin
???Ada.Text_IO.Put("Hello?World!");
???Ada.Text_IO.New_Line;
???Put("Hello?World!");
???New_Line;
???Put(Str);
???New_Line;
end?Main;
在 Ada 語(yǔ)言中數(shù)字字面值中間可以加入下劃線以幫助閱讀 , 如 454548456484 與 454_548_456_484 就沒(méi)有什么區(qū)別 . 不過(guò)要注意的一點(diǎn)是兩個(gè)下劃線不能連用 , 下劃線也不能加在數(shù)字末尾 .
除此之外 ,Ada 語(yǔ)言中可以直接采用 2~16 進(jìn)制數(shù)來(lái)編寫(xiě)字面值 , 格式為 Base?#?Number?#. 如 5?#?1234?#, 表示 5 進(jìn)制下的 1234.
變量賦值操作符 :? ” := ”
循環(huán)格式 :
循環(huán)名 :
Loop
代碼 ...
End?loop? 循環(huán)名
Get_Line(String,Natural): 讀入一行 Natural 返回字符串長(zhǎng)度 .
Get(val): 讀入 val 的值 .
下標(biāo)訪問(wèn) :A(5) 表示 A 的索引為 5 的元素 .
Exit?Name?:? 從 Name 的代碼段里退出 , 類比 break,return, 等
If 語(yǔ)句格式 :
If?( 表達(dá)式 )?then
代碼段 ;
End?if;
邏輯運(yùn)算符 :
’ = ’ : 返回是否相等 .( “ >= ” , ” <= ” 類似 ).
字面值類型轉(zhuǎn)換 :Float(100), 類比 C 語(yǔ)言中的 (double)100.
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

