educoderpython答案顺序结构程序设计_程序设计基础

2023-11-04

981923b8b4f805610c2f19bcccc34156.gif

程序设计基础

fcc0f014e6ae46c93fa32359204ff04b.gif

一、程序设计方法与风格

(1)设计方法:指设计、编制、调试程序的方法和过程,主要有结构化程序设计方法、软件工程方法和面向对象方法。

(2)设计风格:良好的程序设计风格,主要应注重和考虑下述一些因素:

①符号名的命名应具有一定的实际含义;

②正确的注释能够帮助读者理解程序;

③程序编辑应优先考虑清晰性;

④程序编写要做到清晰第一、效率(提高程序执行的效率,主要包括两个方面:一是提高数据处理的速度,二是尽量节省在数据处理过程中所占用的计算机存储空间)第二;

⑤数据说明的次序要规范化;

⑥语句的结构应该简单直接,不应该为提高效率而把语句复杂化;

⑦避免滥用goto语句;

⑧模块设计要保证低耦合、高内聚;

⑨源程序要文档化。

2c0d772a3fb92f8baf7549d4f39ccbd3.gif

二、结构化程序设计

1、结构化程序设计的原则:结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。结构化程序设计可使程序结构良好、易读、易理解、易维护。

(1)自顶向下:即先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。

(2)逐步求精:对复杂问题,应设计一些子目标做过渡,逐步细化。

(3)模块化:把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。

(4)限制使用goto语句

  在软件设计过程中,必须遵循软件工程的基本原则,这些原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可靠性。

  在设计程序时,滥用goto语句将使程序流程无规律,可读性差;添加的注解行有利于对程序的理解,不应减少或取消;程序的长短要依照实际需要而定,并不是越短越好。

2、结构化程序的基本结构与特点

(1)顺序结构:自始至终严格按照程序中语句的先后顺序逐条执行,是最基本、最普遍的结构形式。

(2)选择结构:又称为分支结构,包括简单选择和多分支选择结构。

(3)重复结构:又称为循环结构,根据给定的条件,判断是否需要重复执行某一相同的或类似的程序段。

结构化程序设计中,应注意事项:

(1)使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑。

(2)选用的控制结构只准许有一个入口和一个出口。

(3)程序语言组成容易识别的块,每块只有一个入口和一个出口。

(4)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现。

(5)语言中所没有的控制结构,应该采用前后一致的方法来模拟。

(6)尽量避免goto语句的使用。

f61b744a97022423444c21beb3555117.png

三、面向对象的程序设计

面向对象方法的本质是主张从客观世界固有的事物出发来构造系统,强调建立的系统能映射问题域。

  面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是,使用现实世界的概念抽象地思考问题从而自然地解决问题。它强调模拟现实世界中的概念而不强调算法。它鼓励开发者在软件开发的绝大部分中都用应用领域的概念去思考。

(1)对象:用来表示客观世界中任何实体,可以是任何有明确边界和意义的东西。一个对象由这个对象的标识,以及它封装的属性和方法组成。对象是由数据和容许的操作组成的封装体。对象可以做的操作表示它的动态行为。属性是对象所包含的信息,属性值应该指的是纯粹的数据值,而不能指对象。

①信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。

②模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
③衡量软件的模块独立性的度量标准是耦合性和内聚性。一个模块的内聚性越强,则该模块的模块独立性越强。而内聚性是信息隐蔽和局部化的自然扩展。

(2)类:将属性、操作相似的对象归结为类,所以类具有共同属性、共同方法的对象的集合。所以类是对象的抽象,它描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。

①UInt是一个无符号整数类,它描述了所有无符号整数的性质。因此任何无符号整数都是无符号整数类的对象,而一个具体的无符号整数"369"是类UInt的一个实例。

②整数都是整数类的对象,一个具体的整数0×518是整数类的实例。

③字符常量是单引号括起来的一个字符,例如’a’,也可以通过转义序列表示方法表示一些不可显示字符或无法通过键盘输入的字符,例如”\n'的含义是换行,属于字符类的实例。

(3)实例:一个具体对象就是其对应分类的一个实例。

(4)消息:对象间的通信靠消息传递,实例间传递的信息,它统一了数据流和控制流。

