当前位置:文档之家› 程序设计技术总复习

程序设计技术总复习

程序设计技术总复习
程序设计技术总复习

“程序设计技术”总复习

一、Simple Choice Questions((每题2分,16题共32 分)

1. Which of the following function declarations are illegal?

a. void t1(int x, int y = 0, int z);

b. void t4(int x = 0, int y = 0, int z = 0);

c. void t2(int x = 0, int y = 0, int z);

d. void t3(int x, int y = 0, int z = 0);

e. a and c

Key:e

#

2. What is the printout of the following code?

#include

using namespace std;

void f(int &p1, int p2)

{

p1++;

p2++;

}

int main()

{

int x1 = 1;

int x2 = 1;

f(x1, x2);

cout <<"x1 is "<< x1 <<" x2 is "<< x2;

}

a. x1 is 2 x2 is 2

b. x1 is 1 x2 is 2

c. x1 is 1 x2 is 1

d. x1 is 2 x2 is 1

Key:d

#

3. The following program invokes p() three times. What is the printout from the last call of p()? #include

using namespace std;

int j = 40;

void p()

{

int i = 5;

static int j = 5;

i++;

j++;

cout <<"i is "<< i <<" j is "<< j << endl; }

int main()

{

p();

p();

p();

}

a. i is 6 j is 6

b. i is 6 j is 7

c. i is 6 j is 9

d. i is 6 j is 8

Key:d

#

4. What is the output of the following code?

#include

using namespace std;

void f(double &p)

{

p += 2;

}

int main()

{

double x = 1;

double y = 1;

f(x);

f(y);

cout <<"x is "<< x;

cout <<" y is "<< y << endl;

return 0;

}

a. x is 1 y is 2

b. x is 2 y is 1

c. x is 1 y is 1

d. x is 2 y is 2

e. x is 3 y is 3

Key:e

#

5. Analyze the following code:

void f(int x[], int length)

{

for (int i = 0; i < length; i++)

cout <<""<< x[i];

}

int main()

{

int x[] = {0, 1, 2, 3, 4, 5};

f(x, 5);

}

a. The program displays 0 1 2 3 4 5.

b. The program displays 0 1 2 3 4 and then raises a runtime exception.

c. The program displays 0 1 2 3 4.

d. The program displays 0 1 2 3 4 5 and then raises a runtime exception. Key:c

#

6. Show the printout of the following code

char city[7] = "Dallas";

cout << strlen(city);

a. 7

b. 6

c. 5

d. 8

Key:b

#

7. Analyze the following code.

int main()

{

int x[3];

cout <<"x[0] is "<< x[0];

}

a. x[0] has an arbitrary value.

b. The program has a compile error because the size of the array wasn't specified when declaring the array.

c. The program runs fine and displays x[0] is 0.

d. The program has a runtime error because the array elements are not initialized.

e. The program has a runtime error because the array element x[0] is not defined.

Key:a

#

8. Show the output of the following code:

#include

using namespace std;

class A

{

public:

int x;

int y;

int z;

A(): x(1), y(2), z(3)

{

}

};

int main()

{

A a;

cout << a.x <<""<< a.y <<""<< a.z;

return 0;

}

a. 3 3 3

b. 2 2 2

c. 1 2 3

d. 1 1 1

e. 1 1 2

Key:c

#

9. What is wrong in the following code?

#include

using namespace std;

class TempClass

{

public:

int i;

TempClass()

{

int i = 5;

}

};

int main()

{

TempClass temp(2);

}

a. The program compiles fine, but it does not run because class C is not public.

b. The program has a compilation error because TempClass does not have a default constructor.

c. The program compiles and runs fine.

d. The program has a compilation error because TempClass does not have a constructor with an int argument.

Key:d

#

10. Analyze the following code.

#include

using namespace std;

class Test

{

public:

int x;

Test()

{

cout <<"Test";

}

};

int main()

{

Test test;

cout << test.x;

}

a. The program has a compile error because Test does not have a default constructor.

b. The program has a compile error because x has not been initialized.

c. The program has a compile error because test is not initialize

d.

d. The program runs fine, but test.x is unpredictabl

e.

Key:d

#

11. What is the output of the following code?

#include

using namespace std;

class Foo

{

public:

int x; // data field

int y; // data field

Foo()

{

x = 10;

y = 10;

}

void p()

{

int x = 20; // local variable

cout <<"x is "<< x <<"";

cout <<"y is "<< y << endl;

}

};

int main()

{

Foo foo;

foo.p();

return 0;

}

a. x is 20 y is 10

b. x is 10 y is 20

c. x is 20 y is 20

d. x is 10 y is 10

Key:a

#

12. What is the output of the following code?

string s("abc");

s.append("welcome", 3);

cout << s << endl;

a. welcomeabc

b. abcwel

c. abc

d. abcwelcome

Key:b

#

13. What is the output of the following code?

string s("abcdefg");

s.insert(1, 3, 'w');

cout << s << endl;

a. abcdefg

b. aweldefg

c. awelbcdefg

d. awwwbcdefg

Key:d

#

14. What is the printout of the following code?

#include

using namespace std;

class Count

{

public:

int count;

Count(int c)

{

count = c;

}

Count()

{

count = 0;

}

};

void increment(Count c, int ×)

{

c.count++;

times++;

}

int main()

{

Count myCount;

int times = 0;

for (int i = 0; i < 100; i++)

increment(myCount, times);

cout <<"myCount.count is "<< myCount.count;

cout <<" times is "<< times;

return 0;

}

a. myCount.count is 100 times is 0

b. myCount.count is 100 times is 100

c. myCount.count is 0 times is 0

d. myCount.count is 0 times is 100

Key:d

#

15. Suppose you declare an array double list[] = {1, 3.4, 5.5, 3.5} and compiler stores it in the memory starting with address 04BFA810. Assume a double value takes eight bytes on a computer. &list[1] is ______.

a. 04BFA818

b. 04BFA810

c. 3.4

d. 1

Key:a

#

16. Suppose you declare an array double list[] = {1, 3.4, 5.5, 3.5}. &list[1] is same as ________.

a. list + 2

b. list[0]

c. list[1]

d. list

e. list + 1

Key:e

#

17. Analyze the following code.

#include

using namespace std;

int main()

{

char *p;

cout <<"Enter a string: ";

cin >> p;

cout << p << endl;

return 0;

}

a. If you run the program and enter abc, unpredictable characters will be displayed.

b. If you run the program and enter abc, abc will be displayed.

c. If you run the program and enter abc, nothing will be displaye

d. The program runs without errors.

d. If you run the program and enter abc, a runtime error will occur, because p is used without being initialized.

Key:d

#

18. What is the output of the following code?

#include

using namespace std;

int main()

{

int list[] = {10, 20, 30, 40};

cout << *(list + 1) <<""<< *list + 1 << endl;

return 0;

}

a. 10 10

b. 20 11

c. 30 30

d. 20 20

Key:b

#

19. What is wrong in the following code?

#include

#include

using namespace std;

int main()

{

vector v;

cout << v[0];

return 0;

}

a. The program has a compile error on v[0].

b. The program has a compile error on vector v.

c. The program has a runtime error on vector v.

d. The program has a runtime error on v[0], because the vector is empty.

Key:d

#

20. If you define the swap function as follows:

template

void swap(T &var1, T &var2)

{

T temp = var1;

var1 = var2;

var2 = temp;

}

You can invoke swap using ______.

a. int v1 = 1; int v2 = 2; swap(v1, v2);

b. swap(1, 2)

c. int v1 = 1; int v2 = 2; swap(&v1, &v2);

d. int v1 = 1; double v2 = 2; swap(v1, v2);

Key:a

#

21. To add an int value 5 to a vector v of integers, use _________.

a. v.insert(5);

b. v.add(5);

c. v.append(5);

d. v.push_back(5);

Key:d

#

22. Suppose you declare int value = 99, to write it to a binary file, use ________.

a. binaryio.write(reinterpret_cast(value));

b. binaryio.write(reinterpret_cast(&value));

c. binaryio.write(value);

d. binaryio.write(reinterpret_cast(value), sizeof(value));

e. binaryio.write(reinterpret_cast(&value), sizeof(value));

Key:e

#

23. What do the following statements do?

ifstream stream;

stream.open("scores.txt");

a. Open a file for output, the statement fails if the file already exists.

b. Open a file for output, the contents of the file is destroyed if the file already exists.

c. Open a file for input.

d. Open a file for input, the statement fails if the file does not exist.

Key:c

#

24. Which of the following is an abstract function?

a. virtual double getArea() = 0;

b. virtual double getArea();

c. double getArea();

d. double getArea() = 0;

Key:a

#

25. What is the printout of the following code?

#include

using namespace std;

class C

{

public:

virtual string toString()

{

return "C";

}

};

class B: public C

{

string toString()

{

return "B";

}

};

class A: public B

{

string toString()

{

return "A";

}

};

void displayObject(C p)

{

cout << p.toString();

}

int main()

{

displayObject(A());

displayObject(B());

displayObject(C());

return 0;

}

a. BBB

b. CCC

c. ABC

d. CBA

e. AAA

Key:b

#

26. Suppose that statement3 throws an exception of type Exception3 in the following statement: try {

statement1;

statement2;

statement3;

}

catch (Exception1 ex1)

{

}

catch (Exception2 ex2)

{

}

catch (Exception3 ex3)

{

Statement4;

throw;

}

statement5;

Which statements are executed after statement3 is executed?

a. statement1

b. statement4

c. statement5

d. statement2

e. statement3

Key:b

#

27. What is wrong in the following code?

vector v;

v[0] = 2.5;

a. The program has a compile error because there are no elements in the vector.

b. The program has a runtime error because there are no elements in the vector.

c. The program has a runtime error because you cannot assign a double value to v[0].

d. The program has a compile error because you cannot assign a double value to v[0].

Key:b

#

28. To create a map with int key type and string value, use _______.

a. map map1

b. map map1

c. map map1

d. map map1

Key:c

#

29. To obtain an iterator that points to the next element after the last element in a container, use _____.

a. c.end()

b. c.rend()

c. c.tail()

d. https://www.doczj.com/doc/478494918.html,st()

Key:a

#

30. To remove a specified element from a list v, use ________.

a. v.pop_back(element)

b. v.removeAt(0)

c. v.remove(element)

d. v.pop_back()

Key:c

#

31. Suppose array1 is {1, 2, 3, 4, 5}. What is the accumulate of array1?

a. 6

b. 15

c. 10

d. 3

Key:b

#

32. What is the printout of the following code?

int values[] = {1, 2, 3, 4, 4, 5, 1, 1};

rotate(values, values + 5, values + 8);

ostream_iterator output(cout, "");

cout <<"values: ";

copy(values, values + 8, output);

a. values: 1 1 2 3 4 4 5 1

b. values: 1 1 1 2 3 4 4 5

c. values: 4 5 1 1 1 2 3 4

d. values: 5 1 1 1 2 3 4 4

Key:d

二、Match the letter of the term with the following definitions. (每空2分,5空共10 分)

A. Derived class

B. Virtual function

C. Information hiding

D. Inheritance

E. Overloaded function

F. Base class

G. Static binding

H. Operator overloading

I. Dynamic binding J. Friend function K. Polymorphism

三、Show the output of the following program(每题9分,两题共18分)1.静态成员

2.构造函数/析构函数

#include

class A

{

public:

A(int i) { a=i; cout<<"类A的构造函数.\n"; }

A() { a=0; cout<<"类A的缺省构造函数.\n"; } ~A() { cout<<"类A的析构函数.\n"; }

void Print() const { cout<

int Geta() { return a; }

private:

int a;

};

class B : public A

{

public:

B() { b=0; cout<<"类B的缺省构造函数.\n"; } B(int i, int j, int k);

~B() { cout<<"类B的析构函数.\n"; }

void Print();

private:

int b;

A aa;

};

B::B(int i, int j, int k):A(i), aa(j)

{

b=k;

cout<<"类B的构造函数.\n";

}

void B::Print()

{

A::Print();

cout<

}

void main()

{

B bb[2];

bb[0] = B(1, 2, 5);

bb[1] = B(3, 4, 7);

for(int i=0; i<2; i++)

bb[i].Print();

}

3.函数/运算符重载

#include

class CharArray

{

public:

CharArray(int k)

{ Length = k;

Buff = new char[Length];

}

~CharArray() { delete Buff; }

int GetLength() { return Length; }

char & operator [](int i);

private:

int Length;

char * Buff;

};

char & CharArray::operator [](int i)

{

static char ch = 0;

if(i=0){

//cout<

return Buff[i];

}

else

{

cout<<"\nIndex out of range.";

return ch;

}

}

void main()

{

int cnt;

CharArray string1(6);

char * string2 = "stringabcd";

for(cnt=0; cnt<9; cnt++)

string1[cnt] = string2[cnt];

cout<<"\n";

for(cnt=0; cnt<9; cnt++)

cout<

cout<<"\n";

cout<

}

四、Programming Questions (3题共40 分)

1.Write a function that counts the number of letters in the string using the following header: int countLetters(const char s[])(8分)

Write a test program that reads a C-string and displays the number of letters in the string.

2.Write a function that converts an uppercase letter to lowercase. Use the following function header:char toLowerCase(char ch)(8分)

If the character is not an uppercase letter, the method simply returns the character itself. For example, toLowerCase('B') returns b and toLowerCase('5') returns 5. See Exercise 2.7 on how to convert an uppercase letter to lowercase. Write a test program that prompts the user to enter a character, invokes the function, and displays its return value.

3.Design a class named QuadraticEquation for a quadratic equation 02=++x bx ax . The class contains: (16分)

? Data fields a, b, and c that represents three coefficients.

? A constructor for the arguments for a, b, and c.

? Three get functions for a, b, and c.

? A function named getDiscriminant() that returns the discriminant, which is ac b 42-.

? The functions named getRoot1() and getRoot2() for returning two roots of the equation a ac b b r 2421-+-= and a ac b b r 2422---=

#include

using namespace std;

class QuadraticEquation

{

private:

int a;

int b;

int c;

public:

QuadraticEquation(double a, double b, double c)

: a(a), b(b), c(c)

{

double getA()

{

return a;

}

double getB()

{

return b;

}

double getC()

{

return c;

}

double getDiscriminant()

{

return b * b - 4 * a * c;

}

double getRoot1()

{

if (getDiscriminant() < 0)

return 0;

else

{

return (-b + getDiscriminant()) / (2 * a);

}

}

double getRoot2()

{

if (getDiscriminant() < 0)

return 0;

else

{

return (-b - getDiscriminant()) / (2 * a);

}

}

};

int main()

{

cout <<"Enter a, b, c: ";

double a, b, c, discriminant, r1, r2;

cin >> a >> b >> c; QuadraticEquation equation(a, b, c); discriminant = equation.getDiscriminant(); if (discriminant < 0)

cout <<"The equation has no roots"<< endl;

}

else if (discriminant == 0)

{

cout <<"The root is "<< equation.getRoot1() << endl;

}

else // (discriminant >= 0)

{

cout <<"The roots are "<< equation.getRoot1() <<" and "

<< equation.getRoot2() << endl;

}

return 0;

}

4.Write a program to create a file named temp.txt if it does not exist. Write one hundred integers created randomly into the file using text I/O. Integers are separated by spaces in the file. Read the data back from the file and display the sorted data.(16分)

5.Design a class named Triangle that extends GeometricObject. The class contains: (16分)

?Three double data fields named side1, side2, and side3 with default values 1.0 to denote three sides of the triangle.

? A no-arg constructor that creates a default triangle.

? A constructor that creates a rectangle with the specified side1, side2, and side3.

?The accessor functions for all three data fields.

? A function named getArea() that returns the area of this triangle.

? A function named getPerimeter() that returns the perimeter of this triangle.

游戏程序设计

游戏程序设计(课程设计) 姓名:xx 学号:xxx 专业:软件工程

手机游戏的发展 目前市场上的手机游戏还是主要以单机Java游戏为主,采用注册码方式,或者是下载收费。从应用软件到游戏,都在遭受破解、盗版的冲击,手机游戏也避免不了。有部分Free wap网站依靠提供免费的破解游戏获得了增长,在手机游戏销售困难的现实情况下,中国移动的百宝箱提供了一个供手机游戏厂商发展的空间,但在位置营销的浅规则和Free wap破解游戏满天飞的双重打击下,“劣币驱逐良币现象”随着时间的推移越来越明显,百宝箱里面充斥着大量没有价值和同质化严重的手机游戏(包括应用),精品越来越少。在这一个舞台上,站到最后的厂商没有一个是真正的赢家。痛定思痛,中国移动终于在2008年调整了百宝箱规则。财大气粗的盛大在04年收购了知名的手机游戏厂商“数位红”,希望借此称霸无线无联网,但手机游戏的春天一直迟迟未到。 在地铁,机场和车站,我们可以看到越来越多的人低头玩着手机游戏,伴随着不断变化的表情,或皱眉或微笑.当我们购买新的手机,也会发现越来越多嵌入手机系统的娱乐功能,特别是各种精彩的游戏.手机已经成为许多人生活的一部分,人们也渐渐习惯于将手机作为新的娱乐工具. 越来越多的人陶醉于手机游戏带来的新鲜体验.由于手机的便携性,使得手机游戏随着手机的普及在全世界风行起来.到2003年,以中国大陆为例,手机在人们的生活中已经扮演着举足轻重的角色——平均每5人1部手机的拥有量首次超越了固定电话,随身携带手机成了很多人自然而然的习惯.截止2003年的第四个季度,中国手机用户突破了2.5亿大关,手机成为使用最频繁的通信工具,进而引爆了手机娱乐这个巨大的市场. 而今的手机游戏种类繁多.最常见的是已经内嵌在手机中,比如很多品牌手机提供的"贪食蛇"游戏.这些是由手机制造商开发,在出厂前就直接固化在手机中的游戏,用户既不能添加也无法删除,当然玩的时候也无需付费.第二种游戏也是提前固化在手机中,比如常见的移动QQ,但这种游戏是游戏商和手机厂商合作的结果,用户在玩游戏的时候需要支付一些费用.还有一种则是供用户自行选择下载的游戏,用户可以根据自己的兴趣爱好和手机的硬件支持来决定下载某一款游戏,或是删除已经下载的游戏.通过这种方式,在手机有限的系统资源限制下,用户可以不断地体验新款游戏.由于可以满足用户的个性化需求,下载类游戏显示出了巨大的市场潜力,可能成为游戏产业新的增长点. 中国的两大移动通信运营商,中国移动和中国联通,都相继推出自己的下载业务,使用户可以方便地享受到最新的手机娱乐.以中国联通为例,2003年7月"神奇宝典"推出,这项业务基于CDMA1X网络,以BREW为运行平台,用户通过支持BREW业务的手机可以方便地实现程序的购买,下载,安装以及使用.对于游戏玩家来说,既可以方便地下载单机游戏,也可以随意与其他高手在线游戏,实现一部手机在手,随时随地娱乐的功能. 面对巨大的市场商机,软硬件厂商和运营商合作制定了相关标准,用来推广无线手机游戏.在3G移动通信技术还没有大规模推出的今天,部分国家的无线互联网技术及其应用已经迅速地发展起来,其中的代表是欧洲的WAP和日本的"i-mode".相比之下,WAP技术无论在中国,还是在最早推行的欧洲,用户增长都没有达到预期值,可以说叫好而不叫座.而在日本,NTT DoCoMo公司的另外一种移动互联网模式"i-mode"却取得了令世人瞩目的成绩.自从"i-mode"于1999年2月推出以来,日本已经成为世界上发展最快的互联网市场.据NTT

面向对象程序设计教程 (马石安版)

第1章习题答案 名词解释 抽象:抽象(Abstract)就是忽略事物中与当前目标无关的非本质特征,而强调与当前目标有关的本质特征,从而找出事物的共性,并把具有共性的事物划为一类。面向对象方法中的抽象,是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。 封装:面向对象方法中的封装就是把将抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。 消息:消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。 填空题 (1) 面向过程的结构化程序设计方法面向对象程序设计方法 (2) 顺序选择循环 (3) 程序=数据结构+算法程序=对象+消息 (4) 过程类 (5) 抽象性封装性继承性多态性 选择题 (1) B (2) C (3) D (4) C (5) D (6) A (7) A (8) B C (9) A D 判断题 (1) t (2) f (3) f (4)f (5) t (6) f (7) f (8) t 简答题 (1) 结构化程序设计方法着眼于系统要实现的功能,从系统的输入和输出出发,分析系统要做哪些事情,进而考虑如何做这些事情,自顶向下地对系统的功能进行分解,来建立系统的功能结构和相应的程序模块结构,有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。 随着程序规模与复杂性的增长,这种面向过程的结构化程序设计方法存在明显的不足之处。首先是数据安全性问题,由于数据被每个模块所共用,因此是不安全的,一旦出错,很难查明原因。其次是可维护性及可重用性差,它把数据结构和算法分离为相互独立的实体,一旦数据结构需要改变时,常常要涉及整个程序,修改工作量极大并容易产生新的错误。每一种相对于老问题的新方法都要带来额外的开销。另外,图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难。 (2) 面向对象的程序设计方法中,将程序设计为一组相互协作的对象(Object)而不是一组相互协作的函数。在程序中,属性用数据表示,用来描述对象静态特征;行为用程序代码实现,用来描述对象动态特征。可见,在面向对象的程序设计方法中,对象是数据结构和算法的封装体。对象之间存在各种联系,它们之间通过消息进行通信。程序可表示为: 程序=对象+消息 在面向对象程序设计中,它着重于类的设计。类正是面向对象语言的基本程序模块,通过类的设计,来完成实体的建模任务。类通过一个简单的外部接口,与外界发生关系。一个类中的操作不会处理到另一个类中的数据,这样程序模块的独立性、数据的安全性就有了良好的保障。程序的执行取决于事件发生的顺序,由顺序产生的消息来驱动程序的执行。不必预先确定消息产生的顺序,更符合客观世界的实际。并且面向对象程序设计方法提供了软件重用、解决大问题和复杂问题的有效途径,具有抽象性、封装性、继承性和多态性等特点。

学生核心能力培养与程序设计技术的联想

、 学生核心能力培养与程序设计技术的联想 郭霏霏、福建泉州、泉州理工职业学院、362000【摘要】2016年9月13日,《中国学生发展核心素养》正式发布。中国学生发展核心素养以科学性、时代性和民族性为基本原则,以培养“全面发展的人”为核心,分为文化基础、自主发展、社会参与三个方面,综合表现为人文底蕴、科学精神、学会学习、健康生活、责任担当、实践创新六大素养。面向世界、面向未来的卓越工程师培养计划提出,当代大学生所应具备的核心能力为:家国情怀、创新创业能力、跨学科交叉融合、批判性思维、全球视野、自主终身学习、沟通与协商、工程领导力、环境与可持续发展能力、数字化能力。其中大多数能力都是可以通过学习程序设计技术,进而达到培养目标。本文通过核心能力培养与程序设计技术的联想,探讨在新信息技术时代或者称为人工智能时代即将到来之际,程序设计技术在各年龄段、各专业人才培养中的重要性。 【关键词】编程教育、培养目标、教育方法、核心能力 近些年来,随着人工智能、大数据、云计算、物联网等新信息技术的快速发展,计算机程序设计教育培训又火爆起来,沉寂很长一段时间的各类培训机构又如雨后春笋般“冒”了出来。不过,现在这些机构的服务面向有了很大不同,变得更为关注青少年群体、更加重视思维方法训练、教育模式更丰富多样。在美国,编程已进入幼儿园和中小学课堂,是备受欢迎的课程之一;在英国,编程被列入国家教学大纲,成为6~15岁孩子的必修课;2016年6月,我国教育部印发《教育信息化“十三五”规划》,将信息化教学能力纳入学校办学水平考评体系;2017年1月,《义务教育小学科学课程标准》提出将对小学科学课程标准进行修订完善;另外浙江新高考改革将信息技术加入高考选考科目;2018年,教育部中学新课标方案发布,人工智能进课堂,编程技术入高考。说明计算机程序设计技术已经不再是专业和职业特有知识技能,而是逐步成为全民化的常识之一。为什么计算机程序设计会从IT行业特有技术转向全民化,呆板、固执、睡眠严重不足的“程序猿”形象不再成为人们拒入这个行业的原因作为一名从事应用软件开发和计算机专业教育16年的“老猿”,我认为这是自然选择的结果,程序设计技

初二信息技术程序设计教案

第1章程序设计入门 第1节程序设计简介(2课时) 【教材内容】1计算机程序并不神秘 1.1什么是程序 1.2体验计算机程序 2程序设计语言 2.1程序设计语言分类 2.2解释与编译 3程序设计的过程 4程序与软件 【教学目标】 1.知识与技能 (1)了解程序设计的基本概念和用变成方法解决问题的一般过程 (2)了解计算机软件与程序设计的密切关系 (3)了解程序设计语言的三种类型 (4)掌握环境下编写程序的一般步骤 2.过程与方法 (1)通过实例让学生体会程序设计的基本过程与方法,理解算法思想,会用自然语言或流程图表达一些具体问题的算法。 (2)通过对现实问题的分析与解决,让学生认识到生活中到处是程序,而程序解决的往往就是生活中的现实问题,培养学生利用计算机解决实际问题的能力。 3.情感态度与价值观

(1)体验程序设计的内涵及魅力,产生对程序设计的求知欲,形成积极主动地学习态度。 (2)通过问题的分析与解决,帮助学生克服程序设计的畏难情绪,培养他们严谨、缜密、科学的程序设计作风。 【教学重难点】 程序设计的基本概念与学习程序设计的意义。 【教学方法】启发式、任务驱动、演示、实例、实践操作 【教学过程】 程序设计简介第一课时 一、问题导入,揭示教学内容 大家有没有玩过电脑游戏?有没有同学想过自己设计和编写游戏? 游戏就是程序,要想设计、制作游戏,就应该学习“设计程序”。今天我们一起来认识和了解程序,它并不神秘,相反它会给我们带来很多乐趣。 二、趣味问题,了解什么是程序 问题1:猎人带着一只狼、一头羊和一些白菜过河,但渡船太小,一次只能带一样。因为……(课件展示问题) 学生:读题、小组讨论、得出解题思路、方法讲解(自然语言描述、符号描述……) 问题2:赵本山、宋丹丹小品,如何把大象关进冰箱 学生:方法讲解(自然语言描述、……) 总结:概括来说程序是有逻辑,有顺序的步骤的组合。开电脑,走路,吃饭,上课都是一系列步骤的有序有逻辑组合。 通过这些有序的指令(自然语言、符号语言等)完成了一项具体的工作,这些指令的集合就是程序。 问题3:体验计算机程序 利用语言编写的“三角形面积”程序(课件展示问题及具体的语句)

计算机程序设计技术证书考试大纲

二维动画设计工程师技术水平证书( Flash) 考试大纲 一、考试性质、目的和要求: (1) 考试性质和目的 本考试的目的在于使合格人员熟悉运用Flash 软件进行二维动画设计的基础知识、基本概念、基本制作与应用等方面的基础知识,掌握计算机二维动画设计(FLASH)基本技能,以便考生达到计算机二维设计工程师的水平。 (2) 考试的基本要求 1) 掌握计算机二维动画制作的基本概念 2) 熟悉计算机二维动画的发展前景与市场需求,制作软件的操作原理,应熟练掌握。 3) 以动态动画为基础,掌握主要Flash 的功能及应用特点 4) 熟练掌握基础动画的制作方法,能够根据实际应用进行影视动画和网页动画的制作。 5) 熟悉场景应用特点,能够根据相应的动画效果进行制作。 6) 熟悉场景动画主要特点,能够根据需要制作出基本的场景动画。 7) 掌握动作和基本脚本工作原理,能够根据应用需要选择、配置动画交互效果。 8) 根据网站动画的需要,能熟练制作出相应的网页动画与Flash 按钮,以达到为网页增强视觉效果。 二、适应岗位 二维动画工程师/网页动画工程师 1. 具备Flash 动画制作的基本知识; 2. 可以完成场景动画元素的规划、设计、绘制与调试; 3. 可对网页的实际需求,制作出相应风格的动画、按钮。 三、考试说明 1.考试形式: 应用工业和信息化部电子教育与考试中心考试系统,上机考试。 2.考试分值比例: 二维动画设计(Flash)工程师技术水平证书考试试卷由理论考试和实践考试两部分组成。试卷总分值为 100 分,其中理论题占25 分,实践题占75 分。 3.考试时间:150 分钟。 4.考核目标: 全面考察学生对于计算机二维动画基础知识、时间轴、逐帧动画、位移动画、形变动画、蒙版动画、脚本动画,以及与原画创作思想等知识的掌握程度。 四、考试内容 一:基本操作与移位动画 1、软件的概述 2、操作界面 3、椭圆工具的使用 4、更改椭圆的颜色 5、如何将散件装换为元件 6、帧的概念 7、帧速率 8、矩形工具与多边形工具的使用 9、圆角矩形的调整

