SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
教 青少年 寫程式
從 Scratch 2.0
到 Python 3.3
Renyuan Lyu
呂仁園
長庚大學,資訊系
1
http://scratch.mit.edu/users/ryTemp2014_001/
https://dl.dropboxusercontent.com/u/33089565/ry2014_thinkcspy/html
/_ryTest01.html
ryCatStar00,貓咪之星
• http://scratch.mit.edu/projects/20615907/
2
• 主程式流程
3
• 畫三角形
• 畫五邊形
• 畫多邊形
• 畫五星形
• 畫貓咪之星
4
5
rySolveEquation00,解2元1次方程式
• http://scratch.mit.edu/projects/20607239/
6
• 主程式流程
7
• 輸入方程式係數
a, b, c,
e, f, g
8
• 解2元1次方程式演算法,行列式計算。
9
10
ryArkanoid00,敲磚塊遊戲
11
• http://scratch.mit.edu/projects/20604541/
• http://scratch.mit.edu/projects/17662884/
• 球拍 (Paddle)、球 (Tennis Ball)
12
• 磚塊 (block)
13
• 失敗精靈、勝利精靈
14
• Pong with High Score
– http://scratch.mit.edu/projects/12778537/
• 由此延伸出去,看看別人如何寫程式。
• http://scratch.mit.edu/projects/12778537/remixes
15
16
Python
17
• 如何像電腦科學家一樣的思考
– 用 Python 3 來學習
– https://dl.dropboxusercontent.com/u/33089565/r
y2014_thinkcspy/html/index.html
CPU, RAM, HardDisk
• Computer Components
– https://www.youtube.com/watch?v=rK3YxmkarIg
– In this section you learn a little about the architecture
of a computer and some general terms to use when
talking about computer programs. This includes:
• CPU - Central Processing Unit
• RAM - Random Access Memory
• Hard Drive - A Persistent Storage Device
18
Python程式語言很簡單
19
• https://dl.dropboxusercontent.com/u/330895
65/ry2014_thinkcspy/html/_ryTest01.html
• 列出 99 乘法表
• 列出 100 以內的質數
• 求二元一次方程式的解
• 小烏龜
Hello, little turtles!
嗨,小烏龜!
• https://dl.dropboxusercontent.com/u/330895
65/ry2014_thinkcspy/html/hello_little_turtles
.html
20
from turtle import *
def main():
mode("logo")
speed(10)
shape("arrow")
pensize(3)
circle(66)
rt(180)
circle(66)
pu()
lt(90)
fd(33)
rt(90)
….
補充 01
• What is a Computer?
• What is a Programming Language?
• Hello, world !
– 大多數程式語言的第一支程式
21
What is a Computer?
• A Computer (電腦,計算機) is composed of
– Central Processing Unit (CPU), (中央處理器)
– Random Access Memory (RAM), (隨機存取 記憶體)
– Input/Output (I/O) devices. (輸入輸出設備)
• A screen (螢幕) is an output device.
• A mouse (滑鼠) and a keyboard (鍵盤) are input devices.
• A hard drive (硬碟) is an I/O device.
keyboard
22
What is a Programming Language
(程式語言)?
• 語言是人類互相溝通的工具。
• 華語、英語、日語、西班牙語、、、、
– 自然語言數量 6,000 以上
• 使用人口數:
– 華語 > 西班牙語 > 英語 > 日語、、、
• 影響力:
– 英語 > { 華語、日語、西班牙語、、、}
• 人類與電腦溝通,要透過程式語言
• Assembly, C, C++, Java, Python, Scratch, …
– 程式語言數量甚至多過自然語言
• 使用人口數:
– {C, C++ , Java }> Python > Scratch ….
• 影響力:
– {C, C++ , Java }> Python > ….
• 容易學習的程度:
– Scratch > Python > {C, C++, Java,…} > Assembly
23
Hello, world !
大多數程式語言的第一支程式
#include <stdio.h>
main() {
printf("hello, world");
}
public class HelloWorld {
public static void main(String [] args) {
System.out.println("Hello world!");
}
}
print(‘Hello, world!’)
PRINT "Hello, world!"
BASIC
C
Python 3
Scratch
Java
印= print
印 (‘Hello, world !’)
24
JavaScript
alert('Hello, world!');
Scratch 中文化
Python 3 中文化
C++
#include <iostream>
int main() {
std::cout << "Hello, world!" << std::endl;
return 0;
}
• Assembly language — x86 Windows
; This program displays "Hello, World!" in a windows
messagebox and then quits.
;
; Written by Stewart Moss - May 2006
;
; Assemble using TASM 5.0 and TLINK32
;
; The output EXE is standard 4096 bytes long.
; It is possible to produce really small windows PE
exe files, but that
; is outside of the scope of this demo.
.486p
.model flat,STDCALL
include win32.inc
extrn MessageBoxA:PROC
extrn ExitProcess:PROC
.data
HelloWorld db "Hello, world!",0
msgTitle db "Hello world program",0
.code
Start:
push MB_ICONQUESTION + MB_APPLMODAL +
MB_OK
push offset msgTitle
push offset HelloWorld
push 0
call MessageBoxA
push 0
call ExitProcess
ends
end Start
25
蠻可怕的吧!
怪不得嚇跑一堆人。
補充 02
• A hands-on introduction to Python for beginning
programmers
• http://www.pyvideo.org/video/1850/a-hands-on-
introduction-to-python-for-beginning-p
• http://www.pyvideo.org/video/2559/hands-on-intro-to-
python-for-beginning-programmer
• Introduction to Python with Jessica McKellar
• https://www.youtube.com/watch?v=sAU2l5MKCbI
• http://vplayer.oreilly.com/?chapter=http%3A%2F%2Fatom.o
reilly.com%2Fatom%2Foreilly%2Fvideos%2F2005177&video
_product=urn%3Ax-
domain%3Aoreilly.com%3Aproduct%3A9781491902141.VID
EO#embedded_player
26
Jessica’s 16 min Intro
27
28
by Renyuan
29
30https://www.dropbox.com/s/yxk299gvcuao6au/教青少年寫程式ex001.py
Python 程式範例
31
• 列出 99 乘法表
• 列出 100 以內的質數
• 小烏龜
• 求二元一次方程式的解
• 井字棋, Tic-Tac-Toe
https://dl.dropboxusercontent.com/u/330895
65/ry2014_thinkcspy/html/_ryTest01.html
更多小烏龜程式
• https://dl.dropboxusercontent.com/u/330895
65/ry2014_thinkcspy/html/_ryTurtle03.html
• https://www.dropbox.com/sh/yf62s5vhmg5g5
j5/nkUJ92najk
32