(5)继承:使用已有的类定义作为基础建立新类的定义技术。对象不一定必须有继承性。

(6)多态性:指对象根据所接受的信息而作出动作,同样的信息被不同的对象接收时有不同行动的现象。同一个操作可以是不同对象的行为。

  面向对象程序设计的优点:与人类习惯的思维方法一致、稳定性好、可重用性好、易于开发大型软件产品、可维护性好。

  面向对象方法中最基本的概念是对象,它的基本特点有:标识唯一性、分类性、多态性、封装性和模块独立性好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

educoderpython答案顺序结构程序设计_程序设计基础 的相关文章

  • chatgpt赋能python:如何快速下载Python:指南和技巧

    如何快速下载Python 指南和技巧 如果您是一名 Python 开发人员 下载和安装一个Python解释器可能是您日常工作中最常见的任务之一 幸运的是 Python的下载和安装风格很多 这就意味着您有很多选择 本篇文章将向您介绍几个快速下
  • C++中handle的基本概念和使用

    C 中句柄 handle 的基本概念 参考博客 https blog csdn net lihuacui article details 52673398 depth 1 utm source distribute pc relevant
  • linux 杂乱汇总

    SO LINGER作用 设置函数close 关闭TCP连接时的行为 缺省close 的行为是 如果有数据残留在socket发送缓冲区中则系统将继续发送这些数据给对方 等待被确认 然后返回 利用此选项 可以将此缺省行为设置为以下两种 a 立即
  • Proteus实现555计时器模拟简易电子琴

    555计时器模拟简易电子琴 一 元器件介绍 二 原理分析 三 仿真实验 实现弹奏过程 一 元器件介绍 这里用到的元器件有 RESISTOR 电阻器 CAP 电容器 BUTTON 按钮 555 555计时器 BUZZER ACTIVE 有源蜂
  • Nacos 搭建和使用

    说明 官方文档 https nacos io zh cn docs what is nacos html 粘贴一下Nacos地图 逻辑架构及其组件介绍 服务管理 实现服务CRUD 域名CRUD 服务健康状态检查 服务权重管理等功能 配置管理
  • 4G网关8305LN远程监控西门子触摸屏SMART 700IE ZLAN8305LN应用

    1 概述 ZLAN8305LN是一款专门为工业环境设计的RS485设备数据采集器 物联网网关 他通过4G的方式传输 结合卓岚特有的P2P技术 无需构建公网服务器也可以同样随时随地采集设备的数据 本次案例主要是实现目的 对SMART700IE
  • 涉及Radio传值的写法

    博主最近在帮朋友做毕设 需要新增一个功能 功能里面有个radio列表 需要传radio元素的id值到后台 尝试了好多种写法都不行 最后用了下面的写法就好 后台顺利接收到参数 话不多说 直接上图 要如图红框里面的写法才能取到被选中的选项ID的
  • Mysql8.0的安装与配置(图文超详细)

    MySQL8 0安装配置 1 软件下载 2 软件安装 3 软件配置 4 环境变量配置 1 软件下载 链接 https pan baidu com s 1gyNz1o7SCyLIfoNcBUKRIQ 提取码 ajpl 2 软件安装 1 下载好
  • vue 收藏和取消收藏的点击事件

    描述 点击 取消收藏 图标切换 文字变为 收藏 收藏状态变为 未收藏 刷新页面 未收藏 数据不再显示 思路 通过if判断 给定这条数据一个状态 点击改变状态值 状态需要后端在接口里返回 未点击时 图标亮 状态为true 点击时 图标灰 数据
  • Qt 自定义数据类型在信号和槽中的传递

    Qt 信号和槽函数参数只能是基于 Qt 的基础类型的 比如 QString int bool 等 如果想传递自定义类型默认情况下是行不通的 下面以结构体为例 实现结构体类型数据的传递 头文件 ifndef MAINWINDOW H defi
  • 可视化分组散点图并添加分层线性回归模型的拟合曲线(使用R语言)

    可视化分组散点图并添加分层线性回归模型的拟合曲线 使用R语言 在数据分析和可视化中 经常需要绘制散点图以观察两个变量之间的关系 并使用回归模型来拟合数据 本文将介绍如何使用R语言创建分组散点图 并添加分层线性回归模型的拟合曲线 首先 我们需
  • 【操作系统】王道考研 p50-51 文件的物理结构(文件分配方式)

    文件的物理结构 上 文件的物理结构 下 知识总览 文件块 磁盘块 磁盘块的大小与内存块 页面的大小相同 内存与磁盘之间的数据交换以 块 为单位 在外存管理中 文件的逻辑地址空间被分为一个个文件块 连续分配 连续分配要求每个文件在磁盘上占有一
  • Integer的缓存机制、自动装箱拆箱

    一 什么是自动装箱拆箱 很简单 下面两句代码就可以看到装箱和拆箱过程 自动装箱 Integer total 99 自动拆箱 int totalprim total 简单一点说 装箱就是自动将基本数据类型转换为包装器类型 拆箱就是自动将包装器
  • 五行中的土在哪个方位_五行代表的方位

    五行方位 东 南 中 西 北 论 五 行 生 成 五行是构成宇宙万物的五种元素 它们是变化无穷 高深莫测的 五行的创立 準确地模拟了自然界的状态 宇宙万物的生息变化都不能离开五行 五行的顺序 一水 二火 叁木 四金 五土 这个顺序列取决于地
  • go性能优化

    常规手段 1 sync Pool 临时对象池应该是对可读性影响最小且优化效果显著的手段 最典型的就是fasthttp了 它几乎把所有的对象都用sync Pool维护 但这样的复用不一定全是合理的 比如在fasthttp中 传递上下文相关信息
  • 【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)

    个人主页 研学社的博客 欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 2 1 稀疏最大谐波噪声比反卷积 2 2 最大相关峰度反卷积 2 3
  • 认知计算导论自救版笔记

    认知计算导论 认知数据收集 认知cognitive数据 1 定义 认知物联网IoT 认知系统和互联网组合 认知数据来源 物理世界 互联网提供大量数据 虚拟世界 社交网络和移动计算 人群感知Crowd Sensing 大量人群通过移动设备无意
  • vst开启语音服务器,VST语音遥控器体验记

    体验信息 101245hu4k1a42krae4l4s jpg 10 39 KB 下载次数 5 2015 5 30 16 34 上传物品名称 VST智能语音遥控器适配物品 101502huualwallumcbaaa jpg 3 35 KB
  • 基于数组的链表AList

    快考试了 作为数据结构的复习 那么就把代码背打一遍好了 虽然代码很简单 但是把基础打牢固对以后的学习肯定是百益而无一害 正好也练练C 模板和指针以及代码书写的模块化 否则天天写些算法程序 一写就一大坨 乱乱的 养成习惯就悲剧了 看一点写一点

