找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 17677|回复: 3

[其他] 请教如何用批处理画出正方形和抛物线?

[复制链接]
发表于 2009-3-21 23:16:46 | 显示全部楼层 |阅读模式
@echo off
setlocal enabledelayedexpansion
mode con cols=102 lines=25
for /l %%a in (1,1,100) do (set k= !k!)
for /l %%a in (-10,1,10) do (set h%%a=%k%)
set la=-11
:la
set /a la+=1,lb=la*la,tlb=100-lb
set h%la%=!h%la%:~%tlb%!.
ping -n 1 127.1>nul
cls
for /l %%a in (-10,1,10) do echo,!h%%a!
if %la% lss 10 goto :la
pause

这段代码是怎么输出这种抛物线的,真是百思不得其解....,,根据代码一步一步分析,,好像不可能得出这样的结果.请各位大哥指教....
发表于 2009-3-22 13:42:02 | 显示全部楼层
start   =11
11+-4=7
...
1+0    =1
1+1    =2
...
7+4    =11

组合:
          a
      a
   a
a
a
a
   a
      a
          a
发表于 2009-3-22 13:45:24 | 显示全部楼层
楼主为何不在原帖讨论 ,我记得一楼的代码是~ 发的


啊 还是解释一下一楼的:

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%a in (1,1,79) do (set k= !k!)
  4. ::变量k=100个空格
  5. for /l %%a in (-8,1,8) do (set h%%a=%k%)
  6. ::变量 h-8 到 h8 都=79个空格

  7. set la=-9
  8. :la
  9. set /a la+=1,lb=la*la
  10. set h%la%=!h%la%:~0,%lb%!.
  11. ::计算出la行的点应处在什么位置,即lb值
  12. ::然后对la行进行描点。
  13. ping -n 1 127.1>nul
  14. cls
  15. for /l %%a in (-8,1,8) do echo,!h%%a!
  16. ::显示h-10 到 h10 的行
  17. if %la% lss 10 goto :la
  18. pause
复制代码

[ 本帖最后由 523066680 于 2009-3-22 14:24 编辑 ]
发表于 2009-3-22 14:21:48 | 显示全部楼层
过程就是
  逐行描点,每描一个点,就把所有行显示一次。

la表示行 lb表示列 上面描述的图像是 列=行*行 的图像。
为了描述出整个曲线,所以行的编号设为 从 -8 到 8

la=-8 时  lb=64
     -7           49
     -6           36
            :
            :
       0            0
       1            1
       2            4
       3            9
       4          16
       5          25
       6          36
       7          49
       8          64

执行过程就是将这些坐标逐个描出来。

[ 本帖最后由 523066680 于 2009-3-22 14:29 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 03:37 , Processed in 0.016321 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表