zoukankan      html  css  js  c++  java
  • 函数3

    1.本章学习总结

    1.1 思维导图

    1.2 本章学习体会及代码量学习体会

    1.2.1 学习体会

    1.这周学会了定义函数,对函数进行集成和封装,以实现相应的程序功能,它可以把复杂的问题变简单,增强了程序的可读性。
    2.区分了局部变量和全局变量,了解了变量的在程序中的一些作用原理,如:变量的作用域、存储方式、静态变量只赋初值一次,并且会保持上一次调用的值。
    3.测试成绩不理想,题量不够,解题思路不清晰,在接下来的学习中多做题,多阅读代码,学会将别人的思路转化为自己的。
    

    1.2.2 代码累计

    2.PTA总分

    2.1截图 PTA中的排名得分

    2.2 我的总分:

    pta总分:145

    3.PTA实验作业

    3.1 PTA题目1

    本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。
    其中函数prime当用户传入参数p为素数时返回1,否则返回0;函数Goldbach按照格式“n=p+q”输出n的素数分解

    3.1.1 算法分析

    • //定义判断素数的函数
    • 定义循环参数i
    • 传值给P
      • if(p==1) return 0 //1不是素数
      • end if
    • for 2 to P/2
      • if p%i==0 then
      • 返回值 0
      • end if
    • end for
    • return 1//素数返回1

    • //定义void Goldbach函数
    • 传值给n
    • 定义循环参数i,j
    • int prime( int p )//声明素数函数
    • for 1 to n-1 do
      • for 3 to n-1 do
        • if prime(i)+prime(j)==2 then//调用素数函数
          • if i+j==n do
          • printf("%d=%d+%d",n,i,j)
          • end if
        • end if
      • end for
    • end for

    3.1.2 代码截图

    3.1.3 测试数据

    3.1.4 PTA提交列表及说明

    Q1:判断素数忽略了1不是素数,没有全部正确,加上了一个if判断1
    A1: 调用素数函数减少了代码量

    4.大作业

    4.1.函数关系图

    4.2.函数功能介绍

    main函数

    1.题库使用说明和难度选择提示 (1)

    提供良好的界面,增强用户体验。
    

    2.主干和多个函数调用 (2)

    联系多个函数的纽带,同时还有计时和选题数、步数功能(其中调用(3)、(4)、(5)函数不在此累赘)
    1.do-while函数实现用户选择功能
    2.while函数实现输出题目
    



    3.生成随机式子 (3)

    随机生成用户选择类型题目(本程序扩展为三个等级都为加减乘除)
    1.if判断是一步还是两步
    2.当第一步是加减第二步的乘除要先算,即优先级问题
    



    4.对错提示 (4)

    判断用户计算对错,并给出相应提示
    

    5.限时函数 (5)

    把用户计算时间限定在一定时长
    


    4.3 运行结果截图





    4.4 调试碰到问题及解决办法

    Q1:当小淞很皮,按错输入一串字母,然后程序崩了
    A1:通过以下框架实现稳定输入(就算小淞睡键盘也不会崩了)

    Q2:用随机函数取余得到多位数时,会出现缺位如:

    A2:用while语句限定一个范围即可

    Q3:怎么计算出两步的正确答案
    A3:用switch对第二个运算符判断然后计算,(在上方生成随机式子 (3) 中有代码)

    Q4:除法怎么判断用户是否正确(因为计算机的结果小数非常多)
    A2:保留两位小数(第三位四舍五入),用户输入到两位小数即可

    4.5 大作业总结

    1.百度是我们的好朋友,不懂就百度。
    2.多测试可以发现更多bug,多调试可以很好找出问题所在。
    3.函数可以灵活运用,同一个函数每个人有不同的使用方法,同一个问题,解决方法千变万化,所以不要被前人思想禁锢思维,打代码也要打出自己的个性。
  • 相关阅读:
    链表总结
    源码,反码,补码,位运算
    JAVA打印乘法口诀表
    JAVA打印空三角形
    JAVA打印三角形
    列表,元组,字典,集合类型
    for 循环 ,数字类型,以及字符串类型
    基本运算符补充,流程控制if判断与while循环
    内存管理,数据类型的基本使用与基本运算符(python2中与用户交互)
    编程的分类,以及运行python解释器的原理,最后变量
  • 原文地址:https://www.cnblogs.com/codedawn/p/9867724.html
Copyright © 2011-2022 走看看