传递参数的方式

DATA: I_NUM1 TYPE I VALUE 10,
      I_NUM2 TYPE I VALUE 20,
      I_NUM3 TYPE I.

WRITE: ‘I_NUM1=‘,I_NUM1,
       ‘I_NUM2=‘,I_NUM2,
       ‘I_NUM3=‘,I_NUM3.
SKIP.
PERFORM CALCULATOR USING I_NUM1 I_NUM2 CHANGING I_NUM3.

WRITE:  /‘I_NUM1=‘,I_NUM1,
        ‘I_NUM2=‘,I_NUM2,
        ‘I_NUM3=‘,I_NUM3.
SKIP.
"一、  传递参数时将参数的地址(ADDRESS)传至子程序中,也就是子程序中的参数变量与外部程序的参数变量共享地址内的值。
"又叫CALL BY ADDRESS,若子程序中的参数变量的值发生了改变,那么,外部程序的实际变量的值也发生改变。
*FORM CALCULATOR USING NUM1 NUM2 CHANGING NUM3.
*
*        NUM3 = NUM1 + NUM2.
*  WRITE:  ‘NUM1=‘,NUM1,
*          ‘NUM2=‘,NUM2,
*          ‘NUM3=‘,NUM3.
*  ENDFORM.

"二、值传递就是将参数的值复制一份到另一个至内存地址中,所以在子程序中参数变量的值的改变不影响外部程序实际变量的值。
FORM CALCULATOR USING VALUE(NUM1) VALUE(NUM2) CHANGING SUM.
  SUM = NUM1 + NUM2.
  NUM1 = NUM1 * NUM2.
  NUM2 = NUM1 * NUM2.
  WRITE: /‘NUM1=‘,NUM1,
         ‘NUM2=‘,NUM2,
         ‘SUM=‘,SUM.
ENDFORM.
"三、传递参数的方式同值传递相同,但在子程序结束执行是会将传入参数变量的最终值回传一份给外部程序变量。
*FORM CALCULATOR USING NUM1 NUM2 CHANGING VALUE(TOTAL).
*  TOTAL = NUM1 + NUM2.
*  WRITE: / ‘NUM1=‘,NUM1,
*           ‘NUM2=‘,NUM2,
*           ‘TOTAL=‘,TOTAL,
*           ‘I_NUM3=‘,I_NUM3.
*  ENDFORM.

原文地址:https://www.cnblogs.com/salah/p/11917014.html

时间: 2024-10-12 08:31:13

传递参数的方式的相关文章

【Spring】DI 依赖注入传递参数的方式

DI依赖注入传入参数的方式,这里介绍了基本数据类型,集合,符合数据类型的传递(String类型比较特殊,其传递值和基本数据类型的方法一致) 注入基本数据类型和String类型 通过setter方法注入基本数据类型与String 案例: <bean id="book" class="cn.xdl.bean.Book"> <!-- 对于基本数据类型 与 String的注入操作 通过set方法 ,完成注入 name: 属性的名称 value: 属性要赋的

Spring MVC 从页面向Controller传递参数的方式

Spring MVC从页面向Controller传值的方式 从页面向Controller 传值的方式有很多,本文整理出常用的从页面向Controller传值的几种方式: 1.通过HttpServletRequest 向后台传递数据      页面程序如下: <h2>利用HttpServletRequest传数据</h2> <form action="loginToJson"> 用户名:<input name="name" /

jquery的ajax传递参数两种方式

<script type="text/javascript" src="js/jquery-1.7.js"></script> <script type="text/javascript"> $(function(){ $("#button").click(function(){ $.ajax({ url:'myServlet', type:'post', dataType:'json',

delphi的一些语法知识 以及参数传递问题,按引用方式传递参数,按值方式传递参数

//delphi中exit,abort,break,continue 的区别 exit: 退出函数体abort: 遇到异常,安静处理,就是不显示不提示break: 退出当前循环体,包括for ,while, repeat等循环体continue: 结束循环内的本次处理,继续从循环体的开始位置继续执行 Exit 是跳出当前代码块,也就是当前函数,跳出后是要继续向下执行的(如果有后续代码). Abort 是从 EAbort 过来的,可以激发 exception,其实质就是 Abort = Raise

struts2的action与jsp之间传递参数

1.浏览器往Action传递参数: 在Action中设置属性,并为属性设置get/set方法.传递参数时按照属性的名字赋值即可.如xxx?name=aa     取值用request.getPrameters("属性名“); public class UserAction { private String name; private User user; public String userAdd() { System.out.print(user.getName()); System.out.

mybatis 传递参数的方法总结

有三种mybatis传递参数的方式: 第一种 mybatis传入参数是有序号的,可以直接用序号取得参数 User selectUser(String name,String area); 可以在xml配置文件中写 <select id="selectUser" resultMap="BaseResultMap"> select * from user_user_t where user_name = #{0} and user_area=#{1} <

如何给Map/Reduce程序传递参数?

前言 以前我们启动一个Map/Reduce,经常是利用hadoop jar ./xxx.jar yyy.KK input output的方式在SHELL脚本或者命令行直接提交作业.但是最近涉及到的一个项目,需要根据配置动态的启动MR作业,也就是涉及到向MAP,REDUCE处理类传递参数的问题. 传递参数的方式 最常见的方式: Configuration conf = new Configuration(); conf.set("key","value"); 然后在M

Vue路由传递参数详细说明

前言:最近我跟同事在做一个BI系统,采用前后端分离.整个系统包括数据分析系统.运营支持.系统设置等多个子系统.数据分析系统其实就是做各种数据报表.数据统计.实时数据的系统,这里面其实整个页面就是一个模板,最上面是filter.第二级是统计图.最下面是table数据.所以在数据分析子系统中,只要配置一个路由就可以匹配所有页面,在系统中,我把这个为公用路由.至于公用路由权限如何鉴定其实很简单:获取到用户权限列表后,渲染出所有的权限菜单,但注意每次跳转时一定要进行权限校验,具体原因自行思考.说着有点跑

ajax get方式传递参数

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JS</title> <style> #box{ width:600px; height:200px; padding:20px; border:1px solid #999; } </style> </head> <