问题标签 [pseudocode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pseudocode - 2D世界设计问题
我面临一个在游戏设计中可能极为常见的问题。
- 假设我们有一个 2D 世界
- 世界的大小是 M x N rect
- 这个世界可能包含一些物品
- 项目具有 (x,y) 坐标
- 可以通过物理 (mxn) 大的窗口浏览世界。
- 浏览器窗口可以放大/缩小
- 浏览器窗口可以向上/向下 + 左右平移,而在世界矩形的范围内。
我应该如何实施呢?我特别关心浏览器窗口。谁能推荐一些好的读物?
这不是家庭作业——它更像是我让自己完成的任务。
python - 实现一个列表框
我需要为手机实现一个列表框。唯一相关的控件是向上和向下箭头键。列表框应该在屏幕上显示尽可能多的项目行(screen_rows),应该突出显示一行(sel_row),并且如果用户在第一个项目被突出显示或向下箭头时点击向上箭头,则显示应该换行如果最后一个项目被突出显示(也就是说,如果用户在第一个项目被突出显示时点击,最后一个项目应该被显示并突出显示)。向上箭头突出显示前一项,向下箭头突出显示下一项。
我已经把一些东西放在一起,但我担心我在测试中错过了一些东西。鉴于列表框的流行,必须有一个标准的方法来做到这一点。
EDIT: after each function I call a redraw screen function, which redraws the screen with top_item at the top and sel-row highlighted.
I've added a pseudo-code tag, in case someone has a version in something that's not python.
pseudocode - 将十进制数字数组转换为二进制数字数组
这可能是一个非常奇特的问题。
我的问题如下:
TI 83+ 图形计算器允许您使用汇编和连接到计算机的电缆或其内置的 TI-BASIC 编程语言对其进行编程。
根据我的发现,它只支持 16 位整数和一些模拟浮点数。
但是,我想使用更大的数字(大约 64 位),因此我使用了一个包含单个数字的数组:
将是十进制 12345。
在二进制中,即 110000 00111001,或者作为二进制数字数组:
这就是计算器的显示方式。
我将如何将这个十进制数字数组(对于计算器来说太大而无法将其显示为本机类型)转换为十进制数字数组?
效率不是问题。这不是家庭作业。
这将使我可以自由地为此类数组等实施加法。
谢谢!
coding-style - 从 for 循环转换为 while 循环的正确方法是什么?
我有一个形式的for循环:
而且我想将它转换为一个while循环(主要是因为我想i
在循环内部使用值来前后移动,而我的同事认为在for循环中这样做很容易出现问题。我倾向于同意他)。所以我写了这样的东西:
这引发了一些响亮的评论。我的理由是你不知道循环内的代码做了什么——它可能(并且确实)有多个continue
命令。
作为回应,他写道:
尽管它的行数更少,但我仍然认为我的代码更优雅——你怎么看?
algorithm - 传递约简算法:伪代码?
我一直在寻找一种算法来对图执行传递减少,但没有成功。我的算法圣经(Cormen 等人的算法简介)中没有任何内容,虽然我已经看到了大量的传递闭包伪代码,但我无法找到任何减少的东西。我得到的最接近的是 Volker Turau 的“Algorithmische Graphentheorie”中的一本书(ISBN:978-3-486-59057-9),但不幸的是我无法访问这本书!维基百科没有帮助,谷歌还没有发现任何东西。:^(
有谁知道执行传递减少的算法?
pseudocode - 基于依赖获取订单的伪代码
好的,我的情况是我有一个项目列表,我需要根据它们拥有的参考来获取这些项目的顺序。例如,假设我们有这些项目:A、B、C、D、E、F
C 和 D 没有依赖关系,因此它们的顺序可以为 0。B 是与 C、D 和 A 最多的一个。A 有 C,F 有 A 和 B
在这种情况下 C,D = 0 A = 1 B= 2 F = 3
我一直在浏览互联网,似乎我没有使用正确的科学术语。很可能它以某种方式是 Set 或 Bag set。我知道它不是一棵树,因为这种情况在每个节点上都有两个以上的边。答案可以是编程语言,只是试图使其尽可能通用。
python - 使用 Python 获取某个州的所有教堂的列表
我很擅长 Python,所以当细节很琐碎时,伪代码就足够了。请让我开始这项任务 - 如何在网上搜寻我所在州教堂的蜗牛邮件地址。一旦我有了一个像“123 Old West Road #3 Old Lyme City MD 01234”这样的班轮,我可能会通过足够的反复试验将其解析为城市、州、街道、数字。我的问题是——如果我在线使用白页,那么我该如何处理所有的 HTML 垃圾、HTML 表格、广告等?我不认为我需要他们的电话号码,但这不会有什么坏处——一旦解析,我总是可以把它扔掉。即使您的解决方案是半手动的(例如保存为 pdf,然后打开 acrobat,另存为文本) - 我可能仍然对它感到满意。谢谢!哎呀,我什至会接受 Perl 片段——我可以自己翻译它们。
audio - 解释这个 DSP 符号
我正在尝试实现Karplus-Strong 弹拨字符串算法的这种扩展,但我不明白那里使用的符号。也许这需要多年的学习,但也许不会——也许你可以告诉我。
我认为下面的方程是在频域或什么的。从第一个方程 H p (z) 开始,拾取方向低通滤波器。对于一个方向,您使用 p = 0,对于另一个方向,可能是 0.9。在第一种情况下归结为 1,在第二种情况下归结为 0.1 / (1 - 0.9 z -1 )。
替代文字 http://www.dsprelated.com/josimages/pasp/img902.png
现在,我觉得这在编码方面可能意味着:
有人可以给我一个提示吗?或者这是徒劳的,我真的需要所有的 DSP 背景来实现这个?我曾经是一名数学家……但这不是我的领域。
php - 作业调度问题
我正在开发一个应用程序,我需要按轮换时间表自动为成员安排工作。我不太擅长解释规则,所以这里有一些数据可以帮助你:
职位:职位名称,具有每周周一和周三等规则。
类别:一组职位
组:另一组职位。同一组中的职位不能在同一天
分配成员:在给定日期分配到职位的用户。
对于该月中的每个日期,成员都被分配到职位(均按升序排列)。如果一个成员被分配到一个类别中的位置,下次出现同一类别中的位置时,下一个成员按字母顺序(或列表的开头)被分配,例如。
成员:M1、M2、M3、M4
类别 C1 职位:P1、P2、P3
职位 P1 成员:M1、M2、M3、M4
职位 P2 成员:M1、M2、M3
职位 P2 成员:M1、M3、 M4
如果将 M1 分配给 P1,如果 P2 紧随其后,则将分配 M2。引入了额外的复杂层,如果 P3 是下一个,则分配 M3。系统必须跟踪 M2 被“跳过”的事实,并在可用时分配下一个 M2,然后分配下一个 M4,或者等到它到达 M2 可用的位置(当有很多“跳过”时,这变得更加复杂' 成员)。
如果某个成员表明他在该日期不可用,则该成员也将被跳过。系统需要优先考虑跳过的成员,当他们出现时以某种方式识别他们,然后跳转到列表中的下一个逻辑人。由于日期冲突,跳过也适用于组。
我已经有了一个临时的 [和混乱的] 解决方案,尽管我在其中解释了每个步骤,但我不再理解它。它的弱点在于处理被跳过的成员。
如果你要编写这个代码,你会怎么做?我在 PHP 中实现了这一点,但伪代码也可以。
compiler-construction - 汇编语言编程
我正在尝试编写一个程序,输入一个小于 10 的正数并输出第一个数字的总和。例如 5 将是 5+4+3+2+1。这些命令是停止、加载、存储、加、求和、乘、除、输入、输出、分支、如果为 0 则为分支,如果不是 0 则为分支。任何人都可以在这里帮助我。我有点卡住了。好吧,我写的是:
好吧,我认为它的工作方式是加载一些数字 n 并添加一个总和 0,然后将该总和存储为 n+sum。然后你再次加载 n 并减去 1 并将其存储为新的总和。但是我需要它重复这个直到 n 达到 0。那么我该怎么做呢?
好的,所以我需要做的是如果为 0 则使用分支,如果不是 0 则使用分支。我想我有吗?所以:
DC =指定常数,但我需要重复的是减一并加上总和直到n达到0。如果不为零,则分支是BRGT,如果零是BZ并且分支是BR,则分支,LD是负载。我知道我需要重复什么,但我不知道你是如何用汇编语言做到这一点的。