Python北理:程序设计基本方法

来自CloudWiki
124.128.158.173讨论2020年9月8日 (二) 02:09的版本
跳转至: 导航搜索

解释语言编译

历代分类:

编程语言分为三大类:机器语言、汇编语言、高级语言

第一代语言(1GL)机器语言 特征:面向机器的指令,机器可以直接执行。

第二代语言(2GL)汇编语言 特征:使用助记符代替机器指令。

第三代语言(3GL)高级语言 特征:是设计更容易被人们所理解的程序语言,告诉计算机执行什么任务和执行任务的步骤,是过程化的,最重要的作用是此时已经脱离了机器硬件系统,具有代码可移植性。

第四代语言(4GL)应用语言 特征:只需要告诉计算机要执行什么任务,而不需要指定执行步骤,是非过程化的,最典型的代表就是数据库语言SQL。

注意: 1、机器语言   计算机能识别的唯一语言,机器语言是用二进制代码(由0和1组成,每个0/1与高低电频对应)表示的计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。不同型号的计算机其机器语言是不相通的,按着一种计算机的机器指令编制的程序,不能在另一种计算机上执行。

2、汇编语言   为了解决机器语言难以记忆、阅读、修改等问题,汇编语言对机器语言的指令用字符代替,通过汇编编译器可以把汇编代码编译成机器语言指令。   汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。

3、高级语言   为了使代码更通用,具有不同硬件平台的可移植性,更加方便人类理解和使用。可以通过高级语言对应的编译器把代码编译成汇编语言(一般不会直接把高级语言编译成机器语言,因为机器有汇编编译器可以把汇编代码转换成机器代码,并且汇编代码更易调试和优化)。   高级语言是一种指令集的体系,在这种语言下,其语法和结构更类似汉字或者普通英文,且由于远离对硬件的直接操作,使得一般人经过学习之后都可以编程。高级语言通常按其基本类型、代系、实现方式、应用范围等分类。 代表:java,c,c++,C#等


按编译以及运行方式分类:

编译以及运行分为两大类:编译型、解释型

一、编译型   编译型语言是将代码一次性全部编译成二进制码,然后运行。 代表语言:C/C++/go

二、解释型   解释型语言的源代码不是直接翻译成机器指令,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。(编译一行,运行一行)   代表语言:Java、Python、Perl、JavaScript、VBScript

编译型和解释型的定义是对立存在的,但也可以在一个语言中同时存在。比如 java 语言同时兼有编译型和解释型特点。整个流程如下:   将源代码(.java 文件)编译生成字节码(.class 文件),再通过 JVM(java 虚拟机)运行生成机器指令,由机器运行机器码。注意,此处生成机器语言前的操作是解释型,每次运行都要重新解释。因此,此处表明 java 是解释型。   但是,部分 JVM(java 虚拟机)有一种 JIT(Just in time)机制,能够将部分已经解释翻译的常用机器指令保存。下次不需要解释,直接运行即可。此时 java 是编译型。

编译性语言不如解释性语言跨平台性好   编译性语言例如c语言:用c语言开发了程序后,需要通过编译器把程序编译成机器语言(即计算机识别的二进制文件,因为不同的操作系统计算机识别的二进制文件是不同的),所以c语言程序进行移植后,要重新编译。(如windows编译成ext文件,linux编译成erp文件)。

数据类型的确认时间分类:

可分为:静态语言、动态语言

一、动态类型语言 动态类型语言,是指在代码运行阶段对数据类型进行确认。用动态类型语言编程时,不用给变量指定数据类型,该语言会在你第一次赋值给变量时,在内部记录数据类型。 动态类型语言的优点是不需要写多种数据类型的代码,代码相对简洁一些,方便代码阅读。缺点是不方便调试,代码命名也容易混淆;   代表:JavaScript、Python、Perfl 二、静态类型语言 静态类型语言,是指在代码编译阶段对数据类型进行确认。 静态类型语言的优点是方便调试,代码相对规范。缺点是需要写很多数据类型相关的代码,代码不够简洁。   代表:Java、C/C++




解释语言编译

解释语言编译

程序的基本编写方法 IPO编程规范 I input输入,程序的输入; P press处理,程序的主要逻辑; O output输出,程序的输出; 首先,需要理解IPO,输入是什么?输出是什么?如何从输入达到输出。 程序的输入:文件输入、网络输入、控制台输入、交互界面输入、内部参数输入等。输入是一个程序的开始 程序的输出:经过处理后,程序将结果通过控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出等。输出是程序展示预算结果的方式 程序的处理:处理是程序对输入数据进行计算产生输出结果的过程;处理方法统称为算法,它是程序最重要的部分,算法是一个程序的灵魂。 编程问题的解决步骤(计算为主,IPO编写方法为辅):