Lời giải Câu 5

Go down

Lời giải Câu 5

Bài gửi  ngocdiem_I83C on 15/12/2009, 10:03

choi oi...câu này mình chỉ giải thích nghĩa của nó thôi ah, so so...nhưng theo ý của thầy là giải thích dòng lệnh nó làm gì, vào thời điểm đó nó làm gì...như vậy thì câu này chắc mọi người te tua oi'..

Admin
Xem Lời giải Câu 5 ở bên dưới !

ngocdiem_I83C

Tổng số bài gửi : 31
Join date : 21/10/2009

Xem lý lịch thành viên

Về Đầu Trang Go down

hihi

Bài gửi  nguyenducvong_i83c on 15/12/2009, 10:52

Cũng không te tua lắm đâu, lần sau thi lí thuyết có kinh nghiệm hơn. Very Happy

nguyenducvong_i83c

Tổng số bài gửi : 23
Join date : 30/09/2009
Age : 31
Đến từ : Kom Tum

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Lời giải Câu 5

Bài gửi  spaceman27 on 15/12/2009, 23:53

ban muon co nhieu kinh nghiem hon nua a Very Happy. tui khong muon hon nua dau 2 lan roi. Mad

spaceman27

Tổng số bài gửi : 20
Join date : 25/09/2009

Xem lý lịch thành viên

Về Đầu Trang Go down

