您好,歡迎進入     025-83600107      登錄  |   注冊

查看: 24431|回復: 13
打印 上一主題 下一主題

【網上交流】2017年蘇州市小學生LOGO程序設計賽

[復制鏈接]

2

主題

9

帖子

64

積分

注冊會員

Rank: 2

積分
64
跳轉到指定樓層
樓主
發表于 2017-3-13 16:18:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這次蘇州市小學生LOGO程序設計賽第3題得分平均比較低(遞歸題最低)
先討論一下第3題(畫燈籠)
本題主要測試帶參過程的定義,可能會涉及以下2點:
1、畫橢圓
可以用多種方法畫橢圓,比較簡單的方法:可以直接利用LOGO中的STAMPOVAL命令。
2、帶參過程
本題先定義了帶參過程,后面畫3個燈籠就容易了。當然也有人不定義帶參過程,使程序代碼會增加。
下面是本題的解法之一(程序中用到了LOGO中的變量、數值運算等。如有更優化的方法請交流):
TO DL :X
HT MAKE "Y :X * 0.6 MAKE "N 1 SETPC 12 SETW 1
(STAMPOVAL :X :Y "TRUE)
SETPC 0 REPEAT 4 [MAKE "X :N * :X STAMPOVAL :X :Y MAKE "N :N - 0.2]
PU SETPC 14 FD 0.92 * :Y LT 90 FD :X * 2 RT 90 PD
(STAMPRECT :X * 4 :X "TRUE) SETPC 0 STAMPRECT :X * 4 :X
PU BK 2.16 * :Y PD SETPC 14
(STAMPRECT :X * 4 :X "TRUE) SETPC 0 STAMPRECT :X * 4 :X
RT 90 FD :X * 2 LT 90 BK 10
PU LT 90 FD :X * 0.8 / 2 RT 90 BK :X * 3 PD SETPC 14
(STAMPRECT :X * 0.8 :X * 3 "TRUE) SETPC 0 STAMPRECT :X * 0.8 :X * 3
END
TO DLA
DRAW DL 80
END
TO DLB
DRAW
PU SETXY [-160 20] PD DL 60
PU SETXY [-40 5] PD DL 50
PU SETXY [62 -6] PD DL 40
END

0

主題

5

帖子

22

積分

新手上路

Rank: 1

積分
22
沙發
發表于 2017-3-13 16:59:12 | 只看該作者
本帖最后由 tchjf78 于 2017-3-13 17:04 編輯

TO DLA
     DRAW HT
     DL 50
END

TO DL
     RT 90 PU FD   * 0.1 LT 90 FD * 0.75 FD * 0.2 FD   * 0.25 FD   * 0.8 PD
     SETPC 12
     (STAMPOVAL   * 1.5   * 0.85 "TRUE)
     SETPC 0
     STAMPOVAL   * 1.5 * 0.84
     STAMPOVAL :L  * 1.2 :L * 0.84
     STAMPOVAL :L  * 0.75 :L * 0.84
     STAMPOVAL :L  * 0.3 :L * 0.84
     PU BK :L  * 0.8 BK :L * 0.25 BK :L  * 0.2 BK :L  * 0.75 LT 90 FD :L  * 0.1 RT 90 PD
     SETPC 14
     REPEAT 2 [FD :L   * 0.75 RT 90 FD :L   * 0.2 RT 90]
     PU FD :L * 0.25 RT 90 FD :L * 0.1 PD FILL PU BK :L * 0.1 LT 90 BK :L * 0.25 PD
     SETPC 0
     REPEAT 2 [FD :L * 0.75 RT 90 FD :L * 0.2 RT 90]
     PU FD :L * 0.75 RT 90 FD :L * 0.125 LT 90 PD
     FD :L * 0.2 PU LT 90 FD :L / 2 RT 90 PD
     SETPC 14
     REPEAT 2 [FD :L * 0.25 RT 90 FD :L RT 90]
     PU FD :L * 0.125 RT 90 FD :L / 2 LT 90 PD FILL PU RT 90 BK :L / 2 LT 90 BK :L * 0.125 PD
     SETPC 0
     REPEAT 2 [FD :L * 0.25 RT 90 FD :L RT 90]
     PU RT 90 FD :L / 2 LT 90 FD :L * 0.25 FD :L * 0.8 PD
     PU FD :L * 0.8 LT 90 FD :L / 2 RT 90 PD
     SETPC 14
     REPEAT 2 [FD :L * 0.25 RT 90 FD :L RT 90]
     PU FD :L * 0.125 RT 90 FD :L / 2 LT 90 PD FILL PU RT 90 BK :L / 2 LT 90 BK :L * 0.125 PD
     SETPC 0
     REPEAT 2 [FD :L * 0.25 RT 90 FD :L RT 90]
END

TO DLB
     DRAW HT
     PU SETXY SE 0 0 SETH 0 PD DL 50
     PU SETXY SE 150 -2 PD SETH 0 DL 40
     PU SETXY SE 265 -4 PD SETH 0 DL 30
END
太倉市實驗小學 浦朱舸答案

0

主題

2

帖子

28

積分

新手上路

Rank: 1

積分
28
板凳
發表于 2017-3-14 07:53:04 | 只看該作者
本帖最后由 sxwtzty 于 2017-3-14 09:53 編輯

TO DL1 :L
ht
     PD SETPC 14 (STAMPRECT :L / 5 :L "TRUE) SETPC 0 (STAMPRECT :L / 5 :L "FALSE) PU FD :L RT 90 FD :L / 5 / 2 LT 90
     PD FD :L / 5 LT 90 FD :L / 2 RT 90 SETPC 14 (STAMPRECT :L :L / 5 "TRUE) SETPC 0 (STAMPRECT :L :L / 5 "FALSE)
     PU FD :L / 5 RT 90 FD :L / 2 LT 90 FD :L
     PD SETPC 12 (STAMPOVAL :L + 4 * :L / 5 :L "TRUE)
     MAKE "N 4
     REPEAT 4 [PD SETPC 0 (STAMPOVAL (:L + 4 * :L / 5) / 4 * :N :L) MAKE "N :N - 1]
     PU FD :L LT 90 FD :L / 2
     PD SETPC 14 (STAMPRECT :L :L / 5 "TRUE) SETPC 0 (STAMPRECT :L :L / 5 "FALSE)
END
常熟張青蓮小學

2

主題

9

帖子

64

積分

注冊會員

Rank: 2

積分
64
地板
 樓主| 發表于 2017-3-14 16:08:25 | 只看該作者
下面是一位選手的畫燈籠程序。由于沒有定義帶參過程,程序變得很長。
TO DLA
        DRAW
        SETPC 14 (STAMPRECT 10 30 "TRUE)
        SETPC 0 REPEAT 3 [FD 30 RT 90 FD 10 RT 90]
        LT 90 BK 5 LT 90 FD 5 LT 90
        REPEAT 2 [FD 30 RT 90 FD 15 RT 90 FD 30]
        FD 30 LT 90 SETPC 14 (STAMPRECT 60 15 "TRUE)
        SETPC 0 PU RT 90 BK 30 PD REPEAT 2 [FD 30 RT 90 FD 15 RT 90 FD 30]
        PU FD 30 RT 90 FD 15 RT 90 FD 30 LT 90 FD 50
        PD SETPC 12 (STAMPOVAL 70 50 "TRUE)
        SETPC 0 STAMPOVAL 10 50
        STAMPOVAL 30 50
        STAMPOVAL 50 50
        STAMPOVAL 70 50
        PU FD 50 LT 90 FD 30 RT 90
        PD SETPC 14 (STAMPRECT 60 15 "TRUE)
        SETPC 0 STAMPRECT 60 15
        PU HOME PD HT
END

TO DLB
        DRAW
        PU SETX -180 PD
        SETPC 14 (STAMPRECT 10 30 "TRUE)
        SETPC 0 REPEAT 3 [FD 30 RT 90 FD 10 RT 90]
        LT 90 BK 5 LT 90 FD 5 LT 90
        REPEAT 2 [FD 30 RT 90 FD 15 RT 90 FD 30]
        FD 30 LT 90 SETPC 14 (STAMPRECT 60 15 "TRUE)
        SETPC 0 PU RT 90 BK 30 PD REPEAT 2 [FD 30 RT 90 FD 15 RT 90 FD 30]
        PU FD 30 RT 90 FD 15 RT 90 FD 30 LT 90 FD 50
        PD SETPC 12 (STAMPOVAL 70 50 "TRUE)
        SETPC 0 STAMPOVAL 10 50
        STAMPOVAL 30 50
        STAMPOVAL 50 50
        STAMPOVAL 70 50
        PU FD 50 LT 90 FD 30 RT 90
        PD SETPC 14 (STAMPRECT 60 15 "TRUE)
        SETPC 0 STAMPRECT 60 15
        PU HOME HT
        SETX 0 PD
        SETPC 14 (STAMPRECT 10 * 0.8 30 * 0.8 "TRUE)
        SETPC 0 REPEAT 3 [FD 30 * 0.8 RT 90 FD 10 * 0.8 RT 90]
        LT 90 BK 5 * 0.8 LT 90 FD 5 * 0.8 LT 90
        REPEAT 2 [FD 30 * 0.8 RT 90 FD 15 * 0.8 RT 90 FD 30 * 0.8]
        FD 30 * 0.8 LT 90 SETPC 14 (STAMPRECT 60 * 0.8 15 * 0.8 "TRUE)
        SETPC 0 PU RT 90 BK 30 * 0.8 PD REPEAT 2 [FD 30 * 0.8 RT 90 FD 15 * 0.8 RT 90 FD 30 * 0.8]
        PU FD 30 * 0.8 RT 90 FD 15 * 0.8 RT 90 FD 30 * 0.8 LT 90 FD 50 * 0.8
        PD SETPC 12 (STAMPOVAL 70 * 0.8 50 * 0.8 "TRUE)
        SETPC 0 STAMPOVAL 10 * 0.8 50 * 0.8
        STAMPOVAL 30 * 0.8 50 * 0.8
        STAMPOVAL 50 * 0.8 50 * 0.8
        STAMPOVAL 70 * 0.8 50 * 0.8
        PU FD 50 * 0.8 LT 90 FD 30 * 0.8 RT 90
        PD SETPC 14 (STAMPRECT 60 * 0.8 15 * 0.8 "TRUE)
        SETPC 0 STAMPRECT 60 * 0.8 15 * 0.8
        PU HOME HT
        SETX 150 PD
        SETPC 14 (STAMPRECT 10 * 0.6 30 * 0.6 "TRUE)
        SETPC 0 REPEAT 3 [FD 30 * 0.6 RT 90 FD 10 * 0.6 RT 90]
        LT 90 BK 5 * 0.6 LT 90 FD 5 * 0.6 LT 90
        REPEAT 2 [FD 30 * 0.6 RT 90 FD 15 * 0.6 RT 90 FD 30 * 0.6]
        FD 30 * 0.6 LT 90 SETPC 14 (STAMPRECT 60 * 0.6 15 * 0.6 "TRUE)
        SETPC 0 PU RT 90 BK 30 * 0.6 PD REPEAT 2 [FD 30 * 0.6 RT 90 FD 15 * 0.6 RT 90 FD 30 * 0.6]
        PU FD 30 * 0.6 RT 90 FD 15 * 0.6 RT 90 FD 30 * 0.6 LT 90 FD 50 * 0.6
        PD SETPC 12 (STAMPOVAL 70 * 0.6 50 * 0.6 "TRUE)
        SETPC 0 STAMPOVAL 10 * 0.6 50 * 0.6
        STAMPOVAL 30 * 0.6 50 * 0.6
        STAMPOVAL 50 * 0.6 50 * 0.6
        STAMPOVAL 70 * 0.6 50 * 0.6
        PU FD 50 * 0.6 LT 90 FD 30 * 0.6 RT 90
        PD SETPC 14 (STAMPRECT 60 * 0.6 15 * 0.6 "TRUE)
        SETPC 0 STAMPRECT 60 * 0.6 15 * 0.6
        PU HOME PD HT
END

2

主題

9

帖子

64

積分

注冊會員

Rank: 2

積分
64
5#
 樓主| 發表于 2017-3-14 16:18:54 | 只看該作者
第2題本次比賽得分的平均成績最高。此題應引導學生用多種方法解決問題。希望大家將提供解決此問題的各種算法的程序。

0

主題

5

帖子

22

積分

新手上路

Rank: 1

積分
22
6#
發表于 2017-3-14 16:28:58 | 只看該作者
本帖最后由 tchjf78 于 2017-3-14 17:23 編輯
szjfzx 發表于 2017-3-14 16:18
第2題本次比賽得分的平均成績最高。此題應引導學生用多種方法解決問題。希望大家將提供解決此問題的各種算 ...

TO YUAN
     DRAW HT
     YUAN1
END

TO YUAN1
     SETTURTLES 25
     TELLALL 0 24
     EACH [PU SETXY SE (INT WHO / 5) * 29 (REMAINDER WHO 5) * 29 PD MAKE "C (RANDOM 13) + 1 YUAN2 :C]
END

TO YUAN2 :C
     SETPC :C
     (STAMPOVAL 15 15 "TRUE)
     SETW 2 SETPC 0
     STAMPOVAL 15 15
END

我校學生的做法:先調用25個海龜,然后海龜順序從下往上1-5,第二列6-10這樣排列,X坐標用取整函數,Y坐標用取余函數,快速的畫出圖形,此作法完全應該加分!!!

2

主題

9

帖子

64

積分

注冊會員

Rank: 2

積分
64
7#
 樓主| 發表于 2017-3-14 17:09:58 | 只看該作者
下面是一位選手的程序:先定義一個畫隨機顏色圓的子過程,再在主過程中調用此子過程,畫出題目要求的25個圓。
TO YUAN1
        PD SETW 1 SETPC RANDOM 14 (STAMPOVAL 15 15 "TRUE)
        SETW 2 SETPC 0 STAMPOVAL 15 15
END

TO YUAN
        DRAW
        REPEAT 4 [YUAN1 PU FD 30 PD] YUAN1
        RT 90 REPEAT 4 [YUAN1 PU FD 30 PD] YUAN1
        RT 90 REPEAT 4 [YUAN1 PU FD 30 PD] YUAN1
        RT 90 REPEAT 3 [YUAN1 PU FD 30 PD] YUAN1
        RT 90 REPEAT 3 [YUAN1 PU FD 30 PD] YUAN1
        RT 90 REPEAT 2 [YUAN1 PU FD 30 PD] YUAN1
        RT 90 REPEAT 2 [YUAN1 PU FD 30 PD] YUAN1
        RT 90 PU FD 30 PD YUAN1
        RT 90 PU FD 30 PD YUAN1
        HT
END

2

主題

9

帖子

64

積分

注冊會員

Rank: 2

積分
64
8#
 樓主| 發表于 2017-3-14 17:12:53 | 只看該作者
tchjf78 發表于 2017-3-14 16:28
TO YUAN
     DRAW HT
     YUAN1

這學生不錯!用了25只海龜同時工作。程序代碼大減少!

0

主題

5

帖子

22

積分

新手上路

Rank: 1

積分
22
9#
發表于 2017-3-14 17:22:32 | 只看該作者
szjfzx 發表于 2017-3-14 17:12
這學生不錯!用了25只海龜同時工作。程序代碼大減少!

他用取整和取余函數確定了海龜的坐標,在1小時內能快速想出這樣的做法,我也表示很佩服!

0

主題

5

帖子

22

積分

新手上路

Rank: 1

積分
22
10#
發表于 2017-3-15 08:57:17 | 只看該作者
szjfzx 發表于 2017-3-14 17:09
下面是一位選手的程序:先定義一個畫隨機顏色圓的子過程,再在主過程中調用此子過程,畫出題目要求的25個圓 ...

random 14 應該是不符合要求的吧,(random 13)+1就不會把黑色隨機進去了。
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

聯系我們

025-83600107 南京市鼓樓區中央路165號出版大廈C座12樓

關于我們 江蘇鳳凰電子音像出版社有限公司 版權所有 Copyright2016
蘇ICP備12051994號-12
中小學信息技術課程配套教學平臺All Right Reserved
网赚论坛排行榜 福缘网赚论坛 五分时时彩 真实网赚玩彩票是骗局吗 安徽快3计划 2019最新网赚器 什么都不会怎么网赚 2019挂机网赚游戏 e畅家园网赚 网赚代理广告词