面向对象程序设计教程答案

面向对象程序设计教程(C++语言描述)题解与课程设计指导 第1章 面向对象程序设计概论 一、名词解释 抽象封装消息 【问题解答】 面向对象方法中的抽象是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。 面向对象方法中的封装就是把抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。 消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。 二、填空题 (1)目前有面向过程的结构化程序设计方法和面向对象的程序设计方法两种重要的程序设计方法。 (2)结构化程序设计方法中的模块由顺序、选择和循环3种基本结构组成。(3)在结构化程序设计方法中,程序可表示为程序=数据结构+算法;而面向对象的程序设计方法,程序可表示为程序=对象+消息。

(4)结构化程序设计方法中的基本模块是过程;而面向对象程序设计方法中的基本模块是类。 (5)面向对象程序设计方法具有抽象性、封装性、继承性和多态性等特点。 三、选择题(至少选一个,可以多选) (1)面向对象程序设计着重于( B )的设计。 A. 对象 B. 类 C. 算法 D. 数据 (2)面向对象程序设计中,把对象的属性和行为组织在同一个模块内的机制叫做(C )。 A. 抽象 B. 继承 C. 封装 D. 多态 (3)在面向对象程序设计中,类通过( D )与外界发生关系。 A. 对象 B. 类 C. 消息 D. 接口 (4)面向对象程序设计中,对象与对象之间的通信机制是(C )。 A. 对象 B. 类 C. 消息 D. 接口 (5)关于C++与C语言的关系的描述中,(D )是错误的。 A. C语言是C++的一个子集 B. C语言与C++是兼容的 C. C++对C语言进行了一些改进 D. C++和C语言都是面向对象的 【结果分析】 C语言是面向过程的。C++语言是一种经过改进的更为优化的C语言,是一种混合型语言,既面向过程也面向对象。 (6)面向对象的程序设计将数据结构与( A )放在一起,作为一个相互依存、不可分割的整体来处理。

