史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   生活話題、日常閒聊、喇勒唬爛灌水區 (http://forum.slime.com.tw/f23.html)
-   -   還記得這個BASIC程式嗎? (http://forum.slime.com.tw/thread288045.html)

魔術王子 2017-12-27 07:01 PM

還記得這個BASIC程式嗎?
 
這應該是計算機概論常出的題目吧:on_90:
語法:

    *
    ***
  *****
  *******
 *********
***********

當然啦,程式碼絕對不會這麼簡單:on_83::on_87:
語法:

10 PRINT "    *"
20 PRINT "    ***"
30 PRINT "  *****"
40 PRINT "  *******"
50 PRINT " *********"
60 PRINT "***********"
70 PRINT ""

而是這樣:on_54::on_12::on_49:
語法:

10 CLS
20 N=5
30 FOR I=1 TO 10 STEP 2
40 PRINT SPACE(N);
50 FOR J=1 TO I
60 PRINT "*";
70 NEXT J
80 PRINT
90 N=N-1
100 NEXT I

不相信的話,可以在下面的連結下載玩玩看:on_25::on_25::on_25:
https://drive.google.com/file/d/1NBQ...ew?usp=sharing
印象中只記得這兩個程式
語法:

*
**
***
****
*****
******
*******
********
*********
**********

10 CLS
20 INPUT "輸入數字: ",N
30 FOR I=1 TO N
40 FOR J=1 TO I
50 PRINT "*";
60 NEXT J
70 PRINT
80 NEXT I

不曉得還能不能執行其他的程式

ppp0600 2017-12-27 10:48 PM

10 PRINT " *"
20 PRINT " ***"
30 PRINT " *****"
40 PRINT " *******"
50 PRINT " *********"
60 PRINT "***********"
70 PRINT ""

就是這個了 :on_14:

getter 2017-12-28 01:53 AM

以前學校教程式 ... 都說,趕快照著課本打 ... 第幾頁 ... 根本就沒有解釋
還說打完執行有結果 ... 就 OK 加分

打字速度慢的就吃大悶虧、吃大悶棍 ... 別人打完了都不知道第幾隻 ...
迪西連一隻都沒打完 ...

迪西的結論 ... 學程式設計前,要先學會英打

mini 2017-12-28 03:17 PM

日前google貼了個
兒童程式語言周年 的遊戲連結
玩了一下
其實還真不簡單 (邏輯比兒童不如~! :on_72:)

程式語言
到了應用效能模式就會變得搞怪
為了達到目的不擇手段
PHP 語法:

j=-1
for i=1 to 高
  
print space(-i) + Format(j+2"*")
  
j=j+2
next 

所以如有機會去看那些高手應用
就不要抱著每行都要看懂的思維
寫得好的會在效能與維護間包裝得宜
寫的怪的
則是有看沒有懂
甚至自己過段時間去看(沒有註解)都會看不懂

魔術王子 2017-12-28 06:49 PM

引用:

作者: mini (文章 2372273)
日前google貼了個
兒童程式語言周年 的遊戲連結
玩了一下
其實還真不簡單 (邏輯比兒童不如~! :on_72:)

程式語言
到了應用效能模式就會變得搞怪
為了達到目的不擇手段
PHP 語法:

j=-1
for i=1 to 高
  
print space(-i) + Format(j+2"*")
  
j=j+2
next 

所以如有機會去看那些高手應用
就不要抱著每行都要看懂的思維
寫得好的會在效能與維護間包裝得宜
寫的怪的
則是有看沒有懂
甚至自己過段時間去看(沒有註解)都會看不懂

這邏輯真的很棒耶:on_02:
等一下再來試試看

另外今天一直在思索另一個程式
PHP 語法:

     *
    ***
   *****
  *******
 *********
***********
 *********
  *******
   *****
    ***
     *

10 CLS
20 N
=5
30 
FOR I=1 TO 10 STEP 2
40 
PRINT SPACE(N);
50 FOR J=1 TO I
60 
PRINT "*";
70 NEXT J
80 
PRINT
90 N=N-1
100 NEXT I
110 N
=1
120 
FOR I=9 TO 1 STEP -2
130 
PRINT SPACE(N);
150 FOR J=1 TO I
160 
PRINT "*";
170 NEXT J
180 
PRINT
190 N=N+1
200 NEXT I 

寫完之後,覺得有點遜,因為迴圈分開兩次運算
這可以用三重回圈來設計,所以又想到下面的程式碼
PHP 語法:

10 CLS
20 A
=1:B=10:C=2:N=5
25 
FOR K=1 TO 2
30 
FOR I=A TO B STEP C
40 
PRINT SPACE(N);
50 FOR J=1 TO I
60 
PRINT "*";
70 NEXT J
80 
PRINT
90 IF K=1 N=N-ELSE N=N+1
100 NEXT I
110 A
=9:B=1:N=1:C=-2
120 NEXT K 

其實是可以透過運算來改變數值,但這個程式在運算很差(我的數學很爛:on_43:)
不但沒有先乘除後加減的概念,而且只能單次運算,也就是只能1+1,而不能1+2+6+5...

魔術王子 2017-12-28 07:43 PM

PHP 語法:

         *
        
"*"*
       
"*"*"*
      "
*"*"*"*
     "
*"*"*"*"*
    
"*"*"*"*"*"*
   
"*"*"*"*"*"*"*
  "
*"*"*"*"*"*"*"*
 "
*"*"*"*"*"*"*"*"*
"*"*"*"*"*"*"*"*"*"*

10 CLS
15 S
="*"
20 FOR I=1 TO 10
30 
PRINT SPACE(10-I);
40 FOR J=1 TO I
50 
PRINT S;
60 NEXT J
70 S
=S+"**"
75 PRINT
80 NEXT I 

發現一個有趣的bug:on_52::on_52::on_52:
70行的狀況完全沒有考慮到

mini 2017-12-29 03:03 PM

引用:

作者: 魔術王子 (文章 2372287)
PHP 語法:

         *
        
"*"*
       
"*"*"*
      "
*"*"*"*
     "
*"*"*"*"*
    
"*"*"*"*"*"*
   
"*"*"*"*"*"*"*
  "
*"*"*"*"*"*"*"*
 "
*"*"*"*"*"*"*"*"*
"*"*"*"*"*"*"*"*"*"*

10 CLS
15 S
="*"
20 FOR I=1 TO 10
30 
PRINT SPACE(10-I);
40 FOR J=1 TO I
50 
PRINT S;
60 NEXT J
70 S
=S+"**"
75 PRINT
80 NEXT I 

發現一個有趣的bug:on_52::on_52::on_52:
70行的狀況完全沒有考慮到

說到這
那個行號是怎麼回事
10 跳到 15 又變成 20 ...?

魔術王子 2017-12-29 06:29 PM

引用:

作者: mini (文章 2372312)
說到這
那個行號是怎麼回事
10 跳到 15 又變成 20 ...?

BASIC程式寫法
習慣上我們會以10為單位,如果發覺中間有落掉程式碼,就可以有9次機會加入程式碼
如果9次都用光了,那可以使用RENUM指令讓行號重新排列,行號會從10,20,30開始編列,然後又有9次機會了

來談一下這個"玩具"吧
雖然是寫好玩,而且運算很差,可是若是連負值都無法運算,也太扯了
所以今天又修正蠻多問題的
https://drive.google.com/file/d/1NBQ...ew?usp=sharing

PHP 語法:

         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
*******************

10 CLS
20 K
=-1
30 
FOR I=1 TO 10
40 
PRINT SPACE(10-I);
50 FOR J=1 TO K+2
60 
PRINT "*";
70 NEXT J
80 K
=K+2
90 
PRINT
100 NEXT I

         
*
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
*******************

10 CLS
20 S
="*"
30 FOR I=1 TO 10
40 
PRINT SPACE(10-I);
50 PRINT S;
60 PRINT
70 S=S+"**"
80 NEXT I 

沒有加入FORMAT指令,用迴圈替代:on_87:

getter 2017-12-30 02:36 PM

想當年學校教程式設計怎麼教? 迪西的狀況是
都嘛說「同學翻到第x頁,題號多少的程式碼,限時5分鐘打完。」

與其說學程式設計,不如說是趕鴨子上架的英打練習,結果就是,有學過英打的都是高分。
迪西都是 0~5 分。因為光打字輸入就輸了。

事後給迪西的印象就是 ... 要學好電腦、程式設計、文書處理、...... 。

最優先事項,先練好中英文打字吧。

魔術王子 2017-12-30 03:05 PM

引用:

作者: getter (文章 2372326)
想當年學校教程式設計怎麼教? 迪西的狀況是
都嘛說「同學翻到第x頁,題號多少的程式碼,限時5分鐘打完。」

與其說學程式設計,不如說是趕鴨子上架的英打練習,結果就是,有學過英打的都是高分。
迪西都是 0~5 分。因為光打字輸入就輸了。

事後給迪西的印象就是 ... 要學好電腦、程式設計、文書處理、...... 。

最優先事項,先練好中英文打字吧。

我們是不一樣
那時代的電腦算是蠻新鮮的
所以二年級才有計算機概論,不過那時的我們實在太迷電腦了
所以放學就留在學校的電腦室,直到電腦室關門
所以我們幾乎一年級就打好基礎(跟學長學的)
然後我們科系三年級還有電腦輔助繪圖
話說標準打字好像是五指神功,兩手五根手指一起運作
不過我那時習慣三指,左手中指,右手食指跟中指頂多加個大拇指按空白鍵:on_32:

記得那時的文書處理是彗星一號跟PE2
PE2有巨集(PE2.PRO)可以定義鍵盤功能也成為另類的程式設計

getter 2017-12-31 05:17 PM

引用:

作者: 魔術王子 (文章 2372327)
我們是不一樣
那時代的電腦算是蠻新鮮的
所以二年級才有計算機概論,不過那時的我們實在太迷電腦了
所以放學就留在學校的電腦室,直到電腦室關門
所以我們幾乎一年級就打好基礎(跟學長學的)
然後我們科系三年級還有電腦輔助繪圖
話說標準打字好像是五指神功,兩手五根手指一起運作
不過我那時習慣三指,左手中指,右手食指跟中指頂多加個大拇指按空白鍵:on_32:

記得那時的文書處理是彗星一號跟PE2
PE2有巨集(PE2.PRO)可以定義鍵盤功能也成為另類的程式設計

魔術王子的年代,代該跟迪西差不會代多 ... 當年也是 PE2/3、了不起就是 HE5、ET3

只能說,遇到了不會教、不想教的老師 ... 說好的上機,竟然變成打字 ... 當時一些
相關科系的老師說 ... 反正真正的程式大家未必學的會、寫的出來,不如多練練打字

魔術王子 2018-01-01 08:54 AM

引用:

作者: getter (文章 2372339)
魔術王子的年代,代該跟迪西差不會代多 ... 當年也是 PE2/3、了不起就是 HE5、ET3

只能說,遇到了不會教、不想教的老師 ... 說好的上機,竟然變成打字 ... 當時一些
相關科系的老師說 ... 反正真正的程式大家未必學的會、寫的出來,不如多練練打字

我學東西是很奇妙的
記得要學的時候,一個同學在螢幕上打dir然後跟我說這是列出檔案,可是當時我竟然不曉得他講這句話的意思,後來又有一個同學借我一本電腦基礎書,可是我看了內容,卻沒任何印象
奇怪的事來了,過了一個禮拜,我就忽然明白所有指令意義,然後將所有指令都看了一遍,就這樣學會了電腦
還有記得那時有一個非常好用的工具軟體PCTOOLS,那是一位學長教的,可是當天他在教時,我也是似懂非懂,後來他借我一本書,回去看了一遍,隔天,PCTOOLS我就靈活上手了
但是教,我就完全不會:on_52:

魔術王子 2018-01-05 09:39 PM

https://drive.google.com/file/d/1NBQ...ew?usp=sharing
這段時間仍舊在思索克服一些問題,所以又重新設計,因此自然而然遇上一些bug
這次分享的只是修正這些bug,並無其他的改變
包含在Code輸入程式碼,若直接換行,會造成程式跳出(修正後可在中間加入程式碼,會自動編號)
保留字顏色分類改用String類別設計
就這樣而已


所有時間均為台北時間。現在的時間是 08:58 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1