Tác giả phạm hồng thái bài giảng ngôn ngữ LẬp trình c/C++



tải về 1.98 Mb.
trang41/55
Chuyển đổi dữ liệu07.07.2016
Kích1.98 Mb.
1   ...   37   38   39   40   41   42   43   44   ...   55

ÂM THANH


Âm thanh được đặc trưng bởi cao độ (tần số) và trường độ (độ dài). Việc tạo ra một chuỗi âm (bài hát chẳng hạn), là sự kết hợp lặp đi lặp lại của các hàm sau với các tham số n và t được chọn thích hợp.

- sound(n): phát âm ra loa máy tính với tần số n.

- delay(t): kéo dài trong t miligiây.

- nosound(): tắt âm thanh đã phát.

: Tiếng còi báo động

void coi(int cao; int thap)

{

do {



sound(cao); delay(400); sound(thap); delay(400);

} while (!kbhit())

nosound();

}

: Tiếng bóng nảy



void bong(int cao; int thap)

{

int sodem = 20;



while (sodem > 1) {

sound(thap-2*sodem); delay(sodem*500/20);

nosound(); delay(100);

sound(cao); delay(sodem*500/15); nosound(); delay(150);

sodem --;

}

}



: Tiếng bom

void bong(int cao; int thap; int t)

{

int sodem = thap;



while (sodem <= cao) {

sound(sodem); delay(t/sodem*75);

sodem += 10;

}

for (sodem =1 to 3) {



nosound();

sound(40); delay(500); nosound(); delay(100);

}

sound(40); delay(3000); nosound();



}
Để tạo âm phát của một nốt nhạc có tần số (cao độ) n và dài trong t miligiây cần viết hàm :

void not(unsigned n, float t);

{

sound(n);



delay(t);

nosound();

}

: Chơi bài hát Tiến quân ca trên nền cờ đỏ sao vàng.



#include

#include

#include

#include



// cao độ của các nốt nhạc

#define

do1

66

#define

dod1

70

#define

re1

73

#define

red1

78

#define

mi1

82

#define

fa1

86

#define

fad1

91

#define

sol1

96

#define

sold1

102

#define

la1

108

#define

lad1

115

#define

si1

122

#define

do2

130

#define

dod2

139

#define

re2

148

#define

re2

148

#define

red2

156

#define

mi2

164

#define

fa2

176

#define

fad2

188

#define

sol2

196

#define

sold2

209

#define

la2

230

#define

lad2

233

#define

si2

247

#define

do3

264

#define

dod3

281

#define

re3

297

#define

red3

313

#define

mi3

330

#define

fa3

352

#define

fad3

374

#define

sol3

396

#define

sold3

415

#define

la3

440

#define

lad3

468

#define

si3

495

#define

do4

528

#define

dod4

565

#define

re4

594

#define

red4

625

#define

mi4

660

#define

fa4

704

#define

fad4

748

#define

sol4

792

#define

sold4

836

#define

la4

880

#define

lad4

935

#define

si4

990

#define

lang

30000










void not(unsigned caodo, float truongdo)

{ sound(caodo); delay(truongdo); nosound(); }


void main()

