随堂练习随堂测验
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、
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(),将夹具和刚体关联在一起。