一、     什么是算法(5个特性)

算法就是   解决问题的方法和步骤。

算法为解决一个具体问题而采取的确定的  有限的 执行步骤  ,仅指  计算机   能执行的算法。

算法是程序设计的灵魂和核心。

  1. 1.       算法解决什么问题

算法的五大特性:

(1) 有穷性   算法在执行有限的步骤后自动结束、不会出现无限循环。

(2) 确定性   算法的每一步骤都具有确定的含义,不会出现二义性。

(3) 零个或多个输入  算法可以具有零个或多个输入。

(4) 一个或多个输出  算法至少有一个或多个输出,算法是一定需要输出的。

输出必须要有 ,输入可有可无!!

(5) 可行性。算法的每一步都必须是可行的,每一步都能够通过执行有限次数完成。

二、      算法的三大结构(3个结构)

程序采用自顶向下,逐步求精的方法来完善算法,

  1. 1.       顺序结构

顺序结构就是按照书写的顺序依次执行,不允许跨越任何一条语句。

  1. 2.       选择结构

选择结构又称为分支结构,

选择结构就是   根据条件判断是否成立,执行不同的语句段。

  1. 3.        循环结构

循环结构在有些书籍上也称为重复结构,即反复执行某一部分的操作

三、     算法的表达方式(4种)

  1. 1.       自然语言描述

自然语言就是人们日常使用的语言,可以是汉语、英语,或其他语言。

用自然语言通俗易懂,但文字冗长,容易出现歧义。

  1. 2.       流程图描述

流程图是用一些图框来表示各种操作。是算法的图形化表示。

