首页 > 编程语言 >2023-2024-1 20231402《计算机基础与程序设计》第六周学习总结

2023-2024-1 20231402《计算机基础与程序设计》第六周学习总结

时间:2023-11-01 23:22:46浏览次数:50  
标签:学习 错误 20231402 解决方案 2024 2023 answer 程序设计

2023-2024-1 20231402《计算机基础与程序设计》第六周学习总结

作业信息

这个作业属于哪个课程 2023-2024-1-计算机基础与程序设计
这个作业要求在哪里 2023-2024-1计算机基础与程序设计第6周作业
这个作业的目标 自学计算机科学概论第7章《C语言程序设计》第5章
作业正文 https://www.cnblogs.com/lsh0815/p/17804156.html

教材学习内容总结

《计算机科学概论》

  • 主要用伪代码介绍了算法,包括有简单变量的算法,复杂变量,搜索算法和排序,递归算法。回顾了信息隐蔽和抽象,从这里我才真正理解什么是信息隐蔽,学习具体实例对理解概念很有帮助。
    《C语言程序设计》
    这一章也是在介绍算法,不过是用流程图和C语言。

教材学习中的问题和解决过程

  • 问题1:除了顺序搜索和二分检索还有其他搜索方法吗,二分检索类似数学上的二分法,但是字母不像数字,二分检索是怎样比较项目的大小呢?
  • 问题1解决方案:
    除了顺序搜索和二分搜索,还有其他搜索方法,其中一种较常见的是哈希表(Hash Table)搜索。哈希表使用散列函数将数据映射到一个具体的位置,然后可以在常数时间内查找数据。它适用于快速查找和插入数据的场景,但不适用于有序数据的检索,因为数据在哈希表中没有明确的顺序。
    对于二分搜索,您提到它类似于数学上的二分法,但如何比较项目的大小取决于项目的数据类型。对于数字,比较大小是直接的,可以使用小于、大于或等于操作符进行比较。但对于非数字类型,比较可能会涉及到定义在这些类型上的特定比较函数或方法。
    对于字母或字符串的二分搜索,通常会使用字典顺序进行比较。字典顺序是一种基于字母表的排序方法,其中字符按照它们在字母表中的顺序进行比较。例如,对于英文字母,字典顺序是'A' < 'B' < 'C' < … < 'Z'。在这种情况下,您可以使用字符串比较函数来确定一个字符串是否在另一个字符串之前、之后或相等。
    一般来说,比较项目大小的方法取决于数据类型和具体的编程语言。在不同的编程语言中,可能会有不同的比较函数或方法来处理不同类型的数据。
  • 问题2:书中提到“永远都不要重复造轮子”,那如何确认自己没有重复呢,重复后有什么后果呢?
  • 问题2解决方案:
    原则上,"永远都不要重复造轮子" 这句话的意思是,在编程和软件开发中,不要浪费时间和资源去重新实现已经存在的功能或工具。通常,这是因为已经有许多开源库、框架和工具可以用来完成常见的任务,而且这些已有的解决方案通常经过了广泛的测试和改进,可以提供高质量和高效的功能。
    然而,有时候重新实现某些功能可能是有道理的,例如:

1.学习目的:如果您是初学者,重新实现一些基本的功能可能有助于您更好地理解原理和算法。这有助于您提高编程技能。
2.特定需求:有时,现有的解决方案可能不完全符合您的特定需求,或者它们可能会引入不必要的复杂性。在这种情况下,重新实现可能更加合理。
3.性能优化:在某些情况下,您可能需要更高性能的解决方案,而不是标准库或通用工具提供的解决方案。在这种情况下,重新实现可以使您更好地控制性能方面的问题。

然而,如果不小心重复造轮子,可能会导致以下问题:

4.浪费时间和资源:重新实现现有功能需要花费时间和精力,这可能是不必要的,尤其是在有更好的解决方案可用时。
5.潜在错误:自己实现功能可能会引入错误,而这些错误可能已经在现有的解决方案中得到修复。这可能导致软件中的漏洞和不稳定性。
6.维护问题:如果您自己实现了某些功能,您需要负责维护它,包括修复错误和进行升级。这可能会增加您的工作量。

因此,在决定是否重新实现某些功能时,应该仔细考虑实际需求,确保没有更好的替代方案可用,以及权衡时间、资源和质量方面的因素。最好的做法是在需要时候考虑开源解决方案,只有在确实需要时才重新实现特定功能。

基于AI的学习











后面的电脑卡了,没截上图。

代码调试中的问题和解决过程

  • 问题1:运行时无论正确错误都输出提示我错误。

  • 解决方法:

            if (c=="+") answer=a+b;
            if (c=="-") answer=a-b;
            if (c=="*") answer =a*b;
            if (c=="/") answer=a/b;

改为:

        	if (c==’+’) answer=a+b;
            if (c==’-’) answer=a-b;
            if (c==’*’) answer =a*b;
            if (c==’/’) answer=a/b;
  • 问题2:修改程序运行输出的正确率错误。

  • 解决方案:
    计算正确题数的一步位置不对,改为:
              {
                  switch (r)
                  {
                  case 1:
                      printf("Very good!\n");
                      break;
                  case 2:
                      printf("Excellent!\n");
                      break;
                  case 3:
                      printf("Nice work!\n");
                      break;
                  case 4:
                      printf("Keep up the good work!\n");
    
                  }
                  right++;
              }
    
    
    

