一、     什么是算法(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. Go语言v1.8正式发布,有显著的性能提升和变化(go适合服务器编程、网络编程)

    前言 Go语言现在在服务端的网络编程领域越来越火,尤其像IM即时通讯应用这种富网络应用且对服务端网络性能要求极高的场景,很高兴看到Golang发布了1.8正式版,希望在多核架构横行的时代多一些这种顺应 ...

  2. React Native v0.4 发布,用 React 编写移动应用

    React Native v0.4 发布,自从 React Native 开源以来,包括超过 12.5k stars,1000 commits,500 issues,380 pull requests ...

  3. 前端 JS 修炼(第一天)包装对象、作用域、创建对象

    1.js基本概念以及注意 直接量 :程序中直接使用的数据值.下面列出的都是直接量: 1 12 //数字 2 1.2 //小数 3 "hello world" //字符串文本 4 t ...

  4. tortoisegit密码找回之抓包法

    因为一直用tortoisegit记住密码(此方法只适用于tortoisegit有记住密码),昨天需要登陆gitlab发现密码忘记了,用了N个常用默认密码都不对:和度娘交流一会儿也无果,gitlab里的 ...

  5. JavaScript规定了几种语言类型?

    JavaScript中的每一个值都有它自己的类型,JavaScript规定了七种语言类型: 1.Undefined 2.Null 3.Boolean 4.String 5.Number 6.Symbo ...

  6. python合并多个文件

    import os filelist=os.listdir('/root/Music') for item in filelist: print item newfile=open('/root/Mu ...

  7. 请给出linux中查看系统已经登录用户的命令?

    w命令 第一行:当前系统运行了多久和系统负载 谁正在远程登录系统并且在干什么 [root@martin ~]# w 11:30:33 up 4 days, 18:10, 2 users, load a ...

  8. Spring Boot:整合JdbcTemplate

    综合概述 Spring对数据库的操作在jdbc上面做了更深层次的封装,而JdbcTemplate便是Spring提供的一个操作数据库的便捷工具.我们可以借助JdbcTemplate来执行所有数据库操作 ...

  9. 推荐一个Redis管理工具

    Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.它支持字符串.哈希表.列表.集合.有序集合,位图,hyperloglogs等数据类型.内置复制.Lu ...

  10. HBase —— 集群环境搭建

    一.集群规划 这里搭建一个3节点的HBase集群,其中三台主机上均为Regin Server.同时为了保证高可用,除了在hadoop001上部署主Master服务外,还在hadoop002上部署备用的 ...