《易学C++(第2版)》——1.2 程序设计要做什么

简介:

本节书摘来自异步社区出版社《易学C++(第2版)》一书中的第1章,第1.2节,作者:潘嘉杰  ,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.2 程序设计要做什么

很多初学者会不解:程序设计到底是要做什么呢?我们该如何教会计算机解决问题呢?

其实,要解决一些看似不同的问题,可以归结为一种确定的过程和方法。这种能够在有限的步骤内解决一类问题的过程和方法称为算法(Algorithm)。下面以解一元二次方程为例,介绍求解的算法步骤。

(1)输入二次项系数a,一次项系数b和常数项c;

(2)计算△=b2-4ac;

(3)判断△的大小,如果△≥0,则有实数解,否则就没有实数解;

(4)如果有实数解,就利用求根公式求出两个解;

(5)输出方程的两个实数解,或告知无解。

以上便是用自然语言描述的求解一元二次方程的算法。程序设计所要做的就是探求这种能解决一类问题的算法,并且将这种算法用计算机能够“看懂”的语言表达出来。

想要学好程序设计,最重要的是具有清晰的逻辑思维能力。一个程序员可以把生活中任何细节都归结为一个确定的过程和方法。例如,一个人回家,通常需要经过以下步骤。

(1)进入小区;

(2)进入所在的单元(楼房);

(3)如果电梯没有坏则乘电梯,否则就走楼梯;

(4)用钥匙打开房门。

这些步骤仍然是非常粗略的。可以对每一个步骤进行细化,直到细化为每一个具体的动作。这与程序设计也是非常相似的,当一个算法已经细化到最详细的程度,就能与程序的“语句”(Statement)一一对应起来。将这些语句按顺序组织起来,便基本完成了程序的设计。

小提示
 

所谓语句,就是在程序设计中要编写的代码。这些代码以文本方式存在,并且其组成遵循一定的规则,即语法。与自然语言相比,计算机语言中的语法相对比较“死板”。如果在设计程序时不遵守语法规则,那么计算机可能无法正确理解程序员的意图。

相关文章
|
1月前
|
存储 C++ 开发者
C++程序设计基础:构建稳固的编程基石
C++程序设计基础:构建稳固的编程基石
23 1
|
6月前
|
设计模式 自然语言处理 编译器
C++程序设计介绍
C++程序设计是一种面向对象的计算机编程语言,是在C语言的基础上进行扩展和发展而来的。C++由丹尼斯·里奇在20世纪80年代初开发,它继承了C语言的特性,同时引入了类、对象、继承、多态等面向对象编程的概念和特性。C++被广泛应用于软件开发、游戏开发、嵌入式系统等领域。 C++具有以下特点: 1. 面向对象:C++是一种面向对象的编程语言,强调数据和操作的封装,通过类和对象的概念实现数据和方法的组织和管理。面向对象的编程思想使得程序更易于理解、扩展和维护。 2. 支持泛型编程:C++引入了模板的概念,可以编写泛型代码,实现对不同类型的数据进行通用处理。泛型编程提高了代码的复用性和灵活性。
37 0
|
6月前
|
存储 算法 搜索推荐
C++ 面向对象程序设计 14万字总结笔记(八)
C++ 面向对象程序设计 14万字总结笔记(八)
29 0
|
6月前
|
存储 编译器 C++
C++ 面向对象程序设计 14万字总结笔记(六)
C++ 面向对象程序设计 14万字总结笔记(六)
38 0
|
6月前
|
存储 编译器 测试技术
C++ 面向对象程序设计 14万字总结笔记(五)
C++ 面向对象程序设计 14万字总结笔记(五)
39 0
|
6月前
|
存储 算法 搜索推荐
标准模版库 知识点总结 C++程序设计与算法笔记总结(八) 北京大学 郭炜(下)
标准模版库 知识点总结 C++程序设计与算法笔记总结(八) 北京大学 郭炜(下)
37 0
|
6月前
|
存储 算法 C++
标准模版库 知识点总结 C++程序设计与算法笔记总结(八) 北京大学 郭炜(上)
标准模版库 知识点总结 C++程序设计与算法笔记总结(八) 北京大学 郭炜(上)
32 0
|
6月前
|
算法 C++ 索引
函数模板和类模板 知识点总结 C++程序设计与算法笔记总结(七) 北京大学 郭炜(下)
函数模板和类模板 知识点总结 C++程序设计与算法笔记总结(七) 北京大学 郭炜(下)
24 0
|
1月前
|
C++
C++程序设计:探索函数与模块化的魅力
C++程序设计:探索函数与模块化的魅力
15 0
|
5月前
|
C++
20 C++ - 面向对象程序设计案例
20 C++ - 面向对象程序设计案例
51 0