Weitere ähnliche Inhalte

Ähnlich wie 教青少年寫程式

Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]yiditushe
 
一場與程式設計的邂逅
一場與程式設計的邂逅一場與程式設計的邂逅
一場與程式設計的邂逅建宇 陳
 
給軟體工程師的不廢話 R 語言精要班
給軟體工程師的不廢話 R 語言精要班給軟體工程師的不廢話 R 語言精要班
給軟體工程師的不廢話 R 語言精要班台灣資料科學年會
 
COSCUP2016 - LLVM框架、由淺入淺
COSCUP2016 - LLVM框架、由淺入淺COSCUP2016 - LLVM框架、由淺入淺
COSCUP2016 - LLVM框架、由淺入淺hydai
 
COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺宗凡 楊
 
漫談 Source Control Management
漫談 Source Control Management漫談 Source Control Management
漫談 Source Control ManagementWen-Shih Chao
 
OpenSCAD Workshop
OpenSCAD WorkshopOpenSCAD Workshop
OpenSCAD WorkshopJustin Lin
 
Introduction to corona sdk
Introduction to corona sdkIntroduction to corona sdk
Introduction to corona sdk馬 萬圳
 
[3]投影片 futurewad樹莓派研習會 141204
[3]投影片 futurewad樹莓派研習會 141204[3]投影片 futurewad樹莓派研習會 141204
[3]投影片 futurewad樹莓派研習會 141204CAVEDU Education
 
Homework7補充教學
Homework7補充教學Homework7補充教學
Homework7補充教學Jessica Hsieh
 
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代scott liao
 
Grails敏捷项目开发
Grails敏捷项目开发Grails敏捷项目开发
Grails敏捷项目开发Michael Yan
 
資訊教育 Ch8簡報
資訊教育 Ch8簡報資訊教育 Ch8簡報
資訊教育 Ch8簡報Queifang Chung
 
20200905_tcn_python_opencv_part1_omnixri
20200905_tcn_python_opencv_part1_omnixri20200905_tcn_python_opencv_part1_omnixri
20200905_tcn_python_opencv_part1_omnixriOmniXRI Studio
 
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
從頭打造 C#、.NET 與 ASP.NET Core 開發環境從頭打造 C#、.NET 與 ASP.NET Core 開發環境
從頭打造 C#、.NET 與 ASP.NET Core 開發環境Will Huang
 