câu 5 :((

Bài gửi  NguyenDanThoa_I83C on 16/12/2009, 10:52

Hix câu 5 mình cũng chỉ ghi sơ sơ về câu lệnh đó làm gì thui ah. ko bít sẽ ra sao. Ai có bài giải hoàn chỉnh câu 5 thì post cho mọi người tham khảo với!

NguyenDanThoa_I83C

Tổng số bài gửi : 11
Join date : 10/09/2009

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Lời giải Câu 5

Bài gửi  nguyenquochien_I83C on 16/12/2009, 11:44

có ai chép câu 5 úp lên cho mọi người "mổ sẻ" đi.... affraid

nguyenquochien_I83C

Tổng số bài gửi : 15
Join date : 29/10/2009

Xem lý lịch thành viên http://batdongsanonline.net

Về Đầu Trang Go down

Re: Lời giải Câu 5

Bài gửi  HoangTan_HCTH083C on 16/12/2009, 16:57

Cau 5 ah:
1- Khai bao 2 dien hieu semEmpty va semFull
2- Tao den hieu SemFull co ten la SemFull va gia tri ban dau la 0, gia tri max la Buffer_size.
3- Tao den hieu SemFull co ten la SemFull va gia tri ban dau va gia tri max deu la BufferSize
4-Cho vo han khi gia tri cua den Semfull nho hon Buffer_size
5- in ra gia tri den SemFull
6 - Cho vo han khi gia tri cua den hieu SemFull nho hon Buffer_size
7-Gobo den hieu SemFull, va dua gia tri 2 vao bien lgSemaphorePreviousValue;
8- In ra gia tri den hieu SemFull va muc quan cua den hiu SemFull: // thuat toan dung o day vi SemFull khoi tao va max deu la Buffer_size nen ko bao gio co truong hop nho hon Buffer_Size. nen Thuat toan dung o day.
9- Cho vo han khi gia tri cua den hieu SemEmpty lon hon hoac bang 1
10 - Dua ra muc quan cua den hieu SemEmpty va gia tri :// Nhung thuat toan ko chay den day dau.
avatar
HoangTan_HCTH083C

Tổng số bài gửi : 68
Join date : 30/09/2009
Age : 32
Đến từ : Tien Giang

Xem lý lịch thành viên http://www.tranthinh.com

Về Đầu Trang Go down

Re: Lời giải Câu 5

Bài gửi  myhanh on 16/12/2009, 17:59

HoangTan_HCTH083C đã viết:Cau 5 ah:
1- Khai bao 2 dien hieu semEmpty va semFull
2- Tao den hieu SemFull co ten la SemFull va gia tri ban dau la 0, gia tri max la Buffer_size.
3- Tao den hieu SemFull co ten la SemFull va gia tri ban dau va gia tri max deu la BufferSize
4-Cho vo han khi gia tri cua den Semfull nho hon Buffer_size
5- in ra gia tri den SemFull
6 - Cho vo han khi gia tri cua den hieu SemFull nho hon Buffer_size
7-Gobo den hieu SemFull, va dua gia tri 2 vao bien lgSemaphorePreviousValue;
8- In ra gia tri den hieu SemFull va muc quan cua den hiu SemFull: // thuat toan dung o day vi SemFull khoi tao va max deu la Buffer_size nen ko bao gio co truong hop nho hon Buffer_Size. nen Thuat toan dung o day.
9- Cho vo han khi gia tri cua den hieu SemEmpty lon hon hoac bang 1
10 - Dua ra muc quan cua den hieu SemEmpty va gia tri :// Nhung thuat toan ko chay den day dau.

Nhớ đề chép luôn đi Hoang Tân. Câu này còn phải ra kết quả là gì nữa.
Giúp thì giúp cho trót nhé.
avatar
myhanh

Tổng số bài gửi : 67
Join date : 17/03/2009

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Lời giải Câu 5

Bài gửi  tamcoi on 16/12/2009, 23:20

HoangTan_HCTH083C đã viết:Cau 5 ah:
1- Khai bao 2 dien hieu semEmpty va semFull
2- Tao den hieu SemFull co ten la SemFull va gia tri ban dau la 0, gia tri max la Buffer_size.
3- Tao den hieu SemFull co ten la SemFull va gia tri ban dau va gia tri max deu la BufferSize
4-Cho vo han khi gia tri cua den Semfull nho hon Buffer_size
5- in ra gia tri den SemFull
6 - Cho vo han khi gia tri cua den hieu SemFull nho hon Buffer_size
7-Gobo den hieu SemFull, va dua gia tri 2 vao bien lgSemaphorePreviousValue;
8- In ra gia tri den hieu SemFull va muc quan cua den hiu SemFull: // thuat toan dung o day vi SemFull khoi tao va max deu la Buffer_size nen ko bao gio co truong hop nho hon Buffer_Size. nen Thuat toan dung o day.
9- Cho vo han khi gia tri cua den hieu SemEmpty lon hon hoac bang 1
10 - Dua ra muc quan cua den hieu SemEmpty va gia tri :// Nhung thuat toan ko chay den day dau.

Bài này up rồi ne-Tâm chép lại để mọi người dễ đọc hơn thui!


HANDLE semEmpty, semFull;
long lgSemFullPreviousValue;

//khởi tạo đèn hiệu semEmpty giá trị =0, số lưọng là BUFFER_SIZE, tên: semEmpty
semEmpty = CreateSemaphore(0, 0, BUFFER_SIZE, ”semEmpty”);

//khởi tạo đèn hiệu semFull giá trị = BUFFER_SIZE, số lưọng là BUFFER_SIZE, tên: semFull
semFull = CreateSemaphore(0, BUFFER_SIZE, BUFFER_SIZE, ” semFull”);

//Chờ đèn hiệu semFull >=1
WaitForSingleObject(semFull, INFINITE);

//in giá trị đèn hiệu semFull
priftf(“semFull handle = %d”, semFull);

//Chờ đèn hiệu semFull >=1
WaitForSingleObject(semFull, INFINITE);

//Tăng đèn hiệu semFull lên 2 đơn vị và lưu giá trị trước đó vào biến lgSemFullPreviousValue.
ReleaseSemaphore(semFull, 2, &lgSemFullPreviousValue);

//in giá trị lgSemFullPreviousValue +2
priftf(“semFull value = %d”, lgSemFullPreviousValue+2);

//Chờ đèn hiệu semEmpty >=1
WaitForSingleObject(semEmpty, INFINITE);

//in giá trị đèn hiệu semEmpty
priftf(“semEmpty handle = %d”, semEmpty);

Kết Quả:

1 . BUFFER_SIZE = 0
Đoạn mã ngừng ở lệnh 5 mãi mãi. Màn hình không có thông báo gì.

2. BUFFER_SIZE >= 1
Màn hình như sau:
semFull handle =0
semFull handle =0
semFull value =2
semEmpty handle =1.

Admin
- Xét trường hợp BUFFER_SIZE = 0 hoặc 1 là rất đáng giá, tuy... "cầu toàn" quá.
- SemFull Handle không thể bằng 0 được do đây là số hiệu hệ cấp cho đèn hiệu.
- SemFull Value bằng bao nhiêu thì còn phụ thuộc vào BUFFER_SIZE cụ thể:
+ Qua được 2 lệnh WaitForSingleObject(semFull, INFINITE), giá trị của SemFull giảm đi 2
+ Lệnh ReleaseSemaphore(semFull, 2, &lgSemaphorePreviousValue) tăng giá trị của SemFull lên 2 và ghi vào biến lgSemaphorePreviousValue giá trị trước khi tăng là BUFFER_SIZE-2
+ Kết quả đưa ra là: SemFull Value=10, giả sử BUFFER_SIZE=10
- Đoạn mã dừng mãi mãi tại WaitForSingleObject(semEmpty, INFINITE) do giá trị của SemEmpty bằng 0. Như vậy, không đưa ra được dòng SemEmpty Handle=... (lệnh printf cuối cùng không thực hiện). Tất nhiên, nếu có tiến trình nào khác tăng giá trị cho SemEmpty (vì đây là đèn hiệu có tên tức là đèn hiệu liên tiến trình), thì qua được lệnh chờ này.

tamcoi

Tổng số bài gửi : 59
Join date : 04/10/2009
Age : 33
Đến từ : Tây Ninh

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Lời giải Câu 5

Bài gửi  HoangTan_HCTH083C on 17/12/2009, 09:48

Lam sao ma cho den hieu SemFull >=1 duoc ah, no khoi tao la Buffer_Size va Max cung la Buffer_Size thi lam sao ma >= 1 duoc, xem lai thu xem nha. hehe.


Admin
Giá trị ban đầu là BUFFER_SIZE thì lớn quá rồi còn gì !

Thay oi? Chinh xac roi qua roi? Cam con Thay, lan nay co kinh nghiem ve den hieu de thi ngon mon HDH.


Được sửa bởi HoangTan_HCTH083C ngày 7/1/2010, 10:21; sửa lần 1.
avatar
HoangTan_HCTH083C

Tổng số bài gửi : 68
Join date : 30/09/2009
Age : 32
Đến từ : Tien Giang

Xem lý lịch thành viên http://www.tranthinh.com

Về Đầu Trang Go down

Re: Lời giải Câu 5

Bài gửi  ThanhNhan_I83C on 17/12/2009, 15:03

Tui đã giải bài này rồi, sao khg ai chịu xem ====>>> http://hedieuhanh.forumvi.net/forum-f3/topic-t1452.htm

ThanhNhan_I83C

Tổng số bài gửi : 11
Join date : 10/09/2009

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Lời giải Câu 5

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết