PROGRAM ProductCounter
VAR
productCounts : ARRAY [1..NumberOfProducts] OF INT; // 存储每种产品的数量
productID : INT; // 当前产品的ID
BEGIN
// 初始化产品数量数组
FOR i := 1 TO NumberOfProducts DO
productCounts := 0;
END_FOR;
// 读取产品ID
productID := ReadProductID();
// 更新产品数量
IF productID >= 1 AND productID <= NumberOfProducts THEN
productCounts[productID] := productCounts[productID] + 1;
END_IF;
END_PROGRAM
FUNCTION ReadProductID : INT
// 读取产品的ID
BEGIN
ReadProductID := 1; // 假设这里是从外部设备读取的产品ID
END_FUNCTION
实例3: 使用递归函数实现斐波那契数列
假设我们要计算斐波那契数列中的第n个数字。
代码示例:
PROGRAM Fibonacci
VAR
n : INT; // 斐波那契数列的位置
fibResult : INT; // 结果
BEGIN
n := 10; // 假设要计算第10个斐波那契数
fibResult := CalculateFibonacci(n);
END_PROGRAM
FUNCTION CalculateFibonacci : INT
VAR_INPUT
n : INT; // 斐波那契数列的位置
END_VAR
// 计算斐波那契数列中的第n个数字
BEGIN
IF n <= 1 THEN
CalculateFibonacci := n;
ELSE
CalculateFibonacci := CalculateFibonacci(n - 1) + CalculateFibonacci(n - 2);
END_IF;
END_FUNCTION