admin 管理员组

文章数量: 887021


2023年12月19日发(作者:马里乌波尔)

第五单元 进阶程序设计(总10课时)

第一节 选择编程语言(1课时)

一、教学目标

1、了解程序设计语言和两种翻译方式;

2、了解Python背景、功能、安装,熟悉Python编程环境;

3、编程初体验。体验一个小程序从建立、输入、调试、运行、保存的全过程。掌握Turtle模块的调用,并尝试修改Turtle图案属性。

二、重点难点

教学重点:熟悉 Python 编程环境;编程初体验

教学难点:编程初体验;程序的书写规范和调试窗口的使用。

三、教学过程

(一)认识Python语言

1、Python语言

Python在英文中的意思是“蟒蛇”,这个语言的标识就是两只缠绕的蟒蛇。

Python语言的应用范围非常广泛。例如,它可以用在游戏开发中;电影中的3D渲染也会用到Python语言;互联网中Python语言的声音更是无处不在,谷歌、豆瓣和知乎等网站都是使用Python语言搭建。

Python语言是著名的Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。Guido van Rossum从2005年开始就只于谷歌公司,在谷歌以及编程社区的大力支持下,Python也迎来了大发展。

2、启动Python

3、Python开发环境

(二)编程初体验——我的第一个Python程序

代码:

import turtle #调用turtle模块

a1=() #窗口中显示一只海龟,并给他命名为“a1”

关于程序的书写:

①Python语言是区分大小写的,比如此处的Turtle()中的T要大写;

②Python语言中的字母和符号只能是半角英文符号;

(三)实践与思考

1、把("")语句添加在程序的后面:

提示:请你每次在""中输入以下不同的内容:square、circle、arrow、turtle,然后,保存并运行程序,观察每次的运行结果。

说一说,shape()的作用。

语句

shape("turtle")

shape("arrow")

shape("circle")

shape("square")

显示结果

2、把("")语句添加在程序的后面:

提示:请你每次在""中输入以下不同的内容:red、green、blue,然后,保存并运行程序,

观察每次的运行结果。

试一试:除了red、green、blue,其他颜色能不能用?

说一说,color()的作用。

语句

color("red")

color("green")

color("blue")

显示结果

第二节 选择编程语言(3课时)

第1课时 控制“海龟”移动

一、教学目标

1、学会用函数控制海龟运动;

2、掌握几个函数及参数的设置:forward()、speed()、write();

3、了解程序的三种结构之一——顺序结构。

二、重点难点

教学重点:函数forward()、speed()、write()

教学难点:顺序结构编程及简单应用。

三、教学过程

(一)函数forward()

格式:forward(参数)

功能:向前移动(这里的“向前指的是箭头指示的方向”)

例如:forward(100) ##向前移动100个像素

(二)函数speed()

格式:speed(参数)

功能:设定速度

例如:speed("slowest") ##以最慢的速度

不同参数的speed()

speed("slowest")

speed("slow")

speed("normal")

speed("fast")

speed("fastest")

(三)函数write()

格式:write(参数1,参数2)

功能:在屏幕上显示文字

例如:write("起步",font=("黑体",16)) ##屏幕上显示黑体16号的“起步”两个字。

功能

最慢

慢速

正常速度(系统默认值)

快速

最快

(四)程序1——海龟的简单移动

import turtle

a=()

d(100)

程序解释:

forward(100)——海龟向前移动100个像素(这里的“向前指的是箭头指示的方向”)

(五)程序2——海龟的多样运动

(六)实践与思考

结合两节课学过的知识,修改程序2,使之实现如下功能:

提示:

 color()函数——设置颜色

 write()函数——设置字体字号

第2课时 控制“海龟”移动

一、教学目标

1、了解常量、变量、表达式、赋值;

2、掌握变量的命名、表达式的组成;

3、掌握函数Shape()、left()、type()及其参数的设置。

二、重点难点

教学重点:常量、变量、表达式、赋值

教学难点:给变量赋值。

三、教学过程

(一)常量

常量就是不变的值,主要由数值型常量和字符串常量。字符串常量是用引号括起来的字符串。

例如:

数值型常量——100、3.14159

字符值常量——"slowest"、"起步"

(二)变量

变量是指在程序运行过程中,其值可以改变的量。变量是内存中存放数据的存储单元,存放的数据叫变量的值,给存储单元的命名叫变量名。

变量名的命名规则,必须是以字母或中文开头,后面可以有字母、中文或数字。

正确的变量名,例如:小红1、pi、a、x2

(三)表达式

表达式是程序中能计算出值的式子。“值”的含义是广泛的,比如:真假、字符串都是值,() 的值则是一个海龟对象。

以下都是表达式:

判断

1+1

1>2

值是2

值是假

原因

是否是表达式

3

a1

()

3/2

是常量,值是3

是变量,有值

值是一个海龟对象

值是1.5

小黑.forward(100) 值是运动距离100像素

"This is a book"

pi*r*r

"a"+"b"

小黑

(四)赋值

1、什么是赋值

字符串是常量

pi和r是变量,计算结果是数值

结果是字符串"ab"

是变量

赋值就是给变量赋予一个值。因为变量其实是内存中的存储单元,所以其中存储的数据是可以变化的。

2、赋值语句

用赋值语句,可以给变量赋值。

赋值语句的书写格式:变量=表达式

例如:

n=1 #把1赋予变量n,执行后n的值为1

n=n+1 #把n+1的结果计算出来后,赋值给n,则n的值增加1

a1=()

3、变量的特点

变量是变化的,存储的是最新的值。

