Tài liệu bồi dưỡng thường xuyên cho giáo viên THPT môn Tin học
1. Các tính năng chính
- Phát hình video: người giảng bài.
- Phát tiếng (voice, sound).
- Trình chiếu powerpoint.
- Trình chiếu chia sẻ màn hình các ứng dụng khác.
- Trình chiếu chia sẻ màn hình windows.
- Cửa sổ trao đổi qua gõ phím (Chatting room).
- Thăm dò dư luận, bỏ phiếu (Polling, Vote).
- Bảng trắng để vẽ, viết
- Truyền tệp (file transfer).
- Cộng tác, làm việc chung.
- Diễn đàn trao đổi.
- Kiểm tra kiến thức bằng thi trắc nghiệm

Trang 1

Trang 2

Trang 3

Trang 4

Trang 5

Trang 6

Trang 7

Trang 8

Trang 9

Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Tài liệu bồi dưỡng thường xuyên cho giáo viên THPT môn Tin học", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Tài liệu bồi dưỡng thường xuyên cho giáo viên THPT môn Tin học
SỞ GIÁO DỤC VÀ ĐÀO TẠO QUẢNG BÌNH
Quảng Bình, năm 2013
TÀI LIỆU
BỒI DƯỠNG THƯỜNG XUYÊN
DÀNH CHO GIÁO VIÊN THPT
MÔN TIN HỌC
(LƯU HÀNH NỘI BỘ)
NHÓM BIÊN SOẠN
Lê Thủy Thạch
Nguyễn Lê Hải
1
PHẦN 1.
HƯỚNG DẪN SỬ DỤNG PHẦN MỀM ADOBE CONNECT
Adobe Connect là hệ thống cho phép thực hiện:
- Họp qua web (Web Conference),
- Lớp học ảo (Virtual Classroom),
- Chia sẻ bài giảng điện tử eLearning để học trực tuyến, tạo lớp học và
chương trình học.
Hệ thống Adobe Connect do Cục CNTT, Bộ Giáo dục và Đào tạo thiết lập
và quản lý, có địa chỉ website là Hiện nay, có nhiều phòng
họp ảo khác nhau, tương ứng phần đuôi của địa chỉ khác nhau. Tại một thời điểm,
tổng số người có thể nối vào hiện nay là 80 concurent user licenses. Để tham gia
một phòng họp hay lớp học, người sử dụng cần biết địa chỉ phòng họp. Thí dụ:
là phòng họp đã được giao cho Sở GD&ĐT
Quảng Bình quyền quản lý.
1. Các tính năng chính
- Phát hình video: người giảng bài.
- Phát tiếng (voice, sound).
- Trình chiếu powerpoint.
- Trình chiếu chia sẻ màn hình các ứng dụng khác.
- Trình chiếu chia sẻ màn hình windows.
- Cửa sổ trao đổi qua gõ phím (Chatting room).
- Thăm dò dư luận, bỏ phiếu (Polling, Vote).
- Bảng trắng để vẽ, viết
- Truyền tệp (file transfer).
- Cộng tác, làm việc chung.
- Diễn đàn trao đổi.
- Kiểm tra kiến thức bằng thi trắc nghiệm.
2. Ứng dụng của web conference
- Họp giao ban giữa Bộ với các Sở; giữa Sở với các Phòng; giữa Phòng với
các trường quận/huyện.
- Tập huấn phần mềm (có thể chia sẻ màn hình phần mềm cần tập huấn).
- Giảng bài từ xa.
- Chia sẻ bài giảng eLearning.
- Bảo vệ luận án.
- Giao lưu giữa các trường trong và ngoài nước.
- Quảng cáo giới thiệu sản phẩm.
2
3. Điều kiện sử dụng:
- Có đường kết nối Internet ADSL.
- Có webcam nếu muốn hiển thị hình ảnh video của mình lên
cho mọi người nhìn thấy.
- Có microphone (có thể tích hợp sẵn ở trong webcam như Logitech
Quickcam).
- Loa máy tính.
- Được thông báo địa chỉ web để họp (Cục CNTT cấp).
4. Các quyền sử dụng:
- Host: làm ông chủ, có đầy đủ quyền điều hành. Người làm host có thể:
+ Cho phép các thành viên đều là presenter như sau:
+ Không cho ai vào nữa (block Incoming Attendees)
+ Không cho khách là gust vào (block Guest Attendees), trong khi các
thành viên khác đã đăng ký vẫn được vào.
Cục CNTT cấp quyền cho người làm host.
- Presenter: Người trình bày, báo cáo viên.
- User: Người sử dụng, đại biểu, người học.
5. Đăng nhập với người sử dụng
- Đăng nhập với vai trò là khách (Enter as a Guest): Hãy gõ tên cá nhân
hoặc tên cơ quan một cách ngắn gọn. Người sử dụng không cần tên và mật khẩu.
- Đăng nhập với vai trò là host: (Enter with your login and password) Khi
quý vị đã được Cục CNTT cấp quyền làm chủ phòng họp (host) thì đăng nhập
bằng cách chọn dòng thứ hai:
3
Adobe Connect cho phép quản lý đăng nhập:
- Hoặc là vào thẳng
- Hoặc phải được ông chủ phòng họp (host) chấp thuận.
Người làm chủ phòng họp có thể đặt chế độ vào thẳng hoặc phải xin phép
mình.
6. Màn hình đầu tiên
Nháy chuột vào đây để kích hoạt webcam.
3 cách bố trí màn hình có sẵn: Sharing, Discussion và Collaboration
4
Nút chuyển sang chế độ “chuẩn bị bố trí mặt màn hình”.
Nút khóa không cho ai thay đổi bố trí mặt màn hình.
7. Chọn lựa và điều chỉnh âm thanh
Việc điều chỉnh âm thanh rất quan trọng. Cuộc họp thành công hay không
phụ thuộc đầu tiên vào yếu tố âm thanh.
a) Vỉ âm thanh trên máy tính
- Không nên dùng vỉ âm thanh có sẵn trên máy để bàn vì chất lượng kém, dễ
gây tiếng vọng và nhiễu, ồn.
- Nên dùng vỉ âm thanh của máy tính xách tay có chất lượng tốt hơn.
- Tốt nhất nên mua vỉ âm thanh ngoài, có chất lượng rất tốt. Mua hai loại: vỉ
PCI và cắm USB
b) Điều khiển âm thanh trên màn hình Adobe Connect
chứa các nút điều khiển âm thanh.
Nháy và giữ chuột ở nút này để bật mic phát biểu (Hold
and Talk). Khi nhả chuột ra thì mic không bắt tín hiệu nữa. Khi phát biểu, mức độ
to nhỏ của tín hiệu có thể hiện ở vạch mầu xanh phía dưới. Trong khi nháy chuột
vào nút hình khoá bên cạnh là để bật mic liên tục, tay không cần giữ
chuột khi phát biểu.
Nháy chuột vào nút cho ra hình sau:
5
Voice off: Tắt hết mic và loa của tất cả mọi người.
Voice on – Multiple Speakers: Mọi người đều có thể nói. Khi này rất dễ bị
rú rít và rất ồn nếu nhiều người cùng nói.
Voice on – One Speaker: Chỉ một người nói.
Nháy chuột phải vào màn hình, sau đó nháy chuột trái vào chữ hiện ra là
Setting để nhìn thấy:
Hãy nháy chuột vào nút hình microphone để có hình ảnh sau:
Hãy chọn nguồn tín hiệu âm thanh, ở đây là
Logitech Microphone Pro 4000.
Điều chỉnh Record volume về tối thiểu.
8. Khắc phục hiện tượng rú rít và tiếng vọng
Để khắc phục hiện tượng loa rú rít và có tiếng vọng, ta thực hiện:
- Nháy chuột chọn chế độ Reduce Echo (giảm tiếng vọng). Điều quan trọng
nhất là đẩy nút Record Volume về chế độ thích hợp, thí dụ ở đây: vặn về gần như
bé nhất vì microphone có độ nhạy cao. Nói thử xem vạch xanh nhấp nháy, không
nên để mức tín hiệu lên cao đến mức có mầu đỏ.
- Điều chỉnh độ nhạy mic về tối thiểu, đủ dùng.
- Nếu chủ động được thì chọn chế độ 1 người nói.
- Khi không phát biểu nên tắt mic. Không dùng chế độ hand-free.
- Không bật loa quá to.
- Dùng thiết bị chuyên dụng có khử tiếng vọng.
- Chọn Low Volume.
Nguyên tắc 1: Mỗi phòng họp chỉ cho khoảng 3-5 người được quyền bật
mic phát biểu (Presenter). Còn lại: tắt hết mic khi họ chỉ là đại biểu (Participant).
Nguyên tắc 2: Chỉ bật mic khi phát biểu để tránh tiếng rú rít và tiếng ồn,
tiếng vọng. Việc các đại biểu tự tắt mic là một việc hơi khó do họ chưa có thói
quen sử dụng.
6
Microphone: Có thể dùng mic của webcam (rất nhạy), hoặc nối mic ngoài
qua vỉ mạch âm thanh. Khi giáo viên giảng bài qua mạng, nên dùng mic qua vỉ
mạch âm thanh vì mic này có độ nhạy thấp, bớt rú rít. Mic ngoài còn có ưu điểm là
có nút tắt bật ng ... ch: Ta thường phân tích, thiết kế và giải quyết như sau:
- Gọi P(i) là bài toán du lịch vòng quanh thế giới khi có i khách sạn.
38
- Vậy bài toán ban đầu là P(n).
- Trong bài toán ta cần phải xác định:
+qh[i] là tổng tiền phạt ít nhất nếu dừng ở khách sạn i, ta cần tìm qh[n].
+x[i] là khách sạn phải dừng cho khách nghỉ.
- Trường hợp khi i=1
+qh[i]:=SQR(a[1]-P);
+x[i]:=1;
- Trường hợp khi i>1
+ Nếu nghỉ tại KS i ngay sau khi nghỉ tại KS 1, chi phí là: (a[i]-a[1]-P)2+qh[1]
+ Nếu nghỉ tại KS i ngay sau khi nghỉ tại KS 2, chi phí là: (a[i]-a[2]-P)2+qh[2]
......
+ Nếu nghỉ tại KS i ngay sau khi nghỉ tại KS j, chi phí là: (a[i]-a[j]-P)2+qh[j]
Vậy qh[i]:=MIN{(a[i]-a[j]-P)2+qh[j] / j=1..i-1}
x[i]=j mà tại đó qh[i] đạt max.
- Theo phân tích như trên ta có đoạn chương trình thể hiện thuật toán như sau:
Procedure Vong_quanh_the_giơi;
Var i,j :Integer; Min : Real;
Begin
Qh[0]:=0;
For i:=1 to n do
Begin
Min:=10000000000000000000.0;
For j:=i-1 downto 0 do
If min<sqr(a[i]-a[j]-P)+qh[j] then
min:=sqr(a[i]-a[j]-P)+qh[j];
Qh[i]:=min;
End;
End;
1.1.3. Đánh giá và cải tiến
Theo cách phân tích và cài đặt như trên thì chương trình chạy rất chậm với
độ phức tạp O(n2 /2). Để tăng tốc độ thuật toán ta có mệnh đề sau :
Mệnh đề: Giả sử với vị trí i ta tìm được ji là vị trí mà tại đó qh[i] đạt min. Khi xét
vị trí i+1 nếu qh[i+1] đạt min tại ji+1 thì ta luôn có ji+1 [ji,i].
Chứng minh:
Giả sử ta đang xét vị trí i
Đặt : Fi(j) = (a[i]-a[j]-P)2+qh[j] ;
Như vậy Qh[i]=MIN{Fi(j) , j = 0,1,2...,i-1}.
39
Xét hai vị trí 0<=k<j<i . Ta có
Nếu Fi(j)>=Fi(k)
Fi(j)-Fi(k)>=0
(a[i]-a[j]-P)2+qh[j]- (a[i]-a[k]-P)2-qh[k]>=0
qh[j]-qh[k]-(2*a[i]-2*p-a[j]-a[k])*(a[j]-a[k])>=0
(qh[j]-qh[k])/ (a[j]-a[k])>=(2*a[i]-2*p-a[j]-a[k]) (vì a[j]-a[k]>0 )
(qh[k]-qh[j])/( a[k]-a[j])+a[j]+a[k]>=2*a[i]-2*p;
Đặt : Gt(k,j)= (qh[k]-qh[j])/( a[k]-a[j])+a[j]+a[k] (k<j).
Vậy Fi(j)>=Fi(k) Gt(k,j)>=2*(a[i]-p). (1)
Tương tự Fi(j)<=Fi(k) Gt(k,j)<= 2*(a[i]-p). (2)
Theo mệnh đề:
Xét tại vị trí i: nếu 0<=k<j<i thì ji sao cho Fi(ji)<= Fi(k) với k [0,i-1] .
Xét tại vị trí i+1: nếu 0<=k<j<i thì ji+1 mà ji<ji+1<i
sao cho Fi+1(ji+1)<= Fi+1(k) với k [0,i-1] , suy ra Fi+1(ji+1)<= Fi+1(ji). (3)
Ta phải chứng minh ji+1>ji
0 ji+1 ji i i+1
Thật vậy:
Giả sử ji+1<ji . Ta có Fi(ji)<=Fi(ji+1) Gt(ji+1,ji)<= 2*(a[i]-p)
Vì a[i]<a[i+1] nên Gt(ji+1,ji)<= 2*(a[i+1]-p)Fi+1(ji)<= Fi+1(ji+1) mâu thuẫn (3)
Vậy ji+1 [ji,i] đpcm.
Áp dụng mệnh đề 1, ta có thể cải tiến thuật toán trên như sau :
Procedure Cai_tien_VQTG;
Var i,j,vt,vt1 : Integer; Min : Real;
Begin
Qh[0]:=0; vt1:=0;
For i:=1 to n do
Begin
Min:=10000000000000000000.0;
For j:=i-1 downto vt1 do
If min<sqr(a[i]-a[j]-P)+qh[j] then
Begin
min:=sqr(a[i]-a[j]-P)+qh[j];
vt:=j;
End;
Vt1:=vt;
40
Qh[i]:=min;
End;
End;
Với cách cài đặt như trên thì tốc độ chương trình sẽ tăng từ 100-150 lần.
Nhưng ta lại thấy rằng nếu cho P rất lớn cở vài chục triệu (theo đề bài thì P<=500)
thì tốc độ của thuật toán này cũng chưa đáp ứng được yêu cầu về thời gian. Vì thế
ta có thêm một kỹ thuật cải tiến tổng quát với độ phức tạp là O(2n). Xét mệnh đề
sau:
1.1.4. Bài tập có cách tinh chỉnh tương tự: Phân trang
Văn bản là một dãy gồm N từ đánh số từ 1 đến N. Từ thứ i có độ dài là wi
(i=1, 2, ..., n). Phân trang là một cách xếp lần lượt các từ của văn bản vào dãy các
dòng, mỗi dòng có độ dài L, sao cho tổng số độ dài của các từ không vượt quá L.
Ta gọi hệ số phạt của một dòng trong cách phân trang là hiệu số L-K, trong đó K là
tổng độ dài của các từ xếp trên dòng đó. Hệ số phạt của các phân trang là tổng giá
trị các hệ số phạt của các dòng.
Yêu cầu: Tìm cách phân trang với hệ số phạt nhỏ nhất.
Dữ liệu vào: Cho trong file PTRANG.INP có cấu trúc như sau:
- Dòng 1: Chứa hai số nguyên dương N L (N<=4000, L<=70)
- Dòng thứ i trong N dòng tiếp theo: chứa số nguyên dương wi (wi<=L), i=1...n.
Dữ liệu ra: Ghi ra file PTRANG.INP theo cấu trúc như sau:
- Dòng 1: Ghi hai số nguyên dương P Q là hệ số phạt và số dòng theo cách phân
trang tìm được.
- Dòng thứ i trong Q dòng tiếp theo: ghi chỉ số của các từ trong dòng thứ i của cách
phân trang.
Các giá trị số trên một dòng được ghi cách nhau ít nhất một dấu cách.
2.2. Ví dụ 2
2.2.1. Bài toán: Bố trí hội thảo
Có N cuộc họp đánh số từ 1 đến N đăng ký làm việc tại một phòng hội thảo.
Cuộc họp i cần được bắt đầu tại thời điểm Ai và kết thúc tại thời điểm Bi (i=1, 2,
..., N). Hai cuộc họp bất kỳ chỉ được nhận phục vụ nếu các khoảng thời gian làm
việc tương ứng chỉ có thể giao nhau tại đầu mút. Hãy tìm một lịch cho phòng hội
thảo để có thể phục vụ được nhiều cuộc họp nhất.
Dữ liệu vào: Được cho trong file BOTRI.INP theo cấu trúc như sau:
+ Dòng 1: Ghi số N (N<10000)
+ Dòng thứ i trong số N dòng tiếp ghi 2 số nguyên Ai và Bi cách nhau ít nhất
một dấu cách. (1<= Ai, Bi <=32000)
Dữ liệu ra: Ghi ra file BOTRI.OUT theo cấu trúc như sau:
41
+ Dòng 1: Ghi số K là số cuộc họp tối đa có thể bố trí được,
+ K dòng tiếp, mỗi dòng ghi số hiệu của cuộc họp được phục vụ theo trình tự
lịch bố trí.
Thí dụ:
BOTRI.INP BOTRI.OUT
5
1 3
2 4
1 6
3 5
7 9
3
1
4
5
2.2.2. Phân tích
Chợt thấy bài toán không có dạng của quy hoạch động, bởi vì tại bước thứ i
để xét cuộc họp thứ i ta không chỉ dựa vào các cuộc họp từ 1 đến i-1 mà còn phải
xét đến các cuộc họp từ i+1 đến n, điều này là do theo thứ tự đăng ký thời điểm bắt
đầu cuộc họp không tăng dần.
Tuy nhiên chỉ cần một đoạn chương trình sắp xếp ta sẽ quy được thời điểm
bắt đầu cuộc họp tăng dần. Đương nhiên, trong khi sắp xếp ta phải lưu lại chỉ số
của mỗi cuộc họp.
Giả sử Ai được sắp xếp tăng dần, ta thường phân tích bài toán như sau:
- Gọi P(i) là bài toán bố trí cuộc họp i vào danh sách cuộc họp.
- Trong bài toán ta cần xác định:
+F(i): là số lượng cuộc họp nhiều nhất khi bố trí thêm cuộc họp i +T(i):
là chỉ số cuộc họp có thể bố trí được trước cuộc họp thứ i.
- Trường hợp khi i=1:
+F[1]:=1;
+T[1]:=0;
- Trường hợp khi i>1:
+Nếu bổ sung cuộc họp i sau cuộc họp 1 thì F[i]:=F[1]+1;
+Nếu bổ sung cuộc họp i sau cuộc họp 2 thì F[i]:=F[2]+1;
...
+Nếu bổ sung cuộc họp i sau cuộc họp j thì F[i]:=F[j]+1;
Vậy F[i]:=Max{F[j]+1 / j:=1..i-1}
T[i]:=j; mà tại đó F[i] đạt max
- Với sự phân tích như trên ta có thuật giải để tìm F[i] và T[i] như sau;
Procedure QHD_BOTRI
Begin
42
-Sắp xếp tăng dần theo A[i]
-Đối với mỗi cuộc họp thứ i (i:=2..n), ta thực hiện:
So sánh cuộc họp i với tất cả các cuộc họp j (j:=1..i-1)
Nếu B[j]<=A[i] và F[i]<F[j]+1 thì
F[i]:=F[j]+1;
T[i]:=j;
-Tìm M=Max(F[i]) (i:=1..n) chính là số cuộc họp lớn nhất cần tìm.
-Vị trí i mà tại đó F[i] đạt max là cuộc họp cuối cùng phải bố trí.
Sử dụng T[i] để tìm cuộc họp bố trí ngay trước i.
End;
2.2.3. Đánh giá
Về mặt dữ liệu, chương trình phải sử dụng bốn biến mảng một chiều (A[n],
B[n], F[n] và T[n]. Về mặt thời gian, ta thấy rằng thuật giải trên có độ phức tạp
O(N2/2). Khi N=10000 thì chương trình sẽ chạy rất chậm.
2.2.4. Cải tiến
Phương án đưa ra nhằm cải tiến hoàn toàn thuật giải để độ phức tạp trở
thành O(N)
Về mặt dữ liệu, ta chỉ cần sử dụng hai mảng F[32000] và T[32000]. Trong
đó F[i] có nghĩa là cuộc họp có thời điểm đầu là i và thời điểm cuối là F[i], T[i] là
chỉ số của cuộc họp theo thứ tự được đọc.
Về mặt thuật giải:
Bước 1: Ta thực hiện đọc từng dòng của file theo cặp (a,b) và gán F[a]:=b;
T[a]:=i; Chú ý: nếu hai cuộc họp có thời điểm đầu bằng nhau thí cuộc họp nào có
thời điểm cuối nhỏ sẽ được chọn.
Bước 2: Tại ô thứ i của F, tìm giá trị nhỏ nhất trong đoạn từ i đến F[i]:
M=min(F[j]) (j:=i..F[i]). Sau đó lặp lại bước 2 đối với ô thứ M
Chương trình được viết trên thuật toán này có tốc độ chạy nhanh hơn rất
nhiều so với thuật toán quy hoạch động đã trình bày trên. Điều này đã cho thấy
rằng, một số bài toán sử dụng phương pháp quy hoạch động lại cho hiệu quả kém
hơn phương pháp bình thường khác.
43
KẾT LUẬN
Khi lập trình giải quyết bài toán, không gian nhớ là rất quan trọng. Một bài
toán được giải quyết tối ưu nếu nó sử dụng tối thiểu không gian nhớ. Việc tinh
chỉnh để giảm không gian nhớ là một điều cần thiết. Trong một số bài toán quy
hoạch động, ta có thể dễ dàng nhận thấy phần không gian nhớ lãng phí nên việc
tinh chỉnh cũng khá đơn giản và không làm thay đổi nhiều về thuật giải (như ở ví
dụ 1). Tuy nhiên, trong một số bài toán khác, để chuyển từ mảng hai chiều thành
mảng một chiều lại làm bài toán trở nên khó hơn và cũng kéo theo thời gian thực
hiện chương trình tăng lên (như ở ví dụ 2 và ví dụ 3). Vì vậy, tùy theo yêu cầu về
không gian dữ liệu vào ra để ta lựa chọn phương pháp tính chỉnh cho phù hợp.
Thời gian thực hiện chương trình cũng là một yếu tố liên quan đến tính tối
ưu của chương trình. Rõ ràng việc tinh chỉnh nhằm giảm thời gian thực hiện
chương trình là rất cần thiết, nó làm giảm chi phí thực hiện chương trình, đặc biệt
trong nhiều bài toán yêu cầu xử lý thời gian thực. Để giảm thời gian thực hiện
chương trình, người ta thường phải lưu lại kết quả trung gian để không cần phải
tính lại nhiều lần một kết quả. Điều này cũng đồng nghĩa với việc tăng không gian
nhớ, đồng thời cũng có thể làm thay đổi hoàn toàn thuật toán. Tiểu luận đã trình
bày một kỹ thuật nhằm làm giảm được rất nhiều thời gian thực hiện chương trình
nhưng không gian nhớ không tăng hoặc tăng lên không đáng kể. Không phải bất cứ
bài toán nào cũng có cùng một kỹ thuật tinh chỉnh mà mỗi dạng bài có một kỹ
thuật khác nhau. Không phải dễ dàng để làm được điều này, nó đòi hỏi người lập
trình phải phân tích và thiết kế thật kỹ lưỡng và kết hợp với những suy luận toán
học.
44
PHỤ LỤC
1. Cài đặt chi tiết của bài toán Sinh viên ôn thi:
const fi='onthi.inp';
fo='onthi.out';
type mhc=array[0..100,0..100] of integer;
mmc=array[0..100] of integer;
var g:text;
m,n:word;
x,a:mhc; f1,f2:mmc;
procedure doc;
var i,j:word;
begin
assign(g,fi);
reset(g);
readln(g,n,m);
for i:=1 to n do
begin
for j:=1 to 3 do read(g,a[i,j]);
readln(g);
end;
close(g);
end;
procedure xl;
var i,j,k:word;
begin
fillchar(f1,sizeof(f1), 0);
fillchar(f2,sizeof(f2), 0);
fillchar(x,sizeof(x), 0);
for i:=1 to n do begin f1[i]:=a[i,1];x[i,1]:=i;end;
for i:=2 to n do
begin
for j:=1 to i-1 do
if f1[i]<f1[j] then begin f1[i]:=f1[j];x[i,1]:=j;end;
end;
for j:=2 to m do
begin
45
for i:=1 to n do
for k:=0 to i do
if f2[i]<f1[i-k]+a[k,j] then
begin
f2[i]:=f1[i-k]+a[k,j];
x[i,j]:=k;
end;
f1:=f2;
end;
end;
procedure xuat;
var i,j:word;
begin
assign(g,fo); rewrite(g);
writeln(g,f2[n]);
j:=m;
while (f2[n]>0) and (j>0) and (n>0) do
begin
a[1,j]:=x[n,j];
n:=n-x[n,j];
j:=j-1;
end;
for j:=1 to m do write(g,a[1,j],' ');
close(g);
end;
BEGIN doc;xl;xuat; END.
2. Cài đặt chi tiết của bài toán Du lịch vòng quanh thế giới:
{$M 63840,0,655360}
{$R+,Q+}
Const Fi = 'Tour.in1';
Fo = 'Tour.out';
Type Mg = Array[0..10000] Of Real;
Var N,p : Longint;
F : Text;
A : Array[0..10000] Of Longint;
Tr : Array[0..10000] Of Integer;
Qh : ^mg;
46
Procedure Init;
Var I : Integer;
Begin
New(qh);
Assign(f,fi); Reset(f); A[0]:=0;
Readln(f,n,p);
For i:=1 to n do Read(f,a[i]);
Close(f);
End;
Function Gt(k,j:Integer):real;
Begin
Gt:=(qh^[k]-qh^[j])/(a[k]-a[j])+a[k]+a[j];
End;
Procedure QHD;
Var I,j,d,c,ff,ql : Longint; Min,tong,ton : Real;
Q: Array[0..10000] Of Integer;
Begin
D:=1; C:=1; Q[1]:=0; Ql:=1;
Qh^[0]:=0.0; Tr[0]:=0;
For i:=1 to n do
Begin
Ff:=2*a[i]-2*p;
While (ql>1) and (gt(q[d],q[d+1])<=ff) do
Begin
Inc(d); Dec(ql);
End;
Ton:=p-(a[i]-a[q[d]]);
Qh^[i]:=Qh^[q[d]]+ton*ton;
Tr[i]:=Q[d];
While (ql>1) and (gt(q[c],i)<gt(q[c-1],q[c])) do
Begin
Dec(c); Dec(ql);
End;
Inc(c); Q[c]:=i; Inc(ql);
End;
End;
47
Procedure Lan_Nguoc;
Var Kq : Array[1..10000] Of Integer; Dem,i :
Integer;
Begin
Assign(f,fo); Rewrite(f);
Writeln(f,qh^[n]:0:0);
Dem:=0; I:=n;
Repeat
Inc(dem); Kq[dem]:=i; I:=tr[i];
Until i=0;
Writeln(f,dem);
For i:=dem downto 1 do Write(f,kq[i],' ');
Close(f);
Dispose(qh);
End;
BEGIN
Init; QHD; Lan_nguoc;
END.
48
MỤC LỤC
Trang
Phần 1: Hướng dẫn sử dụng phần mềm Adobe Connect 1
1. Các tính năng chính 1
2. Ứng dụng của Web Conference 1
3. Điều kiện sử dụng 2
4. Các quyền sử dụng 2
5. Đăng nhập với người sử dụng 3
6. Màn hình đầu tiên 3
7. Lựa chọn và điều chỉnh âm thanh 4
8. Khắc phục hiệ tượng rú rít vaà tiếng vọng 5
9. Đàm thoại 6
10. Chọn Video 6
11. Chọn Webcam 6
12. Chia sẻ màn hình 8
13. Điều chỉnh kích thước window và bố trí mặt bằng làm việc 9
14. Điều khiển P 10
15. Báo hiệu xin ý kiến 11
16. Thiết kế mặt bằng: Thêm bớt các cửa sổ nghiệp vụ 11
17. Ghi hình để phát lại 12
18. Sử dụng Adobe Connect với Adobe Presenter 12
Phần 2: Kết hợp kỹ thuật đánh dấu phần tử và xử lý bít để giải
quyết một số bài toán tron tin học
13
I. Một số vấn đề cơ bản về đánh dấu phần tử và xử lý bít. 14
1.1. Đánh dấu phần tử 14
1.2. Xử lý bít 14
II. Kết hợp kỹ thuật đánh dấu phần tử với xử lý bít để giải quyết
một số bài toán trong Tin học
17
2.1. Bài toán sắp xếp 17
2.2. Bài toán lọc dữ liệu 22
Phần 3: Kỹ thuật cải tiến khi giải quyết một bài toán trong tin học
bằng phương pháp quy hoạch động
28
I Kỹ thuật cải tiến trên không gia nhớ 28
1.1. Ví dụ 1 29
1.2. Ví dụ 2 31
1.3. Ví dụ 3 33
II. Kỹ thuật cải tiến trên thời gian thực hiện chương trình 37
2.1. Ví dụ 1 37
2.2. Ví dụ 2 40
File đính kèm:
tai_lieu_boi_duong_thuong_xuyen_cho_giao_vien_thpt_mon_tin_h.pdf