实验一 多道程序设计技术

实验一多道程序设计技术 一.实验内容步骤 1.首先观看DOS单道运行方式 MS-DOS是个单用户、单任务的操作系统。主机任何时候只能接纳和运行一个程序。在Windows中保留了MS-DOS。从桌面的“开始”→“程序”→“附件”→“命令提示符”,便进入了MS-DOS。该系统以命令提示符为交互界面。显示命令提示符C:\>,读者可以逐条地写出程序名字,要求系统为之执行。比如发CD,要求系统报告用户的当前目录。发DIR,要求报告当前目录所包含的文件(包括子目录)名。发DATE,要求系统报告当天日期,等等。 系统将会以一问一答的方式跟用户交互。用户以命令提示符作为发命令的依据;系统则以用户发作为命令结束符的“回车符”开始执行程序。当前程序没有执行完就不会给提示符,因而不能输入另一条命令。程序单道地、串行地执行。 最后,在命令提示符下发命令exit,退出MS-DOS,回到Windows桌面。 2. 观看多道程序同时执行 在Windows环境下可以有多种方式同时启动多个程序执行。比如,我现在用word在写文档,同时又启动了“媒体播放器”在播放音乐,word和“媒体播放器”都在工作。也可以先后启动word执行两次,一次帮我编辑第1章文稿,另一次让word调出初版时的第1章,以便对照修改。可以让两个word的窗口平铺在显示屏幕上,由此可以确信一个word 程序同时对应两个任务。不过两个窗口都要交互输入,所谓“输入焦点”只有一个。只要用鼠标点击当前需要输入的窗口,就可以激活它,从而取得输入焦点。 许多同学都有陆续启动3个以上程序同时执行的体验,一面看新闻,一面听音乐,一面还要与朋友QQ。

