scratch绘图100例系列
scratch绘图100例NO.1绘制正多边形
前言:
三十年前,上海微电子技术应用展会上,邓小平同志和蔼而坚定地说道:“计算机普及要从娃娃抓起。”而今计算机信息化已历经30多个年头的发展,当今随着全球科学技术变革的不断推进,云计算、物联网、大数据和Python人工智能的飞速发展,互联网的大环境正在发生着巨大转变和提升,为适应新互联网时代的发展,新课改也不断深入,对小学信息技术课堂提出了更高的标准要求,为了适应万物互联时代的发展,编程课开始在小学课堂出现。STEAM创客教育越来越受人们的关注、Python人工智能的进一步发展等,少儿编程教育和相关信息学奥赛受到越来越多的群体关注,人工智能是社会发展趋势,学生是祖国的未来,只有让学生接触相关知识内容,才能做好人工智能领域的启蒙教育。现在全国都在寻找人工智的少儿编程课程的切入点,特别是江苏省教育厅非常关注人工智能课程的开发与课程实施。以及现阶段新课改不断深入,对小学信息技术教学提出了新的标准要求,同时,传统的信息技术课堂模式已经无法满足新课改的课程要求,更无法满足小学生的日益发展的精神和技能需求,近几年,小学在开展信息技术教学活动中,Scratch编程教学被广泛应用于信息技术课堂教学中,有效激发学生学习兴趣,全面提升学生逻辑思维能力。
一、scratch是什么?
Scratch是一种图形化编程语言,它不需要学生去敲代码,而是依靠图形的积木块按照一定的逻辑顺序进行拼接,最终形成一套完整的可执行的程序。不仅能满足小学生阶段图文并茂的特点,更利于培养小学生的逻辑思维能力激发孩子的学习兴趣。
二、题目要求
1.题目背景
本题是scratch编程等级考试题,输入正多边形的边数,程序自动绘制对应边数的正多边形,如图:输入边数为3,自动绘制正三角形。
2.编程实现
1. 定义变量周长c=400,边数b(获取用户输入)。
2. 程序根据用户输入的边数自动绘制对应边数的正多边形
3.评分标准
1.10分。可以获取用户输入的边数值
2.30分。能够画出正多边形的图案。
3.50分。完全符合要求。
4.考察知识点
1. 画笔工具的使用
2. 循环结构
3. 侦测积木的应用
4. 变量
5. 其他
5.解题思路
1.利用函数式编程思路,先定义一个绘制正多边形的函数
2.定义2个变量,一个周长,一个边数,利用正多边形的特征,所有边的长度都相等,我们可以借助边长=周长÷边数来实现边长的控制,不然随着边数的增多,绘制出的正多边形会超出舞台区域。
3.借助侦测积木中的询问和回答获取用户输入的边数值
6.代码实现
Scratch代码:
Python代码:
#!/usr/bin/python3
# -*- coding:UTF-8 -*-
# 文件:画正多边形.PY
# 时间:2022/10/31-15:50
# 作者:编程小码哥
import turtle as p
def draw_zdbx(c,b):
for i in range(b):
p.fd(c/b)
p.lt(360/b)
def main():
p.mode('logo')
p.goto(0, 0)
b = int(input("请输入正多边形的边数:"))
c = 400
p.pencolor('red')
p.pensize(3)
p.seth(90)
p.pendown()
p.showturtle()
draw_zdbx(c,b)
p.penup()
p.hideturtle()
p.done()
if __name__=='__main__':
main()
C++代码:
/*
文件:画正多边形.cpp
时间:2022/10/31-15:50
作者:编程小码哥
*/
#include <iostream>
using namespace std;
void draw_zdbx(int c,int b){
for(int i=1;i<=b;i++){
pen.fd(c/b);
pen.lt(360/b);
}
}
int main(){
int b;
int c=400;
cout<<"请输入正多边形的边数:";
cin>>b;
pen.move(0,0);
pen.color(_red);
pen.size(3);
pen.angle(90);
pen.show();
pen.down();
draw_zdbx(c,b);
pen.up();
pen.hide();
return 0;
}
总结
对于图形的绘制,我们可以采用函数式编程的思路,分模块来画,不容易出错,而且思路清晰。