上周考试错题总结

  • Each machine language instruction performs a single complex task, such as sorting a list of numbers.
    正确答案: 错误
    你的作答: 正确
    点错了。每个机器语言指令只能执行简单的任务。

  • The data-coverage testing approach tests the limits of the program’s data.
    正确答案: 正确
    你的作答: 错误
    对数据覆盖测试理解有误。

  • A test case is a document that specifies how a program is to be tested.
    正确答案: 错误
    你的作答: 正确

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 2/2 20/20
第二周 100/100 2/4 40/40
第三周 300/300 6/7 62/60
第四周 500/500 8/9 80/80
第五周 800/800 10/10 100/100
第六周 1200/1200 11/11 120/120
  • 计划学习时间:20小时

  • 实际学习时间:20小时

标签:学习,错误,20231402,解决方案,2024,2023,answer,程序设计
From: https://www.cnblogs.com/lsh0815/p/17804156.html

相关文章

  • 2023NOIP A层联测22 差后队列
    2023NOIPA层联测22差后队列挺有意思的期望题,题解做法应该是DP,但是我又双叒写出奇怪的做法……思路除去最大值外的元素个数的倒数就是这一轮取到某个数的概率,而最大值是特殊的情况,在被替代之前或作为最后一个数被弹出之前,不参与计算。对于操作0的输出和操作1的输出分开......
  • [20231027]Index ITL Limit 3.txt
    [20231027]IndexITLLimit3.txt--//链接https://jonathanlewis.wordpress.com/2022/02/18/index-itl-limit/,使用自治事务。--//自己尝试不使用自治事务写一个看看。1.环境:SCOTT@book>@ver1PORT_STRING        VERSION   BANNER------------------------------......
  • 2023.11.1——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.mybatis明日计划:学习......
  • [20231031]Index ITL Limit 4.txt
    [20231031]IndexITLLimit4.txt--//昨天做了IndexITLLimi的测试,参考链接=>[20231027]IndexITLLimit3.txt.--//我想看看这个边界大概在那里,测试看看.1.环境:SCOTT@book>@ver1PORT_STRING        VERSION   BANNER---------------------------------------......
  • 2023就业困难,Android程序员对应的策略有哪些?
    前言亲爱的朋友们,今年的就业情况大家有目共睹,大厂不断裁员,高校毕业生1158万,达历史新高那么今天就让我们一起深入探讨今年的就业形势为何如此困难。如何在这个充满挑战的时刻,更好地理解这个问题,并发现其中隐藏的成长机会。疫情的冲击首先,我们不得不提到疫情对就业市场的巨大冲击。全......
  • [20231023]为什么刷新缓存后输出记录顺序发生变化6.txt
    [20231023]为什么刷新缓存后输出记录顺序发生变化6.txt--//前几天做了单表刷新缓存后输出记录顺序发生变化的情况,测试2个表的情况时遇到一个奇怪的现象。--//我前面的测试18c,如果使用10046跟踪看不到我遇到的情况,我想使用strace跟踪,发现该机器配置使用asm,strace跟踪无法看到一--/......
  • [20231026]enq TX - allocate ITL entry的测试4.txt
    [20231026]enqTX-allocateITLentry的测试4.txt--//以前做过测试,自己竟然有点看不明白,再次验证看看。1.环境:SCOTT@book>@ver1PORT_STRING                   VERSION       BANNER---------------------------------------------------------......
  • 2023牛客暑期多校训练营8 B Bloodline Counter 指数型生成函数 容斥 多项式求逆
    传送门容易想到求出竞赛图上最大环\(\lek\)的数量,再求出\(\lek-1\)的数量作差即可得到答案。设指数型生成函数\(G(x)\)表示大小为\(i\)的环的方案数。\(G(x)=\sum_{i=1}^k\frac{a_i}{i!}x^i\)那么最大环\(\lek\)的数量\(=[x^n]n!\sum_{i=1}^ki!\frac{(G(x))^i}{i!}\)这里......
  • 从嘉手札<2023-11-01>
    最近心态不好,如同此刻的天气,浓雾扰扰,看不见前途未来,也想不起过去。一则是研究没有进展,二则是感情纷扰,其实再多的纷扰也都不过是自己内心的那层桎梏,可人不能总能保持理性的;就像很多快乐的事情是简单的,其实并没有那么难以获得,晒晒阳光,逗逗小猫,打场篮球。可快乐是不能帮助你毕业的......
  • 2023年,除了宝塔,还有好用的服务器运维监控工具么?
    很多运维人员、工程师在日常工作中会产生自己岗位的独特需求,小编在主机/服务器运维的过程中也提炼了几点:无需安装其他软件,随时远程连接家里的电脑/服务器实时监控服务器的运行状态,有异常情况可以告警可以做一些安全扫描,防止被入侵在使用了宝塔、向日葵等几款工具后,我“机缘巧......