Tiết 27 và 28

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Trần Chí Thu (trang riêng)
Ngày gửi: 14h:36' 18-07-2009
Dung lượng: 60.0 KB
Số lượt tải: 7
Nguồn:
Người gửi: Trần Chí Thu (trang riêng)
Ngày gửi: 14h:36' 18-07-2009
Dung lượng: 60.0 KB
Số lượt tải: 7
Số lượt thích:
0 người
Tuần : 24 Ngày soạn / / 09
Chương IV. KIỂU DỮ LIỆU CÓ CẤU TRÚC
BÀI TẬP VÀ THỰC HÀNH 4 ( 2tiết)
A- Mục tiêu bài học:
Kiến thức:
Biết nhận xét, phân tích, đề xuất thuật toán giải bài toán sao cho chương trình chạy nhanh hơn.
Làm quen kiểu dữ liệu có cấu trúc và bài toán sắp xếp
Kỹ năng:
Tổ chức các hoạt động trong phòng máy để học sinh có được các kĩ năng cơ bản làm việc với kiểu dữ liệu mảng một chiều trong lập trình cụ thể là:
Khai báo kiểu dữ liệu mảng,
Nhập dữ liệu cho mảng đưa ra màn hình chỉ số và giá trị các phần tử của mảng.
Duyệt qua các phần tử của mảng để xữ lí từng phần tử
Thái độ:
B- Phương pháp:
Vấn đáp và hướng dẫn
C- Chuẩn bị của giáo viên và học sinh:
1. Giáo viên:
2. Học sinh:
D- Tiến trình lên lớp:
I- Ổn định lớp:
II- Kiểm tra bài cũ: Kiểm tra trong quá trình thực hành
III- Bài mới:
Hoạt động của giáo viên và học sinh
Nội dung kiến thức
HĐ1: Hướng dẫn cho HS đọc hiểu chương trình.
Gv yêu cầu HS đọc đề bài 1 và xác định bài toán.
Hs: xác định bài toán:
Input: Nhập N và dãy A1,A2, … , An và số nguyên dương
Out: dãy số trên đã được sắp xếp tăng.
Gv: Em hãy nêu ý tưởng giải bài toán này?
Với mỗi j nhận lần lượt giá trị từ n đến 2 Ta cho i nhận giá trị từ 1 đến j-1 . mỗi lần như vậy ta so sánh A[i] > A[i+1] thì tráo đổi hai giá trị cho nhau.
Gv:Hãy viết đoạn lệnh hoán đổi hai giá trị a và b
T:=a; a:=b; b:=t;
Gv: Yêu cầu Hs đọc chương trình trong SGK.
GV: Giải thích thủ tục Randomize khởi tạo bộ lấy số ngẫu nhiên trước khi dùng lệnh radom(n) để lấy số ngẫu nhiên trong phạm vi từ 1 đến n-1.
Gv: MyArray là một tên kiểu dữ liệu hay biến?
Hs: MyArray là một tên kiểu dữ liệu do chúng ta định nghĩa.
Gv: vai trò của n và nmax khác nhau như thế nào?
Hs: Vai trò N là số phần tử của dãy ta cần nhập vào còn nmax là để giới hạn tối đa số phần tử của dãy.
Gv:Những dòng lệnh nào nhằm tạo ra mảng A?
Hs: từ đoạn
Write(‘ Nhap N’); Readln(N);
For i: = 1 to n do A[i]:=random(300) – random(300);
Gv: Lệnh gán A[i]:=random(300) – random(300); có ý nghĩa gì?
Hs: Nhằm tạo ra một giá trị ngẫu nhiên trong pham vi [-299 .. 299]
Gv: Cho học sinh xác định đoạn lệnh nào là thể hiện một lần tráo đổi giá trị hai phần tử liền kề nhau?
Bài 1. Tạo mảng A gồm n (n<=100) số nguyên, Hãy sắp xếp dãy số sao cho các ptử trong dãy có giá trị tăng dần.
a) Tìm hiểu và chạy thử chương trình.
Program sapxep;
Const nmax=100;
Type MyArray= Array[1…nmax] of integer;
Var A:MyArray;
S,n,i,k: Integer;
Begin
Write(‘ Nhap N’); Readln(N);
For i: = 1 to n do A[i]:=random(300) – random(300);
For i:= 1 to n do
Writeln(A[i]:5);
For j:= n downto 2 do
For i:= 1 to j-1 do
If A[i]>A[i+1] then
Begin
T:=A[i];
A[i]:=A[i+1];
A[i+1]:=t;
End;
For i:=1 to 7 do
Write(A[i]:4);
Readln;
End.
HĐ2: Tổ chức thực hành
Gv: yêu cầu Hs soạn thảo chương trình trong sách giáo khoa vào trong máy của mình sau đó thực hiện dịch kiểm tra lỗi và thực hiện chương trình.
Gv: Theo dõi, hướng dẫn cho những học sinh còn yếu
Gv: Chú ý
Nhắc Hs ghi lại chương trình vào đĩa.
Khi thực hiện chương trình nên nhập số phần tử của dãy vừa phải.
Quan sát uốn nắn Hs hình thức viết chương trình sao cho thể hiện được tính cấu trúc của nó
Hđ3: sửa đổi chương trình để có được chương trình
Chương IV. KIỂU DỮ LIỆU CÓ CẤU TRÚC
BÀI TẬP VÀ THỰC HÀNH 4 ( 2tiết)
A- Mục tiêu bài học:
Kiến thức:
Biết nhận xét, phân tích, đề xuất thuật toán giải bài toán sao cho chương trình chạy nhanh hơn.
Làm quen kiểu dữ liệu có cấu trúc và bài toán sắp xếp
Kỹ năng:
Tổ chức các hoạt động trong phòng máy để học sinh có được các kĩ năng cơ bản làm việc với kiểu dữ liệu mảng một chiều trong lập trình cụ thể là:
Khai báo kiểu dữ liệu mảng,
Nhập dữ liệu cho mảng đưa ra màn hình chỉ số và giá trị các phần tử của mảng.
Duyệt qua các phần tử của mảng để xữ lí từng phần tử
Thái độ:
B- Phương pháp:
Vấn đáp và hướng dẫn
C- Chuẩn bị của giáo viên và học sinh:
1. Giáo viên:
2. Học sinh:
D- Tiến trình lên lớp:
I- Ổn định lớp:
II- Kiểm tra bài cũ: Kiểm tra trong quá trình thực hành
III- Bài mới:
Hoạt động của giáo viên và học sinh
Nội dung kiến thức
HĐ1: Hướng dẫn cho HS đọc hiểu chương trình.
Gv yêu cầu HS đọc đề bài 1 và xác định bài toán.
Hs: xác định bài toán:
Input: Nhập N và dãy A1,A2, … , An và số nguyên dương
Out: dãy số trên đã được sắp xếp tăng.
Gv: Em hãy nêu ý tưởng giải bài toán này?
Với mỗi j nhận lần lượt giá trị từ n đến 2 Ta cho i nhận giá trị từ 1 đến j-1 . mỗi lần như vậy ta so sánh A[i] > A[i+1] thì tráo đổi hai giá trị cho nhau.
Gv:Hãy viết đoạn lệnh hoán đổi hai giá trị a và b
T:=a; a:=b; b:=t;
Gv: Yêu cầu Hs đọc chương trình trong SGK.
GV: Giải thích thủ tục Randomize khởi tạo bộ lấy số ngẫu nhiên trước khi dùng lệnh radom(n) để lấy số ngẫu nhiên trong phạm vi từ 1 đến n-1.
Gv: MyArray là một tên kiểu dữ liệu hay biến?
Hs: MyArray là một tên kiểu dữ liệu do chúng ta định nghĩa.
Gv: vai trò của n và nmax khác nhau như thế nào?
Hs: Vai trò N là số phần tử của dãy ta cần nhập vào còn nmax là để giới hạn tối đa số phần tử của dãy.
Gv:Những dòng lệnh nào nhằm tạo ra mảng A?
Hs: từ đoạn
Write(‘ Nhap N’); Readln(N);
For i: = 1 to n do A[i]:=random(300) – random(300);
Gv: Lệnh gán A[i]:=random(300) – random(300); có ý nghĩa gì?
Hs: Nhằm tạo ra một giá trị ngẫu nhiên trong pham vi [-299 .. 299]
Gv: Cho học sinh xác định đoạn lệnh nào là thể hiện một lần tráo đổi giá trị hai phần tử liền kề nhau?
Bài 1. Tạo mảng A gồm n (n<=100) số nguyên, Hãy sắp xếp dãy số sao cho các ptử trong dãy có giá trị tăng dần.
a) Tìm hiểu và chạy thử chương trình.
Program sapxep;
Const nmax=100;
Type MyArray= Array[1…nmax] of integer;
Var A:MyArray;
S,n,i,k: Integer;
Begin
Write(‘ Nhap N’); Readln(N);
For i: = 1 to n do A[i]:=random(300) – random(300);
For i:= 1 to n do
Writeln(A[i]:5);
For j:= n downto 2 do
For i:= 1 to j-1 do
If A[i]>A[i+1] then
Begin
T:=A[i];
A[i]:=A[i+1];
A[i+1]:=t;
End;
For i:=1 to 7 do
Write(A[i]:4);
Readln;
End.
HĐ2: Tổ chức thực hành
Gv: yêu cầu Hs soạn thảo chương trình trong sách giáo khoa vào trong máy của mình sau đó thực hiện dịch kiểm tra lỗi và thực hiện chương trình.
Gv: Theo dõi, hướng dẫn cho những học sinh còn yếu
Gv: Chú ý
Nhắc Hs ghi lại chương trình vào đĩa.
Khi thực hiện chương trình nên nhập số phần tử của dãy vừa phải.
Quan sát uốn nắn Hs hình thức viết chương trình sao cho thể hiện được tính cấu trúc của nó
Hđ3: sửa đổi chương trình để có được chương trình
 








Các Ý Kiến