合肥奥数网
合肥站

2018年大事记

奥数合肥站 > 奥数竞赛 > 合肥信息学竞赛 > 竞赛信息 > 正文

青少年信息学(计算机)竞赛:程序设计的基本方法

来源:合肥奥数网整理   作者:合肥奥数网编辑   2013-10-17 14:30:34

    --> -->

  合肥奥数网讯青少年信息学(计算机)竞赛:程序设计的基本方法。

  一、模块化:

  (1) 把一个较大的程序划分为若干子程序,每一个子程序解决一个总是独立成为一个模块;

  (2) 每一个模块又可继续划分为更小的子模块;

  (3) 程序具有一种层次结构。 注:运用这种编程方法,考虑问题必须先进行整体分析,避免边写边想。

  二、自顶向下:

  (1) 先设计第一层(即:顶层),然后步步深入,逐层细分,逐步求精,直到整个问题可用程序设计语言明确地描述出来为止。

  (2) 步骤: 首先对问题进行仔细分析,确定其输入、输出数据,写出程序运行的主要过程和任务; 然后从大的功能方面把一个问题的解决过程分 成几个问题,每个子问题形成一个模块。

  (3) 特点:先整体后局部,先抽象后具体。

  三、自底向上:

  (1) 即先设计底层,最后设计顶层;

  (2) 优点:由表及里、由浅入深地解决问题;

  (3) 不足:在逐步细化的过程中可能发现原来的分解细化不够完善;

  (4) 注意:该方法主要用于修改、优化或扩充一个程序。

  4.例子:求1到n之间的素数。 解:要求1到n之间的素数,程序要做的事就是从1开始依次找,判断是否是素数,是则打印出来,否则继续往下找,直到n为止。于是初步设想成:

  begin read(n); number:=2;

  while number〈n do

  begin

  if number是一个素数 then write(number);

  number取下一个值;

  end;

  end.

  第二步:细化“number是一个素数”及“number取下一个值”。

  (1) 细化“number是一个素数”: “number是一个素数”这是一个布尔值,当number是一个素数时为true,否则为false。细化如下:

  k:=2; lim:=number-1; repeat

  if nubmer能被k整除 then

  prim:=false else begin

  k:=k+1;

  prim:=true;

  end;

  until not(prim) or (k达到lim);

相关阅读>>青少年信息学奥林匹克竞赛:算法竞赛

    >>青少年信息学竞赛辅导资料

继续下一页阅读

关注奥数网官方微信 杯赛、择校提前知
微信搜索“奥数网”或扫描二维码即可添加

   您还可以通过手机、平板电脑等移动设备访问合肥奥数网,升学路上有我们相伴。>>[点击查看]

相关文章

点击查看更多

  • 欢迎扫描二维码
    关注奥数网微信
    ID:aoshu_2003

  • 欢迎扫描二维码
    关注中考网微信
    ID:zhongkao_com

24小时热帖每周热帖

本周热门话题

合肥热门中学

试题资料

大事记导航

  1. 北京大事记 上海大事记 广州大事记 深圳大事记
  2. 天津大事记 武汉大事记 成都大事记 石家庄大事记
  3. 南京大事记 杭州大事记 济南大事记 苏州大事记
  4. 郑州大事记 沈阳大事记 太原大事记 重庆大事记
  5. 长沙大事记 合肥大事记 宁波大事记
  6. 青岛大事记
本地教育

最新资讯 |最新政策 |择校指南

征文活动 |简历制作 |经验交流

衔接经验 |分班考试 |特长生

热门资料

教育新闻 | 真题 | 模拟题

科技创新 | 信息学 | 机器人

重点中学

第四十五中学 | 第四十八中学

第四十六中学 | 合肥寿春中学

第四十二中学 | 合肥育英中学

小学试题

期中试题 | 口算题

期末试题 | 知识点

单元测试 | 练习题

关注奥数网微信,将奥数资讯一网打尽!! 收藏 建议 顶部