当前位置: 首页 > 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.rkmt.cn/news/5350.html

相关文章:

  • 麒麟
  • 多品牌摄像机视频平台EasyCVR海康大华宇视视频平台统一接入方案
  • ubuntu安装mysql矩阵
  • 043-WEB攻防-PHP应用SQL注入符号拼接请求方法HTTP头JSON编码类
  • 玻璃2601
  • 2025 ICPC 网络赛2 E
  • 西电微机原理与接口技术笔记总结
  • Mysql查找含字符串表字段
  • 真正的元推理,不需要人类的认可,恰恰是人类追求元推理,只有元推理才能彻底解放人类
  • 西电微机原理-第三章 Intel处理器指令系统及汇编语言(5)
  • 西电微机原理-第五章 存储技术
  • OpenStack Cinder 创建卷
  • 西电微机原理-第二章 Intel单核处理器
  • 二叉树的迭代遍历(非递归)
  • 今日流水账-2025年9月15日
  • 2025年HR经理必备:10款高效人力资源管理软件推荐
  • GAS中GA变量数据的同步
  • 【触想智能】工业显示屏与普通显示屏的八大区别以及应用领域分析
  • 042-WEB 攻防:PHP 应用 MYSQL 架构 SQL 注入 跨库查询 文件读写 权限操作
  • Dsu On Tree 笔记
  • 船舶航向控制算法
  • 应用多、交付快,研发运维怎么管?看云效+SAE 如何一站式破局
  • vue3 - elementPlus
  • wso2~对已发布api的元信息管理
  • OpenStack Cinder 架构
  • HiMarket 正式开源,为企业落地开箱即用的 AI 开放平台
  • 如何统计DrawMeshInstancedIndirect绘制物体的Triangle数据
  • 汇编语言[王爽]-12 内中断
  • 汇编语言[王爽]-01 基础知识
  • 贪心外套计数