基于 FRIDA 的全平台逆向分析
基于 FRIDA 的全平台逆向分析基于 FRIDA 的全平台逆向分析
基于 FRIDA 的全平台逆向分析CC
 
2016/12/10 HourOfCode 主辦心得/計畫 簡報 (by scratch-tw.org)
2016/12/10 HourOfCode 主辦心得/計畫 簡報 (by scratch-tw.org)2016/12/10 HourOfCode 主辦心得/計畫 簡報 (by scratch-tw.org)
2016/12/10 HourOfCode 主辦心得/計畫 簡報 (by scratch-tw.org)Yu-Hsien Fang
 
The ruby-way
The ruby-wayThe ruby-way
The ruby-wayfangdeng
 

Ähnlich wie 教青少年寫程式 (20)

Scratch2 MOOCS
Scratch2 MOOCSScratch2 MOOCS
Scratch2 MOOCS
 
Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]
 
一場與程式設計的邂逅
一場與程式設計的邂逅一場與程式設計的邂逅
一場與程式設計的邂逅
 
給軟體工程師的不廢話 R 語言精要班
給軟體工程師的不廢話 R 語言精要班給軟體工程師的不廢話 R 語言精要班
給軟體工程師的不廢話 R 語言精要班
 
COSCUP2016 - LLVM框架、由淺入淺
COSCUP2016 - LLVM框架、由淺入淺COSCUP2016 - LLVM框架、由淺入淺
COSCUP2016 - LLVM框架、由淺入淺
 
COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺
 
漫談 Source Control Management
漫談 Source Control Management漫談 Source Control Management
漫談 Source Control Management
 
OpenSCAD Workshop
OpenSCAD WorkshopOpenSCAD Workshop
OpenSCAD Workshop
 
Introduction to corona sdk
Introduction to corona sdkIntroduction to corona sdk
Introduction to corona sdk
 
[3]投影片 futurewad樹莓派研習會 141204
[3]投影片 futurewad樹莓派研習會 141204[3]投影片 futurewad樹莓派研習會 141204
[3]投影片 futurewad樹莓派研習會 141204
 
Homework7補充教學
Homework7補充教學Homework7補充教學
Homework7補充教學
 
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
 
Grails敏捷项目开发
Grails敏捷项目开发Grails敏捷项目开发
Grails敏捷项目开发
 
資訊教育 Ch8簡報
資訊教育 Ch8簡報資訊教育 Ch8簡報
資訊教育 Ch8簡報
 
20200905_tcn_python_opencv_part1_omnixri
20200905_tcn_python_opencv_part1_omnixri20200905_tcn_python_opencv_part1_omnixri
20200905_tcn_python_opencv_part1_omnixri
 
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
從頭打造 C#、.NET 與 ASP.NET Core 開發環境從頭打造 C#、.NET 與 ASP.NET Core 開發環境
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
 
基于 FRIDA 的全平台逆向分析
基于 FRIDA 的全平台逆向分析基于 FRIDA 的全平台逆向分析
基于 FRIDA 的全平台逆向分析
 
2016/12/10 HourOfCode 主辦心得/計畫 簡報 (by scratch-tw.org)
2016/12/10 HourOfCode 主辦心得/計畫 簡報 (by scratch-tw.org)2016/12/10 HourOfCode 主辦心得/計畫 簡報 (by scratch-tw.org)
2016/12/10 HourOfCode 主辦心得/計畫 簡報 (by scratch-tw.org)
 
Django step0
Django step0Django step0
Django step0
 
The ruby-way
The ruby-wayThe ruby-way
The ruby-way
 

Mehr von Renyuan Lyu

Py conjp2019 renyuanlyu_3
Py conjp2019 renyuanlyu_3Py conjp2019 renyuanlyu_3
Py conjp2019 renyuanlyu_3Renyuan Lyu
 
Py conjp2019 renyuanlyu_3
Py conjp2019 renyuanlyu_3Py conjp2019 renyuanlyu_3
Py conjp2019 renyuanlyu_3Renyuan Lyu
 
Py conjp2019 renyuanlyu_3
Py conjp2019 renyuanlyu_3Py conjp2019 renyuanlyu_3
Py conjp2019 renyuanlyu_3Renyuan Lyu
 
Lightning talk01 docx
Lightning talk01 docxLightning talk01 docx
Lightning talk01 docxRenyuan Lyu
 
Lightning talk01
Lightning talk01Lightning talk01
Lightning talk01Renyuan Lyu
 