4、变量的数据类型

Python中的每一个“值”都有其自身的类型,如:字符串是字符型、真假是布尔型、可计算的数是数值型……。不同数据类型的值之间是不应该进行运算的,比如"word"+1

是错的。但是,可以将一个类型的值转换为另一个类型,这需要用到一些类型转换函数。

函数

int()

float()

str()

type()

试一试:

你可以输入下面的语句,然后运行程序,观察调试窗口的结果显示。

print(int("2")+2) #结果为4

print("I am "+str(5)+" years old.") #结果为"I am 5 years old."

print(type("Marry")) #结果是"Marry"的数据类型为字符型

print(type(100)) # 结果是100的数据类型为整型

(五)程序1——变化的变量

a=1

b=2

print(a,b) #1 2

a=b #让a得到b的值,所以,此语句执行后,a和b的值都是2

print(a,b) #2 1

(六)程序2——第2只海龟

说明

把数字字符串转换成整数,int("2")得到整数2

把整数和字符串转换成实数,float(5)得到5.0 ,float("5")得到5.0

把数字转换成字符,str(5)得到"5"

查看值的类型

(七)实践与思考

编程实现3个变量的值的交换:

例如:开始时a=1,b=2,c=3,程序执行后使得,a=2,b=3,c=1。

编程思路为:

第3课时 绘制正方形

一、教学目标

1、学会使用left()命令,完成绘制正方形程序,进一步体会程序的顺序结构;

2、综合运用所学,尝试自己编写程序。

二、重点难点

教学重点:left()命令

教学难点:尝试用算法分析和解决生活中的问题。

三、教学过程

(一)left()命令

left()函数的功能:按逆时针旋转一个角度。

(二)程序1——海龟向左转

(三)程序2——绘制正方形

设计思路:

海龟前行→左转→前行→左转→前行→左转→前行→左转

程序说明:

程序自上而下,依次执行每一条语句,就是程序的顺序结构。绘制正方形程序中语句(100)和(90)依次重复执行了4次,这种繁琐的不必要的设计,我们将在下节课中得到解决。

试一试:

去掉最后一条语句(90),结果会怎样?

(四)实践与思考

1、修改绘制正方形程序,使之可以让不同边长的正方形绘制起来更容易。

提示:用一个变量(上节课所学)代替边长100

2、在绘制正方形程序基础上修改程序,尝试绘制一个正五边形,或其他正多边形都可以,如下图所示。

提示:应该怎样控制left()的角度?

第三节 简化重复命令(3课时)

第1课时 绘制多个旋转的正方形

一、教学目标

1、认识程序的循环结构;掌握for循环;

2、实现绘制多个正方形程序。

二、重点难点

教学重点:for循环

教学难点:嵌套循环

三、教学过程

(一)程序1——改进绘制正方形程序,认识循环

import turtle

a=()

d(100)

(90)

d(100)

(90)

d(100)

(90)

d(100)

(90)

←比较,改进为→循环语句格式:

for 循环变量 in range(次数):

循环语句块

功能:循环语句块中的所有语句将被重复执行指定次数。

说明:

1、循环次数由range(次数)决定,range(次数)得到一组从0到n-1的整数,即循环语句块被循环执行n次。

2、循环语句块中可以有一条或多条语句,这些语句都是要被重复执行的。

3、循环可以嵌套,如:

import turtle

a=()

for i in range(4):

d(100)

(90)

说明:内循环作为外循环的循环语句块,被重复执行n次;而内循环本身也要重复执行m次。

(二)程序2——绘制多个旋转的正方形

import turtle

a=()

for i in range(10):

d(100)

(90)

d(100)

(90)

d(100)

(90)

d(100)

(90)

d(20)

(360/10)

分析:

←改进为→Import turtle

a=()

for i in range(10):

for j in range(4):

d(100)

(90)

d(20)

(360/10)

Import turtle

a=()

for i in range(10):

for j in range(4):

d(50)

(90)

d(20)

(360/10)

J循环体

重复4次

画一个正方形

I循环体

重复10次

画10个正方形

第2课时 幻影海龟

一、教学目标

1、掌握while循环;

2、会调用random模块获得随机整数randint()。

3、知道up()、stamp()、goto()函数的作用

二、重点难点

教学重点:掌握while循环和random()随机函数

教学难点:理解random()随机函数

三、教学过程

(一)while循环

格式:

while 判断条件:

循环语句块

功能:

判断条件是否为真,如果条件为真,则重复执行循环语句块,直到条件为假,则退出循环。

(二)random()随机函数

调用随机模块:import random

获得x~y之间的随机整数:randint(x,y)

条件是否为真?

循环语句块

(三)程序1——幻影海龟

import turtle

import random

a=()

("red")

("turtle")

() #尾巴抬起,不划轨迹

while 0<1: #无限次重复

(t(-300,300),t(-300,300)) #让海龟移动到指定坐标位置

() #让海龟在所在位置留下印迹

(四)思考与实践

1、编写程序实现如图效果,保存为""

设计思路:

1. 如图位置,画12条短线:用循环实现——循环12次,每次画一条短线。

2. 如何画一条短线:

 原点至短线起点之间,海龟移动但不能画线,需抬起画笔,用up()解决;

 落笔down(),然后,画一条短线forward();

 海龟回到原点goto(0,0)。

注意,回原点的过程需要抬起画笔(想一想,为什么?)。

 旋转一个角度,为下一次画短线做准备。

想一想:用left()还是right()?

2、编写程序实现如图效果,保存为""


本文标签: 程序 变量 循环 海龟 语句