freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ada參考手冊-文庫吧資料

2024-12-24 15:22本頁面
  

【正文】 。 Real 表示精度為 8位的符點(diǎn)數(shù)類型,它的取值范圍由于沒給定,實(shí)際上由編譯器來決定; RM 95 里關(guān)于這種情況是給出了安全范圍 (safe range), 取值范圍是 **(4*D) .. +**(4*D), D 表示精度,此例中為 8,所以 Real 的安全取值范圍一般來說 應(yīng)為 .. +。 type Mass is digits 7 range .. 。 digits number 表示這個浮點(diǎn)類型精度,即取 number 位有效數(shù)字,因此 number 要大于 0; range range_specification 是可選的,表示該類型的取值范圍。 下面就分類介紹這兩類數(shù)據(jù)類型。它們之間的區(qū)別在于 浮點(diǎn)類型有一個相對誤差 。 實(shí)型 (Real) 相對于整型表示整數(shù),實(shí)型則表示浮點(diǎn)數(shù)。 細(xì)心的讀者可能會發(fā)現(xiàn)上面兩個常量的值實(shí)際上是不一樣的,也就是說 Modular 類型實(shí)際 上有兩個不同的限制。 Max_Nonbinary_Modulus : constant := Integer39。 這兩個常量的聲明一般如下: Max_Binary_Modulus : constant := 2 ** Long_Long_Integer39。 這里 Byte 的取值范圍為 0 .. 255。 type_name 的取值范圍為( 0..range_specification 1)。其聲明格式為 : type tyep_name is mod range_specification。 Modular 整型 (無符號整型 ) 還有一類整型是 Modular,異于上面的整型。 Max_Int : constant := Long_Long_Integer39。Last 表示 Integer 的最后一個值,即上限,見 數(shù)據(jù)類型屬性 ) 程序 System 里定義了整數(shù)的取值范圍 : Min_Int : constant := Long_Long_Integer39。Last。Last。因此還有Integer_8,Integer_16,Integer_32,Integer_64 這些指定了位數(shù)的整型 ,以方便用戶。 RM95 沒有規(guī)定 Integer 及其它整型的具體取值范圍及其位數(shù),由編譯器決定。 整型 (Integer) Integer 整型 一個整型數(shù)據(jù)能存放一個整數(shù)。下面我們除了學(xué)習(xí)上述的 4種標(biāo)量類型( Scalar Type)外,還要學(xué)習(xí)一下枚舉類型 (Enumration)。 標(biāo)量類型( Scalar Type) 大部份語言,基本的數(shù)據(jù)類型如果按照該類型所表示的數(shù)據(jù)類型來分,一般來說可分為整型 (integer),實(shí)型 (real),布爾型 (boolean),字符型(character)這四類,并以它們?yōu)榛A(chǔ)構(gòu)成了數(shù)組,記錄等其它更復(fù)雜的數(shù)據(jù)類型。 子類型不僅繼承母類型的屬性,而且和母類型、其它同母類型的子類型可混合使用 。 012 end putwage。 010 Put (Bill_Wage * Bill_Age)。 007 Bill_Wage: Wage := 56。 005 subtype Wage is Integer。 use 。 use 。 type_name 為新類型的名稱,是一個合法標(biāo)識符; range range_specification 表示該類型的取值范圍,是可選的,沒有的話表示新類型 type_name 的取值范圍和 old_type 一樣。 創(chuàng)建子類型 創(chuàng)建新類型和派生類型的麻煩從上文就可以感受的到,特別是在科學(xué)計算這些有很多種小類型的軟件當(dāng)中,上述兩種方法實(shí)在過于繁雜。但將 [10]改為 Put (Integer(Bill_wage * 56))則能輸出正確的結(jié)果。 012 end putwage。 010 Put (Bill_Wage * Bill_Age)。 007 Bill_Wage: Wage := 56。 005 type wage is new Integer。 use 。 use 。 type_name 為新類型的名稱,是一個合法標(biāo)識符; range range_specification 表示該類型的取值范圍,是可選的,沒有的話表 示新類型 type_name 的取值范圍和 old_type 一樣。 派生類型 大家可能會發(fā)現(xiàn),如果像上面一樣創(chuàng)建一個截然不同的新類型,還需要定義它的運(yùn)算符,使用很不方便。 不同數(shù)據(jù)之間不能進(jìn)行運(yùn)算,要牢牢記住 。 當(dāng)然也可使用后面提到的類型轉(zhuǎn)換 ,如果將 [010]改為 Put (Integer(Bill_wage) * Integer(Bill_Age)),將會輸出所要的 3136。 以上程序看上去毫無問題,但根本無法編譯通過。 [006][007]: 聲明兩個變量 Bill_Age,Bill_Wage,類型分別為 Age 和 Wage, 并賦予相同初始值 56。 [003] [008] [012] 定義一個過程 putwage。 [001][002]: 使用軟件包 ,。 011 New_Line。 008 begin 009 Put (Total wage is)。 006 Bill_Age : Age := 56。 003 procedure putwage is 004 type Age is range 1 .. 100。 002 with 。 不同數(shù)據(jù)類型之間是不能進(jìn)行混合運(yùn)算的,即使取值范圍和運(yùn)算符一樣 ,看以下的程序例子: 000 filename: 001 with 。 有一點(diǎn)要注意: range_specfication 中 First 要大于 Last。 例如創(chuàng)建上面提及的一個新類型 Age : type Age is range 1 .. 100。格式如下: type type_name is range range_specifcation。下面就介紹創(chuàng)建數(shù)據(jù)類型的一些基本內(nèi)容,更多相關(guān)內(nèi)容會在以后見到。比如說,一個數(shù)據(jù)類型為 Age 的變量 Bill, Age 的取值范圍為 1..100,并只有 + 這兩種操作,在這里 ,對象 (object)為名為 Bill 的變量,它的取值在 1..100 之間(包括 1, 100),值的變化只能通過 + 這些基本運(yùn)算符 (primitive operation)來實(shí)現(xiàn) ,而無法通過 * /等其它運(yùn)算符。 創(chuàng)建數(shù)據(jù)類型和子類型 (Creating Types and Subtypes) 使用變量時,除了以某標(biāo)識符作為變量的名稱外,還要指定該變量的數(shù)據(jù)類型。 Time 和 Space 指示優(yōu)化時間還是優(yōu)化空間, Off 則關(guān)閉優(yōu)化。它指定編譯列表( listing of pilation) 是繼續(xù)還是停止,直到在同一個編譯單元內(nèi),一個 pragma List 使用了相反的參數(shù)。 pragma Optimize(identifier)。 pragma List(identifier)。我們先接觸 List, Page, Optimize 這 3 個 pragma。它的作用往往不只影響一個編譯單元,而是整個程序。 end。 可以出現(xiàn)在程序的任一個地方,不影響程序本身。 與 C 語言不同, Ada 里沒有與之相同的轉(zhuǎn)義字符,并且 EOL 不會算到字符串中。如 He said, I am hungry. ,而 He said, I am hungry. 或 He said, I am hungry. 是不合法的。表示空字符串時直接用 。 字符串文字 (String Literal) 字符串是雙引號( )之間的有序圖形字符。 39。 39。表示大寫字母 K,39。表示小寫字母 a, 39。 10153,表示 10進(jìn)制數(shù) 153,等價與 153; 1690,表示 16進(jìn)制數(shù) 90,其 10 進(jìn)值為 144; 字符文字 (Character Literal) 字符文字的表示是單個圖形字符在單引號 ‘ ’ 中,如 39。 基型數(shù)字 (Based Literal) 在大部分語言中,都使用 10 進(jìn)制數(shù)字表示; Ada 里整數(shù)可以不用 10進(jìn)制的表示方法書寫,而是直接使用 2 至 16進(jìn)制的表示法,格式為 :Base Number ,Base 表示所采用的進(jìn)制, Number 為該進(jìn)制下所表示的數(shù)字。如 123_98E、 都是合法的,但 負(fù)指數(shù)不能用于整型,指數(shù)也一定要是整數(shù) 。但兩個下劃線不能是連續(xù)的,下劃線也不可以在數(shù)字首部和尾部 ,如 676__66 和 67_E4 都是非法的。 Ada 在數(shù)字表示上有一個很好的特性就是可以明確指定使用何種基數(shù)( 2進(jìn)制到 16進(jìn)制)表示,下面是數(shù)字的表示: 十進(jìn)制數(shù) (Decimal Literal) 不管是實(shí)型還是整型數(shù),都可以在其間加上下劃線,使長數(shù)字更加易讀。實(shí)數(shù)型是有小數(shù)點(diǎn)的數(shù)字,整數(shù)型則無小數(shù)點(diǎn)。 數(shù)值文字 (Numeric Literal) 數(shù)值文字就是指數(shù)字。 ( ) * + , . / : = | 或是復(fù)合型的 : = .. ** := /= = = 。 RM 95里將它們作為 separator,而 delimiter 則是指下列特殊字符 (中文有點(diǎn)說不清楚): amp。 Ada95 的保留字比原先添加了 6 個: abstract, aliased, protected, requeue, tagged 和 until,雖然這可能會牽連到兼容性問題,但通常也無須計較這點(diǎn)。 保留字 (Reserved Word) 保留字在程序語法中有特殊的含義,不屬于標(biāo)識符范圍, 這與 C 和 Pascal 等語言的定義有所不同。在 Ada 83 中,標(biāo)識符包括了保留字,但在 Ada 95 中保留字從標(biāo)識符中分離了出來。 3. 雖然單個字符可作為標(biāo)識符,但一般情況下不應(yīng)該濫用這項特性(我不知道這除了少敲幾個字外,還有什么意義,想想數(shù)字 0 和字母 O、數(shù)字 1 和字母 l吧,絕對害死人的做法)。如 Fig_、 _Lik、 1me是不合法的。如 X、 Count 、 me 就是簡單的標(biāo)識符。 Ada 在字符集上并沒有很嚴(yán)格要求編譯器一定要怎樣,但應(yīng)該支持標(biāo)準(zhǔn)字符集。根據(jù)實(shí)際情況盡量保證可讀性。Z39。z39。 更詳細(xì)的內(nèi)容參見 RM 9 ISO 8869,ISO 10646。 格式控制符包括水平制表符 (HT)、垂直制表符 (VT)、回車 (CR)、換行(LF)、換頁 (FF)。 ( ) * + , . / : 。 (一般來說,涉及字符時默認(rèn)是指 Latin1,程序幾乎都是用 Latin1 字符集寫的 ) 字符在 RM 95 中是分成了三類:圖形字符 (graphic character)、格式控制符 (format effector)、其它控制符 (other control function),它們所表示的范圍為: 圖形字符包括字母 (letter)、數(shù)字 (digit)、空格符 (space)、特殊字符(special character)(例如 amp。 詞法元素 (Lexical Element) Ada 里的詞法元素與其它語言的定義還是有不小差別,下面按照 RM95 關(guān)于詞法元素的分類來逐項介紹,包括標(biāo)識符、保留字、字符、數(shù)值文字等及它們的一些規(guī)則。 數(shù)據(jù)類型屬性,如同我們玩 RPG 游戲時的人物屬性:體力值、魔法值一樣,是說明該類型固有的屬性,包括最小取值范圍、最大取值范圍等等。學(xué)過其它的語言,特別是有 C 和 Pascal 背景的朋友初次接觸時可能會感到有點(diǎn)新鮮。由于 Ada 在數(shù)據(jù)類型上提供的強(qiáng)大處理能力,我們又不能很簡單地認(rèn)為數(shù)據(jù)類型僅是定義一個對象的類型。大部份 Ada 程序基于一堆程序包,在以一個主過程 (main proceudre) 來開始 Ada 程序 。文件。是聲明部份的具體實(shí)現(xiàn),等價與 C 的 39。文件相似。定義對其它程序的接口,有些可用資源可以被用戶使用,與 C 下的 39。 后 3類屬于高級話題,在后面的章節(jié)中我們會依次介紹。 4. 保護(hù)單元( protected unit) ,在并發(fā)計算中協(xié)調(diào)數(shù)據(jù)共享,這在 Ada 83 中不存在。程序包是 Ada 中的主要分組機(jī)制,類似于 C 的函數(shù)庫, Modula 的 module。過程 (procedure)和函數(shù) (function)都是子程序。一個 Ada 程序是由一個或多個程序單 元組成 (program unit)。上述的聲明方式和 Pascal 差不多。 在 is 和 begin 之間,聲明了一個字符串變量 Str,它的初始值為 Hello World。 006 New_Line。 002 procedure Hello is 003 Str:String := Hello World!。 我們在將上例略微改動以下,以使讀者了解一下聲明部份: 0
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1