Pascal 支持向函数传递参数吗?

2024-03-28

我是 Pascal 新手,我正在尝试编写一个简单的程序,但在函数之间传递值时遇到问题。这是我所拥有的一小部分:

program numberConverter;

const
    maxValue = 4999;
    minValue = 1;

var num: integer;

function convertNumeral(number: integer):string;
var j: integer;
begin
if ((number < minValue) OR (number > maxValue)) then
    begin
    writeln(number);
    writeln('The number you enter must be between 1 and 4999. Please try again:');
    read(j);
    convertNumeral := convertNumeral(j);
    end
else 
 if (number >= 1000) then
convertNumeral := 'M' + convertNumeral(number -1000)
{more code here, left it out for space}
end;

begin
    writeln;
    writeln('Enter an integer between 1 and 4999 to be converted:');
    read(num);
    writeln;
    writeln(num);
    writeln(convertNumeral(num));
end.

我的问题是 writeln(converNumeral(num)) 中的值(主要是“num”)没有传递给 ConvertNumeral 函数,并且想知道 Pascal 是否这样做。我认为这是因为我没有将 number 声明为变量,但是当我这样做时,我收到一个编译错误,表明它无法完成第二个 if 语句。谢谢你的时间。


是的,值肯定会传递给函数。我保证num确实被传递到convertNumeral。在该函数内,number获得其中存在的任何价值num。也许您观察程序行为的方式存在问题。

您所做的更改number,如果有的话,不会反映在num。参数已传递by value, so number存储一个copy存储在的值num;它们是两个不同的变量。您可以使用var通过引用传递参数,如果这是您想要的。

