1 | 题目

编写程序实现以下算法:有一个20个元素的数据类型为布尔型的一维数组,跳过该数组的前10个元素不检查,只检查后10个元素,从中找到第一个为TRUE的元素,并给出其数组编号索引。
2 | 设计分析

使用CONTINUE “复查循环条件”指令,可以结束FOR、WHILE或REPEAT循环的当前程序运行,只计算循环变量而不执行循环内程序,跳过不检查的元素。找到满足条件的元素后利用EXIT指令退出循环,完成功能后直接退出循环,可以提高程序的运行效率。
3 | 创建功能或功能块

创建功能块FB,命名为“FindFirstTrue”。
4 | 定义接口变量

具体接口变量定义见下图:
定义了含有20个布尔类型元素的一维数组#trueFalseArray作为待查数组。
5 | 程序代码

编写程序代码。如下图:

注意程序中的CONTINUE和EXIT指令,CONTINUE只计算循环变量而不执行循环内代码,EXIT则直接跳出循环。如果找不到满足条件的元素,则输出-1。
6 | 代码测试

在循环OB中调用FB-“FindFirstTrue”,调用时会自动创建背景数据块,命名为“InstFindFirstTrue”,该背景数据块可以用来监视和修改数据。转至在线并监控程序。如下图:

待查数组的第6和第8个元素为TRUE,被跳过不检查,第10以后的第一个TRUE是第12个元素,所以找到并输出对应索引号12。
7 | 总结

学习一维数组的定义和使用;
学习使用FOR循环语句;
学习使用IF条件语句;
学习CONTINUE在循环语句中的作用;
学习EXIT在循环语句中的作用。- END -
工控老炮儿

分享 | 咨询 | 合作 | 共赢
文章转载自工控老炮儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




