五、实验报告 学号: 姓名: 班级: 实验时间: 年 月 日 实验报告:用计算机解题——算法 一、请画出实验内容1"真假话问题"计算机求解算法的流程图。 ——————————————————————————————————————————— ——————————————————————————————————————————— 二、假定一个数列中有n个杂乱无章的整数,请你用流程图描述一下插入排序的算法? N N Y N N Y Y ----------------------- 开始 ࠀࠌࠎࠔࠤࠪࡂࡈ࡞ࡨࡰࡲࡸࡺࢀࢂࢄࢎࢢࢤࢨࣞ࣠ 쏏쏏쏏쏏쏏쏏냏貛杹䕕ᘟ ౪䈀*䩃䩏䩑䩡桰 ᘢ ౪䈀*䩃䩏䩑䩡 瀁hÿᘢ롨Š䈀*䩃䩏䩑䩡 瀁hÿᔥ㹨戓ᘀ쵨쀤䈀*䩃䩏䩑䩡桰 ᔜ ౪ᘀᱨ齥䈀*䩏 瀁hÿᔨ㹨戓ᘀᱨ齥 䈀*䩃䩏䩑䩡 瀁hÿᔥ㹨戓ᘀᱨ齥䈀*䩃䩏䩑䩡桰 ᘖᱨ齥㸀Ī 伀J瀀hÿᘖᱨ齥䈀*䩏 瀁hÿᔥ ᘀ쵨쀤 䈀Ī䩃䩏䩑䩡桰ᔡ ᘀ쵨쀤䈀Ī䩃设甲乙丙为ABC,设去了为1,没去为0 ~A->B^C=1 B+C=1 输出甲乙丙的实际情况 结束 实验十五-实验报告表全文共2页,当前为第1页。 开始 I=1 j=2 I=i-1 J=j-1 ai=c ai=ai-1 ai-1=c ai<ai-1 i-1=0 ai=c ai=aj aj=c 结束 输出a1=an I=n i=j j=j+1 a1<a2 j= 实验十五-实验报告表全文共2页,当前为第2页。 实验十五的实验报告主要涉及两个知识点,分别是计算机解题中的“真假话问题”算法和插入排序算法。 一、真假话问题计算机求解算法 在“真假话问题”中,我们通常考虑逻辑推理的问题,比如给出三个角色(甲、乙、丙),每个角色可能会说真话或假话,我们需要根据他们的陈述来判断实际情况。在这个实验中,设去了某个地方为1,没去为0。给定的关系是:如果A去,那么B和C中至少有一个人也去(A->B^C=1),并且B和C中恰有一个人去(B+C=1)。这个问题可以通过布尔逻辑来解决。 流程图可以如下表示: 1. 输入甲乙丙是否去的值(1代表去,0代表没去)。 2. 检查A的值,如果A=1,那么至少B或C有一个是1,否则返回错误。 3. 检查B和C的和,如果等于1,则满足条件;否则返回错误。 4. 输出甲乙丙的实际去留情况(根据输入的值确定)。 二、插入排序算法 插入排序是一种简单的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。其流程图可以表示为: 1. 设定两个指针I和J,初始时I=1,J=2。 2. 比较a[I]和a[J]的大小,如果a[I]小于a[J],则交换它们的位置。 3. 将J向后移动一位,即J=J+1,继续进行比较。 4. 当J达到数组末尾或者a[I]不再小于a[J]时,将I向前移动一位,I=I+1。 5. 重复步骤2-4,直到I到达数组末尾(I=N)。 6. 在这个过程中,数组的前N个元素会逐步变为有序,最后输出排序后的数组a[1]=a[N]。 这两个实验展示了计算机在解决问题时如何使用算法来处理逻辑推理和数据排序。通过流程图的形式,可以清晰地理解每一步操作,有助于加深对算法的理解和实现。在实际编程中,这些基础的算法是解决问题的关键工具。
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载
评论星级较低,若资源使用遇到问题可联系上传者,3个工作日内问题未解决可申请退款~