面向对象程序设计教程答案

面向对象程序设计教程(C++吾言描述)题解与课程设计指导 面向对象程序设计概论 一、 名词解释 抽象封装消息 【问题解答】 面向对象方法中的抽象是指对具体问题(对象)进行概括,抽出一类对象的公 共性质并加以描述的过程。 面向对象方法中的封装就是把抽象出来的对象的属性和行为结合成一个独立的 单位,并尽可能隐蔽对象的内部细节。 消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对 象要求另一个对象实施某种操作的一个请求。 二、 填空题 ( 1) 目前有面向过程的结构化程序设计方法和面向对象的程序设计方法两种 重要的程序设计方法。 (2) 结构化程序设计方法中的模块由顺序、选择和循环 3 种基本结构组成。 ( 3) 在结构化程序设计方法中,程序可表示为程序 =数据结构 +算法; 而面向 对象的程序设计方法,程序可表示为程序 =对象 +消息。 ( 4) 结构化程序设计方法中的基本模块是过程; 而面向对象程序设计方法 中的基本模块是类。 ( 5) 面向对象程序设计方法具有抽象性、封装性、继承性和多态性等特点。 三、 选择题(至少选一个,可以多选) ( 1) 面向对象程序设计着重于( B )的设计。 A. 对象 B. 类 C. 算法 D. 数据 ( 2) 面向对象程序设计中,把对象的属性和行为组织在同一个模块内的机制 叫做( C )。 A. 抽象 B. 继承 C. 封装 D. 多态 ( 3) 在面向对象程序设计中,类通过( D )与外界发生关系。 A. 对象 B. 类 C. 消息 D. 接口 ( 4) 面向对象程序设计中,对象与对象之间的通信机制是( C )。 A. 对象 B. 类 C. 消息 D. 接口 (5)关于C++与 C 语言的关系的描述中,(D )是错误的。 A. C 语言是C++勺一个子集 B. C 语言与C++是兼容的 C. C++对C 语言进行了一些改进 D. C++和C 语言都是面向对象的 【结果分析】 C 语言是面向过程的。C++吾言是一种经过改进的更为优化的 C 语言,是一种混 合型语言,既面向过程也面向对象。 ( 6) 面向对象的程序设计将数据结构与( A )放在一起,作为一个相互依 存、不可分割的整体来处理。 A. 算法 B. 信息 C. 数据隐藏 D. 数据抽象 第1

