博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ada语言基础
阅读量:4637 次
发布时间:2019-06-09

本文共 1451 字,大约阅读时间需要 4 分钟。

  前天是程序员节,CodeForces上举办了一场比赛,要求必须使用ADA语言提交.顿时虐爆了我这个只知道pascal,C,BASIC这3种语系的菜.今天闲着看了看这种语言,一看才知道竟然是美国军方专用计算机语言.总体感觉:什么JB玩意儿,比C语言差的远了.主要是写代码时感觉几乎没啥自由度,让人十分不爽,操作还那么麻烦.

    第一个程序照例是那最经典的HW.

    然而,我将程序写到源文件之后却始终无法build,最后我放弃了最常用的直接新建一个.adb文件的方法而采用GPS.exe的新建,终于编译出了可执行文件.

    程序如下:

with Ada.Text_IO;

procedure Main is

begin

   Ada.Text_IO.Put("Hello World!");

   Ada.Text_IO.New_Line;

   null;

end Main;

在ADA语言中采用”--”作为注释的标志,”--”之后知道行末的内容将被编译器忽略.

with Ada.Text_IO;差不多相当于C里的#include<stdio.h>,先这么理解.

程序框架:

Procedure procedure_name is

Statement1;

Begin

Statement2;

End procedure_name;

其中,statement1是对变量或函数的声明部分,statement2是程序的语句.

为了方便,可以使用use语句:如use Ada.Text_IO;这样,在以后调用Put或者New_Line时就不用再加上”Ada.Text_IO.”了.有点类似于C++中最常用的using namespace std;

变量的声明方法:变量名:变量类型:=初始化值

改进版的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语言中数字字面值中间可以加入下划线以帮助阅读,如454548456484与454_548_456_484就没有什么区别.不过要注意的一点是两个下划线不能连用,下划线也不能加在数字末尾.

除此之外,Ada语言中可以直接采用2~16进制数来编写字面值,格式为Base # Number #.如5 # 1234 #,表示5进制下的1234.

变量赋值操作符: ”:=”

循环格式:

循环名:

Loop

代码...

End loop 循环名

Get_Line(String,Natural):读入一行Natural返回字符串长度.

Get(val):读入val的值.

下标访问:A(5)表示A的索引为5的元素.

Exit Name : 从Name的代码段里退出,类比break,return,等

If语句格式:

If (表达式) then

代码段;

End if;

逻辑运算符:

’=’:返回是否相等.(“>=”,”<=”类似).

字面值类型转换:Float(100),类比C语言中的(double)100.

 

转载于:https://www.cnblogs.com/dramstadt/p/3323344.html

你可能感兴趣的文章
【BZOJ】2120: 数颜色
查看>>
spring boot 文件上传工具类(bug 已修改)
查看>>
《机电传动控制》学习笔记03-1
查看>>
读《大道至简》第六章感想
查看>>
ef linq 中判断实体中是否包含某集合
查看>>
金蝶K/3 BOS产品培训教案
查看>>
章三 链表
查看>>
react组件回顶部
查看>>
【LeetCode】Palindrome Partitioning 解题报告
查看>>
Solution for Concurrent number of AOS' for this application exceeds the licensed number
查看>>
从壹开始微服务 [ DDD ] 之一 ║ D3模式设计初探 与 我的计划书
查看>>
python 错误之SyntaxError: Missing parentheses in call to 'print'
查看>>
Windows Phone开发(16):样式和控件模板
查看>>
CSE 3100 Systems Programming
查看>>
洛谷 1604——B进制星球(高精度算法)
查看>>
IntelliJ IDEA 的Project structure说明
查看>>
Java Security(JCE基本概念)
查看>>
Linux Supervisor的安装与使用入门
查看>>
AngularJS和DataModel
查看>>
在进行商业运算时解决BigDecimal的精度丢失问题
查看>>