学习日记(foundation-computer)
继续学习c++之旅~
Chapter 2:PROGRAMMING CONCEPTS
- Computer Languages
-首先,可编程计算机要求程序员编写明确的指令以直接操纵计算机的硬件。
。“语言机械”写起来很繁琐
。语言机械由代码直接操纵计算机的硬件,因此通常被称为“低级语言”。
-反之,高级语言(c,c++,Pascal,Cobol,Fortran,ADA 和Jawa)被称为“编译语言”。
-编译语言
。程序员编写更通用的指令
。Compiler编译自动翻译这些高级指示到语言机械
。语言机械被电脑执行
- Language TRANSLATOR
-它的功能就是翻译一个source code去到object code或者machine code
-3总语言翻译器
。COMPILER
。INCREMENTAL COMPILER
。INTERPRETER
- 低级语言
Generation | Needs | Positive Features | Negative Features |
1st Generation:Direct Machine Code | Nothing -直接让电脑明白 | - 快速处理 -可以用Hex来减少错误 -程序员可以完全控制硬件 -仍用于编程ROM | -取决于处理器 -Lengthy coding when HW changes -有很准确的programming |
2nd Generation:Assembler.SAP,SPS | Assembler program -转换助记符去binary | -助记符编程 -较准确的programming -符号引用而不是直接引用 | -取决于处理器 |
- 高级语言
Generation | Needs | Positive Features | Negative Features |
3rd Generation:COBOL,FORTRAN,VB,Pascal,Ada,C,C++,BASIC | Translator | -取决于处理器 -程序员需要最少的硬件知识 -使用3种基本控制结构 | -源代码被转换为目标代码,因此慢点 -为特定目的而开发的语言,因此标准版本很少 |
4th Generation:Dhase,SQL,LOGO | Translator | 至于第三代,表格归档和计算机辅助图形 | -许多依赖于数据库和数据字典 |
5th Generation:LISP,Prolong,ICOT | Translator | 利用推理引擎,知识库和专家系统结构 | -通常取决于处理器 -需要并行处理器 -尚未经过实验阶段的发展 |
- Models of Programming
-Object oriented programming (OOP)
。identify the component称object构成了解决方案的基础。
。确定对象之间如何交互。
-Procedural programming (PP)
。程序员指定要执行的操作顺序。
。将问题分为较小的子问题。
。然后分析每个子问题,并获得解决子问题的解决方案。
。子问题的解决方案相结合,解决了整体问题。
Procedural programming (PP) | Object oriented programming (OOP) |
-divided into small parts called functions. | -divided into parts called objects. |
-does not have any access specifier | -has access specifiers named public, private, protected, etc |
-Most function uses global data for sharing | -Data can not move easily from function to function, it can be kept public or private |
-does not have any proper way for hiding data, so it is less secure | -provides Data Hiding so provides more security |
-C, VB, FORTRAN, Pascal | -C++, Java, VB.NET, C#.NET |
-Program starts with a problem and then breaks that problem down into smaller sub-problems or sub-procedures. | -Uses classes and objects to create models based on the real world environment. |
-These sub-procedures are continually broken down in the process called functional decomposition until the sub-procedure is simple enough to be solved. | -Use a collection of objects which will pass messages when called upon to request a specific service or information. -Objects are able to pass, receive messages or process information in the form of data |
- 如何解决问题
-电脑它是死的,不智慧的
-电脑使人们摆脱了繁琐而繁琐的工作。
-Software Life Cycle Phases
。Problem-Solving Phase
*分析问题并指定解决方案必须执行的操作。
*制定解决问题的通用解决方案(algorithm:一步一步的解决)。
*验证您的解决方案确实解决了问题。
。Implementation Phase实施阶段
*将算法转换为编程语言(coding)
*没有单一方法实现算法的。
*测试程序意味着运行(executing)
*看可以不可以运作,如果不能,then就要找出问题(debugging)
。Maintenance Phase维护阶段
*程序投入使用后,维护开始。
*使用和修改程序以满足不断变化的要求或纠正错误在使用它时会显示出来。
- C++ Programming Language
-被Bjarne Stroustrup
-object-oriented programming (OOP) language -> an extension of the C language – a procedural language
-c++编程:C style,OOP
-之前叫"C with classes",因为又C语言的特征和而外的"classes"概念
-是进阶级语言,可以概况高级和低级语言
-最初于在1998年标准化
。然后由C ++ 03,C ++ 11和C ++ 14标准进行了修改。
。当前的C ++ 17标准以新功能和扩展功能取代了这些功能标准库
- Programming Language Structure
这个一个简单的struture,所以下面的资料可能没有哦
-Header file
。含有Functions and Variables的意思(通过使用预处理程序#include语句将其导入或使用到任何C ++程序中。)
。显示了程序的外部功能,同时省略了技术实施细节。
。在C / C ++中,头文件列出了函数名称以及如何调用它们功能
。<iostream>头文件包含允许C ++程序在屏幕上显示输出并从键盘读取输入的代码。
-Variables declaration
。指示系统分配内存空间并为其命名(地址的符号名称)
。不需要知道实际地址
。变量通常包含了垃圾,如果您忽略初始化它们
-Sequence
。除非另有指示,否则计算机将按照编写顺序依次执行C ++语句(sequence)
。该程序在运行时必须按顺序执行每个动作,而不能跳过一种行为。
-Loop
。当重复执行一系列指令时,它就叫loop
。一组指令或结构按指定的次数重复执行,直到满足条件为止
。当再次执行指令集时,它就叫iteration重复
-Branch
。确定执行语句的顺序。
。根据程序员指定的布尔条件是True还是False,执行不同的计算或操作
-Function
。对于大型程序,需要分块到较小的子程序或模块中
。一组解决特定问题的程序
。Divide and conquer分而治之(让问题解决得更有管理性)
评论
发表评论