2023-2024-1 20231320 《计算机基础与程序设计》第六周学习总结
作业信息
这个作业属于哪个课程 | <班级的链接>(2023-2024-1 计算机基础与程序设计) |
---|---|
这个作业要求在哪里 | <作业要求的链接>(2022-2023-1计算机基础与程序设计第六周作业) |
这个作业的目标 | <自学《计算机基础与程序设计》第6章并完成云班课作业 、自学《C语言程序设计》第5章并完成云课班作业> |
作业正文 | 作业正文 |
教材学习内容总结
《计算机基础与程序设计》
在第六章中主要介绍了几种计算机语言。其中利用pep9介绍了机械语言和汇编语言,其中机械语言还介绍了寻址模式,指令说明符,操作数说明符等概念,如1100表示将操作数载入寄存器A中,即告诉了计算机存储数据的地址。而汇编语言不同的CPU也是不同的。本章还介绍了伪代码,这是一种有自然语言来描述程序的措施,同时伪代码中也存在一些代码片段,如循环可以用do,while来表示,条件会用if来表示。我们要学会写和阅读伪代码。本章的最后还提到了程序的检查(明箱和暗箱)
《C语言程序设计》
有多种算法的表示:自然语言,流程图,NS结构化流程图,伪代码等。还讲解了单分支控制条件语句if else.多分支控制条件语句if ,else if,.......,else[注意与0比较时是与一个无限小的数比较如10-6.];还有swicth(){case 1:}注意要加break。本章还讲了逻辑运算符,以及他们的顺序。如&& ||具有截断性。还讲了fflush()来清除缓冲区中的非法运算符。同时还讲了逻辑运算符在二进制中的计算。
教材学习中的问题和解决过程
问题:不理解书中所讲的机械语言中寻址模式,操作数,指令说明符,操作数说明符
解决方法:我询问了ChatGPT。
当计算机执行任务时,它使用一种称为机械语言的东西。这就像是计算机能够理解的一种特殊的语言。它由一系列0和1组成,每个0或1称为一个位。这些位以特定的方式组合来传达指令给计算机。
汇编语言是机械语言的一种更容易理解的形式。就像是机械语言的翻译版本,用更易读和理解的方式来书写指令。汇编语言使用助记符(mnemonics)来表示机械语言指令。这使得程序员能够更轻松地编写指令,而不必直接使用0和1。
在机械语言中,有几个重要的概念:
寻址模式:这是指令中用于确定操作数位置的方式。它可以告诉计算机在哪里找到要处理的数据。操作数:这是指令要操作的数据。它可以是数字、地址、寄存器等。
指令说明符:指明要执行的操作类型,比如加载、存储、加法等。
操作数说明符:说明操作数是如何处理的,比如将其载入寄存器。
PEP/9是一个教学用的计算机系统,采用汇编语言。它包含一些指令和规则,用于编写程序。
例如,LDA 1100 是一个PEP/9汇编语言的指令。这意味着“将操作数载入寄存器A中”。在这里:
LDA 是指令说明符,表示“将数据加载到寄存器”。
1100 是操作数,指出要加载的数据或地址。
在这个例子中,1100 可能代表一个内存地址,计算机会去找这个地址,找到对应的数据,然后将它加载到寄存器A中。
总的来说,机械语言和汇编语言是帮助计算机执行任务的不同语言形式,而寻址模式、操作数、指令说明符和操作数说明符是用来编写和理解这些指令的关键概念。>
基于AI的学习
q
我在学C语言的单分支,多分支条件控制语句,请你以苏格拉底的方式对我进行提问,一次一个问题
AI
当然,我可以以苏格拉底的方式来引导你探索C语言的条件控制语句。让我们开始:
你知道在C语言中,条件控制语句的主要目的是什么吗?
q
通过条件的设定保证在不同的情况下做出不同的应答
AI
很好,你已经提到了条件控制语句的一个关键目的。接下来的问题:
在C语言中,最基本的条件控制语句是什么,你能描述一下它是如何工作的吗?
q
if语句,它通过限定条件来是程序做出对应回答
AI
正确。if语句是C语言中最基本的条件控制语句之一。现在,让我们深入了解一下:
在if语句中,条件的结果是什么类型的值?这个值是如何影响程序的执行流程的?条件的结果是一个布尔值,即真(true)或假(false)。这个布尔值决定了if语句块内的代码是否会执行。如果条件为真,相应的代码块将被执行;如果条件为假,那么相应的代码块将被跳过,程序会继续执行后续的语句。
下一个问题:
if语句之外,C语言中还有哪些其他的条件控制语句呢?
q
while,Switch
AI
很好,你提到了两个常见的条件控制语句。下一步,我们来讨论while循环:
请解释一下while循环的工作原理,以及它与if语句的区别。
q
while是一个循环,而if是单次的条件语句。while决定是否执行循环,if决定执行哪个命令
AI
你的解释很正确。while循环是一个用于重复执行一段代码块的控制结构,它基于条件的真假来决定是否继续循环执行。而if语句是一个单次的条件控制语句,用于根据条件的真假来选择执行不同的代码块。
接下来,我们来谈谈switch语句:
你能简要解释一下switch语句的作用以及它与if语句的不同之处吗?
q
你对第一个问题的回答是什么?
AI
对不起,我似乎误解了你的问题。你之前提到的第一个问题是有关条件控制语句的目的,而不是关于while循环和if语句之间的区别。让我重新回答第一个问题,然后我们再继续讨论while和switch。
通过条件的设定保证在不同的情况下做出不同的应答是编程中的一种常见需求。条件控制语句用于在程序执行过程中基于不同的条件执行不同的代码块。这有助于根据特定情况采取不同的行动,使程序更加灵活和适应不同的情况。
现在,我会回答你的第五个问题,关于while循环和if语句的区别。
while循环是一个用于重复执行一段代码块的控制结构,它基于条件的真假来决定是否继续循环执行。if语句是一个条件控制语句,用于根据条件的真假来选择执行不同的代码块。主要区别在于,while循循环会重复执行其代码块,直到条件变为假,而if语句只在特定条件下执行其代码块一次。
q
你觉得我掌握这一知识点了吗?
AI
从你的问题和回答来看,你对条件控制语句(if、while、switch)的基本概念有了一定的了解。你知道if语句用于根据条件的真假来选择执行不同的代码块,while循环用于重复执行一段代码块,只要条件为真,而switch语句用于根据不同的情况选择执行不同的代码块。
然而,如果你希望深入掌握这些概念,你可以通过更多的练习和实际编程来加强你的理解。编写简单的程序并使用这些控制结构来解决问题是提高你的编程技能的好方法。如果你有任何更深入或具体的问题,都可以随时提出,我会尽力提供更多的帮助和解释。
代码调试中的问题和解决过程
- 问题1:不知道如何将输入的数字反向输出
- 问题1解决方案:将数字储存到一个i++的字符串中,再以i--的形式输出
- 问题2:对循环中反复赋值的方法不懂
- 问题2解决方案:先在循环外进行编写,在通过找规律的方式来将反复赋值加入循环中
上周错题改错
问题一:Machine language programs are loaded into the Pep/9 simulator by specifying the instructions in hexadecimal.
正确答案: 正确
机器语言程序通过以十六进制方式指定指令加载到Pep/9模拟器中。
问题二:Assembly language allows program instructions to be specified using mnemonics that correspond to machine language instructions.
正确答案: 正确
汇编语言允许使用与机器语言指令相对应的助记符来指定程序指令。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 20/20 | 1/2 | 20/20 | 通过计算机概论的略读,对计算机有了一个更准确的初步了解 |
第二周 | 5/10 | 2/4 | 5/25 | 对计算机和编程有了基础的专业了解 |
第三周 | 5/10 | 1/4 | 7 /32 | 对C语言有了初步的了解,编程开始入门 |
第四周 | 50/50 | 2/4 | 7/38 | 学会使用编程工具,逻辑门,分支等重要编程基础 |
第五周 | 40/120 | 2/4 | 6/20 | 学会一些编程语言,对codeblocks的使用有了新的学习 |
第六周 | 400/520 | 1/5 | 8/28 | 学会了关于分支等的一些基础编程语言,同时也对计算机的自学有的更深的体会,能够自己解决部分不懂的问题 |