每次递归调用convertNumeral gets a new的实例number,因此进行了更改number,如果有的话,一旦函数返回调用者就不会出现。每个调用都有自己的版本number and j.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pascal 支持向函数传递参数吗? 的相关文章

  • Pascal's Triangle

    Given numRows generate the first numRows of Pascal 39 s triangle For example given numRows 61 5 Return 1 1 1 1 2 1 1 3 3
  • Pascal's Triangle -- LeetCode

    原题链接 http oj leetcode com problems pascals triangle 这道题比较简单 xff0c 属于基础的数组操作 基本思路是每层保存前一行的指针 xff0c 然后当前航数据根据上一行来得到 xff0c
  • Pascal's Triangle

    1 xff0c 题目要求 Given a non negative integer numRows generate the first numRows of Pascal s triangle In Pascal s triangle e
  • 结构体成员的内存分布与对齐

    我们先看一道IBM和微软的笔试题 IBM笔试题 struct short a1 short a2 short a3 A struct long a1 short a2 B sizeof A 6 sizeof B 8 为什么 注 sizeof
  • 洛谷千题详解

    博主主页 Yu 仙笙 专栏地址 洛谷千题详解 目录 题目描述 输入格式 输出格式 输入输出样例 解析 C 源码 C 源码2 C 源码3 Pascal源码 Java源码
  • C语言常见错误分析

    C语言常见错误分析 错误分类 语法错 逻辑错 运行错 0 忘记定义变量 main x 3 y 6 printf d n x y 1 C语言的变量一定要先定义才能使用 2 输入输出的数据的类型与所用格式说明符不一致 int a 3 float
  • PASCAL VOC数据集分析

    PASCAL VOC数据集分析 PASCAL VOC为图像识别和分类提供了一整套标准化的优秀的数据集 从2005年到2012年每年都会举行一场图像识别challenge 本文主要分析PASCAL VOC数据集中和图像中物体识别相关的内容 在
  • 通过socket获取对方ip地址

    struct sockaddr in sa int len sizeof sa if getpeername sockfd struct sockaddr sa len printf 对方IP s inet ntoa sa sin addr
  • 尼克劳斯·沃斯奖 (Niklaus Wirth Award) Pascal最具价值贡献者奖Marco Cantú获奖感言:关于Pascal和Delphi历史的个人观点

    这是一篇很长的博客文章 其中包含我在萨拉曼卡国际Pascal帕斯卡大会上发表的演讲 这是一部Pascal的历史 但是是从非常个人的角度来看的 在开始演讲之前 我要感谢国际Pascal大会的组织者 特别是塞尔吉奥 他们为举办这次活动付出了巨大
  • 计算帕斯卡的小数位数

    我刚刚开始学习 pascal 我必须做一个 pascal 程序作为作业 我做到了 但我不知道如何计算实数中的小数位数 后的位数 我需要它只是为了很好地格式化一个实数 比如write real 0 dec where dec是我不知道如何知道
  • 如何以最快的方式做到这一点?

    我需要找出一个单词在字符串中出现了多少次 但问题是您需要查找的单词之间可以有空格 例如您想查看单词出现了多少次text出现在 tOeOxOt 中 它会给你输出 1 或者例如在textt它会给你输出 2 我为此用 pascal 编写了这个过程
  • 如何检测 Pascal 中经过的时间?

    我正在尝试用 Pascal 创建一个简单的游戏 它使用控制台 游戏的目标是在 60 秒内收集尽可能多的 苹果 游戏结构是一个简单的无限循环 每次迭代 您都可以迈出一步 问题是 在你采取行动之前 readKey 时间可以随心所欲地流逝 例如
  • delphi中父类和子类之间的转换

    我正在编写一些针对非常相似硬件的两个版本的软件 在我使用 API 初始化硬件之前 我无法知道我将返回哪种类型 因为硬件非常相似 所以我计划有一个父类 TParent 它有一些抽象方法 针对硬件不同的地方 然后有两个子类 TChildA TC
  • Delphi/Pascal 有静态代码分析工具吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Delphi Pascal 有静态代码分析工具吗 我见过很多 C 和 NET 的选项 但没有看到 De
  • InnoSetup,在运行时更改 Uninstallable 属性行为?

    SCENARIO 我创建了一个安装程序 它将安装恶意软件应用程序以用于教育目的 该安装程序包含以下两个任务 Tasks Name hidden Description Hidden mode GroupDescription Install
  • 如何用科学记数法格式化数字

    所以基本上我有这个返回的函数 3 00000000000E000 function lang extended begin wynik 0 counter 1 temp 1 input 2 for i 1 to 4 do begin for
  • Pascal中字符串到整数的转换,怎么做?

    如何将字符串中打印的数字转换为整数 谢谢 程序 Val procedure Val S var V var Code Integer 此过程对小数和实数进行操作 参数 S 字符序列 为了正确转换 它必须包含 0 9 V 转换结果 如果结果是
  • Pascal 支持向函数传递参数吗?

    我是 Pascal 新手 我正在尝试编写一个简单的程序 但在函数之间传递值时遇到问题 这是我所拥有的一小部分 program numberConverter const maxValue 4999 minValue 1 var num in
  • 我的 if 语句有什么问题?

    我现在正在尝试探索帕斯卡 我遇到了一些编译器错误 我写了一个 if else if 语句 如下所示 if input y or input Y then begin writeln blah blah end else if input n
  • 专门逐行调试

    我有一个用 Pascal 编写的脚本 我会以这种方式调试它 在每一行停止 转储内存中所有变量的值 然后转到下一行 是否可以使用 gdb 或其他 Linux 开源工具来完成此操作 使用选项编译文件 g fpc gpc g file pas R

