输入输出与过程·函数
標準约 29 分钟5 个术语过去问 11 题
本单元目标
- 能沿着 输入输出 的流向,追踪程序与外部之间、以及各部件之间值的传递
- 能根据是否把处理结果返回给调用方,区分 过程 和 函数
- 能从伪代码的声明行读出 参数 和 返回值 的类型,并求出调用后返回的值
术语总表(5 个)
术语
输入输出(入出力)是程序从外部接收数据的 输入(入力)和把处理结果交给外部的 输出(出力)的合称。
比如从键盘或文件读入数据属于输入,在屏幕上显示或写入文件属于输出。把程序看成按“输入 → 处理 → 输出”的顺序运行,就容易追踪哪些数据在哪里进出。即使把处理拆分成若干部件,也可以对每个部件用同样的方式考虑进什么、出什么。
类比就像餐馆的流程:接过点菜单,在后厨烹调,再把做好的菜端到客人桌上。
记法英文缩写是 I/O。把 Input 的 I 和 Output 的 O 用斜线并排,用一个词同时表示进来和出去两个方向。
考点
- 常考把处理部件串联起来时,前一个部件的输出(出力)会直接成为下一个部件的输入(入力)。求值时要从前面的部件开始依次往后算。
该术语的过去问 1 题 入出力 →
过程(手続)是给一组处理步骤起了名字的部件,调用后执行其中的处理,不返回结果值,直接回到调用方。
日语的“手続”一词不只指部件,有时也指按顺序排列的处理步骤本身。在伪代码中声明过程时,在名称后面的括号里写出要接收的值的类型和名称,名称前面不写类型。需要多次使用同一处理时,只写名称就能调用。
类比就像有人被拜托“去锁一下门窗”,他依次检查窗户和门锁后回来,却没有交给你任何东西。
记法英文 procedure 来自表示“向前推进”的词,可以记成“把处理一步一步按顺序推进下去的东西”。
考点
- 常考算法(アルゴリズム)指的是为了得到所求的结果,规定按什么顺序进行哪些处理的步骤。
- 常考在交换 2 个变量值的过程(手続)中,要先把会被覆盖而丢失的那个值暂存到工作用变量里,最后再把这个值放回到另一方。
- 常考要从变换结果反推原来的值时,把加、减这类可以还原的操作换成相反的操作,从最后一步往前依次倒推。取除法余数的步骤无法唯一还原,因此要选出落在原值可能范围内的值。
该术语的过去问 2 题 手続 →
函数(関数)是封装处理并命名的部件中,把处理结果作为值返回给调用方的那一种。
函数在被调用时接收值,在内部处理中使用,再把结果返回给调用方。在伪代码中,像“○整数型: 函数名(整数型: 名称)”这样声明:名称前面写返回值的类型,名称后面的括号里写接收的值的类型和名称。函数内部执行到 return 时,返回写在其后的值并结束处理。
类比就像计算器的平方根键,输入一个数再按下去,就会得到固定计算的结果。
记法日语里它原本写作“函数”,“函”是匣子的意思。可以把它记成“放进值,就会出来结果的匣子”。
考点
- 常考在循环中途执行 return,函数(関数)的处理会在那一刻结束,剩下的循环不再执行。
- 易混过程(手続)被调用也不返回值,而 函数(関数)会返回值,因此可以把函数调用写在赋值的右边或表达式中。
该术语的过去问 2 题 関数 →
参数(引数)是调用过程或函数时,作为处理材料传给部件的值。
从部件的角度看,参数就是部件的输入。在声明的括号里排好要接收的名称,调用方就按这个顺序写出值传进去。改变传入的值,就能从同一个部件得到不同的结果。
类比就像在复印机上指定原稿和份数,就会按指定印出来。原稿和份数就相当于参数。
考点
- 常考一个部件可以接收多个参数(引数),也可以把这些值组合起来区分不同的处理。
- 常考参数(引数)不只能传 1 个数值,也能传数组。部件内部用元素编号来引用接收到的数组中的各个元素。
该术语的过去问 2 题 引数 →
返回值(戻り値)是函数作为处理结果返回给调用方的值,相当于部件的输出。
返回值的类型与函数声明行中写在名称前面的类型一致。调用方可以把返回的值赋给变量,或用于显示和下一步计算。
类比就像送到洗衣店的衣服洗好后送回来,那件送回来的衣物就相当于返回值。
记法英文叫 return value。它和伪代码中返回值的命令 return 是同一个词,所以看 return 后面写的是什么,就知道返回什么。
考点
- 常考在循环结束后才 return 的函数(関数)中,把循环过程中的变化一直追踪到最后所得到的值,就是返回值(戻り値)。
- 常考返回值(戻り値)不限于数值。也有返回表示真或假的逻辑型(論理型)值、或由字符排列而成的字符串型(文字列型)值的函数(関数)。
- 易混参数(引数)是从调用方进入部件的值,返回值(戻り値)是从部件回到调用方的值。
该术语的过去问 2 题 戻り値 →
要点
- 程序处理来自外部的输入并输出结果;把部件连接起来时,前一个部件的输出就是下一个部件的输入。
- 把处理命名为部件后,只写名称就能反复使用同一处理。
- 伪代码的声明行中,名称前面是返回值的类型,名称后面的括号里是接收的值的类型和名称。
- 调用时写出的值按声明的顺序进入参数,函数返回的值由写在 return 后面的值决定。
查看这个领域的全部过去问 →