- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二、分支结构程序设计 IF语句 循环结构程序设计 [问题讨论]:细胞问题 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。 如:阵列 0234500067 1034560500 2045600671 0000000089 有4个细胞。 算法步骤: 1. 从文件中读入m*n矩阵阵列,将其转换为boolean矩阵存入bz数组中;2. 沿bz数组矩阵从上到下,从左到右,找到遇到的第一个细胞;3. 将细胞的位置入队h,并沿其上、下、左、右四个方向上的细胞位置入队,入队后的位置bz数组置为FLASE;4. 将h队的队头出队,沿其上、下、左、右四个方向上的细胞位置入队,入队后的位置bz数组置为FLASE;5. 重复4,直至h队空为止,则此时找出了一个细胞; 6. 重复2,直至矩阵找不到细胞;7. 输出找到的细胞数。 program xibao;const dx:array[1..4] of -1..1=(-1,0,1,0); dy:array[1..4] of -1..1=(0,1,0,-1);var int:text; name,s:string; pic:array[1..50,1..79] of byte; bz:array[1..50,1..79] of boolean; m,n,i,j,num:integer; h:array[1..4000,1..2] of byte; 样例四、在半径为R的圆内有两个互相正交的内接长方形,如下图,其中A、B可随便选,但必须是整数,对给定的R,求A、B使阴影部份的面积最大。 方法一:A、B取0~2R,枚举求阴影部份面积的最大值 方法二:优化取值范围,数学定理,内接矩形最大面积为内接正方形,则A、B取大值只需取到SQRT(2)*R 程序设计提高教 学 问题一:编程的最基本要素是什么?或者说编程的目的是什么? 1、输入 2、处理 3、输出 即对输入的原始数据,经过处理与加工,得到所需要的输出数据。 问题二:编程过程中需要考虑的基本要素是什么? 1、如何存储原始数据、中间数据、最终数据 2、如何处理原始数据而得到最终数据 一、什么叫数据结构 数据在计算机中的存储形式。 最简单的数据结构: 1、 变量:类型 (问题:物理意义?) 学习思路:如何定义?定义后变量的特色是什么?如何使用? 例:var x:integer; (问题:扩展的相关类型及使用?) 样例:求数列1,1,2,3,5,8,13,……的第n项 考虑问题的着眼点? 2、一维数组 变量:array[下标1..下标2] of 类型(问题:物理意义?) 学习思路:特点是什么?优势是什么?如何应用?如何扩展为多维数组?如何使用? 样例: 装箱问题 [问题描述] 有一个箱子容量为v(正整数,o≤v≤20000),同时有n个物品(o≤n≤30),每个物品有一个体积 (正整数)。要求从m个物品中,任取若千个装入箱内,使箱子的剩余空间为最小。 [分析一] 审题:注意箱子容量为正整数,N个物品体积为正整数。可以利用整数数轴标志,求得所需体积。 1、? 排序物品; 2、? 求物品组合后的体积; (1) 对第2个物品,求其与第1物品的组合,在第1、2及组合体积数轴上打上标志; (2) 对第i物品,求其与1~i-1物品的组合,即求i物品与数轴上标志的体积值的组合(每个组合值 v); 3、从数组位置V开始往前找,找到第1个打标志的即为剩余空间最小的值。 program ex; var a:array[1..30] of integer; n,v,k:integer; procedure init; {读入} var f1:text; i:integer; begin assign(f1,c:\t4.txt); reset(f1); read(f1,v); read(f1,n); for i:=1 to n do read(f1,a[i]); close(f1); end; procedure paicv; {对数据进行排序} var i,j,t:integer; begin for i:=1 to n-1 do begin for j:=i+1 to n do if a[i] a[j] then begin t:=a[i];a[i]:=a[j];a[j]:=t;
您可能关注的文档
最近下载
- 执业兽医机构聘用证明或服务协议.docx VIP
- 高中语文革命题材课文阅读与写作能力培养策略研究教学研究课题报告.docx
- 生态生命安全森林草原火灾的危害教案.pdf VIP
- 2025年淮安市专业技术人员公需试题-党的二十届三中全会精神解读.docx VIP
- 《文献检索与毕业论文写作》课件第三章 常用英文数据库的使用 .pptx VIP
- 铭记抗战历史+弘扬民族精神+纪念抗战胜利主题班会.pptx VIP
- 2025版煤矿安全规程学习培训课件.pptx
- 22J403-1楼梯栏杆栏板.pptx VIP
- 子宫内膜癌分子分型临床应用中国专家共识(2024年版)解读PPT课件.pptx VIP
- 2024新版2025秋教科版科学三年级上册全册教案教学设计.docx
文档评论(0)