面向对象与面向过程程序设计方法的比较

面向对象与面向过程程序设计方法的比较摘要:区别于一般讲述面向对象技术的文章,本文系统地比较了面向对象技术和面向过 程技术的异同,并着重介绍面向对象技术以及它的封装、继承和多态三个特点,让读者对面向对象有一个形象的理解。然后通过比较和举例,文章分析了OO技术在软件工程中的三大优势。 Abstract:Being different from general articles about object-oriented technology , this paper systematically compared the object-oriented technology and the process-oriented technology, and mainly introduces the object-oriented technology and its three characteristics :packaging, inheritance and polymorphism, to make the reader have an image of understanding of object-oriented. Then through the comparison and some examples, this paper analyzes the OO based software engineering in three points. 关键字:面向对象面向过程软件工程 Key words:Object-Oriented Process-Oriented Software-Engineering 一引言 20世纪60年代中期开始爆发的软件危机,使人们认识到大中型软件系统与小型软件系统的本质区别,软件工程以及面向对象编程(Object-Oriented Programming)技术得以应运而生。从最初的SIMULA到如今的C++、JAVA和C#,面向对象程序设计语言已发展为当前最流行的程序设计语言。 谈到面向对象,一个不能回避的问题是面向过程的程序设计思想。作为一种常用的面向对象语言,C++自C语言发展而来,是一种混合型面向对象的程序设计语言,它既支持面向对象又支持面向过程。面向对象与面向过程虽然在设计理念上截然相反,前者是自底向上而后者是自顶向下的,但它俩仍有众多的相似之处。只有建立在深入理解二者的关系的基础上,我们才算是真正驾驭了面向对象与面向过程技术,以便在未来将它们熟练地运用于学习和生活中。 二面向过程的程序设计方法 著名的计算机科学家Nikiklaus Wirth提出了一个公式:程序=算法+数据结构。这个公式很好地诠释了面向过程程序设计方法的核心思想——算法和数据。 更加具体地说,面向过程的程序设计方法称为功能分解,即自顶向下。以两个人下五子棋为例,面向过程的设计方法是先决定二人中谁先手,然后是先手者下一子,判断游戏是否结实,后手者下一子,判断游戏是否结束……可以看到无论是猜先、落子还是最后的判胜负,它们都是一场五子棋游戏中不能再分割的逻

