计算思维导论(第2版)课件:算法基础.pptx

计算思维导论(第2版)课件:算法基础.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共187页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

算法基础;对算法的认识;问题求解;4.1算法和算法描述;算法:解决问题的方法和步骤

数据结构:数据的存储组织方式;#includestdio.h

intmain()

{

return0;

};;有穷性;常量和变量;;;交换两个数;两碗饭,如何交换?;任务:交换两个整数

算法描述:

step1:读入两个非负整数a,b的值

step2:将a的值赋值给t

step3:将b的值赋值给a

step4:将t的值赋值给b

step5:输出a,b的值;图形符号;任务:交换两个整数

算法:

step1:读入两个非负整数a,b的值

step2:将a的值赋值给t

step3:将b的值赋值给a

step4:将t的值赋值给b

step5:输出a,b的值;顺序结构:传统流程图;选择结构:传统流程图;循环结构:传统流程图;运算符号说明;任务:交换两个整数

算法:

step1:读入两个非负整数a,b的值

step2:将a的值赋值给t

step3:将b的值赋值给a

step4:将t的值赋值给b

step5:输出a,b的值;;数组就是一组有序数据的集合;;1、下面伪代码输出的结果是:

a[5]={1,2,3,4,5}

outputa[1]

outputa[2]

outputa[3+1]

outputa[5];;a[5]=0,s=0,num=0

fori=1to5//累加求和求均值

inputa[i]

s=s+a[i]

endfor

avg=s/5;;a[10]=0,s=0

fori=1to10//输入且累加求和

inputa[i]

s=s+a[i]

endfor;数组作用

一次输入,多次使用;;函数就是模块化设计;类型

系统预定义(三角函数,……)

用户自定义;1、下面伪代码输出的结果是:

主调函数:

a=2

b=cube(a)

outputb

被调函数:

functioncube(x)

returnx^3

endfunction;;;主调函数:

inputm

flag=odd_even(m)

ifflag=0then

outputeven

else

outputodd

endif;;主调函数:

inputr

s=____________

outputs

被调函数:

functionarea(r)

return

endfunction;函数

函数名

函数参数

函数返回值;;算法的特征

有穷性、确定性

可行性、输入和输出;4.2经典算法;;;细数一下你身边的枚举法;找出100以内的素数;;任务1:百钱买百鸡

鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?;设要买x只公鸡,y只母鸡,z只小鸡,列方程:;x=;;任务2:猜字问题

雨水淋???了算术书的一道题,8个数字只能看清3个,第一个数字虽然看不清,但可看出不是1。求其余数字是什么?[□*(□3+□)]2=8□□9;任务2:猜字问题

雨水淋湿了算术书的一道题,8个数字只能看清3个,第一个数字虽然看不清,但可看出不是1。求其余数字是什么?[□*(□3+□)]2=8□□9;;;;如何求等差数列、等比数列的通项、以及数列和?

1)1,3,5,7,9,11,…,?

2)1,3,9,27,81,…,?;切0刀——1块

切1刀——2块

切2刀——4块

切3刀——7块

切4刀——11块

?;你还能找到通项吗?;;从问题的规模(项数)出发,找到大规模问题与小规模问题之间的关系(或前后项之间的关联),然后根据他们之间的联系逐步求解。这种在规定的初始条件下,找出后项对前项的依赖关系的操作,称为递推。;递推法设计;任务:兔子繁殖问题

这是一个古典数学问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第3个月后每个月又生一对兔子。假设所有的兔子不死,问第20月兔子总数为多少?;任务:兔子繁殖问题

算法分析;任务:兔子繁殖问题

算法分析

这就是著名的斐波那契数列。

1,1,2,3,5,8,13,…;a[20]=0,

a[1]=1,a[2]=1

inputn

fori=3ton

a[i]=a[i-1]+a[i-2]

endfor

outputa[n];任务:猴子

文档评论(0)

ning2021 + 关注
实名认证
内容提供者

中医资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年05月10日上传了中医资格证

1亿VIP精品文档

相关文档