伪代码——基础语法入门

1、简介

  • 伪代码是一种用来描述算法或程序逻辑的抽象化编码方式,它不依赖于任何特定的编程语言语法,而是使用类似自然语言的形式来描述算法步骤。通常用于算法设计、教学和沟通,伪代码可以更直观地表达问题的解决方案,而不必受限于具体编程语言的语法结构。
  • 通过伪代码,程序员可以在实现代码之前更清晰地思考算法的逻辑和流程。
  • 伪代码可以和流程图相互转换,它们是对算法的描述。

2、基本语法

  • 算法用 Begin 开始,以 End结束(如果只表示算法的中间部分可以不要)。

  • 每一条指令,占一行。指令结束不使用任何符号。

  • 注释用 // 表示。
    *

    python 复制代码
    int a  // 定义整形变量a
  • 用 print 和 input表示输出和输入。

  • 用 ← 或 = 表示赋值
    *

    python 复制代码
    a ← 3
    a = 3
  • 用缩进表示代码块的结构,如果if、while、for等语句有多个子语句需要用 { }。

  • 条件分支
    *

    cs 复制代码
    if n > 0 then
    	print
    else if n < 0 then
    	print
    else
    	print
    end if
  • 循环语句
    *

    python 复制代码
    (1)while循环
    n ← 10
    while n > 0 do
    	print ("n =" + n)
    	n ← n-1
    end while
    
    (2)for循环
    for i ← 0 to 100 do
    	print ("hello, world!")
    end for
    
    (3)遍历某个集合
    // A是一个集合
    for each i in A do
    	print i
    end for
  • 用 表示数组。
    *

    python 复制代码
    a[1...10]  // a[上界...下界]
  • 函数
    *

    python 复制代码
    //必要情况下,附上说明函数功能以及返回值类型,格式如下
    //返回值类型:功能说明
    function func_name(x, y)
    	...
    	return x + y
    end func
    • 复杂的函数和算法可以用文字描述。
  • 运算符
    *

    python 复制代码
    幂运算 ^
    取模 mod
    逻辑与 and
    逻辑或 or
    逻辑非 not
    逻辑异或 xor
    (其他与C语言符号相同)

3、案例

  • python代码
    *

    python 复制代码
    # 求1-100的和
    sum = 0
    for i in range(1, 101):
        sum = sum + i
    print(sum)
  • 伪代码
    *

    python 复制代码
    Begin
        sum ⬅ 0
        for i ⬅ 1 to 100
            sum ⬅ sum + i
        print sum
    End
相关推荐
1024奇点2 小时前
【仓颉语言入门 · 第二篇 第 22 课】
开发语言·ide·开源
Warren2Lynch2 小时前
C4 模型详解:利用 Visual Paradigm 可视化软件架构的综合指南
开发语言·uml
Knight_AL3 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
FRing034 小时前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
by209994 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
砚底藏山河4 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
IT召唤狮4 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php
知已难寻4 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
Rover Ramble5 小时前
C++ 用互斥锁实现读写锁
开发语言·c++
码流子6 小时前
移动收费怎么做?手持终端+App+收费中心的架构实践
java·开发语言·架构