用图形表示算法,直观形象,易于理解。

  1. 3.       NS结构化流程图描述   (不做NS里优缺点考核

它的最重要的特点就是  完全取消了流程线,这样迫使算法只能从上到下顺序执行,从而避免了算法流程的任意转向,保证了程序的质量。

NS图优点就是形象、直观、节省篇幅,尤其适合于结构化程序的设计。

  1. 4.       伪码描述   不做伪码里优缺点考核

伪码是指介于自然语言和计算机语言之间的一种代码。

它的最大优点是,与计算机语言比较接近,易于转换为计算机程序。

书写无固定格式和规范,比较灵活。

四、     顺序结构的三大构成

顺序结构是按照书写顺序一条一条向下执行,在顺序结构程序中主要包含三类语句,

输入语句赋值语句,及输出语句。

  1. 1.       赋值语句

赋值语句  是由赋值表达式  加上一个分号构成。  语句都是以分号结尾的。

  1. 2.       输入语句输出语句

(1)从  计算机    向  外部输出设备   输出数据  称为输出,

从  输入设备 向   计算机        输入数据   称为输入。

(2)C语言本身不提供输入输出语句,输入输出操作是由C函数库中的函数实现的。

(3)一个预编译命令  #include

要用到“stdio.h”文件中提供的信息。文件后缀中的“h”是head的缩写,

#include命令都是放在程序的开头,因此这类文件被称为“头文件”。

  1. 3.       顺序结构的逻辑先后

设计出正确的算法   是编写正确的计算机程序的前提条件

算法设计—程序的灵魂和核心、

数据结构—程序的肉体。

面向过程的程序本质公式:算法+数据结构=程序。

数据结构指定义待操作数据在计算机  内存中是如何存储和组织的。

选择恰当的数据结构可以提高程序的运行或存储效率。

五、          Visio软件的安装及应用

Office Visio是微软公司推出一款便于IT和商务专业人员就 复杂信息、系统和流程进行可视化处理、分析和交流的软件

  1. 1.       常用两种线的画法

第一类:动态连接线(这条线只能以直角形式进行弯曲)

第二类:直线-曲线连接线该线只能以度角进行弯曲

  1. 2.       箭头的选择:一般默认为向下箭头,当然也可以进行选择(如图4)
  2. 3.       文字的注释:线上写文字一般双击左键进行编辑文字即可。
  3. 4.         画流程图要遵循流程图规范要求:

(1)各种框必须应用正确

(2)箭头方向正确

(3)文字表述正确

(4)解决问题步骤先后顺序正确

六、     基于流程图仿真的可视化----RAPTOR之让你的流程图飞起来

Raptor是用于  有序  推理的   快速算法   原型工具

下面我们来先说下Raptor的功能及介绍如下:

是一种基于流程图   仿真的   可视化的   程序设计环境

在  最大限度地减少语法要求

帮助你  编写正确的程序指令程序-流程图

逐个执行图形符号

跟踪指令流执行过程

Raptor是一个有向图,也就是必须有开始(Start)和结束(End)。

Raptor软件中  所有的操作 是在main窗口下   start 和 end 中间进行。

共有6种符号,

一个是方框  赋值   (Assignment),

一个是     调用   (Call),

输入             (Input)、

输出            (Output)、

选择            (Selection)

循环            (Loop)。

各个小窗口的功能如下所示:

RAPTOR设计的程序和算法可以直接转换成为C++、C#、Java等高级程序语言,

真的可视化----RAPTOR之再飞一会

1、Raptor中如果要想删除画多了的框,可以在选中的基础上,按“delete”删除。

2、注意在输入输出  提示内容时  ,必须用英文(也就是半角)符号双引号把提示内容括起来。

3、变量是相对于常量而言的,在程序执行过程中其值可以改变的量称为变量。。

4、注:在程序设计中我们用  *   号来代表算术运算中的乘法

5、Set  指的是我们要设置赋值给哪个变量

To    指的是给变量赋的值是谁

6、函数:完成特定功用的模块

求平方根函数sqrt()

常用函数有:

max( )  最大值函数

min( )  最小值函数

random   随机值函数

abs( )  绝对值函数

sqrt()求平方根函数

小恐龙下载地址:https://raptor.martincarlisle.com/

C语言入门2-程序设计的灵魂—算法及Raptor的应用的更多相关文章

  1. C语言入门100题,考算法的居多

    入门题,考算法的居多,共同学习! 1. 编程,统计在所输入的50个实数中有多少个正数.多少个负数.多少个零. 2. 编程,计算并输出方程X2+Y2=1989的所有整数解. 3. 编程,输入一个10进制 ...

  2. c语言入门教程 / c语言入门经典书籍

    用C语言开始编写代码初级:C语言入门必备(以下两本书任选一本即可) C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能.对c语言的数 ...

  3. 【转】c语言入门教程 / c语言入门经典书籍

    用C语言开始编写代码 初级:C语言入门必备 (以下两本书任选一本即可) C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能.对c语言 ...

  4. 【南阳OJ分类之语言入门】80题题目+AC代码汇总

    小技巧:本文之前由csdn自动生成了一个目录,不必下拉一个一个去找,可通过目录标题直接定位. 本文转载自本人的csdn博客,复制过来的,排版就不弄了,欢迎转载. 声明: 题目部分皆为南阳OJ题目. 代 ...

  5. C语言入门经典书目推荐--转

    国内良莠不齐的C语言教程数不胜数,同名如"C程序设计""C语言程序设计""C语言程序设计教程"的都多如牛毛,这些不知名的就不予考虑了,要看就 ...

  6. 踢爆IT劣书出版黑幕——由清华大学出版社之《C语言入门很简单》想到的(1)

    1.前言与作者 首先声明,我是由于非常偶然的机会获得<C语言入门很简单>这本书的,绝对不是买的.买这种书实在丢不起那人. 去年这书刚出版时,在CU论坛举行试读推广,我当时随口说了几句(没说 ...

  7. Atitit.软件中见算法 程序设计五大种类算法

    Atitit.软件中见算法 程序设计五大种类算法 1. 算法的定义1 2. 算法的复杂度1 2.1. Algo cate2 3. 分治法2 4. 动态规划法2 5. 贪心算法3 6. 回溯法3 7. ...

  8. 我为什么反对推荐新人编程C/C++语言入门?

    虽然我接触编程以及计算机时间比较早,但是正式打算转入程序员这个行当差不多是大学第四年的事情 从03年接触计算机,07年开始接触计算机编程, 期间接触过的技术包括 缓冲区溢出(看高手写的shellcod ...

  9. C语言入门(7)——自定义函数

    C源程序是由函数组成的.虽然在C语言入门系列前面几篇的程序中大都只有一个主函数main(),但实用程序往往由多个函数组成.函数是C源程序的基本模块,通过对函数模块的调用实现特定的功能.C语言中的函数相 ...

随机推荐

  1. 线性回归模型(Linear Regression)及Python实现

    线性回归模型(Linear Regression)及Python实现 http://www.cnblogs.com/sumai 1.模型 对于一份数据,它有两个变量,分别是Petal.Width和Se ...

  2. 前端工程师应该都了解的16个最受欢迎的CSS框架

    摘要: 今天给大家分享16个最受欢迎的CSS框架.这些是根据笔者的爱好以及相关查阅规整出来的.可能还有一些更棒的或者您更喜欢的没有列举出来.如果有,欢迎留言! Pure : CSS Framework ...

  3. LFS Linux From Scratch 笔记2(经验非教程)BLFS

    LFS 完了. 其实还没完,还要装一些其他的组件,系统才算是对人类有用的系统. 正好这里有个BLFS Beyound Linux From Scratch 的教程. 其实,按照现有的可运行的LFS系统 ...

  4. 这里有123个黑客必备的Python工具!

    123个Python渗透测试工具,当然不仅于渗透~ 如果你想参与漏洞研究.逆向工程和渗透,我建议你时候用Python语言.Python已经有很多完善可用的库,我将在这里把他们列出来. 这个清单里的工具 ...

  5. ZooKeeper学习第五期--ZooKeeper管理分布式环境中的数据(转)

    转载来源:https://www.cnblogs.com/sunddenly/p/4092654.html 引言 本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它 ...

  6. mpvue 开发小程序接口数据统一管理

    mpvue项目里做API与数据分离统一管理 小程序里请求数据接口使用wx:request,因为考虑项目比较大,最好把wx:request封装起来,统一使用管理 utils.js 配置开发环境和线上环境 ...

  7. ABP开发框架前后端开发系列---(8)ABP框架之Winform界面的开发过程

    在前面随笔介绍的<ABP开发框架前后端开发系列---(7)系统审计日志和登录日志的管理>里面,介绍了如何改进和完善审计日志和登录日志的应用服务端和Winform客户端,由于篇幅限制,没有进 ...

  8. Spring Cloud Gateway使用

    简介 Spring Cloud Gateway是Spring Cloud官方推出的网关框架,网关作为流量入口,在微服务系统中有着十分重要的作用,常用功能包括:鉴权.路由转发.熔断.限流等. Sprin ...

  9. aspose授权亲测可用配套代码

    支持excel,word,ppt,pdf using Aspose.Cells; using Aspose.Words.Saving; using ESBasic; using OMCS.Engine ...

  10. c/c++基础内容回顾

    1.1基本数据类型 1.1.1 变量的定义 变量类型 变量名 变量类型 变量名=初值: 注意:不能以C语言标识符作为变量名,变量名的第一个字符必须是字母或者下划线,其它位置字符必须是字母.数字.下划线 ...