江苏省苏州市第二十六中学八年级信息技术《程序设计简介》教案 苏教版

苏州市第二十六中学备课纸第 页 教学课题程序设计简介 教学目标 1、了解程序设计语言的分类。 2、掌握程序设计的过程。 3、了解程序与软件的关系。 教学准备 网络教室、课件 集体备课意见和主要参考资料 教学参考书 页边批注苏州市第二十六中学备课纸第页

教学过程 页边批注 〖讲 授新课〗 一、程序设计语言的分类 程序设计语言可以分为机器语言、汇编语言和高级语言三种类型。 1、机器语言 例:51+53 由10110000 00110011 10110010 00110101 00000000 11000010六个二进制指令代码所组成。 优点:机器语言执行效率高。 缺点:记不住、难理解、效率低、不易维护。 2、汇编语言 例:51+53 指令代码为:MOV AL,33H MOV DL,35H ADD DL AL 优点:易理解。 缺点:大型程序难以开发,依赖于具体计算机。 3、高级语言 例:51+53 Let a=51 Let b=53 Let s=a+b Print s 目的:克服汇编语言的缺陷,提高编程和维护的效率 特点:接近人们日常使用的自然语言(主要是英语)容易理解、记忆和使用可在不同计算机上 通用对使用的符号、词汇、语法和语义等各种语言成分都有严格的规定 意义:使程序设计的难度降低,导致了计算机的发展进入新的阶段。 常用高级语言种类:适用于数值计算的FORTRAN语言 易学好用的BASIC语言 适用于编写系统软件的C语言。 解释与编译:用高级语言编写的程序必须先翻译成二进制代码,计算机才能识别和执行, 具体的翻译有解释和编译两种方式。 二、程序设计的过程 确定算法编制程序调试程序 举例:编写计算半径为8.5cm圆的周长和面积的程序。 步骤1、任务分析 利用求圆周长公式L=2πR和求圆面积公式S=πR2 编写程序。

游戏程序设计报告

2011年6月3日 第一章引言 (1) 1.1研究背景 (1) 第二章需求分析与系统设计 (2) 2.1设计目的 (2) 2.2设计要求 (3) 2.3实现功能 (3) 2.4界面设计 (4) 2.5详细设计 (4) 2.6结构模块 (6) 第三章开发平台及开发技术 (6) 3.1J2ME基础知识 (6) 3.2开发工具和环境搭配 (6) 3.2.1开发工具 (6) 3.2.2环境搭配 (7) 第四章模块具体实现以及主要动画触发解释 (7) 4.1key代码 (7) 4.2electricity代码 (9) 第五章心得体会 (11)

第一章引言 1.1研究背景 Green foot是针对那些想让自己熟悉如何使用JAVA的人而设计的,是一个功能完整的开发环境,可以使用Java方便地编写游戏和进行模拟。它还可以被用来作为Java语言的教程,以及设计网络游戏,可以实用于所有年龄段的用户,而不仅仅是初学者。最主要的是Green foot和BlueJ系统一样,对任何用途 都是免费的。这个系统以及它的文档可以重新发布而不需要任何费用,为使用和学习JAVA的朋友提供了一个很好的环境。 Greenfoot可以认为是一个用java语言创建二维图形程序的框架和IDE的结合体,很适合初学者使用。Greenfoot支持java的全部特性,它特别适合练 习可视化组件的编程。在Greenfoot中,对象的可视化和对象的交互性是关键。 在Greenfoot的帮助之下一些软件游戏的开发变得很简单。我这次开发 的是一款益智类的游戏。我希望通过自己的所学知识把它剖析开来,真正的 了解它的本质和精髓。虽然我的编程能力不是很强,但是我有信心,在这次学 习中我将从实践和实际的项目中提高自己的编程能力。 第二章需求分析与系统设计 2.1设计目的 通过本学期对游戏程序的研究,我们掌握了运用greenfoot来制作游 戏的技术,虽然不娴熟还有待提高,但是一些技术含量较低的小游戏还是很容易让我们掌握的。 此次游戏程序设计的目的,主要是通过greenfoot来制作游戏来更好 的掌握java语言。通过greenfoot这个平台,熟习greenfoot在制作游戏 方面所需要的技巧,将自己的游戏尽可能多的运用所学到的技术,并且将在

程序设计技术复习提纲