随机推荐

  • Extjs4 在组合框中添加一个空选项

    我在 ExtJS4 中有一个带有此初始配置的组合框 xtype combobox name myCombo store MyStore editable false displayField name valueField id empty
  • 将 Hessian 矩阵定义为零

    在使用 scipy optimize minimize 和 trust constr 方法时 我得到了这个 UserWarning scipy optimize hessian update strategy py 187 UserWarn
  • 为什么 token.py 的存在会导致内置 help() 崩溃? [复制]

    这个问题在这里已经有答案了 作为一个爱好 学习项目 我正在用 Python 编写一个解析器生成器 我的一个代码文件名为 token py 其中包含几个用于将纯字符串转换为 Token 对象的类 我刚刚发现 在 Python 中使用控制台中的
  • ASPNETDB.MDF 文件未显示在 APP_DATA 中

    我正在了解 Microsoft 关于 MVC 2 表单身份验证的演练 http msdn microsoft com en us library ff398049 aspx http msdn microsoft com en us lib
  • 找不到 support-fragment.jar (com.android.support:support-fragment:27.0.2)

    我克隆了我的项目并使用 Android studio 打开 但构建失败并出现以下错误同一个项目对其他人来说运行良好 What went wrong Could not resolve all files for configuration
  • 字符串比较 Objective-C

    我一直在努力进行简单的比较 但无法让它发挥作用 我正在读取一个 XML 文件 我需要比较其中的数据才能显示正确的图片 http www cleaner se larm xml http www cleaner se larm xml 解析示
  • 带有数字键的 Django postgres Json 字段

    我有带有 postgres json 字段的模型 class MyModel models Model data JSONField null True 然后 我这样做 m1 MyModel objects create data 10 2
  • 摆脱 django testsuite 中的空 models.py

    我有两个纯服务应用程序 它们充当我的核心模型的仆人 因此 他们没有任何自己的模型 虽然第一个服务的测试套件运行良好 但第二个服务会抛出以下错误 django core exceptions ImproperlyConfigured App
  • C++:在另一个函数中声明一个函数不是编译器错误,那么...它是什么?

    我无意中编译了一个与此类似的源 void y optionally declaring y void x some code void y some code void y some code optionally defining y 这
  • python re.search 不适用于多行字符串

    我已将此文件加载到字符串中 some preceding stuff static char header data 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1
  • py中的pyc文件反编译失败

    感谢您的关注 我有一个pyc文件 我需要获取它的源代码 我已经尝试了很多库 但是版本有错误 这是尝试反编译时的命令行输出 C Users nigga22nd Downloads gt uncompyle6 bot pyc uncompyle
  • .NET中的序列号(注册密钥)算法[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有一些关于 IP 安全等的及时帖子 但我找不到专门针对算法的帖子 在我当前的一个项目中 我们决定采用离线注册密钥系统的路线 我想我们最
  • NSD昨天的日期

    我如何创建一个NSDate具有当前日期以外的自定义日期的对象 例如 我想创建昨天或两天前的变量 你应该使用NSCalendar https developer apple com library mac documentation Coco
  • 使用QMediaPlayer播放资源中的mp3文件

    我尝试播放资源中声明的 mp3 文件 但它显示 Btn clicked current media qrc sound sound FarAway mp3 Error QMediaPlayer FormatError Media state
  • 读取字符串和整数

    我想要做的是从文本文件中读取一行 其中包含一个长度 Name Surname 1 14 我知道如果我读取字符串 字符串将是所有字符 直到空格 但是 getline 将整行读取为字符串 那么我该如何阅读这样的一行呢 有什么简单的方法或者我必须
  • 将字符串拆分为字符串数组

    我正在尝试找到一种将字符串拆分为字符串数组的方法 每当遇到白色香料时我都需要将其拆分 例如 嗨 我是保罗 into 嗨 我是 保罗 如何使用正则表达式表示 split 方法中的空格 你需要一个正则表达式 例如 s 意思是 每当遇到至少一个空
  • angularjs Nodejs应用程序的最佳部署架构

    我在 AngularJS 和 NodeJS 中有 Moto Adverts 应用程序 Angularjs client side 在 Apache HTTP Server localhost 8000 上运行 但 nodejs server
  • Qt 单例实现

    我正在寻找 Singleton Qt 实现并发现this https wiki qt io Qt thread safe singleton 但我对此有一些疑问 制作的目的是什么create a QBasicAtomicPointer 重点
  • 使用 ScikitLearn 的神经网络实现时出现的问题

    我正在尝试使用 Scikit Learn 提供的神经网络实现来实现图像处理 我有近 10 000 张 JPG 格式的彩色图像 我将这些图像转换为 PNG 格式并删除了颜色信息 新图像都是黑白图像 将这些图像转换为矢量格式后 这些图像矢量形成
  • Pascal 支持向函数传递参数吗?

    我是 Pascal 新手 我正在尝试编写一个简单的程序 但在函数之间传递值时遇到问题 这是我所拥有的一小部分 program numberConverter const maxValue 4999 minValue 1 var num in