一、     什么是算法(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. CopyMemory、FillMemory、MoveMemory、ZeroMemory

    CopyMemory 复制内存,第一个参数为目的地址,第二个参数为源地址,第三个参数为复制数据的大小,单位字节,源内存区域不能重叠,如果重叠,可以使用MoveMemory()函数.函数原型如下: vo ...

  2. FMX App的Application的事件(各种手机的全局按键)

    直接上代码,还有条经验就是SetApplicationEventHandler可注册多个事件方法. unit Unit6; interface uses  System.SysUtils, Syste ...

  3. 高性能高并发网站架构,教你搭建Redis5缓存集群

    一.Redis集群介绍 Redis真的是一个优秀的技术,它是一种key-value形式的NoSQL内存数据库,由ANSI C编写,遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Val ...

  4. Hexo+NexT(三):Next主题配置详解

    阅读本篇之前,假定读者已经有了Node.js的基础,如需要补充Node.js知识的,请自行百度. Hexo是在Node.js框架下的一个项目,利用Node.js提供的强大功能,完成从Markdown到 ...

  5. Hexo+NexT(五):Hexo第三方插件提供功能及配置

    本篇文章介绍NexT中通过第三方实现的功能,有的需要通过额外的插件,有的需要通过第三方提供的功能.这些功能丰富了网站内容,弥补了原生静态网站的不足. Hexo博客专题索引页 增加百度统计分析功能 访问 ...

  6. 这个注解一次搞定限流与熔断降级:@SentinelResource

    在之前的<使用Sentinel实现接口限流>一文中,我们仅依靠引入Spring Cloud Alibaba对Sentinel的整合封装spring-cloud-starter-alibab ...

  7. 使用redis PSUBSCRIBE实现实时任务

    PSUBSCRIBE可以监听键的过期事件 1.进行数据库的配置 notify-keyspace-events Ex 2.使用命令监听事件 psubscribe  __keyevnet@0__:expi ...

  8. SqlServer执行计划

    MSSQLSERVER执行计划详解 * from ServiceInvoke; --创建时间聚集索引扫描 * from AdoLog; --主键ID聚集索引扫描 --2.根据聚集索引排序-性能提升 - ...

  9. git常用总结

    git 基本配置 安装git yum -y install git git全局配置 git config --global user.name "lsc" #配置git使用用户 g ...

  10. C# Redis分布式锁(基于ServiceStack.Redis)

    相关的文章其实不少,我也从中受益不少,但是还是想自己梳理一下,毕竟自己写的更走心! 首先给出一个拓展类,通过拓展方法实现加锁和解锁. 注:之所以增加拓展方法,是因为合理使用拓展类(方法),可以让程序更 ...