随机推荐

  • 梅尔频率倒谱系数(MFCC)

    https blog csdn net zkl99999 article details 80723755
  • winform中如何设置splitContainer中panel的宽度,并在以后的拖动中保持不变

    搜先随便选着一个penel 按Esc键这时你会选择这个splitContainer控件 假如 你要固定penel1 这时你需要先拖动splitContainer控件 让penel1全部显示出来 然后在splitContainer控件的属性中
  • 一、Gradle入门

    文章目录 一 Gradle入门 1 1 Gradle 简介 1 2 常见的项目构建工具 1 3 Gradle 安装 1 3 1 Gradle 安装说明 1 3 2 安装 JDK 1 3 3 下载并解压到指定目录 1 3 4 配置环境变量 1
  • 关于typedef的用法总结

    typedef的应用 typedef是C 语言中用于为现有数据类型指定替代名称的关键字 它主要用于用户定义的数据类型 当数据类型的名称在程序中使用变得稍微复杂时 以下是使用的一般语法 typedef
  • Pytorch框架学习 -2 torch.nn.modules.Module(nn.Module)理解

    文章目录 Pytorch框架学习 2 torch nn modules Module nn Module 理解 最简单的例子 分析 部分源码 基本参数 dump patches version training 初始化函数 paramete
  • Vue进阶(一):v-loading实现加载效果

    原文链接 https blog csdn net sunhuaqiang1 article details 95474410 使用v loading在接口为请求到数据之前 显示加载中 直到请求到数据后消失 全局loading
  • 七牛云的使用

    1 https www qiniu com 用qq或者微信登入七牛云 2 添加一个对象存储 3 在个人中心获取appkey和appsecret 4 绑定一个域名 5 把sdk放在自己的项目中 封装一个上传的类
  • 华为笔试8.31

    Q1 int main int argc char const argv string l An introduction is the first paragraph of your paper string l a a getline
  • 【问题解决】M1芯Macbook安装python&M1 Macbook pro基本操作

    刚接触Macbook 一步一个坑 有幸家中领导赏识 才得以抚摸到传这闻已久的神器 可这神功尚未练成 差点被气的自断经脉 之前没用过苹果os系统 刚一上手各种不适应 要不是因为爱 qiong 电脑早不知道摔多少次了 F1 12哪去了 我这PK
  • 纯前端实现 导入 与 导出 Excel

    最近经常在做 不规则Excel的导入 或者一些普通Excel的导出 当前以上说的都是纯前端来实现 下面我们来聊聊经常用到的Excel导出与导入的实现方案 本文实现技术栈以 Vue2 JS 为例 导入分类 调用 API 完全由后端来解析数据
  • QT实现发送get和post请求

    介绍下如何在qt程序中给http服务端发送get和post请求 首先你要有一个http服务端 下面直接贴下代码 pro QT core gui network greaterThan QT MAJOR VERSION 4 QT widget
  • Android系统 —— 源码编译错误整理(持续更新)

    记录一些日常遇到的编译问题及解决方法 查找的时候可以直接搜索问题描述的关键部分 目录 1 更改源码目录名引发的错误 2 添加VNDK库 Vendor Native Development Kit 报错 3 头文件被重复包含 4 无法链接库文
  • 【FlashDB】第三步 FlashDB 移植 STM32L475 使用QSPI驱动外部 flash W25Q64之 FlashDB 移植

    准备事项 完成了以下两步操作后进行 FlashDB 第一步 FlashDB 移植到 STM32L475 使用QSPI驱动外部 flash W25Q64之FAL移植 FlashDB 第二步 FlashDB 移植 STM32L475 使用QSP
  • Anaconda使用教程(常用命令)

    Anaconda3安装教程 配置环境变量 图文教程 https blog csdn net love906897406 article details 125010258https blog csdn net love906897406 a
  • ECharts数据可视化

    目录 第一章 什么是ECharts 第二章 搭建环境 2 1 Echarts的下载 2 2 Visual Studio Code下载 第三章 一个简单的可视化展示 第四章 Echarts组件 4 1 标题 4 2 提示框 4 3 工具栏 4
  • 机器学习实战5(回归篇)

    目录 1 回归 2 回归代码 3 预测鲍鱼的年龄 1 回归 前面的文章介绍了很多分类算法 分类的目标变量是标称型数据 而本文将会对连续型的数据做出预测 主要讲解简单的线性回归和局部加权线性回归 并通过预测鲍鱼年龄的实例进行实战演练 说到回归
  • Keil 硬件仿真时 外设寄存器中显示的定时器计数值不准确

    最近在做定时器同步测试 发现无论如何都无法正常让定时器的计数器同步起来 很郁闷 换了多个型号的单片机都不行 于是怀疑 软件仿真有问题 于是通过曲线测试 使用连个自变量 同时读取2个定时器的CNT 观察这两个变量测试的结果才 正常
  • 解决eclipse编译老是上一个程序代码问题

    使用eclipse遇到了问题 程序无论怎么运行都是之前修改前的程序结果 如下面所示 package test public class test public static void main String args TODO Auto g
  • JavaWeb核心技术——Request请求

    目录 1 Request和Response的概述 2 Request对象 2 1 Request继承体系 2 2 Request获取请求数据 2 2 1 获取请求行数据 2 2 2 获取请求头数据 2 2 3 获取请求体数据 2 2 4 获
  • educoderpython答案顺序结构程序设计_程序设计基础

    程序设计基础 一 程序设计方法与风格 1 设计方法 指设计 编制 调试程序的方法和过程 主要有结构化程序设计方法 软件工程方法和面向对象方法 2 设计风格 良好的程序设计风格 主要应注重和考虑下述一些因素 符号名的命名应具有一定的实际含义