Tải bản đầy đủ (.doc) (10 trang)

SÁNG KIẾN KINH NGHIỆM MÔ PHỎNG THUẬT TOÁN SẮP XẾP BẰNG TRÁO ĐỔI (EXCHANGE SORT) TIN HỌC 10

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (121.74 KB, 10 trang )

SỞ GIÁO DỤC ĐÀO TẠO ĐỒNG NAI
TRƯỜNG THPT KIỆM TÂN
Mã số:
SÁNG KIẾN KINH NGHIỆM
MÔ PHỎNG THUẬT TOÁN SẮP XẾP
BẰNG TRÁO ĐỔI (EXCHANGE SORT) TIN HỌC 10
Người thực hiện: ĐỖ HOÀI BẢO
Lĩnh vực nghiên cứu:
Quản lý giáo dục 
Phương pháp dạy học bộ môn 
Phương pháp giáo dục 
Lĩnh vực khác 
Có đính kèm:
Mô hình  Phần mềm  Phim ảnh  Hiện vật khác 
Năm học: 2012 – 2013
1
SƠ LƯỢC LÝ LỊCH KHOA HỌC
I. THÔNG TIN CHUNG VỀ CÁ NHÂN:
1. Họ và tên: Đỗ Hoài Bảo
2. Ngày tháng năm sinh: ngày 15 tháng 02 năm 1980
3. Giới tính: Nam
4. Địa chỉ: Q3/ 104 ấp Nguyễn Huệ, Xã Quang Trung, Huyện Thống Nhất, Tỉnh
Đồng Nai
5. Điện thoại: 0613.774897 DĐ: 0122.390.4559
6. Chức vụ: Giáo viên
7. Đơn vị công tác: Trường THPT Kiệm Tân, Huyện Thống Nhất, Tỉnh Đồng Nai.
II. TRÌNH ĐỘ ĐÀO TẠO:
1. Học vị cao nhất: Cử nhân
2. Năm nhận bằng: Năm 2005
3. Chuyên ngành đào tạo: Toán – Tin Học
III. KINH NGHIỆM GIÁO DỤC:


1. Lĩnh vực chuyên môn có kinh nghiệm: Giảng dạy Tin Học
2. Số năm có kinh nghiệm: 7 năm
3. Các sáng kiến kinh nghiệm đã có trong 5 năm gần đây:
- Đề tài năm 2009 - 2010: “BÀI TẬP TĂNG TIẾT TIN HỌC 11”
- Đề tài năm 2011 – 2012: “TÀI LIỆU BỔ TRỢ WORD CHO GIÁO VIÊN”
2
Phần mở đầu
 Lí do chọn đề tài: Để giúp cho học sinh khối 10 hiểu rõ về bài toán và thuật
toán, cụ thể là bài toán sắp xếp (Ví dụ 2 sách giáo khoa Tin Học 10 trang 37),
sách giáo khoa có ví dụ mô phỏng việc thực hiện thuật toán bằng hình ảnh tĩnh
(sách giáo khoa Tin Học 10 trang 40), tôi mô phỏng thuật toán sắp xếp bằng
hình ảnh động để học sinh được quan sát trực tiếp quá trình thực hiện trên màn
hình;
 Mục đích nghiên cứu: Giúp học sinh khối 10 hiểu rõ về bài toán và thuật toán
sắp xếp;
 Đối tượng nghiên cứu: Học sinh khối 10 trường THPT KIỆM TÂN;
 Thời gian, phạm vi nghiên cứu: Thời gian từ tháng 07 năm 2012 đến tháng
11 năm 2012, phạm vi trường THPT KIỆM TÂN;
 Phương pháp nghiên cứu: Gửi phiếu thăm dò đến học sinh khối 10 về bài
toán và thuật toán sắp xếp;
Để tài liệu biên soạn ngày một hoàn thiện hơn. Tôi rất mong nhận được sự quan tâm
và ý kiến đóng góp quý báu của các đồng nghiệp và các em học sinh.
Xin chân thành cảm ơn.
Mọi thắc mắc hoặc góp ý xin gửi về E-mail:
3
MÔ PHỎNG THUẬT TOÁN SẮP XẾP BẰNG TRÁO ĐỔI
(EXCHANGE SORT) TIN HỌC 10
1. Xác định bài toán
- Input: Dãy A gồm N số nguyên a
1

, a
2
,…, a
N
- Output: Dãy A được sắp xếp lại thành dãy không giảm.
2. Ý tưởng: Với mỗi cặp số hạng đứng liền kề trong dãy, nếu số trước lớn hơn số sau
ta đổi chỗ chúng cho nhau. Việc đó được lặp lại, cho đến khi không có sự đổi chỗ nào
xảy ra nữa.
3. Thuật toán (Cách liệt kê)
Bước 1. Nhập N, các số hạng a
1
, a
2
,…, a
N
;
Bước 2. M ← N;
Bước 3. Nếu M < 2 thì đưa ra dãy A đã được sắp xếp rồi kết thúc;
Bước 4. M ← M-1, i ← 0;
Bước 5. i ← i + 1;
Bước 6. Nếu i > M thì quay lại bước 3;
Bước 7. Nếu a
i
> a
i+1
thì tráo đổi a
i
và a
i+1
cho nhau;