Pycon JP 2016 ---- Pitch Detection
Pycon JP 2016 ---- Pitch DetectionPycon JP 2016 ---- Pitch Detection
Pycon JP 2016 ---- Pitch DetectionRenyuan Lyu
 
pycon jp 2016 ---- CguTranslate
pycon jp 2016 ---- CguTranslatepycon jp 2016 ---- CguTranslate
pycon jp 2016 ---- CguTranslateRenyuan Lyu
 
pyconjp2015_talk_Translation of Python Program__
pyconjp2015_talk_Translation of Python Program__pyconjp2015_talk_Translation of Python Program__
pyconjp2015_talk_Translation of Python Program__Renyuan Lyu
 
Ry pyconjp2015 turtle
Ry pyconjp2015 turtleRy pyconjp2015 turtle
Ry pyconjp2015 turtleRenyuan Lyu
 
Ry pyconjp2015 karaoke
Ry pyconjp2015 karaokeRy pyconjp2015 karaoke
Ry pyconjp2015 karaokeRenyuan Lyu
 

Mehr von Renyuan Lyu (11)

Py conjp2019 renyuanlyu_3
Py conjp2019 renyuanlyu_3Py conjp2019 renyuanlyu_3
Py conjp2019 renyuanlyu_3
 
Py conjp2019 renyuanlyu_3
Py conjp2019 renyuanlyu_3Py conjp2019 renyuanlyu_3
Py conjp2019 renyuanlyu_3
 
Py conjp2019 renyuanlyu_3
Py conjp2019 renyuanlyu_3Py conjp2019 renyuanlyu_3
Py conjp2019 renyuanlyu_3
 
Lightning talk01 docx
Lightning talk01 docxLightning talk01 docx
Lightning talk01 docx
 
Lightning talk01
Lightning talk01Lightning talk01
Lightning talk01
 
Pycon JP 2016 ---- Pitch Detection
Pycon JP 2016 ---- Pitch DetectionPycon JP 2016 ---- Pitch Detection
Pycon JP 2016 ---- Pitch Detection
 
pycon jp 2016 ---- CguTranslate
pycon jp 2016 ---- CguTranslatepycon jp 2016 ---- CguTranslate
pycon jp 2016 ---- CguTranslate
 
pyconjp2015_talk_Translation of Python Program__
pyconjp2015_talk_Translation of Python Program__pyconjp2015_talk_Translation of Python Program__
pyconjp2015_talk_Translation of Python Program__
 
Ry pyconjp2015 turtle
Ry pyconjp2015 turtleRy pyconjp2015 turtle
Ry pyconjp2015 turtle
 
Ry pyconjp2015 karaoke
Ry pyconjp2015 karaokeRy pyconjp2015 karaoke
Ry pyconjp2015 karaoke
 
Pycon apac 2014
Pycon apac 2014Pycon apac 2014
Pycon apac 2014
 

Kürzlich hochgeladen

法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个
法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个
法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个michaelell902
 
taibif_資料標準概念介紹_20240509_20240509_20340509.pdf
taibif_資料標準概念介紹_20240509_20240509_20340509.pdftaibif_資料標準概念介紹_20240509_20240509_20340509.pdf
taibif_資料標準概念介紹_20240509_20240509_20340509.pdfjhujyunjhang
 
1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...
1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...
1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...微信 tytyqqww业务接单
 
taibif_開放資料流程-清理資料01-通則_20240509_20240509.pdf
taibif_開放資料流程-清理資料01-通則_20240509_20240509.pdftaibif_開放資料流程-清理資料01-通則_20240509_20240509.pdf
taibif_開放資料流程-清理資料01-通則_20240509_20240509.pdfjhujyunjhang
 
啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx
啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx
啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptxbusinesshealthwise
 
10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习
10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习
10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习PUAXINYEEMoe
 

Kürzlich hochgeladen (6)

法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个
法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个
法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个
 
taibif_資料標準概念介紹_20240509_20240509_20340509.pdf
taibif_資料標準概念介紹_20240509_20240509_20340509.pdftaibif_資料標準概念介紹_20240509_20240509_20340509.pdf
taibif_資料標準概念介紹_20240509_20240509_20340509.pdf
 
1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...
1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...
1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...
 
taibif_開放資料流程-清理資料01-通則_20240509_20240509.pdf
taibif_開放資料流程-清理資料01-通則_20240509_20240509.pdftaibif_開放資料流程-清理資料01-通則_20240509_20240509.pdf
taibif_開放資料流程-清理資料01-通則_20240509_20240509.pdf
 
啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx
啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx
啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx
 
10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习
10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习
10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习
 

教青少年寫程式