1.认识Processing

随堂练习随堂测验

1、Processing是( )的延伸。
    A、c++语言
    B、Java 语言
    C、C语言
    D、basic语言

2、下列描述错误的是:( )
    A、Processing将数字艺术与编程有机地结合在一起。
    B、Processing可以在多个操作系统上使用。
    C、Processing可以结合Arduino单片机等硬件,设计制作软件和硬件相结合的互动媒体系统。
    D、Processing只能完成二维图形设计制作,不支持三维模型展示。

3、设置舞台大小为600*400像素的语句是:()
    A、size(600*400);
    B、size(600,400);
    C、Size(600,400);
    D、Size(600*400);

4、processing默认舞台大小为( )
    A、400*400
    B、640*320
    C、100*100
    D、800*600

T1.1 认识Processing 测试

1、Processing是给予_____语音的延伸,语法简易,上手较快。
    A、Java 语言
    B、Javascropt 语言
    C、Python
    D、C语言

2、Processing 可以在哪些个操作系统上使用。
    A、Windows
    B、MAC
    C、Linux
    D、选项中的三个系统都支持。

3、processing的操作界面中,中间比较大的空白区域为__________。
    A、草图
    B、代码编辑区域
    C、工具栏
    D、反馈区

4、Processing文件的类型的后缀是_______。
    A、.pro
    B、.pross
    C、.pde
    D、.pce

5、在程序运行过程中会提示错误消息,显示在________。
    A、控制台
    B、消息区
    C、代码编辑区
    D、调试窗口

2.绘制基础

随堂练习随堂测验

1、设置帧频率为120,语句为:( )
    A、FrameCount(120)
    B、frameCount(120)
    C、frameRate(120);
    D、FrameRate(10);

2、在不同的绘制模式下,ellipse()函数中,abcd四个参数所表示的含义不同。默认为哪种绘制模式()
    A、radius
    B、center
    C、corner
    D、corners

3、绘制一个弓形 正确的语句是:()
    A、arc(200,200,100,100,0,1,PIE)
    B、arc(200,200,100,100,0,OPEN)
    C、arc(200,200,100,100,0,CHORD)
    D、arc(200,200,100,100,0,1)

4、Processing中默认的颜色模式是:
    A、灰度模式
    B、RGB模式
    C、HSB模式
    D、CMYK模式

T1.2 绘制基础 测试

1、circle(100,200,100)语句表示的含义( )
    A、在圆心坐标值为100,100的位置上绘制一个直径为100的圆
    B、在圆心坐标值为100,100的位置上绘制一个半径为100的圆
    C、圆左上角坐标值为100,100的位置上绘制一个直径为100的圆
    D、圆左上角坐标值为100,100的位置上绘制一个半径为100的圆

2、在600*400的舞台上的随机位置上绘制半径大小的30的圆,语句为( )
    A、circle(600,400,30)
    B、circle(600,400,60)
    C、circle(random(600),random(400),30)
    D、circle(random(600),random(400),60)

3、processing的坐标系统,描述正确的()
    A、原点的位置是窗口左上角,x轴方向左为负,右为正,Y轴方向是上为负,下为正。
    B、原点的位置是窗口左上角,x轴方向左为负,右为正,Y轴方向是上为正,下为负
    C、原点的位置是画布中心,x轴方向左为负,右为正,Y轴方向是上为负,下为正。
    D、原点的位置是画布中心,x轴方向左为负,右为正,Y轴方向是上为正,下为负

4、下面描述错误的( )
    A、设置3d渲染模式使用size(width, height,P3D)语句
    B、fullScreen()可以设置全屏显示
    C、size(displayWidth,displayHeight)可以设置画布全屏显示
    D、size()函数在不设置渲染模式的情况下,兼容2D和3D渲染模式。

5、在不同的绘制模式下,ellipse()函数中,abcd四个参数所表示的含义不同。从椭圆中心开始绘制的a、b的值表示圆心位置。c、d分别表示椭圆的半高和半宽。是在()绘制模式下。
    A、radius
    B、center
    C、corner
    D、corners

3.语言基础

随堂练习随堂测验

1、变量名命名正确的()
    A、123a
    B、&&&d
    C、mousex
    D、a*b

2、int a=100; int b=3; println(a/b); 程序输出结果为:( )
    A、33
    B、34
    C、33.3333
    D、1

3、对于for 循环语句,下面描述错误的()
    A、先执行初始化语句,接着判断循环条件,返回true,则执行循环语句
    B、执行循环语句后,执行更新语句,继续判断循环条件
    C、对于循环语句来说,更新语句设置时,避免死循环。
    D、for循环语句一定会执行一次循环语句。

4、对于switch语句,描述错误的()
    A、switch中的表达式的值限定了数据类型,只能是byte、char、int类型的值,返回其他类型的值,程序会提示错误。
    B、从case到break代表一个分支结构。case后面为常量表达式,用于判断与switch中表达式是否相等。
    C、如果每个分支的值和表达式都不相等,则执行default后面的语句。
    D、default语句不可以去掉。

T1.3 语言基础 测试

1、变量描述错误的()
    A、存储指定数据类型数据的空间
    B、主要作用是存取数据,变量的存储值可以改变
    C、同一变量可以多次引用
    D、变量是指可以变化得量

2、int a=100; int b=3; println(a/b); 输出结果为()
    A、33
    B、34
    C、33.3333
    D、1

3、要绘制一个点point(x,y),判断点位置是否在超出画布范围(width height)下面描述正确的是()
    A、X的判断条件设定为(x>0)||(x<width)
    B、y的判断条件设定为(y>0)||(y>height)
    C、X的判断条件设定为(x>0)&&(x<width)
    D、y的判断条件设定为(y>0)&&(y<height)

4、int a; int x=5; int y=6; a=(x>y)?10:20; println(a); 输出结果为:
    A、10
    B、20
    C、5
    D、6

5.交互

随堂练习随堂测验

1、当放开键盘时,将会触发键盘松开事件,其对应的函数为( )

2、当鼠标按键被按下时,将会触发鼠标按下事件,其对应的函数为( )

T2.2 交互 测试

1、用于记录鼠标上一帧的横坐标信息的鼠标数据变量是( )
    A、mouseX
    B、mouseY
    C、pmouseX
    D、pmouseY

2、用于隐藏鼠标图标的函数是( )
    A、cursor( )
    B、noCursor( )
    C、cursor(HAND)
    D、nocursor( )

3、用于记录键盘是否被按下的系统变量为( )
    A、keypress
    B、keyPress
    C、keypressed
    D、keyPressed

4、变量key是用于存储最近按下的见,每次只能存储一个值,它的数据类型为( )
    A、char
    B、string
    C、int
    D、byte

4.函数

随堂练习随堂测验

1、自定义函数时,如果自定义的函数无返回值,需要使用( )关键字来定义函数。
    A、void
    B、int
    C、无
    D、float

2、编写函数时,函数带有的参数被称为( )

3、调用函数时,设定的参数被称为( )

4、创建同名的多个函数被称为函数的( )

T2.1 函数 测试

1、如果函数有返回值,可以使用( )关键字来进行数据的返回。
    A、void
    B、set
    C、return
    D、returns

2、假设有如下函数, int m(int x,int y,int z){ int t=x; if(y>t)t=y; if(z>t)t=z return t; } 那么,这个函数的作用是( )
    A、求出三个数中的最大者
    B、求出三个数中的最小者
    C、求出三个数中的居中者
    D、求出三个数的平均值

3、现需要定义一个无返回值的函数名为hello,此函数需带有数据类型为float的,名字为a的参数,则函数头可以写成( )
    A、hello(a)
    B、hello(float a)
    C、void hello(float a)
    D、void hello(a)

4、下列求最大值函数代码正确的是( )
    A、max(a,b) { int c; if(a>b) c=a; else c=b; return c; }
    B、max(int a,int b) { int c; if(a>b) c=a; else c=b; return c; }
    C、void max(int a,int b) { int c; if(a>b) c=a; else c=b; return c; }
    D、int max(int a,int b) { int c; if(a>b) c=a; else c=b; return c; }

5、下列关于函数的说法错误的是( )
    A、函数是可以带有参数,也可以不带有参数
    B、函数都有返回值
    C、函数名不允许相同
    D、使用函数可以让程序更加简洁

6.类和对象

随堂练习随堂测验

1、已知自定义类的名字为MyCircle,那么定义一个名字为c1的MyCircle对象的语句为( )
    A、int MyCircle;
    B、MyCircle c1( ) ;
    C、MyCircle c1=new MyCircle( );
    D、MyCircle c1=MyCircle( );