{

int gdriver = DETECT, gmode;



initgraph(&gdriver, &gmode, "c:\\borlandc\\bgi");

int star[20] = {320, 150, 285, 225, 200, 225, 270, 270, 240, 350,

320, 300, 390, 350, 360, 270, 430, 225, 345, 225};

setbkcolor(RED); setcolor(YELLOW); // Vẽ lá cờ đỏ sao vàng

setfillstyle(SOLID_FILL, YELLOW);

fillpoly(10, star);


// Trường độ các nốt nhạc

float d = 300; // đen

float tr = 2*d; // trắng

float tro = 4*d; // tròn

float md = d/2; // móc đen

float mk = d/4; // móc kép

float m3 = d/8; // móc 3

float m4 = d/16; // móc 4

float dc = 3*d/2; // đen chấm

float trc = 3*d; // trắng chấm

float troc = 6*d; // tròn chấm

// Choi bai TQC

not(re2, d); not(mi2, d); not(re2, d); not(sol2, tr); not(sol2, tro);

not(la2, d); not(sol2, d); not(si2, tr); not(si2, tro); not(la2, d);

not(sol2, d); not(mi2, tr); not(sol2, tr); not(sol2, d); not(mi2, tro);

not(re2, d); not(si2, d); not(re2, tro); not(sol2, d); not(la2, d);

not(si2, tr); not(si2, tr); not(si2, tr); not(la2, d); not(sol2, d);

not(re3, tro); not(si2, d); not(sol2, d); not(la2, tr); not(la2, tr);

not(si2, tr); not(fad2, d); not(re2, d); not(sol2, tro); not(si2, d);

not(do3, d); not(re3, tr); not(re3, tr); not(mi3, tro); not(re3, d);

not(si2, tro); not(si2, tr); not(la2, d); not(sol2, tr); not(re2, tr);

not(fad2, tr); not(fad2, d); not(la2, d); not(sol2, tr); not(si2, d);

not(do3, d); not(re3, tr); not(re3, tr); not(mi3, tro); not(re3, d);

not(si2, tro); not(si2, tr); not(la2, d); not(sol2, tr); not(sol2, tr);

not(re2, tro); not(re3, tro); not(si2, tr); not(sol2, tr); not(mi3, tro);

not(re3, tr); not(si2, d); not(la2, d); not(re2, d); not(la2, tr);

not(la2, tro); not(si2, tr); not(sol2, tro);

closegraph();

}

BÀI TẬP

Vẽ hai hình chữ nhật, lần lượt cho mất từng hình, rồi hiện lại cả hai.

Biểu diễn dãy 5 giá trị (được nhập từ bàn phím) bằng biểu đồ bar.

Biểu diễn dãy 5 giá trị (được nhập từ bàn phím) bằng biểu đồ hình quạt.

Vẽ một bàn cờ quốc tế với các ô đen trắng.

Viết chương trình vẽ đồ thị hàm số y = 100*sin(x/4.8) trong khoảng x Î [0, 60] với giá trị mỗi bước Dx = 0,1. Yêu cầu :

nền màn hình mầu đen.

trục tọa độ màu xanh lá cây

đồ thị màu trắng.

Viết chương trình vẽ tam giác với các tọa độ đỉnh lần lượt là A(300, 20), B(100, 220), C(500, 220) và đường tròn ngoại tiếp của nó. Yêu cầu :

nền màn hình mầu đen.

các cạnh tam giác màu xanh lá cây

đường tròn ngoại tiếp màu đỏ tươi.

Viết chương trình vẽ hình chữ nhật có tọa độ đỉnh góc trên bên trái là (100,150), chiều ngang 120, chiều dọc 90 và đường tròn ngoại tiếp nó. Yêu cầu :

nền màn hình mầu đen.

các cạnh hình chữ nhật màu xanh da trời.

đường tròn ngoại tiếp màu đỏ tươi.

Vẽ tam giác nội tiếp trong hình tròn, hình tròn nội tiếp trong elip. Tô các màu khác nhau cho các miền tạo bởi các đường trên.

Vẽ một đài phát sóng. Các vòng sóng phát từ đỉnh của tháp ở tâm màn hình lan tỏa ra chung quanh. Quá trình lặp đến khi ấn phím bất kỳ thì dừng.

Vẽ hai hình người đi vào từ 2 phía màn hình với tốc độ khác nhau. Gặp nhau hai hình người xoay lại và đi ngược về 2 phía màn hình. Chương trình dừng khi cả hai đã đi khuất vào hai phía của màn hình.

CHƯƠNG 7

LỚP VÀ đỐi tưỢng

Lập trình có cấu trúc và lập trình hướng đối tượng

Lớp và đối tượng

Đối của phương thức - Con trỏ this

Hàm tạo (contructor)

Hàm hủy (destructor)

Các hàm trực tuyến (inline)

1   ...   37   38   39   40   41   42   43   44   ...   55


Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2016
được sử dụng cho việc quản lý

    Quê hương