程序设计相关概念

计算机概念

计算机是根据指令操作数据的设备。具有功能性和可编程性的特点。
功能性:对数据的操作,表现为数据计算、输入输出处理和结果存储等。
可编程性:根据一系列指令自动地、可预测地、准确地完成操作者的意图。

计算机的发展

计算机的发展参照摩尔定律,表现为指数方式
摩尔定律(Moore`s Law),计算机发展历史上最重要的预测法则。由Intel公司创始人之一戈登·摩尔在1965年提出:单位面积集成电路上可容纳晶体管的数量约每两年翻一番,CPU/GPU、内存、硬盘、电子产品价格等都遵循摩尔定律。

程序设计

程序设计是计算可编程性的体现。
程序设计语言是一种用于交互(交流)的人造语言,也叫编程语言,是程序设计的具体实现方式。

编程语言的执行方式

计算机执行源代码的两种方式:编译和解释。
编译:将源代码一次性转换成目标代码的过程。
执行编译过程的程序叫作编译器(compiler)。

在这里插入图片描述

解释:将源代码逐条转换成目标代码同时逐条运行的过程。
执行解释过程的程序叫作解释器(interpreter)。

在这里插入图片描述

区别:
编译:一次性翻译,之后不再需要源代码(类似英文翻译)。
解释:每次程序运行时一边翻译一边执行(类似实时的同声传译)。

编程语言

根据执行方式不同,编程语言分为两类:静态语言和脚本语言。
静态语言:使用编译执行的编程语言,如C/C++语言、Java语言。
脚本语言:使用解释执行的编程语言,如Python语言、JavaScript语言、PHP语言。
各自的优势:
静态语言:编译器一次性生成目标代码,优化更充分。程序运行速度更快。
脚本语言:执行程序时需要源代码,维护更灵活。源代码便于灵活维护、跨多个操作系统平台。

程序的基本编写方法IPO

  • IPO
    I:Input输入,程序的输入
    P:Process处理,程序的主要逻辑
    O:Output输出,程序的输出
  • 输入:
    程序的输入:文件输入、网络输入、控制台输入、交互界面输入、内部参数输入等。
    输入时一个程序的开始。
  • 输出:
    程序的输出:控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出等。
    输出时程序展示运算结果的方式。
  • 处理:
    处理是程序对输入数据进行计算产生输出结果的过程。
    处理方法统称为算法,它是程序最重要的部分。
    算法是一个程序的灵魂。
  • 问题的计算部分:一个待解决问题中,可以用程序辅助完成的部分。
    计算机 只能解决计算问题,即问题的计算部分。
    一个问题可能有多种角度理解,产生不同的计算部分。
    问题的计算部分一般都有输入、处理和输出过程。
  • 编程解决问题的步骤
    分析问题:分析问题的计算部分,想清楚
    划分边界:划分问题的功能边界,规划IPO
    设计算法:设计问题的求解算法,关注算法
    编写程序:编写问题的计算程序,编程序
    调试测试:调试程序使正确运行,运行调试
    升级维护:适应问题的升级维护,更新完善
  • 求解计算问题的精简步骤
    确定IPO:明确计算部分及功能边界
    编写程序:将计算求解的设计变成现实
    调试程序:确保程序按照正确逻辑能够正确运行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/15492.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Xcode 15 beta 3 (15A5195k) 发布下载 - Apple 平台 IDE

Xcode 15 beta 3 (15A5195k) 发布下载 - Apple 平台 IDE (visonOS 1 beta 已发布) 7 月 5 日(北京时间今日凌晨)已发布。 IDE for iOS/iPadOS/macOS/watchOS/tvOS/visonOS 请访问原文链接:https://sysin.org/blog/apple-xcode-15/&#xf…

VSCode使用Remote SSH远程连接Linux服务器【远程开发】

文章目录 前言1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 转载自cpolar极点云…

(02)Cartographer源码无死角解析-(78) ROS数据发布→子图内、子图间、约束与残差发布

讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析-链接如下: (02)Cartographer源码无死角解析- (00)目录_最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/127350885 文…

本地部署 ChatGLM2-6B

本地部署 ChatGLM2-6B 1. 什么是 ChatGLM2-6B2. Github 地址3. 安装 Miniconda34. 创建虚拟环境5. 安装 ChatGLM2-6B6. 启动 ChatGLM2-6B7. 访问 ChatGLM2-6B8. API部署9. OpenAI 格式的流式 API 部署10. 命令行部署11. ChatGLM2-6B 的推理参数含义 1. 什么是 ChatGLM2-6B Cha…

时间序列预测 | Matlab基于自回归移动平均模型(ARMA模型)时间序列预测

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 时间序列预测 | Matlab基于自回归移动平均模型(ARMA模型)时间序列预测,单列数据输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %% 清空环境变量 w…

[Visual Studio 报错] error 找不到指定的 SDK“Microsoft

[Visual Studio 2022 报错] error : 找不到指定的 SDK“Microsoft.NET.Sdk.Web” 问题描述: 在新电脑上安装了VS2022,打开现有项目的解决方案后的时候报了这个错,所有projet文件都加载失败,如图所示: 报错分析及解决 打开项目配…

Mongo可视化工具studio 3t无限试用

文章目录 前言一、下载二、使用步骤1.下载后,无脑下一步安装好2.开始无限试用 总结 前言 mongodb可以说是比较流行的nosql数据库了,它灵活多变的存储,为项目中后续可能的变更提供了极大的便利性,工欲善其事必先利其器,今天推荐一款mongo的可视化工具: studio 3t 一、下载 各版…

Go语言程序设计(十五)接口

一、接口的概念 简单地说,Interface是一组Method的组合,可以通过Interface来定义对象的一组行为。如果某个对象实现了某个接口的所有方法,就表示它实现了该“接口”,无须显式地在该类型上添加接口说明。 假设定义了两个对象Teacher和…

qt信号与槽

信号与槽的概念: 1>信号:信号就是信号函数,可以是组件自身提供,也可以是用户自己定义,自定义时,需要类体的signals权限下进行定义,该函数是一个不完整的函数,只有声明&#xff0…

【FFMPEG】AVFilter使用流程

流程图 核心类 AVFilterGraph ⽤于统合这整个滤波过程的结构体 AVFilter 滤波器,滤波器的实现是通过AVFilter以及位于其下的结构体/函数来维护的 AVFilterContext ⼀个滤波器实例,即使是同⼀个滤波器,但是在进⾏实际的滤波时,也…

【已解决】Couldn‘t find a tree builder with the features you requested: lxml

这是一个常见于Python爬虫代码的报错。 报错代码: soup BeautifulSoup(r.text, xml) 报错原因: BeautifulSoup的解析方法之一,xml,需要安装好lxml库才行 解决办法: 安装 lxml 库即可。 pip install lxml 安装好…

【私有云】网络虚拟化

前言 大家好,我是秋意零。 之前一直对 OpenStack 网络很陌生与神奇啊,不知道它是如何实现的,网络结构是怎样的。不过,今天介绍的是网络虚拟化,它在 OpenStack 中及云计算中是非常重要的概念,是理解 OpenS…