当前位置: 首页 > news >正文

伪代码学习总结


伪代码学习总结

1. 什么是伪代码

  • 伪代码(Pseudocode) 是一种 算法描述语言

  • 它既不同于自然语言(太模糊),也不是某种具体编程语言(太依赖语法)。

  • 使用伪代码的目的:

    • 使被描述的算法可以容易地翻译成任何一种编程语言(如 Pascal, C, Java, Python 等);
    • 要求 结构清晰、可读性好、简洁明了
    • 类似自然语言,强调逻辑而非语法。

2. 常见伪代码语法要点

  1. 赋值

    x ← 1
    

    (读作“x 赋值为 1”)

  2. for 循环

    for i ← 0 to 10 doXXXXX
    
    • for 后跟 do
    • 不写括号
    • 循环体缩进
  3. while 循环

    while time < 10 doxxxxx
    
  4. if 条件

    if i = 10 thenxxxx
    elsexxxx
    
  5. 多分支 if

    if i = 10 thenxxxx
    elseif i = 9 thenxxxxyyyy
    elsexxxx
    
    • elseif 必须合并写作一个单词
    • then 必须出现在 ifelseif 后面
    • else 对齐
  6. 缩进与对齐

    • 同一嵌套等级的语句要对齐。
    • do 后必须紧跟缩进部分。
  7. 变量声明

    • 通常不显式写出来,但要在注释中说明。
  8. 函数伪代码

    search(A, name)   // 参数类型可以不给,但要在注释中说明
    
  9. 语句编号

    • 写完的伪代码,通常每行前要加上序号,便于引用。

3. 示例:冒泡排序伪代码

输入:数组 L,整数 n。输出:按非递减顺序排序的 L。

1.  FLAG ← n                         // 标记最后一次交换位置
2.  while FLAG > 1 do
3.      k ← FLAG - 1
4.      FLAG ← 1
5.      for j ← 1 to k do
6.          if L(j) > L(j+1) then
7.              L(j) ↔ L(j+1)        // 交换
8.              FLAG ← j

4. 示例:翻译成实际语言

C++ 版本

void BubbleSort(vector<int>& L) {int n = L.size();int FLAG = n;while (FLAG > 1) {int k = FLAG - 1;FLAG = 1;for (int j = 0; j < k; j++) {if (L[j] > L[j+1]) {swap(L[j], L[j+1]);FLAG = j + 1;}}}
}

Python 版本

def BubbleSort(L):n = len(L)FLAG = nwhile FLAG > 1:k = FLAG - 1FLAG = 1for j in range(k):if L[j] > L[j+1]:L[j], L[j+1] = L[j+1], L[j]FLAG = j + 1

http://www.wxhsa.cn/company.asp?id=4854

相关文章:

  • 20号胶 2511
  • 9.13linux系统命令
  • 9.15 svn git
  • PVC2601
  • 利用RabbitMQ与Redis实现消息的延迟传递的策略
  • python 按excel的经纬度提取对应栅格tif文件的数值
  • 麒麟
  • 实现我的第一个本地文档问答机器人
  • 17、逻辑回归与分类评估 - 从连续到离散的智能判断 - 教程
  • 关于32位单片机使用lwip无法访问(ping)外网,只能与同网段设备进行通信的问题解决
  • 044-WEB攻防-PHP应用SQL盲注布尔回显延时判断报错处理增删改查方式
  • 多品牌摄像机视频平台EasyCVR海康大华宇视视频平台统一接入方案
  • GoFrame框架查询数据表时对字段取别名
  • ubuntu安装mysql矩阵
  • 043-WEB攻防-PHP应用SQL注入符号拼接请求方法HTTP头JSON编码类
  • 离散数学课堂习题及课后习题 - PPX
  • 玻璃2601
  • 二十、DevOps落地:Jenkins基础入门(一)
  • ubuntu 22.04安装mysql5.7
  • Docker如何获取镜像
  • 2025 ICPC 网络赛2 E
  • 偏移寻址
  • 金融业-数字化转型大赛-网络安全赛道部分wp
  • Mysql查找含字符串表字段
  • MySQL注意事项与规范 - 实践
  • 真正的元推理,不需要人类的认可,恰恰是人类追求元推理,只有元推理才能彻底解放人类
  • 西电微机原理-第三章 Intel处理器指令系统及汇编语言(5)
  • 西电微机原理-第五章 存储技术
  • 西电微机原理-第七章 常用接口器件
  • CF1264D1 Beautiful Bracket Sequence (easy version)