2、自定义类,使用的关键字为( )

T2.3 类和对象 测试

1、自定义类,使用的关键字为( )
    A、CLASS
    B、PACKAGE
    C、package
    D、class

2、以下关于构造函数说法正确的是( )
    A、构造函数的名字必须与类名一致。
    B、定义构造函数时,需要使用void关键字。
    C、构造函数可有返回值,也可以没有返回值。
    D、构造函数内部声明的变量,在外部也可以被使用。

3、已知自定义类的名字为spot,那么定义一个名字为mySpot的spot对象的语句为( )
    A、int mySpot;
    B、spot mySpot=new spot( )
    C、spot mySpot=new spot( );
    D、B.spot mySpot=spot( );

4、littleSpot继承自spot,语句写成( )
    A、class littleSpot EXTENDS spot
    B、class littleSpot extends spot
    C、class littleSpot extend spot
    D、class littleSpot from spot

7 数组

随堂练习随堂测验

1、 已知一个圆形类class myCircle(类中定义圆心、半径和圆的绘制方法),如图所示,利用对象数组画出多个圆,请选择正确的选项,完成相关功能。 myCircle [][]d; //二维的对象数组 int n = 10;int m = 10; // 画布中圆形的行、列数 void setup() { size(220,220); d = new myCircle[n][m]; //初始化每个对象数组元素 } void draw() { background(0); for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) d[i][j].display(); //显示每个对象 }
    A、for (int j = 0; j < m; j++) d[i][j] =new myCircle((i+1)*20,(j+1)*20,20);
    B、for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) d[i][j] =new myCircle((i+1)*20,(j+1)*20,20);
    C、for (int i = 1; i < n; i++) d[i][j] =new myCircle((i+1)*20,(j+1)*20,20);
    D、for (int i = 1; i < n; i++) for (int j = 1; j < m; j++) d[i][j] =new myCircle((i+1)*20,(j+1)*20,20);

2、已知一维数组int []dataArray; 要为该数组创建10个元素,相关的语句为:( )

3、已知二维数组int [][]a2; 要为该数组创建2行4列共8个元素,相关的语句为:( )

T3.1 数组 测试

1、不正确语句的是:
    A、int rows=10; int []dataArray=new int[rows];
    B、int []dataArray=int[100];
    C、float dataArray []=new float[10];
    D、float []dataArray =new float[100];