Bước 8.Quay lại bước 5.
4. Cài đặt (Sử dụng phần mềm Turbo C)
Để cài đặt chương trình tôi chia thành 5 file, gồm có
4.1 File batdau.h dùng để khởi tạo giá trị ban đầu cho dãy số, có nội dung như sau:
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
int a[20]={6,1,5,3,7,8,10,7,12,4},sopt=10;
//////////////////////////
void khoitao()
{
for(int i=0;i<sopt;i++)
{
gotoxy(5*i+10,12);
cout<<a[i];
}
}
//////////////////////////////
4.2 File khoidau.h dùng để thể hiện thông tin về tác giả, có nội dung như sau:
#include <conio.h>
#include <iostream.h>
banquyen()
{ textcolor(14);
gotoxy(20,5);
cprintf("TRUONG THPT KIEM TAN");
gotoxy(20,7);
cprintf("TO: TOAN - TIN HOC");
gotoxy(20,9);
4
textcolor(13);

cprintf("GIAO VIEN THUC HIEN: DO HOAI BAO");
gotoxy(20,11);
cprintf("MO PHONG THUAT TOAN SAP XEP BANG TRAO
DOI(EXCHANGE SORT)");
textcolor(15);
gotoxy(20,13);
cprintf("NAM HOC: 2012 - 2013");
gotoxy(20,15);
cprintf("NHAN ENTER DE BAT DAU");
}
///////////////////////////////////////////////////////////////////////
4.3 File Dichuyen.h dùng để đổi chỗ cho nhau nếu số trước lớn hơn số sau, có nội
dung như sau:
#include <dos.h>
#include <conio.h>
#include <stdio.h>
int DALAY=1000;
/////////////////////////////
void hoanvi(int &a,int &b)
{
int tam=a;
a=b;
b=tam;
}
////////////////////////////////////////////////////
void doicho(int i1,int i2)//i1 va i2 la cac chi so
{
int t1=5*i1+10;//tai vi tri hoanh do a[i1] tren man hinh
int t2=5*i2+10;//tai vi tri hoanh do a[i2] tren man hinh
textcolor(15);

gotoxy(t1,10);
cprintf("%d",a[i1]);
gotoxy(t2,14);
cprintf("%d",a[i2]);
textcolor(0);
gotoxy(t1,12);//xoa gia tri a[1]
cprintf("%d",a[i1]);
gotoxy(t2,12);//xoa gia tri a[2]
cprintf("%d",a[i2]);
textcolor(15);
//vong lap de hoan doi vi tri 2 gia tri
int i=t1;
while (i<t2)
5
{
gotoxy(i,10);
cprintf("%d",a[i1]);
gotoxy(t2+t1-i,14);
cprintf("%d",a[i2]);
delay(DALAY);
textcolor(0);
gotoxy(i,10);
cprintf("%d",a[i1]);
gotoxy(t2+t1-i,14);
cprintf("%d",a[i2]);
textcolor(14);
i++;
} //het while
textcolor(15);
gotoxy(t2,12);

cprintf("%d",a[i1]);
gotoxy(t1,12);
cprintf("%d",a[i2]);
textcolor(0);
gotoxy(t2,10);
cprintf("%d",a[i1]);
gotoxy(t1,14);
cprintf("%d",a[i2]);
textcolor(15);
}
////////////////////////////////////
4.4 File sapxep.h dùng để cài đặt thuật toán sắp xếp, có nội dung như sau:
#include <conio.h>
#include <iostream.h>
void EXCHANGESORT()
{
gotoxy(10,8);
cprintf("MO PHONG THUAT TOAN SAP XEP BANG TRAO DOI
(EXCHANGE SORT)");
for(int j=sopt;j>2;j )
{
textcolor(15);
gotoxy(10,16);
cprintf("LAN DUYET %d",sopt+1-j);
for(int i=0;i<j-1;i++)
if(a[i]>a[i+1])
{
6
textcolor(15);
gotoxy(10,18);

cprintf("NHAN ENTER DE DOI CHO 2 SO DANG NHAP NHAY");
textcolor(10+BLINK);
gotoxy(5*i+10,12);
cprintf("%d",a[i]);
gotoxy(5*(i+1)+10,12);
cprintf("%d",a[i+1]);
getch();
textcolor(0);
gotoxy(5*i+10,12);
cprintf("%d",a[i]);
cprintf("%d",a[i+1]);
doicho(i,i+1);
hoanvi(a[i],a[i+1]);
}
textcolor(4);
gotoxy(5*i+10,12);
cprintf("%d",a[i]);
}
textcolor(0);
gotoxy(10,18);
cprintf("NHAN ENTER DE DOI CHO 2 SO DANG NHAP NHAY");
textcolor(4);
for(int i=0;i<sopt;i++) //in lai day da sap xep cho cung mau do
{
gotoxy(5*i+10,12);
cprintf("%d",a[i]);
}
textcolor(15);
gotoxy(10,16);
cprintf("NHAN ENTER DE THOAT");

}
/////////////////////////////////////////////////////////////////
4.5 File MoPhong.cpp dùng để liên kết các file batdau.h, khoidau.h, dichuyen.h,
sapxep.h để thực hiện chương trình, có nội dung như sau:
#include <C:\sapxep\batdau.h>
#include <C:\sapxep\dichuyen.h>
#include <C:\sapxep\sapxep.h>
#include <C:\sapxep\khoidau.h>
void main()
{
clrscr();
banquyen();
getch();
7
clrscr();
gotoxy(10,8);
cprintf("KHONG MAT TINH TONG QUAT, VI DU DAY CAC SO
NGUYEN DUONG SAU");
khoitao();
gotoxy(10,16);
cprintf("NHAN ENTER DE BAT DAU");
getch();
clrscr();
khoitao();
EXCHANGESORT();
getch();
}
5. Hướng dẫn sử dụng
Bước 1. Copy thư mục sapxep và TC vào ổ đĩa C:
Bước 2. Khởi động chương trình TC như sau: C:\TC\BIN\TC.EXE

Bước 3. Nhấn File  Open  gõ vào ô Name như sau
C:\sapxep\MOPHONG.CPP để mở file MOPHONG.CPP
Bước 4. Nhấn tổ hợp phím Ctrl + F9 để chạy chương trình và làm theo hướng dẫn
trên màn hình.
6. Tài liệu sử dụng
1. Sách giáo khoa TIN HỌC 10
2. KỸ THUẬT LẬP TRÌNH C, Tác giả GS PHẠM VĂN ẤT
3. Phần mềm Turbo C (TC)
8
Kết luận
Sau khi áp dụng đề tài này trong quá trình dạy học, học sinh khối 10 hiểu rõ hơn bài
toán và thuật toán, làm nền tảng cho các em lên lớp 11 học về kỹ thuật lập trình.
Trên đây là một sáng kiến nhỏ với mong muốn được chia sẻ cùng với các đồng
nghiệp và các em học sinh thân mến.
NGƯỜI THỰC HIỆN
ĐỖ HOÀI BẢO
9
Sở Giáo Dục–Đào Tạo Đồng Nai CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Trường THPT Kiệm Tân Độc Lập - Tự Do - Hạnh Phúc

Thống nhất, ngày tháng năm
PHIẾU NHẬN XÉT, ĐÁNH GIÁ SÁNG KIẾN KINH NGHIỆM
NĂM HỌC 2012-2013
Tên sáng kiến kinh nghiệm: MÔ PHỎNG THUẬT TOÁN SẮP XẾP BẰNG
TRÁO ĐỔI (EXCHANGE SORT) TIN HỌC 10
Họ và Tên tác giả: ĐỖ HOÀI BẢO Đơn vị (tổ): Toán – Tin
Lĩnh vực:
Quản lý giáo dục  Phương pháp dạy học bộ môn 
Phương pháp giáo dục  Lĩnh vực khác 
1. Tính mới:

- Có giải pháp hoàn toàn mới 
- Có giải pháp cải tiến, đổi mới từ giải pháp đã có 
2. Hiệu quả:
- Hoàn toàn mới và đã triển khai áp dụng trong toàn ngành có hiệu quả cao 
- Có tính cải tiến hoặc đổi mới từ những giải pháp đã có và đã triển khai áp
dụng trong toàn ngành có hiệu quả cao 
- Hoàn toàn mới và đã triển khai áp dụng tại đơn vị có hiệu quả cao 
- Có tính cải tiến hoặc đổi mới từ những giải pháp đã có và đã triển khai áp
dụng tại đơn vị có hiệu quả cao 
3. Khả năng áp dụng:
- Cung cấp được các luận cứ khoa học cho việc hoạch định đường lối, chính
sách:
Tốt  Khá  Đạt 
- Đưa các giải pháp khuyến nghị có khả năng áp dụng thực tiễn, dễ thực hiện
và dễ đi vào cuộc sống:
Tốt  Khá  Đạt 
- Đã được áp dụng trong thực tế đạt hiệu quả hoặc có khả năng áp dụng đạt
hiệu quả trong phạm vi rộng:
Tốt  Khá  Đạt 
XÁC NHẬN CỦA TỔ CHUYÊN MÔN THỦ TRƯỞNG ĐƠN VỊ
HIỆU TRƯỞNG
10

×