《程序设计技术B》复习提纲(2013) 第1章C语言与程序设计 1.学习“C语言程序设计”主要包括哪两个方面? 语法规则、程序设计方法; 2.计算机解题的过程大致分为哪四个阶段? 分析问题、设计算法、编写程序、运行验证; 3.什么是算法?算法有哪些表示方法?传统流程图的常用图形符号有哪些? 4.结构化程序设计思想的要点是什么?有哪三种基本结构? 自顶向下、逐步求精;顺序、选择、循环; 5.习题一:一题 第2章C语言基本概念 6.C程序的构成?C语句以什么结束?如何为程序加注释? 一个main函数和若干其它函数; 7.何谓关键字?ANSI C定义的关键字有哪些? 语言中被赋予特定含义的单词符号;32个…… 8.什么是标识符?标识符的命名规则? 程序中的变量、符号常量、数组、函数、类型、文件等对象的名字;在C语言中,标识符只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线; 9.C语言的基本类型有哪几种?写出类型名? 整型、浮点型、字符型、枚举型;int、float、char、enum; 10.什么是常量?什么是变量?C语言中有哪四种常量,如何表示? 整数常量、浮点数常量、字符常量、字符串常量;

11.C语言的变量要“先定义,后使用”,如何定义变量?变量有哪3个要素? 变量名、存储单元、变量值; 12.掌握常用的运算符(算术运算符、赋值运算符、逗号运算符、条件运算符、关 系运算符和逻辑运算符)的运算优先级和结合性以及表达式的计算过程? 13.了解混运算时数据类型的转换? 14.习题二:一题 第3章程序控制结构 15.C语言语句可以分为哪五种类型? 达式语句、函数调用语句、控制语句、复合语句、空语句; 16.赋值语句的一般形式?赋值语句的功能?什么情况下要使用赋值语句? 17.掌握字符输入输出函数:getchar()和putchar()的使用? 18.掌握格式输入输出函数:scanf()和printf()的使用?格式说明:%d、%f、%c 和%s的含义? 19.掌握if语句和switch语句的语法结构和使用? 20.掌握while语句、do-while语句和for语句的语法结构和使用? 21.了解break语句和continue语句的作用? 22.例题:3-17、3-19、3-21、3-26、3-31 23.习题三:一、1,2,3,4,6,7,9,11,12,14,15,20,21,22,24,26,27,28,29,30二、 1,2,3,4,6,7,10,12,15,20三、1,4 四、1,4,6,8 第4章数组和字符串 24.什么是数组?程序设计中数组的作用?数组下标是从几开始的整数? 25.掌握一维数组和二维数组的定义和初始化方法? 26.掌握字符数组初始化和使用?(字符数组主要用来存储字符串)

第三章 面向对象程序设计(答案)

学号:姓名: 第三章面向对象程序设计作业 一、判断题 1、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。对 2、如果类A和类B在同一个包中,则除了私有成员外,类A可以访问类B中所有的成员。对 3、接口中的成员变量全部为常量,方法为抽象方法。对 4、抽象类可以有构造方法,可以直接实例化。错 5、对static方法的调用可以不需要类实例。对 6、包含抽象方法的类一定是抽象类。对 7、方法中的形参可以和方法所属类的属性同名。对 8、接口无构造器,不能有实例,也不能定义常量。错 9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃圾的回收。对 10、Java应用程序的入口main方法只有一种定义法。对 二、选择题 1、下列答案正确的是(A) A) 在同一个Java源文件中可以包含多个类,只能有一个被声明为public B) 在同一个Java源文件中只能包含一个类,并被声明为public C) 在同一个Java源文件中可以包含多个类,都可以被声明为public D) 在同一个Java源文件中可以包含多个类,只能有一个被声明为default 2、Java实现动态多态性是通过(B)实现的。 A) 重载B) 覆盖 C) 接口D) 抽象类 3、下列哪一个是正确的方法重载描述(A) A) 重载方法的参数类型必须不同 B) 重载方法的参数名称必须不同 C) 返回值类型必须不同 D) 修饰词必须不同 4、final关键字不可以用来修饰(D) A) 类B) 成员方法 C) 域D) 接口 5、接口的所有成员方法都具有(B)属性 A) private, final B) public, abstract C) static, protected D) static 6、Java的封装性是通过(A)实现的 A) 访问控制B) 设计内部类 C) 静态域和静态方法D) 包 7、下列接口或类不属于java.util.*包的是(D) A) Collection B)Vector C) MapD) Integer 8、下述哪一组方法,是一个类中方法重载的正确写法?(A) A) int addValue( int a, int b ){return a+b;}

面向对象程序设计教程答案

面向对象程序设计教程( C++语言描述) 题解与课程设计指导 第1章 面向对象程序设计概论 一、名词解释 抽象封装消息 【问题解答】 面向对象方法中的抽象是指对具体问题( 对象) 进行概括, 抽出一类对象的公共性质并加以描述的过程。 面向对象方法中的封装就是把抽象出来的对象的属性和行为结合成一个独立的单位, 并尽可能隐蔽对象的内部细节。 消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。 二、填空题 ( 1) 当前有面向过程的结构化程序设计方法和面向对象的程序设计方法两种重要的程序设计方法。 ( 2) 结构化程序设计方法中的模块由顺序、选择和循环3种基本结构组成。 ( 3) 在结构化程序设计方法中, 程序可表示为程序=数据结构+算法; 而面向对象的程序设计方法, 程序可表示为程序=对象+消息。

( 4) 结构化程序设计方法中的基本模块是过程; 而面向对象程序设计方法中的基本模块是类。 ( 5) 面向对象程序设计方法具有抽象性、封装性、继承性和多态性等特点。 三、选择题( 至少选一个, 能够多选) ( 1) 面向对象程序设计着重于( B ) 的设计。 A. 对象 B. 类 C. 算法 D. 数据 ( 2) 面向对象程序设计中, 把对象的属性和行为组织在同一个模块内的机制叫做( C ) 。 A. 抽象 B. 继承 C. 封装 D. 多态 ( 3) 在面向对象程序设计中, 类经过( D ) 与外界发生关系。 A. 对象 B. 类 C. 消息 D. 接口 ( 4) 面向对象程序设计中, 对象与对象之间的通信机制是 ( C ) 。 A. 对象 B. 类 C. 消息 D. 接口 ( 5) 关于C++与C语言的关系的描述中, ( D ) 是错误的。A. C语言是C++的一个子集 B. C语言与C++是兼容的 C. C++对C语言进行了一些改进 D. C++和C语言都是面向对象的【结果分析】

初中信息技术《VB程序设计》教案

《VB程序设计》教案 教学目标 知识目标:1、了解程序开发的一般步骤;2、掌握VB常见控件的用法;3、掌握一些常见函数的用法。 技能目标:学会使用控件、常见函数、简单的VB语句编写程序,来解决生产、生活中的一些简单问题。 情感、态度与价值观目标:通过本单元的学习,培养学生严谨的思维习惯,培养编程兴趣和编程意识,从而提高学生分析问题、解决实际问题的能力。 教学重难点 1、VB常见控件的用法,常见函数的用法。 2、使用控件和函数解决实际问题。 教材分析 本单元共八课,讲述了VB程序设计的基础知识,以及简单的VB程序设计,VB6.0的全称是Visual Basic6.0,是微软公司推出的可视化编程工具,是一种应用较为广泛的程序开发工具。它的语法简单易学,开发程序速度快,开发环境体贴便利,是一款优秀的编程工具,是初学者的首选。 第一课大熊猫的两个愿望介绍了VB6.0的界面和整体功能。 第二课自我介绍主要介绍了开发程序的一般过程,以及几种常见控件:TextBox、单选等。 第三课谜语大擂台(一)字符串的概念,字符串的合并运算,设置窗体属性的方法,使用Timer控件、Image控件,Val()、Cstr()、Timer$、vbCrLf常数。 第四课节约用水算水价使用IF条件选择语句,解决简单的问题,学会使用算术运算符进行四则运算代码设计。 第八课我的媒体播放器通用对话框(CommomDialog)控件、多媒体(MMControl)控件。 学情分析 学生通过上一单元“算法思想初步”的学习,对程序设计已经有了初步的了解,已经会使用E语言编辑简单的中文程序,而且表现出的兴趣比较高。但本单元较上一单元难度加大很多,虽然都是编程,但方式方法有很大不同,所以要积极调动学生的积极性。