2、已知dataArray是包含了10个int型元素的一维数组,要绘制一系列同心圆,请在下列语句的空档处选填正确的选项: void draw() { for(int i=9;i>0;i--) //使用数组元素改变圆半径绘制同心圆 { ellipse(200,200,dataArray[i],dataArray[i]); } }
    A、ellipse(200,dataArray[i],200,dataArray[i]);
    B、ellipse(200,200,dataArray[i],dataArray[i]);
    C、ellipse(dataArray[i],200,dataArray[i],200);
    D、ellipse(dataArray[i],dataArray[i],200,200);

3、不正确的描述是:
    A、数组是由一定数量的同类数据顺序排列而成的集合。
    B、数组元素只能是基本类型数据不能是用户自定义类型。
    C、组成数组的任一数据称为该数组的元素。
    D、数组在内存中占有一片连续的存储空间。

4、下面不正确的描述是:
    A、二维数组是具有2个下标的数组。
    B、二维数组的下标可以称为行下标和列下标。
    C、二维数组也可以理解成每个元素都是一维数组的一维数组。
    D、二维数组的初始化只能在程序中使用循环语句实现。

8 图像与文字

随堂练习随堂测验

1、下列描述不正确的是:
    A、可以使用tint()函数为图像上色;
    B、可以使用noTint()函数关闭上色;
    C、tint()函数中参数的个数可以是1-4个;
    D、tint()函数的只有一种染色方式;

2、将2张图像信息融合到1张图像上,使得融合的图像含有更多的信息,这种技术叫做:
    A、滤波
    B、蒙板
    C、复制
    D、融合

3、下面的描述错误的是:
    A、filer()是滤波函数
    B、blend()函数进行图像融合
    C、蒙板使用函数mark()
    D、图像复制函数使用copy()函数

T3.2 图像与文字 测试

1、Processing可以显示多种格式的图像:
    A、GIF
    B、JPEG
    C、PNG
    D、以上都可以

2、下列描述不正确的是:
    A、可以PImage用来定义图像变量;
    B、可以使用loadImage()载入图像文件;
    C、可以使用image()显示图像;
    D、以上描述都不对。

3、已知语句image(image1,10,10,50,60); 该语句的功能是:
    A、在图像的左上角的坐标为(10,10),以50*60像素尺寸显示,不会修改源文件大小;
    B、在图像的左上角的坐标为(10,10),以50*60像素尺寸显示,会修改源文件大小;
    C、在图像的左上角的坐标为(50,60),以10*10像素尺寸显示,不会修改源文件大小;
    D、在图像的左上角的坐标为(50,60),以10*10像素尺寸显示,会修改源文件大小;

4、请选择正确的选项,完成图像brownbear.jpg的加载: PImage myImg;//定义图像变量 void setup() { size(420,420); background(220); //加载图像文件 }
    A、myImg=PImage("brownbear.jpg");
    B、myImg=loadImage("brownbear.jpg");
    C、myImg=new PImage("brownbear.jpg");
    D、myImg=Image("brownbear.jpg");

9 文件

随堂练习随堂测验

1、下面的描述错误的是:
    A、可以使用loadBytes()函数,读取一个图像文件。
    B、可以使用saveBytes()函数,将图像信息写入到一个图像文件中。
    C、可以使用loadStrings()函数,读取一个图像文件。
    D、在Processing中可以使用文件读写函数实现对一个图像文件的修改。

2、请选择正确的选项,将二进制数据写入到二进制文件"f.dat"中: void setup(){ byte []b1= new byte[10] ; for (int i = 0; i < b1.length; i++) { b1[i]=byte(i); print(b1[i]); print(" "); } //将字节数组中的信息写入文件中 }
    A、saveBytes(b1,"f.dat");
    B、saveFiles("f.dat",b1);
    C、saveBytes("f.dat",b1);
    D、saveFiles(b1,"f.dat");

T3.3 文件 测试

1、下面的描述错误的是:
    A、文件一般可分为二进制文件和文本文件。
    B、文本文件最常见的扩展名是.txt。
    C、采用UTF-8编码的文件是二进制文件
    D、二进制文件是以二进制形式存放在存储设备上的文件。

2、下面的描述错误的是:
    A、loadStrings(filename);//可以将filename文件读入。
    B、saveStrings(filename, data);//可以将data写入文件filename中。
    C、BufferedReader rd=createReader(filename)//将对象rd和待输入的二进制文件关联
    D、PrintWriter wr=createWriter(filename)//将对象wr和待输出的filename文本文件关联

3、请选择正确的选项,从文件f1.txt中读取信息并在画布窗口中显示: void setup(){ size(400,200); font1=createFont("隶书",30); ① //从文件f1.txt中读取信息放入内存变量中 ② //窗口中输出从文件中读取的字符信息 }
    A、①String[] str1=loadStrings("f1.txt"); ②printArray(str1);
    B、①char[] str1=loadStrings("f1.txt"); ② text(str1[0],30,30);
    C、①String[] str1=loadStrings("f1.txt"); ② text(str1[0],30,30);
    D、①char[] str1=loadStrings("f1.txt"); ② printArray(str1);

4、请选择正确的选项,将文字信息写入到文本文件lianxi.txt中: Font font1; int i; void setup(){ size(400,300); background(0); font1=createFont("黑书",40); String[] str1=new String[2]; str1[0]="飞来山上千寻塔,"; str1[1]="闻说鸡鸣见日升。"; //输出到文件“lianxi.txt”中 }
    A、saveStrings("lianxi.txt",str1);
    B、saveStrings(str1,"lianxi.txt");
    C、text(str1,"lianxi.txt");
    D、text("lianxi.txt",str1);

11 3D图形

随堂练习随堂测验

1、下面的描述错误的是:
    A、translate(x, y, z)是将(x,y,z)坐标变成原点(0,0,0)。
    B、可以使用beginShape ()、vertex()和 endShape () 函数等组合可以创建更复杂的3D形状。
    C、texture()可以单独使用完成纹理设置。
    D、textureMode(mode)中,mode可以是IMAGE或者NORMAL。

2、下列选项中不属于三维立体函数的是:
    A、box()
    B、sphere()
    C、sphereDetail()
    D、rect()

3、下列选项中既可以用来设计二维图形,也可以设计三维立体的函数是:
    A、vertex()
    B、bezier()
    C、curve()
    D、triangle()

T4.2 3D图形 测试

1、下面的描述错误的是:
    A、Processing默认的渲染器只能绘制二维形状。
    B、可以使用size(600,800,P3D)直接加载三维渲染器。
    C、可以使用size(600,800,OPENGL)直接加载三维渲染器,不需要加载其他类库。
    D、在Processing中可以使用三维渲染器P3D和OPENGL。

2、Processing的坐标系是下面哪个选项:
    A、
    B、
    C、
    D、

3、已知(a>0),下面的描述错误的是:
    A、
    B、
    C、
    D、选项描述都错误

4、下面的描述错误的是:
    A、sphere(r)绘制的球体是由镶嵌三角形制成的空心球,r为球的半径。
    B、球面分辨率函数sphereDetail()可控制球面网格的顶点数。
    C、球面默认分辨率为 30,即球面一圈中每个顶点间隔360度/30 =12度。
    D、sphereDetail(res)可设置球面每圈使用的段数或顶点数,要求res>=30。

12 物理函数库Box2D基础

随堂练习随堂测验

1、编写Box2D程序,一般的需要在程序中加入库文件,下列选项中不相关的是:
    A、import shiffman.box2d.*;
    B、import org.jbox2d.collision.shapes.*;
    C、import org.jbox2d.common.*;
    D、import processing.opengl.*;

2、Box2D的Shape类型包括:
    A、CircleShape、EdgeShape、PolygonShape、ChainShape
    B、EllipseShape、EdgeShape、PolygonShape、ChainShape
    C、EllipseShape、RectangleShape、PolygonShape、ChainShape
    D、CircleShape、RectangleShape、PolygonShape、ChainShape

3、将像素值换成世界值的函数是:
    A、createShape();
    B、getBodyPixelCoord();
    C、createFixture();
    D、coordPixelsToWorld();

T4.3 Box2D基础 测试

1、下列选项中哪一个是Box2D的坐标系:
    A、
    B、
    C、
    D、

2、下列选项中关于Processing和Box2D之间的坐标值转换的描述错误的是:
    A、创建Box2D物体的Shape对象时,需要将像素尺寸转换为Box2D世界尺寸。
    B、创建BodyDef对象,设置position时,需要将像素坐标转换为Box2D坐标。
    C、Processing中显示图形时,需要将Box2D尺寸(坐标)转换为像素尺寸(坐标)。
    D、和Processing中对象一样,Box2D的物体尺寸(坐标)也是为了进行图形像素绘制。

3、下列选项中不属于Box2DBodyDef对象的type值的是:
    A、DYNAMIC
    B、AUTO
    C、STATIC
    D、KINEMATIC

10 动画

随堂练习随堂测验

1、Processing可以通过坐标系的变换实现动画效果,下列函数描述不正确的是:
    A、pushMatrix()将当前的视图矩阵压入堆栈,保存坐标系。
    B、popMatrix()将视图矩阵弹出堆栈,恢复原先的坐标系。
    C、translate(x, y)将原点由(0,0)移动到(x,y)处。
    D、rotate(angle)绕原点顺时针旋转。

2、已知有图片pic01.jpg,请选择合适的语句,使图片围绕鼠标旋转,产生动画效果: PImage img1; int n;float x=0; void setup(){ size(800,400); img1=loadImage("pic01.jpg"); } void draw() { background(255); x += 0.01; pushMatrix(); //使图片围绕鼠标旋转 image(img1, 0, 0,100,100); popMatrix();//将视图矩阵弹出堆栈,恢复原先的坐标系 }
    A、translate(pmouseX, pmouseY); rotate(x);
    B、translate(pmouseX, pmouseY);
    C、rotate(x);
    D、rotate(pmouseX, pmouseY);

3、已知有图片pic01.jpg,请选择合适的语句,使图片向下移动,产生动画效果: PImage img1; Int y1=0; void setup(){ size(200,200); img1=loadImage("pic01.jpg"); } void draw() { background(255); if(y1<=width) //当变换后的原点位置还没有到达画布底部时,图像向下移动 { image(img1, 0, 0,100,100); } }
    A、translate( y2);y2-=1;
    B、translate(width/2, y2);y2-=1;
    C、y2 += 1; translate(width/2, y2);
    D、translate( y2);y2 += 1;

4、已知有图片pic01.jpg,请选择合适的语句,使图片向上移动,产生动画效果: PImage img1; int y2=width; void setup(){ size(200,200); img1=loadImage("pic01.jpg"); } void draw() { background(255); if(y2>=0) //当变换后的原点位置还没有到达画布顶部时,图像向上移动 { image(img1, 0, 0,100,100);//显示图像 } }
    A、translate( y2);y2-=1;
    B、translate(width/2, y2);y2-=1;
    C、y2 += 1; translate(width/2, y2);
    D、translate( y2);y2 += 1;

T4.1 动画 测试

1、已知有10幅图片,图片命名为“pic01.jpg”、“pic02.jpg”...、“pic10.jpg”,请选择合适的语句,实现动态加载多幅图片: PImage[] imgs=new PImage[10]; void setup(){ size(600,600); for(int i=0;i<imgs.length;i++){ //设置图像文件名 imgs[i]=loadImage(im); }
    A、String im="pic"+nf(i,2)+".jpg";
    B、String im="pic"+nf(i+1,2)+".jpg";
    C、PImage im="pic"+nf(i,2)+".jpg";
    D、PImage im="pic"+nf(i+1,2)+".jpg";

2、已知有一幅图片,图片命名为“pic01.jpg”,请选择合适的语句,实现该图片循环从左向右移动(即,移动出右边界后继续从最左侧出现并向右移动): PImage img1; float x; void setup(){ size(800,400); img1=loadImage("pic01.jpg"); } void draw() { x+=2;//设置图片移动的速度 //控制x形成循环显示效果, image(img1,x,0,400,400);//第一幅图片在(x,0)处显示 }
    A、While(x>height) x--;
    B、While(x>width) x--;
    C、if(x>width) x=0;
    D、if(x>height) x=0;

3、已知有图片pic01.jpg,请选择合适的语句,使图像文件移动速度发生变化,产生动画效果: PImage img1; int i; float x=0,y=255,a=0; void setup(){ size(400,400); img1=loadImage("pic01.jpg"); } void draw() { //设置图片的移动速度 image(img1,x,0,400,400); }
    A、n=constrain(mouseX,1,10); x+=n;
    B、n=constrain(mouseX,1,10);
    C、x+=n;
    D、x=constrain(mouseX,1,10);

4、已知有2幅图片pic01.jpg和pic02.jpg,请选择合适的语句,使显示图像文件发生对角线的移动和尺寸变化,产生动画效果: PImage img1,img2; int i; float x=0,y=255,a=0; void setup(){ size(400,400); img1=loadImage("pic01.jpg"); img2=loadImage("pic02.jpg"); } void draw() { a+=0.05; ① //设置第一幅图片的位置和大小 ② //设置第二幅图片的位置和大小 }
    A、①image(img1,0,0,400*sin(a),400*sin(a)); ②image(img2,width-width*sin(a),height-height*sin(a),width*sin(a),height*sin(a));
    B、①image(img1,0,0,400*sin(a),400*sin(a)); ②image(img2,height-height*cos(a),width-width*cos(a),height*cos(a),width*cos(a));
    C、①image(img1,0,0,400*sin(a),400*sin(a)); ②image(img2,height-height*sin(a),width-width*sin(a),height*sin(a),width*sin(a));
    D、①image(img1,0,0,400*sin(a),400*sin(a)); ②image(img2,width-width*cos(a),height-height*cos(a),width*cos(a),height*cos(a));

13 硬件交互设计

13.1 硬件交互设计随堂测验

1、Arduino IDE 状态栏的作用是 ________
    A、编写代码
    B、输出编译或报错信息
    C、查看串口输出内容
    D、显示程序运行状态

2、Arduino 的开发环境( Arduino IDE )可以打开后缀名为 的程序文件。
    A、“ .ino ”
    B、“ .pdf ”
    C、“ .c ”
    D、“ .rar ”

3、Arduino IDE 提供的安装包支持的操作系统是 ___
    A、Android 系统
    B、Windows系统
    C、MacOS系统
    D、Linux 系统

4、下载完 Arduino 的开发环境( Arduino IDE )之后,除了要安装 USB驱动外, 还要设置 2个参数,一是 ,二是开发板型号。

5、在 arduino 开发环境中,验证按钮功能是完成程序的 ,上传按钮的功能是将编译后的程序上传到开发板中。

随堂练习随堂测验

1、Serial.begin()的功能是:( ),通常置于setup()函数中。原型: Serial.begin(speed) Serial.begin(speed, config)

2、Serial.end()的功能是:( )。此时串口Rx和Tx可以作为数字IO引脚使用。 原型:Serial.end()

3、Serial.print()的功能是:( )。 原型: Serial.print(val) Serial.print(val, format) 参数: val:打印的值,任意数据类型。 config:输出的数据格式。BIN(二进制)、OCT(八进制)、DEC(十进制)、HEX(十六进制)。对于浮点数,此参数指定要使用的小数位数。

4、Serial.println()的功能是:( )。 原型: Serial.println(val) Serial.println(val, format) 参数: val:打印的值,任意数据类型。 config:输出的数据格式。 返回值:返回写入的字节数。

互动媒体设计 考试

互动媒体设计 客观题考试

1、processing的基本程序结构就是由这两大代码块组成,_______函数主要实现循环绘制。
    A、setup
    B、size
    C、draw
    D、background

2、跟随鼠标位置绘制圆形,随机大小变换的圆(最大直径为30)的代码是:
    A、circle(mousex,mousey,30)
    B、circle(mousex,mousey,random(30))
    C、circle(mouseX,mouseY,random(30))
    D、ircle(mouseX,mouseY,random(15))

3、下面描述错误的是( )
    A、setup为初始化函数,设置呈现的初始化设置。
    B、size()函数可以调用多次改变画布大小。
    C、draw()函数按照帧频率循环执行。
    D、background用于设置背景颜色。

4、下面描述正确的是( )
    A、mouseX和小写的MOUSEX表示含义相同。
    B、使用分号来表示语句的结束,可以省略。
    C、代码块使用大括号{ }表示。
    D、Processing区分大小写。

5、下面描述正确的是( )
    A、Processing程序语句中标识符不区分大小写。
    B、Processing中的程序语句,应采用英文半角输入。
    C、Processing中的程序语句,输入时采用中文和英文输入都可以。
    D、Processing中必须有setup函数和draw函数,程序才运行。

6、设置填充颜色为黑色背景的语句错误的是()
    A、fill(0,0,0);
    B、fill(0);
    C、fill(#000000);
    D、fill(#000000ff);

7、下面语句colorMode(HSB,360,255,100)下面描述错误的是()
    A、表示设置颜色模式为HSB模式。
    B、设置透明度的最大值为100。
    C、设置色相的值得范围是0到360。
    D、设置亮度的范围是0到100。

8、下面语句colorMode(HSB,360,255,100)下面描述错误的是()
    A、表示设置颜色模式为HSB模式 。
    B、设置透明度的最大值为100。
    C、设置色相的值得范围是0到360。
    D、设置亮度的范围是0到100。

9、下面描述错误的是()
    A、不设置描边和填充属性,则显示默认值。
    B、描边和填充属性应该在绘制之前调用。
    C、设置后不进行修改,则属性将保持不变。
    D、设置后不进行修改,则属性现在默认值。

10、下面描述正确的()
    A、stroke(color):表示设置线条的颜色,默认情况下为白色。
    B、根据不同的颜色模式,设置颜色可以有多种表示方式。
    C、填充颜色的默认值为黑色。
    D、背景颜色默认为白色。

11、下面描述错误的()
    A、strokeCap()设置端点样式,默认样式为半圆形。
    B、strokeCap 的端点样式包括ROUNDS、SQUARE、 PROJECT。
    C、SQUARE、 PROJECT模式下,端点都是方形的。
    D、SQUARE模式下,方形形状,长度比实际长度长。

12、下面说法错误的()
    A、在beginShape() 和endShape() 函数之间,使用vertex() 函数指定多个顶点。
    B、程序会自动把这些顶点用直线连接起来,并且会对这些直线连接起来的图形进行填充。
    C、endShape() 函数表示结束绘制函数,自动封闭图形和描边。
    D、vertex() 函数表示绘制顶点函数。

13、Processing绘制曲线顶点的函数,下列选项中哪个不是()
    A、bezierVertex()函数。
    B、quadraticVertex()函数。
    C、curverVertex()函数。
    D、vertex()函数。

14、int a; int x=5; int y=6; a=(x>y)?10:20; println(a); 程序的输出结果为:()
    A、10
    B、20
    C、5
    D、6

15、if(mouseX<width/2){ circle(mouseX,mouseY,10);} 该语句的功能是:( )
    A、表示在鼠标位置小于舞台一半的位置上,绘制圆半径为10像素的圆。
    B、表示在鼠标位置大于舞台一半的位置上,绘制圆直径为10像素的圆。
    C、表示在鼠标位置小于舞台一半的位置上,绘制圆直径为10像素的圆。
    D、表示在鼠标位置大于舞台一半的位置上,绘制圆半径为10像素的圆。

16、下列选项的程序段中( )实现的功能是:绘制多个圆,且当x轴坐标在180到220之间的范围内,不进行圆的绘制。
    A、for (y=20; y<=height; y+=a) { for (x=20; x<=width; x+=a) { if (x>=180&&x<220) { continue; } circle(x, y, d); } }
    B、for (y=20; y<=height; y+=a) { for (x=20; x<=width; x+=a) { if (x>=180&&x<220) { break; } circle(x, y, d); } }
    C、for (x=20; x<=width; x+=a) { for (y=20; y<=height; y+=a) { if (x>=180&&x<220) { continue; } circle(x, y, d); } }
    D、for (x=20; x<=width; x+=a) { for (y=20; y<=height; y+=a) { if (x>=180&&x<220) { break; } circle(x, y, d); } }

17、对于for 循环语句,下面描述错误的是()
    A、先执行初始化语句,接着判断循环条件,返回true,则执行循环语句。
    B、执行循环语句后,执行更新语句,继续判断循环条件。
    C、对于循环语句来说,更新语句设置时,避免死循环。
    D、for循环语句一定会执行一次循环语句。

18、对于switch语句,描述错误的()
    A、switch中的表达式的值限定了数据类型,只能是byte、char、int类型的值,返回其他类型的值,程序会提示错误。
    B、从case到break代表一个分支结构。case后面为常量表达式,用于判断与switch中表达式是否相等。
    C、如果每个分支的值和表达式都不相等,则执行default后面的语句。
    D、default语句不可以去掉。

19、下列关于函数的说法错误的是( )
    A、函数是可以带有参数,也可以不带有参数。
    B、函数的返回值类型如果是int类型,则函数通过return语句返回的值也应该是int类型。
    C、函数名不允许相同。
    D、使用函数可以让程序更加简洁。

20、定义了一个无返回值的函数名为hello,此函数需带有数据类型为float类型,已知参数值为15.3,调用该函数正确的语句是()
    A、hello(15.3);
    B、hello(float 15.3) ;
    C、void hell(float 15.3);
    D、void hell()=15.3;

21、想要修改鼠标图标为手型,则语句可以写成( )
    A、cursor( ) ;
    B、noCursor( );
    C、cursor(HAND);
    D、nocursor( );

22、判断键盘中A键是否被按下的正确语句是( )
    A、key='A';
    B、key="A";
    C、key=='A';
    D、key=="A";

23、判断按下键是否是编码键的表达式为( )
    A、key=CODED
    B、key==CODED
    C、keyCode=CODED
    D、keyCode==CODED

24、当鼠标按键被按下时,将会触发鼠标按下事件,其对应的函数为( )
    A、mousePressed()
    B、mouseClicked()
    C、mouseButtonPressed()
    D、mouseButtonClicked()

25、littleSpot继承自spot,语句写成( )
    A、class littleSpot EXTENDS spot
    B、class littleSpot extends spot
    C、class littleSpot extend spot
    D、class littleSpot from spot

26、下列关于类与对象说法错误的是( )
    A、类是模版,对象是实例。
    B、类是对具有共同特征和行为的个体的抽象。
    C、对象是类的一个具体应用。
    D、可以通过类名.方法名()的方式来使用类的方法。

27、已知程序如下: int [ ][ ]myRect = { {10,20}, {10,40}, {10,60},{10,80} }; void setup() { size(200,200); background(220); } void draw() { int i=0; //画出4个方形 for(i=0;i<=3;i++) rect(myRect[i][0],myRect[i][1],20,20); } 程序绘制的图形是:
    A、
    B、
    C、
    D、

28、已知程序如下: int [ ][ ]myRect = { {10,10}, {10,20}, {10,30},{10,40}, {20,10}, {20,20}, {20,30},{20,40}, {30,10}, {30,20}, {30,30},{30,40}, {40,10}, {40,20}, {40,30},{40,40} }; void setup() { size(400,600); background(220);} void draw() { int i=0; float m=map(mouseX,0,width,1,8); background(220); //刷新屏幕显示 for(i=0;i<=15;i++) rect(myRect[i][0],myRect[i][1],20,20); } 程序绘制的图形是:
    A、
    B、
    C、
    D、

29、已知程序功能为:随鼠标的位置变化,图形中矩形的大小发生变化。请在程序空档出选择填写正确语句: int [ ][ ]myRect = { {10,10}, {10,20}, {10,30},{10,40}, {20,10}, {20,20}, {20,30},{20,40}, {30,10}, {30,20}, {30,30},{30,40}, {40,10}, {40,20}, {40,30},{40,40} }; void setup() { size(400,600); background(220); } void draw() { int i=0; int col; background(220);//刷新屏幕显示 for(i=0;i<=15;i++) { rect(myRect[i][0]*m,myRect[i][1]*m,10*m,10*m); //画方形 } } }
    A、float m=map(mouseX,0,width,1,8);
    B、int m=map(mouseX,0,width,1,8);
    C、float m=constrain(mouseX,0,width,1,8);
    D、int m=constrain(mouseX,0,width,1,8);

30、已知程序功能为:为图形中不同行的矩形填充颜色,要求一行中矩形颜色相同。请在程序空档出选择填写正确语句: int [ ][ ]myRect = { {10,10}, {10,20}, {10,30},{10,40}, {20,10}, {20,20}, {20,30},{20,40}, {30,10}, {30,20}, {30,30},{30,40}, {40,10}, {40,20}, {40,30},{40,40} }; int [ ][ ]myColor = { {187, 255,255},{0,205, 205},{0,139, 139},{82,139, 139} }; void setup() { size(400,600); background(220); } void draw() { int i=0; int col; background(220);//刷新屏幕显示 for(i=0;i<=15;i++) { col=i%4; //填色 rect(myRect[i][0],myRect[i][1],10,10); } } }
    A、fill(myColor[col][0],myColor[col][1],myColor[col][2]);
    B、fill(myColor[0][col],myColor[1][col],myColor[2][col]);
    C、fill(myColor[col][0],myColor[1][col],myColor[col][2]);
    D、fill(myColor[0][col],myColor[col][1],myColor[2][col]);

31、已知myCircle是一个类类型,下面语句不正确的是:
    A、myCircle []ClassArray=new myCircle[10];
    B、myCircle [][]ClassArray=new myCircle[10][10];
    C、myCircle []ClassArray; ClassArray=new myCircle[4];
    D、myCircle [][]ClassArray; ClassArray=new myCircle[4*2];

32、已知类myCircle中包含成员函数void display(),在定义了myCircle [][]d; d = new myCircle[10][8];并完成d的初始化的前提下,下面语句不正确的是:
    A、for (int i = 0; i < 10; i++) { for (int j = 0; j < 8; j++) { d[i][j].display(); } }
    B、for (int i = 0; i <= 10; i++) { for (int j = 0; j < =8; j++) { d[i][j].display(); } }
    C、for (int i = 9; i <=0; i--) { for (int j = 7; j < =0; j--) { d[i][j].display(); } }
    D、for (int i = 9; i <=0; i--) { d[i][2].display(); }

33、有关tint()函数的设置方式描述不正确的是:
    A、tint(n); // n代表颜色值;
    B、tint(n,m); // n代表灰度值,m为透明度值;
    C、tint(a,b,c); // 三个参数代表三色的色值;
    D、tint(a,b,c,d); // 四个参数代表三色的色值和透明度值

34、不属于图像常用的变换处理技术的是:
    A、滤波
    B、融合
    C、复制
    D、上色

35、在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,这种技术叫作:
    A、滤波
    B、蒙板
    C、复制
    D、上色

36、请选择正确的选项,将文本文件"t1.txt"中的文字信息读入内存中: BufferedReader rd; String str1; void setup(){ size(400,400); background(0); ① //将与文件"t1.txt"关联 textFont(font1);} void draw(){ try{ ② } //如果文件打开正确,则读取当前行信息赋值给str1 catch(IOException e){e.printStackTrace();str1=null;} if(str1==null) noLoop(); }
    A、①rd=BufferedReader("t1.txt"); ②str1=rd.readLine();
    B、①rd=createReader("t1.txt"); ②str1=rd.readLine();
    C、①rd=BufferedReader("t1.txt"); ②str1=rd.read();
    D、①rd=createReader("t1.txt"); ②str1=rd.read();

37、请选择正确的选项,将文本文件"t1.txt"中的文字信息读入内存中: PrintWriter wr; void setup(){ ① //将与文件"t1.txt"关联 String[] str1=new String[2]; str1[0]="飞来山上千寻塔,"; str1[1]="闻说鸡鸣见日升。"; for (i=0;i<2;i++) { ② } //将字符串按行写入文本文件中 wr.flush(); wr.close(); }
    A、①wr=createWriter("t1.txt"); ②wr.write(str1[i]) ;
    B、①wr=Writer("t1.txt"); ②wr.println(str1[i]) ;
    C、①wr=createWriter("t1.txt"); ②wr.write(str1[i]) ;
    D、①wr=createWriter("t1.txt"); ②wr.println(str1[i]) ;

38、下面描述错误的是:( )
    A、在Processing中读写二进制文件时,可以使用loadBytes()和saveBytes()函数。
    B、loadBytes(f1);函数参数f1是待输入文件,可以是本地文件,也可以是网络文件。
    C、saveBytes(f1, dArray);//f1是输出文件名, dArray是要输出的byte类型的数组名。
    D、loadBytes(f1)可以读取整个文件,但需要用户自定义循环语句按行依次读取到内存中。

39、请选择正确的选项,填写到下列程序空白处,实现功能为,打开二进制文件"f1.dat"并读取其二进制数据: void setup(){ //读取文件中的二进制数据 for (int i = 0; i < t1.length; i++) { print(t1[i]);// 打印每个值 print(" ");// 打印空格 if (((i+1) % 5) == 0) println(); } }
    A、byte []t1 = loadBytes("f1.dat");
    B、char []t1 = loadFiles("f1.dat");
    C、byte []t1 = loadFiles("f1.dat");
    D、char []t1 = loadBytes("f1.dat");

40、已知有10幅图片,图片命名为“pic01.jpg”、“pic02.jpg”...、“pic10.jpg”,请选择合适的语句,填写到空白处,实现动态加载多幅图片: PImage[] imgs=new PImage[10]; void setup(){ size(600,600); for(int i=0;i<imgs.length;i++){ //设置图像文件名 imgs[i]=loadImage(im); }
    A、String im="pic"+nf(i,2)+".jpg";
    B、String im="pic"+nf(i+1,2)+".jpg";
    C、PImage im="pic"+nf(i,2)+".jpg";
    D、PImage im="pic"+nf(i+1,2)+".jpg";

41、已知有一幅图片,图片命名为“pic01.jpg”,请选择合适的语句,实现该图片循环从左向右移动(即,移动出右边界后继续从最左侧出现并向右移动): PImage img1; float x; void setup(){ size(800,400); img1=loadImage("pic01.jpg"); } void draw() { x+=2;//设置图片移动的速度 //控制x形成循环显示效果, image(img1,x,0,400,400);//第一幅图片在(x,0)处显示 }
    A、While(x>height) x--;
    B、While(x>width) x--;
    C、if(x>width) x=0;
    D、if(x>height) x=0;

42、已知有图片pic01.jpg,请选择合适的语句,使图像文件移动速度发生变化,产生动画效果: PImage img1; int i; float x=0,y=255,a=0; void setup(){ size(400,400); img1=loadImage("pic01.jpg"); } void draw() { //设置图片的移动速度 image(img1,x,0,400,400); }
    A、n=constrain(mouseX,1,10); x+=n;
    B、n=constrain(mouseX,1,10);
    C、x+=n;
    D、x=constrain(mouseX,1,10);

43、已知有2幅图片pic01.jpg和pic02.jpg,请选择合适的语句,使显示图像文件发生对角线的移动和尺寸变化,产生动画效果: PImage img1,img2; int i; float x=0,y=255,a=0; void setup(){ size(400,400); img1=loadImage("pic01.jpg"); img2=loadImage("pic02.jpg"); } void draw() { a+=0.05; ① //设置第一幅图片的位置和大小 ② //设置第二幅图片的位置和大小 }
    A、①image(img1,0,0,400*sin(a),400*sin(a)); ②image(img2,width-width*sin(a),height-height*sin(a),width*sin(a),height*sin(a));
    B、①image(img1,0,0,400*sin(a),400*sin(a)); ②image(img2,height-height*cos(a),width-width*cos(a),height*cos(a),width*cos(a));
    C、①image(img1,0,0,400*sin(a),400*sin(a)); ②image(img2,height-height*sin(a),width-width*sin(a),height*sin(a),width*sin(a));
    D、①image(img1,0,0,400*sin(a),400*sin(a)); ②image(img2,width-width*cos(a),height-height*cos(a),width*cos(a),height*cos(a));

44、在空白处选择正确的选项,实现利用P3D在画布上绘制并显示立方体: float angle=0; void setup() { size(500, 500, P3D);} void draw() { background(100); //调整原点为当前点的坐标,绕X轴旋转 angle+=0.05; box(80); }
    A、translate(0, 0, 0); rotateX(angle/6);
    B、translate(width/2, height/2, 0); rotate(angle/6);
    C、translate(width/2, height/2, 0); rotateX(angle/6);
    D、translate(0, 0, 0); rotate(angle/6);

45、已知下列代码完成了一个立方体的绘制,请从选项里面选择正确的语句填到空白处: void drawCube(int a) { stroke(0); beginShape(QUADS); vertex(0,0,0); vertex(0,0,a); vertex(a,0,a); vertex(a,0,0); vertex(0,0,a); vertex(a,0,a); vertex(a,a,a); vertex(0,a,a); vertex(0,0,0); vertex(0,a,0); vertex(0,a,a); vertex(0,0,a); vertex(a,0,0); vertex(a,0,a); vertex(a,a,a); vertex(a,a,0); vertex(0,a,0); vertex(0,a,a); vertex(a,a,a); vertex(a,a,0); endShape(); }
    A、vertex(0,0,0); vertex(a,0,0); vertex(a,a,0); vertex(0,a,0);
    B、vertex(0,0,0); vertex(0,a,0); vertex(a,0,a); vertex(0,a,0);
    C、vertex(0,0,0); vertex(0,a,0); vertex(a,a,0); vertex(0,a,0);
    D、vertex(0,0,0); vertex(a,0,0); vertex(a,0,a); vertex(0,a,0);

46、已知下列代码完成了一个带纹理的立面绘制,请从选项里面选择正确的语句填到空白处: PImage img; float theta = 0.0; void setup() { size(400,400,P3D); noStroke(); img = loadImage("f2.jpg"); ① //设置纹理模式 } void draw() { background(144); theta +=0.01; translate(150,200,0); rotateX(theta); beginShape(QUADS); ② //加载纹理图片 vertex(0,0,0,0,0); vertex(100,0,0,1,0); vertex(100,100,0,1,1); vertex(0,100,0,0,1); endShape(); }
    A、①texture(img); ②textureMode(NORMAL);
    B、①textureMode(NORMAL); ②texture(img);
    C、①texture(img); ②textureMode(img);
    D、①textureMode(img); ②texture(img);

47、已知 Box2D是Box2DProcessin对象,下列选项描述错误的是:( )
    A、Box2D.createWorld();// 创建Box2D世界
    B、Box2D = new Box2DProcessing(this);// 创建Box2D对象
    C、Vec2 pos = Box2D.getBodyPixelCoord(body);//获取Body对象的Box2D世界坐标
    D、Box2D.setGravity(0, -20); // 设置重力加速度

48、下列选项中,哪一个是通过夹具将形状ps和物体body连接在一起:
    A、FixtureDef fd = new FixtureDef(); fd.shape = ps; body.createFixture(fd);
    B、FixtureDef fd = new FixtureDef(); fd.shape = ps; BodyDef bd=new BodyDef(); body=box2d.createBody(bd);
    C、Fixture fd = new Fixture(); fd.shape = ps; body.createFixture(fd);
    D、Fixture fd = new Fixture(); fd.shape = ps; BodyDef bd=new BodyDef(); body=box2d.createBody(bd);

49、下列选项中,关于夹具属性描述错误的是:
    A、friction设置形状的摩擦系数,介于0~1。
    B、restitution设置形状的复原性(也就是弹性),取值0~1。
    C、density 设置形状的密度,以kg/m2为单位。
    D、body设置与夹具关联的对象。

50、下列选项中,描述错误的是:
    A、Box2D坐标系转动方向和Processing的是相反的。
    B、可以同时定义多个Box2D物体,包括静态和动态类型,并实现物体碰撞的动画效果。
    C、Box2D是一个开源物理引擎,用来模拟3D物体运动和碰撞。
    D、可以通过调用Body类的成员函数createFixture(),将夹具和刚体关联在一起。

互动媒体设计 考试

互动媒体设计 客观题考试

1、processing的基本程序结构就是由这两大代码块组成,_______函数主要实现循环绘制。
    A、setup
    B、size
    C、draw
    D、background

2、跟随鼠标位置绘制圆形,随机大小变换的圆(最大直径为30)的代码是:
    A、circle(mousex,mousey,30)
    B、circle(mousex,mousey,random(30))
    C、circle(mouseX,mouseY,random(30))
    D、ircle(mouseX,mouseY,random(15))

3、下面描述错误的是( )
    A、setup为初始化函数,设置呈现的初始化设置。
    B、size()函数可以调用多次改变画布大小。
    C、draw()函数按照帧频率循环执行。
    D、background用于设置背景颜色。

4、下面描述正确的是( )
    A、mouseX和小写的MOUSEX表示含义相同。
    B、使用分号来表示语句的结束,可以省略。
    C、代码块使用大括号{ }表示。
    D、Processing区分大小写。

5、下面描述正确的是( )
    A、Processing程序语句中标识符不区分大小写。
    B、Processing中的程序语句,应采用英文半角输入。
    C、Processing中的程序语句,输入时采用中文和英文输入都可以。
    D、Processing中必须有setup函数和draw函数,程序才运行。

6、设置填充颜色为黑色背景的语句错误的是()
    A、fill(0,0,0);
    B、fill(0);
    C、fill(#000000);
    D、fill(#000000ff);

7、下面语句colorMode(HSB,360,255,100)下面描述错误的是()
    A、表示设置颜色模式为HSB模式。
    B、设置透明度的最大值为100。
    C、设置色相的值得范围是0到360。
    D、设置亮度的范围是0到100。

8、下面语句colorMode(HSB,360,255,100)下面描述错误的是()
    A、表示设置颜色模式为HSB模式 。
    B、设置透明度的最大值为100。
    C、设置色相的值得范围是0到360。
    D、设置亮度的范围是0到100。

9、下面描述错误的是()
    A、不设置描边和填充属性,则显示默认值。
    B、描边和填充属性应该在绘制之前调用。
    C、设置后不进行修改,则属性将保持不变。
    D、设置后不进行修改,则属性现在默认值。

10、下面描述正确的()
    A、stroke(color):表示设置线条的颜色,默认情况下为白色。
    B、根据不同的颜色模式,设置颜色可以有多种表示方式。
    C、填充颜色的默认值为黑色。
    D、背景颜色默认为白色。

11、下面描述错误的()
    A、strokeCap()设置端点样式,默认样式为半圆形。
    B、strokeCap 的端点样式包括ROUNDS、SQUARE、 PROJECT。
    C、SQUARE、 PROJECT模式下,端点都是方形的。
    D、SQUARE模式下,方形形状,长度比实际长度长。

12、下面说法错误的()
    A、在beginShape() 和endShape() 函数之间,使用vertex() 函数指定多个顶点。
    B、程序会自动把这些顶点用直线连接起来,并且会对这些直线连接起来的图形进行填充。
    C、endShape() 函数表示结束绘制函数,自动封闭图形和描边。
    D、vertex() 函数表示绘制顶点函数。

13、Processing绘制曲线顶点的函数,下列选项中哪个不是()
    A、bezierVertex()函数。
    B、quadraticVertex()函数。
    C、curverVertex()函数。
    D、vertex()函数。

14、int a; int x=5; int y=6; a=(x>y)?10:20; println(a); 程序的输出结果为:()
    A、10
    B、20
    C、5
    D、6

15、if(mouseX<width/2){ circle(mouseX,mouseY,10);} 该语句的功能是:( )
    A、表示在鼠标位置小于舞台一半的位置上,绘制圆半径为10像素的圆。
    B、表示在鼠标位置大于舞台一半的位置上,绘制圆直径为10像素的圆。
    C、表示在鼠标位置小于舞台一半的位置上,绘制圆直径为10像素的圆。
    D、表示在鼠标位置大于舞台一半的位置上,绘制圆半径为10像素的圆。

16、下列选项的程序段中( )实现的功能是:绘制多个圆,且当x轴坐标在180到220之间的范围内,不进行圆的绘制。
    A、for (y=20; y<=height; y+=a) { for (x=20; x<=width; x+=a) { if (x>=180&&x<220) { continue; } circle(x, y, d); } }
    B、for (y=20; y<=height; y+=a) { for (x=20; x<=width; x+=a) { if (x>=180&&x<220) { break; } circle(x, y, d); } }
    C、for (x=20; x<=width; x+=a) { for (y=20; y<=height; y+=a) { if (x>=180&&x<220) { continue; } circle(x, y, d); } }
    D、for (x=20; x<=width; x+=a) { for (y=20; y<=height; y+=a) { if (x>=180&&x<220) { break; } circle(x, y, d); } }

17、对于for 循环语句,下面描述错误的是()
    A、先执行初始化语句,接着判断循环条件,返回true,则执行循环语句。
    B、执行循环语句后,执行更新语句,继续判断循环条件。
    C、对于循环语句来说,更新语句设置时,避免死循环。
    D、for循环语句一定会执行一次循环语句。

18、对于switch语句,描述错误的()
    A、switch中的表达式的值限定了数据类型,只能是byte、char、int类型的值,返回其他类型的值,程序会提示错误。
    B、从case到break代表一个分支结构。case后面为常量表达式,用于判断与switch中表达式是否相等。
    C、如果每个分支的值和表达式都不相等,则执行default后面的语句。
    D、default语句不可以去掉。

19、下列关于函数的说法错误的是( )
    A、函数是可以带有参数,也可以不带有参数。
    B、函数的返回值类型如果是int类型,则函数通过return语句返回的值也应该是int类型。
    C、函数名不允许相同。
    D、使用函数可以让程序更加简洁。

20、定义了一个无返回值的函数名为hello,此函数需带有数据类型为float类型,已知参数值为15.3,调用该函数正确的语句是()
    A、hello(15.3);
    B、hello(float 15.3) ;
    C、void hell(float 15.3);
    D、void hell()=15.3;

21、想要修改鼠标图标为手型,则语句可以写成( )
    A、cursor( ) ;
    B、noCursor( );
    C、cursor(HAND);
    D、nocursor( );

22、判断键盘中A键是否被按下的正确语句是( )
    A、key='A';
    B、key="A";
    C、key=='A';
    D、key=="A";

23、判断按下键是否是编码键的表达式为( )
    A、key=CODED
    B、key==CODED
    C、keyCode=CODED
    D、keyCode==CODED

24、当鼠标按键被按下时,将会触发鼠标按下事件,其对应的函数为( )
    A、mousePressed()
    B、mouseClicked()
    C、mouseButtonPressed()
    D、mouseButtonClicked()

25、littleSpot继承自spot,语句写成( )
    A、class littleSpot EXTENDS spot
    B、class littleSpot extends spot
    C、class littleSpot extend spot
    D、class littleSpot from spot

26、下列关于类与对象说法错误的是( )
    A、类是模版,对象是实例。
    B、类是对具有共同特征和行为的个体的抽象。
    C、对象是类的一个具体应用。
    D、可以通过类名.方法名()的方式来使用类的方法。

27、已知程序如下: int [ ][ ]myRect = { {10,20}, {10,40}, {10,60},{10,80} }; void setup() { size(200,200); background(220); } void draw() { int i=0; //画出4个方形 for(i=0;i<=3;i++) rect(myRect[i][0],myRect[i][1],20,20); } 程序绘制的图形是:
    A、
    B、
    C、
    D、

28、已知程序如下: int [ ][ ]myRect = { {10,10}, {10,20}, {10,30},{10,40}, {20,10}, {20,20}, {20,30},{20,40}, {30,10}, {30,20}, {30,30},{30,40}, {40,10}, {40,20}, {40,30},{40,40} }; void setup() { size(400,600); background(220);} void draw() { int i=0; float m=map(mouseX,0,width,1,8); background(220); //刷新屏幕显示 for(i=0;i<=15;i++) rect(myRect[i][0],myRect[i][1],20,20); } 程序绘制的图形是:
    A、
    B、
    C、
    D、

29、已知程序功能为:随鼠标的位置变化,图形中矩形的大小发生变化。请在程序空档出选择填写正确语句: int [ ][ ]myRect = { {10,10}, {10,20}, {10,30},{10,40}, {20,10}, {20,20}, {20,30},{20,40}, {30,10}, {30,20}, {30,30},{30,40}, {40,10}, {40,20}, {40,30},{40,40} }; void setup() { size(400,600); background(220); } void draw() { int i=0; int col; background(220);//刷新屏幕显示 for(i=0;i<=15;i++) { rect(myRect[i][0]*m,myRect[i][1]*m,10*m,10*m); //画方形 } } }
    A、float m=map(mouseX,0,width,1,8);
    B、int m=map(mouseX,0,width,1,8);
    C、float m=constrain(mouseX,0,width,1,8);
    D、int m=constrain(mouseX,0,width,1,8);

30、已知程序功能为:为图形中不同行的矩形填充颜色,要求一行中矩形颜色相同。请在程序空档出选择填写正确语句: int [ ][ ]myRect = { {10,10}, {10,20}, {10,30},{10,40}, {20,10}, {20,20}, {20,30},{20,40}, {30,10}, {30,20}, {30,30},{30,40}, {40,10}, {40,20}, {40,30},{40,40} }; int [ ][ ]myColor = { {187, 255,255},{0,205, 205},{0,139, 139},{82,139, 139} }; void setup() { size(400,600); background(220); } void draw() { int i=0; int col; background(220);//刷新屏幕显示 for(i=0;i<=15;i++) { col=i%4; //填色 rect(myRect[i][0],myRect[i][1],10,10); } } }
    A、fill(myColor[col][0],myColor[col][1],myColor[col][2]);
    B、fill(myColor[0][col],myColor[1][col],myColor[2][col]);
    C、fill(myColor[col][0],myColor[1][col],myColor[col][2]);
    D、fill(myColor[0][col],myColor[col][1],myColor[2][col]);

31、已知myCircle是一个类类型,下面语句不正确的是:
    A、myCircle []ClassArray=new myCircle[10];
    B、myCircle [][]ClassArray=new myCircle[10][10];
    C、myCircle []ClassArray; ClassArray=new myCircle[4];
    D、myCircle [][]ClassArray; ClassArray=new myCircle[4*2];

32、已知类myCircle中包含成员函数void display(),在定义了myCircle [][]d; d = new myCircle[10][8];并完成d的初始化的前提下,下面语句不正确的是:
    A、for (int i = 0; i < 10; i++) { for (int j = 0; j < 8; j++) { d[i][j].display(); } }
    B、for (int i = 0; i <= 10; i++) { for (int j = 0; j < =8; j++) { d[i][j].display(); } }
    C、for (int i = 9; i <=0; i--) { for (int j = 7; j < =0; j--) { d[i][j].display(); } }
    D、for (int i = 9; i <=0; i--) { d[i][2].display(); }

33、有关tint()函数的设置方式描述不正确的是:
    A、tint(n); // n代表颜色值;
    B、tint(n,m); // n代表灰度值,m为透明度值;
    C、tint(a,b,c); // 三个参数代表三色的色值;
    D、tint(a,b,c,d); // 四个参数代表三色的色值和透明度值

34、不属于图像常用的变换处理技术的是:
    A、滤波
    B、融合
    C、复制
    D、上色

35、在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,这种技术叫作:
    A、滤波
    B、蒙板
    C、复制
    D、上色

36、请选择正确的选项,将文本文件"t1.txt"中的文字信息读入内存中: BufferedReader rd; String str1; void setup(){ size(400,400); background(0); ① //将与文件"t1.txt"关联 textFont(font1);} void draw(){ try{ ② } //如果文件打开正确,则读取当前行信息赋值给str1 catch(IOException e){e.printStackTrace();str1=null;} if(str1==null) noLoop(); }
    A、①rd=BufferedReader("t1.txt"); ②str1=rd.readLine();
    B、①rd=createReader("t1.txt"); ②str1=rd.readLine();
    C、①rd=BufferedReader("t1.txt"); ②str1=rd.read();
    D、①rd=createReader("t1.txt"); ②str1=rd.read();

37、请选择正确的选项,将文本文件"t1.txt"中的文字信息读入内存中: PrintWriter wr; void setup(){ ① //将与文件"t1.txt"关联 String[] str1=new String[2]; str1[0]="飞来山上千寻塔,"; str1[1]="闻说鸡鸣见日升。"; for (i=0;i<2;i++) { ② } //将字符串按行写入文本文件中 wr.flush(); wr.close(); }
    A、①wr=createWriter("t1.txt"); ②wr.write(str1[i]) ;
    B、①wr=Writer("t1.txt"); ②wr.println(str1[i]) ;
    C、①wr=createWriter("t1.txt"); ②wr.write(str1[i]) ;
    D、①wr=createWriter("t1.txt"); ②wr.println(str1[i]) ;

38、下面描述错误的是:( )
    A、在Processing中读写二进制文件时,可以使用loadBytes()和saveBytes()函数。
    B、loadBytes(f1);函数参数f1是待输入文件,可以是本地文件,也可以是网络文件。
    C、saveBytes(f1, dArray);//f1是输出文件名, dArray是要输出的byte类型的数组名。
    D、loadBytes(f1)可以读取整个文件,但需要用户自定义循环语句按行依次读取到内存中。

39、请选择正确的选项,填写到下列程序空白处,实现功能为,打开二进制文件"f1.dat"并读取其二进制数据: void setup(){ //读取文件中的二进制数据 for (int i = 0; i < t1.length; i++) { print(t1[i]);// 打印每个值 print(" ");// 打印空格 if (((i+1) % 5) == 0) println(); } }
    A、byte []t1 = loadBytes("f1.dat");
    B、char []t1 = loadFiles("f1.dat");
    C、byte []t1 = loadFiles("f1.dat");
    D、char []t1 = loadBytes("f1.dat");

40、已知有10幅图片,图片命名为“pic01.jpg”、“pic02.jpg”...、“pic10.jpg”,请选择合适的语句,填写到空白处,实现动态加载多幅图片: PImage[] imgs=new PImage[10]; void setup(){ size(600,600); for(int i=0;i<imgs.length;i++){ //设置图像文件名 imgs[i]=loadImage(im); }
    A、String im="pic"+nf(i,2)+".jpg";
    B、String im="pic"+nf(i+1,2)+".jpg";
    C、PImage im="pic"+nf(i,2)+".jpg";
    D、PImage im="pic"+nf(i+1,2)+".jpg";

41、已知有一幅图片,图片命名为“pic01.jpg”,请选择合适的语句,实现该图片循环从左向右移动(即,移动出右边界后继续从最左侧出现并向右移动): PImage img1; float x; void setup(){ size(800,400); img1=loadImage("pic01.jpg"); } void draw() { x+=2;//设置图片移动的速度 //控制x形成循环显示效果, image(img1,x,0,400,400);//第一幅图片在(x,0)处显示 }
    A、While(x>height) x--;
    B、While(x>width) x--;
    C、if(x>width) x=0;
    D、if(x>height) x=0;

42、已知有图片pic01.jpg,请选择合适的语句,使图像文件移动速度发生变化,产生动画效果: PImage img1; int i; float x=0,y=255,a=0; void setup(){ size(400,400); img1=loadImage("pic01.jpg"); } void draw() { //设置图片的移动速度 image(img1,x,0,400,400); }
    A、n=constrain(mouseX,1,10); x+=n;
    B、n=constrain(mouseX,1,10);
    C、x+=n;
    D、x=constrain(mouseX,1,10);

43、已知有2幅图片pic01.jpg和pic02.jpg,请选择合适的语句,使显示图像文件发生对角线的移动和尺寸变化,产生动画效果: PImage img1,img2; int i; float x=0,y=255,a=0; void setup(){ size(400,400); img1=loadImage("pic01.jpg"); img2=loadImage("pic02.jpg"); } void draw() { a+=0.05; ① //设置第一幅图片的位置和大小 ② //设置第二幅图片的位置和大小 }
    A、①image(img1,0,0,400*sin(a),400*sin(a)); ②image(img2,width-width*sin(a),height-height*sin(a),width*sin(a),height*sin(a));
    B、①image(img1,0,0,400*sin(a),400*sin(a)); ②image(img2,height-height*cos(a),width-width*cos(a),height*cos(a),width*cos(a));
    C、①image(img1,0,0,400*sin(a),400*sin(a)); ②image(img2,height-height*sin(a),width-width*sin(a),height*sin(a),width*sin(a));
    D、①image(img1,0,0,400*sin(a),400*sin(a)); ②image(img2,width-width*cos(a),height-height*cos(a),width*cos(a),height*cos(a));

44、在空白处选择正确的选项,实现利用P3D在画布上绘制并显示立方体: float angle=0; void setup() { size(500, 500, P3D);} void draw() { background(100); //调整原点为当前点的坐标,绕X轴旋转 angle+=0.05; box(80); }
    A、translate(0, 0, 0); rotateX(angle/6);
    B、translate(width/2, height/2, 0); rotate(angle/6);
    C、translate(width/2, height/2, 0); rotateX(angle/6);
    D、translate(0, 0, 0); rotate(angle/6);

45、已知下列代码完成了一个立方体的绘制,请从选项里面选择正确的语句填到空白处: void drawCube(int a) { stroke(0); beginShape(QUADS); vertex(0,0,0); vertex(0,0,a); vertex(a,0,a); vertex(a,0,0); vertex(0,0,a); vertex(a,0,a); vertex(a,a,a); vertex(0,a,a); vertex(0,0,0); vertex(0,a,0); vertex(0,a,a); vertex(0,0,a); vertex(a,0,0); vertex(a,0,a); vertex(a,a,a); vertex(a,a,0); vertex(0,a,0); vertex(0,a,a); vertex(a,a,a); vertex(a,a,0); endShape(); }
    A、vertex(0,0,0); vertex(a,0,0); vertex(a,a,0); vertex(0,a,0);
    B、vertex(0,0,0); vertex(0,a,0); vertex(a,0,a); vertex(0,a,0);
    C、vertex(0,0,0); vertex(0,a,0); vertex(a,a,0); vertex(0,a,0);
    D、vertex(0,0,0); vertex(a,0,0); vertex(a,0,a); vertex(0,a,0);

46、已知下列代码完成了一个带纹理的立面绘制,请从选项里面选择正确的语句填到空白处: PImage img; float theta = 0.0; void setup() { size(400,400,P3D); noStroke(); img = loadImage("f2.jpg"); ① //设置纹理模式 } void draw() { background(144); theta +=0.01; translate(150,200,0); rotateX(theta); beginShape(QUADS); ② //加载纹理图片 vertex(0,0,0,0,0); vertex(100,0,0,1,0); vertex(100,100,0,1,1); vertex(0,100,0,0,1); endShape(); }
    A、①texture(img); ②textureMode(NORMAL);
    B、①textureMode(NORMAL); ②texture(img);
    C、①texture(img); ②textureMode(img);
    D、①textureMode(img); ②texture(img);

47、已知 Box2D是Box2DProcessin对象,下列选项描述错误的是:( )
    A、Box2D.createWorld();// 创建Box2D世界
    B、Box2D = new Box2DProcessing(this);// 创建Box2D对象
    C、Vec2 pos = Box2D.getBodyPixelCoord(body);//获取Body对象的Box2D世界坐标
    D、Box2D.setGravity(0, -20); // 设置重力加速度

48、下列选项中,哪一个是通过夹具将形状ps和物体body连接在一起:
    A、FixtureDef fd = new FixtureDef(); fd.shape = ps; body.createFixture(fd);
    B、FixtureDef fd = new FixtureDef(); fd.shape = ps; BodyDef bd=new BodyDef(); body=box2d.createBody(bd);
    C、Fixture fd = new Fixture(); fd.shape = ps; body.createFixture(fd);
    D、Fixture fd = new Fixture(); fd.shape = ps; BodyDef bd=new BodyDef(); body=box2d.createBody(bd);

49、下列选项中,关于夹具属性描述错误的是:
    A、friction设置形状的摩擦系数,介于0~1。
    B、restitution设置形状的复原性(也就是弹性),取值0~1。
    C、density 设置形状的密度,以kg/m2为单位。
    D、body设置与夹具关联的对象。

50、下列选项中,描述错误的是:
    A、Box2D坐标系转动方向和Processing的是相反的。
    B、可以同时定义多个Box2D物体,包括静态和动态类型,并实现物体碰撞的动画效果。
    C、Box2D是一个开源物理引擎,用来模拟3D物体运动和碰撞。
    D、可以通过调用Body类的成员函数createFixture(),将夹具和刚体关联在一起。