




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汇率计算器
——流程控制项目3在探索全球经济一体化的发展轨迹时,同学们对全球各地的货币体系表现出了极大的热情。为了帮助大家更精确地掌握各种货币间的换算逻辑,张华想要打造一款汇率计算器。通过这款汇率计算器,同学们能够一目了然地看清不同货币间的价值差异,进而制定出更加明智的经济决策和财务规划。汇率计算器理解PHP中的顺序结构及其在程序中的执行顺序;学习分支结构,包括单分支结构、双分支结构、多分支结构,以及它们的嵌套使用;掌握循环结构,包括for循环结构、while循环结构和do-while循环结构;理解异常处理的基本概念,学习在PHP中使用try-catch块来捕获和处理异常;掌握文件包含语句,包括include语句和require语句。能够正确使用PHP中的顺序结构编写程序,确保代码按照预期执行;能够编写分支结构,根据不同条件执行不同的代码块;能够使用循环结构,在程序中实现重复执行特定代码的功能;能够运用异常处理机制,捕获和处理程序运行中的异常情况;能够正确使用文件包含技巧,合理地在项目中使用include语句和require语句,提高代码的可维护性。培养良好的编程习惯,能够编写结构清晰、易读易懂的代码;提升逻辑思维能力,能够合理设计程序的流程控制结构;增强问题解决能力,能够针对程序中的异常情况编写合适的异常处理代码;强化安全意识,了解在文件包含过程中可能出现的安全风险,并采取相应措施预防。流程控制简述分支结构循环结构跳转语句文件包含语句异常处理流程控制简述PART01流程控制是编程中的核心概念,它决定了代码的执行顺序和逻辑。通过流程控制,开发者能够管理代码的执行顺序,实现程序在不同条件下的灵活响应。流程控制结构可以分为3种基本类型:顺序结构、分支结构和循环结构。在顺序结构中,程序会严格按照代码的顺序,一行接一行地执行,不遗漏任何一句指令。3.1流程控制简述分支结构PART02分支结构又称为选择结构、条件结构,是一种重要的流程控制结构,它允许程序根据特定条件选择不同的执行路径。常见的分支结构主要有单分支结构(if语句)双分支结构(if...else语句)多分支结构(if...elseif...else语句和switch语句)3.2分支结构if语句是单分支结构的基础,其基本语法格式如下。其中,条件表达式的结果是布尔型的值,只有false和true两个可能;由{}括起来的子语句块代表的是代码片段,可以是任意的代码。3.2.1单分支结构if(条件表达式){
子语句块}下面的代码可根据年龄判断是否成年,并输出相应的信息。在这个例子中,因为$age的值是22,大于18,所以条件为真,程序会输出“该同学已成年”。运行结果如下图所示。3.2.1单分支结构$age=22;if($age>=18){echo'该同学已成年';}在编写程序的过程中,可以使用多个单分支结构,进行不同语句的输出控制。此外,当if语句的子语句块中只有一条语句时,{}可以省略。运行结果如图所示。3.2.1单分支结构$a=10;$b=20;if($a>$b)echo'$a大于$b';if($a<$b)echo‘$a小于$b';if($a==$b)echo'$a等于$b';if...else语句实现双分支结构,它提供了两种可能的执行路径:如果条件为真,则执行if语句后{}内的代码(子语句块1);如果条件为假,则执行else语句后{}内的代码(子语句块2)3.2.2双分支结构if(条件表达式){
子语句块1}else{
子语句块2}对于3.2.1节中判断是否成年的程序,可以使用双分支结构进行优化。运行结果如下图所示。3.2.2双分支结构$age=17;if($age>=18){echo'该同学已成年';}else{echo'该同学未成年';}假设有一个场景,某单位规定男职工60岁退休,女职工55岁退休,现在我们要判断一名58岁的女职工是否已经退休,思考过程如下。3.2.3分支结构的嵌套应用要实现这个过程,需要在if语句的语句块和else语句的语句块中再使用if...else语句,这就是分支结构嵌套。3.2.3分支结构的嵌套应用$age=58;$sex='女';if($sex=='男'){if($age>=60){echo'该男职工已退休';}else{echo'该男职工未退休';}}else{if($age>=55){echo'该女职工已退休';}else{echo'该女职工未退休';}}旅行社为了吸引家庭客户,为不同年龄段的儿童提供了不同旅行费折扣,规则是5岁以下免费,5岁至12岁半价,12岁以上全价。使用分支结构的嵌套来实现折扣计算。【案例实践3-1】儿童旅行费折扣问题【案例实践3-1】儿童旅行费折扣问题<?php$age=8;$discount="";if($age<5)
$discount="免费";else{
if($age<=12)
$discount="半价";
else
$discount="全价";}echo"根据年龄{$age}岁,该儿童可以享受{$discount}的旅行费折扣。";?>【案例实践3-1】儿童旅行费折扣问题启动内置服务器,在浏览器中打开php文件,具体如图所示if...elseif...else语句可实现多分支结构,当if语句中指定的条件都不满足时,可以通过elseif语句指定另一个条件。其语法格式如下。3.2.4多分支结构——if...elseif...else语句if(条件表达式1){//执行语句块1}elseif(条件表达式2){//执行语句块2}elseif(条件表达式3){//执行语句块3}//可以根据需要继续添加更多的elseif条件else{//当前面的条件都不满足时,执行此语句块}if...elseif...else语句的流程如下。3.2.4多分支结构——if...elseif...else语句使用if...elseif...else语句改写案例实践3-1中的代码。3.2.4多分支结构——if...elseif...else语句$age=8;$discount="";if($age<5){$discount="免费";}elseif($age<=12){$discount="半价";}else{$discount="全价";}echo"根据年龄{$age}岁,该儿童可以享受{$discount}的旅行费折扣。";与分支结构嵌套的流程对比如图所示3.2.4多分支结构——if...elseif...else语句本案例实践将通过if...elseif...else语句实现分时问候,根据不同的时间段显示不同的内容。【案例实践3-2】分时问候<?php$hour=date('H');//获取当前整点时间$message="";if($hour<6)
$message="真早啊!三更灯火五更鸡,正是男儿读书时。";elseif($hour<9)
$message="早上好!一年之计在于春,一日之计在于晨。";elseif($hour<12)
$message="上午好!长风破浪会有时,直挂云帆济沧海。加油!";elseif($hour<18)
$message="下午好!及时当勉励,岁月不待人。";elseif($hour<22)
$message="晚上好!有余力,则学文。业余充电!";else
$message="深夜了要休息了!一张一弛,文武之道也。";echo"现在是{$hour}点,{$message}";【案例实践3-2】分时问候启动内置服务器,在浏览器中打开php文件,具体如图所示在分支结构中,else语句用于处理所有前面条件都不满足的情况。在多分支结构中,elseif语句实际上表示的是“否则如果”,即前一个if或elseif条件不满足时的条件判断语句。例如,使用下表对一个学生的考试成绩进行等级划分。深入理解分支结构中else语句的含义我们根据表3-1中的描述,书写完整的条件表达式,使用多分支结构实现,简写代码如下。深入理解分支结构中else语句的含义if($score>=90)$grade="优秀";elseif($score>=80)$grade="良好";elseif($score>=70)$grade="中等";elseif($score>=60)$grade="及格";else//成绩小于60$grade="不及格";echo"{$score}分的成绩等级为:{$grade}。";对于完整的条件表达式来说,如下图所示,无论怎样调整顺序都不会影响结果。而简写后的代码如果不是按照顺序书写的就会出错,比如我们把70分和80分这两个条件调换一下,左边的程序显示的等级为“良好”,而右边的程序显示的等级为“中等”。深入理解分支结构中else语句的含义switch语句允许我们根据一个表达式的值来选择不同的代码块执行,其基本结构如下。3.2.5多分支结构——switch语句switch(表达式){case值1://当表达式的值等于值1时执行的代码
break;case值2://当表达式的值等于值2时执行的代码
break;...//可以有更多的case分支
default://当没有任何case匹配时执行的代码}switch语句的多分支结构流程如图所示。3.2.5多分支结构——switch语句使用switch语句对案例3-2分时问候进行改写,核心代码如下。3.2.5多分支结构——switch语句switch($hour){
case
0:
case
1:
case
2:
case
3:
case
4:
case
5:
$message="真早啊!三更灯火五更鸡,正是男儿读书时。";
break;
case
6:
case
7:
case
8:
$message="早上好!一年之计在于春,一日之计在于晨。";
break;
...//可以继续添加其他时间段的case分支
default:
$message="深夜了要休息了!一张一弛,文武之道也。";
break;
}本案例实践根据学生的课余活动给出积极向上的反馈,无论是参与运动、艺术活动还是参加志愿服务,这些活动都对学生有积极的影响。使用switch语句。【案例实践3-3】课余活动反馈<?php$activity="志愿服务";//学生的课余活动,如运动、艺术、志愿服务等
switch($activity){
case
"运动":
echo"运动让你更健康,更有活力!";
break;
case
"艺术":
echo"艺术点亮你的生活,展现你的创造力!";
break;
case
"志愿服务":
echo"志愿服务,传递爱与温暖,你真棒!";
break;
default:
echo"你的课余生活真多彩,继续保持哦!";
break;}【案例实践3-3】课余活动反馈启动内置服务器,在浏览器中打开php文件,具体如图所示在实际编程中,我们有时需要结合使用switch语句和if语句来处理更复杂的条件逻辑3.2.6switch语句和if语句结合的结构$temperature=20;if($temperature>=0&&$temperature<=20){switch($temperature){case0:echo"温度是0℃";break;case10:echo"温度是10℃";break;case20:echo"温度是20℃";break;default:echo"温度为0℃~20℃";}}else{echo"温度超出检测范围";}循环结构PART03在日常编程任务中,经常需要反复执行某些操作,这时使用循环结构可以大大简化代码,避免冗余,提升执行效率。循环结构主要包括4个部分:初始化设置、循环条件、循环变量的更新(迭代),以及循环体本身。在PHP中,循环结构主要有3类,分别是for循环结构、while循环结构和do...while循环结构。3.3循环结构for循环结构常用于事先已知循环次数的重复任务单,其基本语法格式如下。其中,初始化表达式负责设置循环控制变量的初始值,循环条件表达式定义循环继续执行的条件,而迭代表达式规定循环控制变量在每次迭代时的更新规则。for循环结构中圆括号内的每个表达式都可以为空,但必须保留分号分隔符。3.3.1for循环结构for(初始化表达式;循环条件表达式;迭代表达式){
循环体}for循环结构其流程如图所示。3.3.1for循环结构for循环结构具体应用示例代码如下。在上述代码中,变量$i被初始化为1。循环开始时,首先检查$i的值是否满足小于或等于10的逻辑条件,如果该条件为真,即$i的值满足条件,则执行循环体,其中包括输出$i的值并换行,接着,执行迭代表达式$i++,将$i的值增加1,随后,再次评估$i的值是否小于或等于10,如果条件仍然为真,循环将继续执行,这个过程会一直重复,每次迭代后$i的值都会递增。3.3.1for循环结构for($i=1;$i<=10;$i++){echo$i.'<br>';}运行结果如图所示。3.3.1for循环结构假设你正在开发一个简单的小学数学辅助系统,需要帮助小朋友们实现1~10的奇偶数判断,并输出判断结果。编写php文件,实现1~10的奇偶数判断并输出结果。【案例实践3-4】实现1~10的奇偶数判断<?phpecho"快速判断1~10的奇偶数:<br>";for($i=1;$i<=10;$i++){
if($i%2==0)
$result="是偶数";
else
$result="是奇数";
echo$i.$result."<br>";}?>【案例实践3-4】实现1~10的奇偶数判断启动内置服务器,在浏览器中打开php文件,具体如图所示while循环结构根据循环条件来判断是否重复执行某一段代码,其基本语法格式如下。while循环在每次执行循环体之前先评估其循环条件。根据循环条件的真假判断是否执行循环体。3.3.2while循环结构初始化表达式;while(循环条件表达式){
循环体迭代表达式}while循环结构其流程如图所示。3.3.2while循环结构3.3.1节中逐行输出数字1~10的程序可以使用while循环结构实现,示例代码如下。如果循环条件始终满足,即条件永远为真,将导致无限循环,也称为“死循环”。在此情况下,必须通过某种方式改变循环条件,否则程序将永远循环,消耗资源而无法继续执行其他程序。如果循环条件始终不满足,即条件永远为假,整个循环体一次也不会被执行。3.3.2while循环结构$i=1;while($i<=10){echo$i.'<br>';$i++;}do...while循环结构和while循环结构用法类似,其基本语法格式如下。do...while循环首先执行一遍循环体和迭代表达式,之后判断是否满足循环条件。根据循环条件的真假判断是否再次执行循环体。3.3.3do…while循环结构初始化表达式;do{
循环体迭代表达式}while(循环条件表达式)do...while循环结构其流程如图所示。3.3.3do…while循环结构3.3.1节中逐行输出数字1~10的程序同样可以使用do...while循环结构实现。3.3.2while循环结构$i=1;do{echo$i."<br>";$i++;}while($i<=10);while和do...while是两种重要的循环结构,分别体现了“先商量后行动”与“先斩后奏”的策略差异。while循环结构,虽起初效率略低,但能确保行动在满足条件的前提下进行,更为稳妥;而do...while循环结构效率较高,但存在风险,即不满足条件时,前期准备工作可能白费。分别使用这两种循环结构模拟请假流程对比如图所示。有趣的while和do...while循环结构在编程中,选择while还是do…while循环需基于具体需求和场景,以平衡稳妥与效率。这两种循环结构不仅关乎编程技巧,也蕴含生活智慧:追求效率的同时,确保满足前提条件,避免不必要的麻烦。实践中应灵活运用这两种循环,深入理解其原理及应用,提升解决问题的能力和个人素养。有趣的while和do...while循环结构循环嵌套是指在一个循环结构的循环体中再定义一个循环结构。循环结构都可以进行嵌套,并且它们之间可以互相嵌套。较为常见的循环嵌套是for循环嵌套。3.3.4循环嵌套for(初始化表达式;循环条件表达式;迭代表达式){for(初始化表达式;循环条件表达式;迭代表达式){
循环体
}}例如,使用循环嵌套输出由*组成的三角形,示例代码如下。运行结果如图所示。3.3.4循环嵌套for($i=1;$i<=5;$i++){ //控制三角形的行数
for($j=1;$j<=$i;$j++){ //控制每行输出的*的数量
echo"*";}echo"<br>";}假设你正在开发一个简单的小学数学辅助系统,需要帮助小朋友们实现九九乘法表的输出,即显示公式和计算结果。编写php文件,实现九九乘法表的循环输出。【案例实践3-5】实现九九乘法表的输出<body>
<table>
<?php
for($i=1;$i<=9;$i++){
echo'<tr>';//开始新行
for($j=1;$j<=$i;$j++){
echo'<td>'.$j.'×'.$i.'='.($j*$i).'</td>';//输出每个单元格
}
echo'</tr>';//结束当前行
}
?>
</table></body>【案例实践3-5】实现九九乘法表的输出启动内置服务器,在浏览器中打开php文件。在编程中,循环能自动化重复执行任务,高效解决问题。人生也如此,充满循环。在循环中,我们要学会适应,不断调整自我以适应环境和挑战。循环教会我们坚持,为实现目标需不断努力。更重要的是,循环揭示成长真谛:每次经历都塑造我们的个性和价值观,使我们更成熟、睿智,成为更优秀的自己。循环中的智慧:人生的重复与成长跳转语句PART04在循环结构中,当循环条件永远为真时,循环就会一直执行下去,形成“死循环”。此时可以利用跳转语句跳出循环。PHP中常用的跳转语句break语句continue语句3.4跳转语句break语句一般用于结束流程控制结构,当程序执行到break语句时,会立即结束当前的循环。当$i值为3时,满足循环体中if语句的条件,进入子语句块,执行break语句。此时程序将立即跳出while循环,执行之后的代码。3.4.1break语句$i=1;while($i<=10){if($i==3){break;}echo$i.'<br>';$i++;}continue语句与break语句的适用范围相同,当程序执行到continue语句时,会立即结束本次循环,跳过剩余的代码,在满足循环条件时执行下一次循环。示例代码如下。当$i通过迭代值为8时,进入if分支结构,执行continue语句,跳出本次循环。此时程序将继续判断$i的值是否满足循环条件,满足时进行下一次循环,直至循环结束。3.4.2continue语句$i=0;while($i<=10){$i++;if($i==8){continue;}echo$i.'<br>';}异常处理PART05异常处理(又称为错误处理)为我们提供了一种机制,可以在程序出现错误时,进行及时、有效的应对。异常处理不仅能帮助我们避免程序因为未知错误而返工,还能提高编程效率。当异常发生时,程序会保存当前的状态,并跳转到我们预先定义的异常处理器函数。根据具体情况,处理器可能会选择恢复保存的代码状态,或者终止脚本执行,甚至从代码的另一个位置继续执行脚本。3.5异常处理常见的错误分为4类,分别是语法错误、运行错误、逻辑错误和环境错误。3.5.1错误类型和级别运行错误运行错误指程序运行时出现的错误。语法错误语法错误是因程序中的代码不符合语法规则而发生的错误,语法错误会阻止PHP脚本的运行。语法错误是常见的错误,PHP会针对语法错误进行报错,错误信息为Parseerror。环境错误环境错误是由PHP开发环境引起的错误,程序出现环境错误时,会出现明显的错误提示。逻辑错误逻辑错误指编写程序时的实现思路出现错误,它不会阻止运行PHP脚本,也不会显示具体的错误信息,所以很难被发现。PHP中的每种错误类型都对应不同的错误级别,这些级别通常用常量来表示。常见的错误级别如下表所示。3.5.1错误类型和级别在PHP中,异常处理主要通过try、catch、throw、finally等块或关键字来实现。一个try块至少要有一个与之对应的catch块。定义多个catch块可以捕获不同的对象,PHP会按这些catch块被定义的顺序运行,直到运行完最后一个为止,而在这些catch块内,又可以抛出新的异常。3.5.2异常处理方式catch块用于捕获并处理异常,它接收一个异常对象作为参数,可以指定捕获特定类型的异常,也可以不指定,捕获任何类型的异常。try块将可能抛出异常的代码放在try块中,如果在这个块中的代码抛出了异常,则立即停止运行该块的剩余代码,并搜索匹配的catch块。finally块无论是否发生异常,finally块中的代码都会运行,它通常用于运行清理工作,如关闭文件句柄或数据库连接。throw关键字用于手动抛出一个异常,可以抛出一个新的异常对象,或者使用Exception类的一个实例。文件包含语句PART06在程序开发中,通常会将页面的公共代码提取出来,放到单独的文件中,然后使用PHP提供的文件包含语句,将公共的文件包含进来,从而实现代码的复用。文件包含语句包括:include语句require语句include_once语句require_once语句3.6文件包含语句include语句用于在当前脚本中包含另一个文件的内容。如果包含的文件存在并且可以成功加载,include语句返回true;如果文件不存在或无法加载,则会发出一个警告,并返回false,这个警告不会阻止脚本的继续执行。include语句的语法格式如下。其中,完整路径文件名可以是被包含文件的绝对路径,也可以是被包含文件的相对路径。3.6.1include语句和require语句include'完整路径文件名';或include('完整路径文件名');具体应用如下,在test.php中编写如下代码,输出语句HelloPHP!。在同目录下的另一PHP文件test_2.php中,使用include语句引入test.php,示例代码如下。运行结果如图所示。3.6.1include语句和require语句<?phpecho'HelloPHP!';?><?phpinclude'./test.php';?>require语句也用于在当前脚本中包含另一个文件的内容。与include语句不同,如果文件不存在或无法加载,require语句会产生一个严重错误(E_COMPILE_ERROR),并且脚本会停止执行。require语句的语法格式如下。将test_2.php文件中的代码修改如下。程序将因产生严重错误而终止执行。3.6.1include语句和require语句require'完整路径文件名';<?phprequire'./test_3.php';//包含不存在的文件?>include_once语句用于确保一个文件只被包含一次,即使在多次调用的情况下也是如此。include_once语句的语法格式如下。如果包含的文件不存在,将产生一个E_WARNING级别的错误,但脚本会继续执行。require_once语句也用于包含一个文件,并且也只包含一次。require_once语句的语法格式如下。与include_once不同的是,如果文件不存在或无法包含,require_once会产生一个严重错误(E_ERROR),并导致脚本停止执行。3.6.2include_once语句和require_once语句include_once'完整路径文件名';require_once'完整路径文件名';下面来看一个示例。file1.php具体代码如下。file2.php具体代码如下所示。3.6.2include_once语句和require_once语句<?phpecho"这是文件1的内容。<br>";//包含一个文件include'file2.php';echo"这是文件1的后续内容。<br>";?><?php$count=1;echo"这是第$count次包含file2.php。<br>";//增加计数器的值$count++;?>test.php文件中使用include语句和include_once语句来包含file1.php。运行结果如图所示。3.6.2include_once语句和require_once语句<?phpinclude'file1.php';//使用include语句包含file1.phpinclude_once'file1.php';//使用include_once语句再次包含file1.php//输出一个测试字符串echo"包含操作已完成。";?>为构建汇率计算器,我们需要实现以下核心功能:首先,编程实现根据指定的汇率将一种货币兑换成另一种货币的功能,即已知汇率和某货币的金额,将该货币的金额换算成另一种货币的金额,并显示换算结果。其次,编程实现根据指定的汇率将一种货币兑换成其他多种货币的功能,即已知汇率和某货币的金额,将该货币的金额换算成其他多种货币的金额,并显示换算结果。任务3-1构建一对一汇率计算设计前端界面,显示当前汇率和货币金额;根据需要,选择不同的汇率进行计算;将计算结果显示到页面上。编写php文件实现一对一汇率的计算。//用户输入的货币金额$amount=50;//用户选择的货币代码$currencyCode='USD';//假设用户想将货币换成美元//计算兑换后的金额switch($currencyCode){
case
'USD':
$calculatedAmount=$amount*$USD;
echo"当前{$currencyCode}的汇率是{$USD}。<br>";
break;case
'JPY':
$calculatedAmount=$amount*$JPY;
echo"当前{$currencyCode}的汇率是{$JPY}。<br>";
break;任务3-1构建一对一汇率计算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公关策划合同范本2025年
- 公积金贷款合同(2025版)
- 惠州二手房购房合同模板(2025版)
- 2025年度房地产项目策划与营销合同
- 2025版企业并购重组贷款服务合同
- 2025版高速铁路建设项目材料分包合同样本
- 二零二五年度建筑施工工人安全责任承诺协议书
- 二零二五年新能源发电项目采购代理委托协议书
- 2025版工业地产厂房分租租赁协议
- 2025年度城市穿梭代驾租赁业务合作协议书
- 2025年校长职级考试题及答案
- GB/T 17521-1998化学试剂N,N-二甲基甲酰胺
- GB/T 1094.1-2013电力变压器第1部分:总则
- GB 15196-2015食品安全国家标准食用油脂制品
- GA/T 744-2013汽车车窗玻璃遮阳膜
- GA 898-2010大型焰火燃放作业人员资格条件及管理
- 农产品质量安全培训(完整版)
- 铁路基本建设项目投资管理办法
- 人教版高中英语必修1词汇表(附音标)
- 世界上最美的地方
- 2022年养殖场动物疫情报告制度
评论
0/150
提交评论