2026/1/1 5:18:07
网站建设
项目流程
大兴安岭建设局网站,网站建设的常用技术有哪些,怎么样学好网页设计,产品线上推广渠道易语言流程控制#xff1a;让程序“智能决策”与“重复执行” #x1f3af;
1.4.1 学习目标 #x1f3af;
作为承上启下的核心章节#xff08;承接1.3的数据处理基础#xff0c;开启模块化/批量处理能力#xff09;#xff0c;你将通过本节掌握程序的“思维逻辑”#…易语言流程控制让程序“智能决策”与“重复执行” 1.4.1 学习目标 作为承上启下的核心章节承接1.3的数据处理基础开启模块化/批量处理能力你将通过本节掌握程序的“思维逻辑”用生活化场景类比理解三大流程控制结构顺序/选择/循环熟练掌握易语言选择结构如果/如果真/判断的语法与应用场景精通易语言循环结构计次循环/判断循环/循环判断的语法与效率差异完成**「带等级评定的学生成绩分析系统」**——升级1.3的成绩统计器新增批量处理、智能评级功能排查流程控制的高频错误死循环、条件逻辑反转、分支覆盖不全等。1.4.2 核心概念用“生活场景”类比流程控制 程序的运行逻辑本质是“指令的执行顺序”易语言通过三种流程控制结构实现1顺序结构默认的“按部就班” 类比早上出门流程——睁眼→穿衣→刷牙→吃早餐→出门从上到下依次执行易语言表现代码默认从上到下逐行执行无需额外关键字是所有程序的基础。2选择结构智能的“分支决策” 类比十字路口导航——红灯→停下绿灯→通行黄灯→减速按条件选择执行分支易语言表现通过关键字如果/如果真/判断根据条件执行不同代码块实现“智能决策”。3循环结构高效的“重复执行” 类比考前复习——每天背10个单词×30天固定次数重复或跑步→直到心率达标条件满足重复易语言表现通过关键字计次循环/判断循环重复执行代码块替代“复制粘贴多段重复代码”的低效操作。1.4.3 易语言选择结构实现“智能决策”1「如果」语句双/多分支决策 语法格式.如果 (条件表达式, 分支1代码, 分支2代码)类比如果今天下雨条件→带伞分支1否则→戴帽子分支2高级用法嵌套「如果」语句实现多分支如成绩评级90→优秀80-89→良好…。重点条件表达式必须返回逻辑型真/假常用关系运算符≥/≤/≠和逻辑运算符且/或组合。2「如果真」语句单分支快捷决策 ⚡语法格式.如果真 (条件表达式) 满足条件时执行的代码 .如果真结束类比如果手机电量20%条件→充电仅执行这一步否则什么都不做优势比「如果」语句更简洁适合“只有满足条件才执行”的场景无需写空分支。3「判断」语句多分支清晰决策 语法格式判断 (表达式) .判断开始 (条件1) 条件1满足时的代码 .判断开始 (条件2) 条件2满足时的代码 ... .默认 所有条件都不满足时的代码 .判断结束类比成绩评级——90-100→优秀80-89→良好70-79→中等…多区间分支优势比嵌套「如果」语句更易读适合“多条件分支且区间连续”的场景。⚠️注意判断语句的条件是“从上到下依次匹配”匹配到第一个满足的条件后立即结束无需检查后续条件。1.4.4 易语言循环结构实现“高效重复”1「计次循环首」固定次数的重复 语法格式计次循环首 (循环次数, 循环变量) 重复执行的代码 计次循环尾类比绕操场跑5圈循环次数5循环变量当前圈数特征循环次数固定循环变量从1开始自动递增适合“批量处理固定数量的数据”。2「判断循环首」条件满足才重复 ✔️语法格式判断循环首 (条件表达式) 重复执行的代码 判断循环尾类比跑步→直到心率≤120先判断心率满足条件才停止特征先判断后执行若初始条件不满足则一次都不执行适合“需要满足条件才开始循环”的场景。3「循环判断首」先执行再判断的重复 语法格式循环判断首 重复执行的代码 循环判断尾 (条件表达式)类比先喝一杯水→再判断是否口渴先执行再决定是否继续特征先执行后判断至少执行一次循环体适合“需要先执行一次再判断”的场景如输入验证。⚠️死循环预警若循环内未修改条件表达式循环将无限执行如判断循环首 (真)且无跳出循环 ()语句需用「任务管理器」结束程序进程。1.4.5 实操升级「学生成绩统计器」为「成绩分析系统」 ⏱️1需求升级与界面优化 原1.3功能5门成绩输入→总分/平均分/及格门数/及格率计算新升级功能① 每门成绩自动评级优秀/良好/中等/及格/不及格② 用循环批量统计及格门数替代原5段重复的「如果」语句③ 新增“平均分等级”展示界面调整基于原1.3的成绩统计器新增1个静态文本框lbl_平均等级标题「平均分等级」X50Y400新增1个静态文本框lbl_科目等级标题「科目等级」X250Y400调整窗口高度为480避免组件溢出。⚠️ 所有原组件名称、属性保持不变确保代码复用性。2核心代码编写 ⌨️切换到代码视图为btn_统计按钮的「被单击」事件编写升级代码.版本 2 ; 易语言版本声明 .支持库 spec ; 引入标准支持库 .支持库 iext ; 引入扩展支持库用于数组操作 .程序集 窗口程序集_启动窗口 .子程序 _btn_统计_被单击 1. 基础变量声明复用1.3的逻辑 局部变量 db_语文, 双精度小数型 局部变量 db_数学, 双精度小数型 局部变量 db_英语, 双精度小数型 局部变量 db_物理, 双精度小数型 局部变量 db_化学, 双精度小数型 局部变量 db_总分, 双精度小数型 局部变量 db_平均分, 双精度小数型 局部变量 i_及格门数, 整数型 局部变量 db_及格率, 双精度小数型 局部变量 i_科目总数, 整数型 5 ; 直接初始化科目总数 2. 新增变量流程控制专用 局部变量 成绩数组, 双精度小数型, , 5 ; 声明5个元素的双精度数组存储5门成绩 局部变量 i, 整数型 ; 循环变量 局部变量 平均等级, 文本型 ; 平均分等级 局部变量 科目等级串, 文本型 ; 存储5门成绩的等级字符串初始为空 ---------------------- 第一步输入验证复用1.3的逻辑确保代码简洁 ---------------------- .如果真 (edt_语文.内容 “”) 信息框 (“请输入语文成绩”, 0, “错误提示”) edt_语文.获取焦点 () 返回 () .如果真结束 db_语文 到数值 (edt_语文.内容) .如果真 (edt_数学.内容 “”) 信息框 (“请输入数学成绩”, 0, “错误提示”) edt_数学.获取焦点 () 返回 () .如果真结束 db_数学 到数值 (edt_数学.内容) .如果真 (edt_英语.内容 “”) 信息框 (“请输入英语成绩”, 0, “错误提示”) edt_英语.获取焦点 () 返回 () .如果真结束 db_英语 到数值 (edt_英语.内容) .如果真 (edt_物理.内容 “”) 信息框 (“请输入物理成绩”, 0, “错误提示”) edt_物理.获取焦点 () 返回 () .如果真结束 db_物理 到数值 (edt_物理.内容) .如果真 (edt_化学.内容 “”) 信息框 (“请输入化学成绩”, 0, “错误提示”) edt_化学.获取焦点 () 返回 () .如果真结束 db_化学 到数值 (edt_化学.内容) ---------------------- 第二步数组赋值与批量计算循环应用 ---------------------- 将5门成绩存入数组便于循环处理 成绩数组[1] db_语文 成绩数组[2] db_数学 成绩数组[3] db_英语 成绩数组[4] db_物理 成绩数组[5] db_化学 用【计次循环首】批量统计及格门数替代原5段重复的If语句 i_及格门数 0 ; 初始化及格门数为0 计次循环首 (i_科目总数, i) ; 循环5次i从1到5递增 .如果真 (成绩数组[i] ≥ 60) i_及格门数 i_及格门数 1 ; 及格门数1 .如果真结束 同时批量生成科目等级字符串 .判断 (成绩数组[i]) .判断开始 (成绩数组[i] ≥ 90 且 成绩数组[i] ≤ 100) 科目等级串 科目等级串 “优秀|” ; 拼接等级用|分隔 .判断开始 (成绩数组[i] ≥ 80 且 成绩数组[i] 90) 科目等级串 科目等级串 “良好|” .判断开始 (成绩数组[i] ≥ 70 且 成绩数组[i] 80) 科目等级串 科目等级串 “中等|” .判断开始 (成绩数组[i] ≥ 60 且 成绩数组[i] 70) 科目等级串 科目等级串 “及格|” .默认 科目等级串 科目等级串 “不及格|” .判断结束 计次循环尾 ; 循环结束 去除科目等级串末尾的|优化显示 .如果真 (取文本长度 (科目等级串) ≥ 1) 科目等级串 取文本左边 (科目等级串, 取文本长度 (科目等级串) 1) .如果真结束 ---------------------- 第三步总分/平均分计算复用1.3的逻辑 ---------------------- db_总分 db_语文 db_数学 db_英语 db_物理 db_化学 db_平均分 db_总分 ÷ i_科目总数 db_及格率 (i_及格门数 ÷ i_科目总数) × 100 ---------------------- 第四步平均分等级评定判断语句应用 ---------------------- 判断 (db_平均分) .判断开始 (db_平均分 ≥ 90 且 db_平均分 ≤ 100) 平均等级 “优秀” .判断开始 (db_平均分 ≥ 80 且 db_平均分 90) 平均等级 “良好” .判断开始 (db_平均分 ≥ 70 且 db_平均分 80) 平均等级 “中等” .判断开始 (db_平均分 ≥ 60 且 db_平均分 70) 平均等级 “及格” .默认 平均等级 “不及格” .判断结束 ---------------------- 第五步结果输出到界面 ---------------------- lbl_总分.标题 “总分” 到文本 (db_总分) lbl_平均分.标题 “平均分” 到文本 (db_平均分) lbl_及格门数.标题 “及格门数” 到文本 (i_及格门数) “/” 到文本 (i_科目总数) lbl_及格率.标题 “及格率” 到文本 (db_及格率) “%” lbl_平均等级.标题 “平均分等级” 平均等级 lbl_科目等级.标题 “科目等级” 科目等级串⌨️代码解释数组应用用成绩数组[5]存储5门成绩减少变量个数计次循环替代原5段重复的「如果」语句批量统计及格门数和生成等级串判断语句用清晰的多分支结构实现成绩评级避免嵌套「如果」的混乱字符串处理用取文本左边()去除等级串末尾的分隔符「|」优化显示效果。3编译与测试 ① 点击IDE工具栏【工具】→【支持库配置】勾选「iext扩展支持库」数组操作依赖② 点击【编译】→【静态编译】保存为「成绩分析系统.exe」③ 测试用例输入成绩95语文、88数学、76英语、62物理、55化学点击「开始统计」界面显示总分376 | 平均分75.2 | 及格门数4/5 | 及格率80%平均分等级中等 | 科目等级优秀|良好|中等|及格|不及格输入非数值或空值弹出错误提示符合预期。1.4.6 常见问题与解决方案 ⚠️1死循环现象程序运行后无响应只能通过任务管理器结束原因循环条件永远为真且循环内未修改条件如判断循环首 (真)且无跳出循环 ()解决方案检查循环条件是否会在执行过程中变为假必要时用跳出循环 ()语句强制结束循环。2条件逻辑反转现象判断结果与预期相反如85分被评为“不及格”原因关系运算符使用错误如将≥写成≤解决方案用信息框()在条件判断前输出变量值验证条件逻辑统一将“大范围条件”写在前面如先判断90再判断80。3分支覆盖不全现象部分情况未被处理如0分未被评为“不及格”原因多分支判断时未覆盖所有区间解决方案用默认分支处理所有未匹配的情况验证条件区间的连续性如是否包含0-59的分数段。4循环变量未初始化现象循环次数错误或数组越界原因循环变量未赋值如i 0但数组从1开始解决方案始终在循环前初始化循环变量用计次循环首的自动递增变量避免手动赋值错误。1.4.7 本章小结 通过本节学习你已经掌握了程序开发的“思维核心”——流程控制实现了从“被动执行”到“智能决策批量处理”的升级✅概念理解用生活化场景彻底掌握三大流程控制结构的本质✅语法掌握熟练使用易语言所有选择/循环结构理解各自的应用场景与效率差异✅实操能力升级「学生成绩分析系统」实现批量统计、智能评级等高级功能✅问题排查能够解决死循环、条件逻辑错误等流程控制高频问题。下一节将学习易语言的数组与子程序实现代码的模块化、复用化开发为复杂程序的开发打下基础。