贪吃蛇游戏程序设计一课程设

贪吃蛇游戏程序设计__ 一、课程设.txt 同志们:别炒股,风险太大了,还是做豆腐最安全!做硬了是豆腐干,做稀了是豆腐脑,做薄了是豆腐皮,做没了是豆浆,放臭了是臭豆腐!稳赚不亏呀!贪吃蛇游戏程序设 计 一、课程设计任务贪吃蛇小游戏程序设计 二、设计要求通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合 理的运用资料,实现理论与实际相结合。 (1).收集资料,分析课题,分解问题,形成总体设计思路;(2).对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具体介绍; (3).上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行;(4).完成课程设计报告,并进行答辩 三、需求分析3.1 、程序功能 贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。 3.2 、设计思想程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画矩形块和覆盖矩形块。为了便于理解,定义两个结构体:食物与蛇。3.3 、流程图 开始 初始化界面和蛇身 放置食物 蛇开始运动 蛇吃到食? 蛇长大 蛇死亡? 继续? 退出界面 N Y N

2016年电大面向对象程序设计技术-作业题

2015秋季学期计算机科学与技术本科 《面向对象程序设计技术》作业题 (在电大在线该课程讨论区跟帖提交,注明姓名和学号以记录成绩)选择题 1.可以在本类及派生类的成员函数中进行访问的访问控制修饰符是(B) A.private B.protected C.public 2.在IDE中将编程项目采用多文件结构下,类的定义一般放在(A) A.头文件 B.程序文件 C.主程序文件 3.内联成员函数在类外定义时要将其和类定义一起放在(A) A.头文件 B.程序文件 C.主程序文件 4.下面哪个内存区域是C++中的运行时动态内存分配区域?( D ) A.代码区 B.栈区 C.数据区 D.堆区 5.对象作为函数参数使用时,一般使用(A)形式 A.引用 B.指针 C.对象拷贝

6.同类的多个不同对象的数据成员值各有不同,但不同对象可以共享类的成员函数代码, 实际调用成员函数时,是通过(B )来区分不同对象的。 A.显式给出不同对象不同地址 B.隐含的this指针 C.引用 7.下面哪一种情况不会自动调用拷贝构造函数。(E) A.用一个对象初始化另一个对象时 B.当一个对象作为值传递给一个函数时 C.当一个对象作为值从一个函数返回之前,该对象被拷贝到栈区 D.函数调用结束后,栈区中的返回对象拷贝给主调程序的对象 E.建立指向对象的指针并初始化指针值时 8.下列哪些对象的数据成员类型可以不用初始化表的方式进行初始化(D) A.常量数据成员 B.引用数据成员 C.类中对象成员 D.一般数据成员 9.下列哪一种类设计一般无需在类中设计静态数据成员以使建立的多个对象共享静态数 据数据成员。( D ) A.一个链表类的头指针和尾指针 B.一个学生类中用于保存建立了多少个学生对象的计数器 C.银行帐号类中的年利率 D.一般只用于建立一个对象的类 10.一个类中的公有(public)性质的静态数据成员,以下哪一种访问方式是错误的(D) A.对象名.静态数据成员名 B.指向对象的指针—>静态数据成员名 C.类名::静态数据成员名 D.类名.静态数据成员名 11.下列哪一个运算符不能够被类所重载(E) A.“.”成员访问运算符 B.“*”成员指针访问运算符 C.“::”域运算符 D.“?:”条件运算符 E.“=”赋值运算符

福师《面向web应用程序设计》在线作业二15秋满分答案

福师《面向web应用程序设计》在线作业二 一、单选题(共25 道试题,共50 分。) 1. DataGrid控件的()属性设置设置获取当前页的索引号。 A. AllowPaging B. AutoGenerateColumns C. CurrentPageIndex D. AlloewCustomPaging ——————选择:C 2. XML的含义是(): A. 客户端脚本程序语言 B. 文档对象模型 C. 级联样式表 D. 可扩展标记语言 ——————选择:D 3. 下列()对象不能在页面间传送数据。 A. Applicaton B. Session C. ViewState D. 查询字符串 ——————选择:C 4. Application对象的初始化操作是在下列哪个文件中编写的( ) A. Global.asax B. Web.config C. WebForm 1.aspx D. WebForm 1.aspx.cs ——————选择:A 5. RequiredFieldValidator控件的ErrorMessage的属性用来()。 A. 设置错误信息 B. 设置到验证的控件 C. 定位错误类型 D. 启动错误处理程序 ——————选择:A 6. 假定当前工作路径在e:/aspnet/ch06 ,发布的应用名称为aspnetjc ,使用Server.MapPath("../database/www_news.mdb")取得的数据库路径是()。 A. e:\aspnet\database\www_news.mdb B. e:\aspnetjc\database\www_news.mdb C. e:\database\www_news.mdb D. e:\aspnet\ch06\database\www_news.mdb ——————选择:A 7. DropDownList被选中项的索引号被置于()属性中。 A. SelectedIndex

初中信息技术教师程序设计试题

初中信息技术教师程序设计(VB)竞赛 试题 一、选择题: 1、要想改变一个窗体的标题内容,则应设置以下哪个属性的值____。 A、Name B、FontName C、Caption D、Text 2、.在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为Text1、Label1和Command1,然后编写如下两个事件过程: Private Sub Command1_Click() strText=InputBox("请输入") Text1.Text=strText End Sub Private Sub Text1_Change() Label1.Caption=Right(Trim(Text1.Text),3) End Sub 程序运行后,单击命令按钮,如果在输入对话框中输入abcdef,则在标签中显示的内容是____ A、空 B、abcdef C、abc D、def 3、以下不属于Visual Basic系统的文件类型是____ A、.frm B、.bas C、.vbg D、.vbp 4、表达式Str(Len("1234"))+Str(5.9)的值为____。 A、45.9 B、4 5.9 C、12345.9 D、1234 5.9 5、在窗体上有一个文本框控件,名称为为TxtTime;一个计时器控件,名称为Timer1,要求每一秒在文本框中显示一次当前的时间。程序为: Private Sub Timer1_ _____() TxtTime.text=Time End Sub 在下划线上应填入的内容是____ A、Enabled B、Visble C、Interval D、Timer 6、在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Commandl_Click() For i=1 To 4 x=4 For j=1 To 3 x=3 For k=1 To 2 x=x+6 Next k Next j Next i Print x End Sub

相关主题
文本预览
相关文档 最新文档