Tiet 20 - bai tap

Chia sẻ bởi Lưu Xuân Thảo | Ngày 25/04/2019 | 57

Chia sẻ tài liệu: tiet 20 - bai tap thuộc Tin học 11

Nội dung tài liệu:

Ngày soạn: 20/10/2011
Ngày giảng:25/10/2011

TIẾT 20 - BÀI TẬP
I. MỤC TIÊU
1. Về kiến thức
Học sinh sau tiết học sẽ :
Hiểu đúng khái niệm mảng một chiều.
Hiểu cách khai báo và truy cập đến các phần tử của mảng.
2. Về kỹ năng
Cài đặt được thuật toán của một số bài toán đơn giản với kiểu dữ liệu mảng một chiều
Thực hiện được khai báo mảng, truy cập, tính toán các phần tử của mảng
3. Về thái độ:
Có tư duy đúng đắn trong việc áp dụng mảng 1 chiều để giải các bài toán đơn giản
Tạo lòng ham muốn giải được một số bài tập tính toán đơn giản bằng ngôn ngữ Pascal
4. Phương pháp: Thuyết trình
II. TRỌNG TÂM
Biết kiểu mảng là một kiểu dữ liệu có cấu trúc, cần thiết và tiện dụng trong lập trình
Hiểu mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu. Khi khai báo mảng một chiều cần khai báo số lượng các phần tử, kiểu phần tử và cách đánh số các phần tử của mảng.
Xây dựng được thuật toán, sử dụng được kiều mảng một chiều đề giải bài toán tìm phần tử lớn nhất của dãy số nguyên
III. CHUẨN BỊ
1. Giáo viên: Sách giáo viên, giáo án, sách bài tập.
2. Học sinh: Đọc bài và có cái nhìn tổng quát về ngôn ngữ lập trình.
IV. TIẾN TRÌNH DẠY HỌC:
1. Ổn định tổ chức: kiểm diện
2. Kiểm tra bài cũ:
Trình bày cách khai báo trực tiếp kiểu dữ liệu mảng một chiều trong Turbo Pascal. (4đ)
Chọn khai báo kiểu dữ liệu mảng một chiều hợp lệ trong Turbo Pascal: (4đ)
a) var dayso: array[-1..20.5] of real;
b) var mang: array[0..255] of byte;
c) type A: array[-11..20] of integer;
var mang: A;
3. Giảng bài mới

HOẠT ĐỘNG CỦ GV, HS
NỘI DUNG
Tg

Hoạt động 1: Trình bày ví dụ 1 SGK trang 56.
GV: Nêu nội dung bài toán ví dụ 1. Trình bày Input và Output của bài toán. Và yêu cầu HS theo dõi thuật toán trong SGK.
HS: Quan sát và nghe giảng.
GV: Diễn giảng thuật toán để giải bài toán trên. Đặt câu hỏi để HS hiểu rõ hơn:
1/ Biến i dùng để làm gì?
2/ Ý nghĩa của bước 3.
3/ Có sử dụng vòng lặp không?
4/ Khi nào thì vòng lặp dừng lại?
5/ Cho HS chạy thử thuật toán với bộ dữ liệu: 5 1 7 6 3 15 8 4
HS: Nghe giảng, trả lời câu hỏi và ghi bài.
GV: Giải thích chương trình và đặt câu hỏi:
1/ Khai báo bao nhiêu biến.
2/ Các biến có kiểu dữ liệu là gì?
3/ Câu lệnh nào dùng để nhập giá trị cho các phần tử của mảng?
4/ Nếu dãy số có nhiều phần tử đạt giá trị lớn nhất thì chương trình sẽ xuất ra chỉ số của phần tử thứ mấy?
HS: Nghe giảng, trả lời câu hỏi và ghi bài.
GV: Nhận xét và bổ sung.
Hoạt động 2: Trình bày ví dụ 2 SGK trang 57.
GV: Nêu nội dung bài toán. Trình Input và Output của bài toán. Cho HS xem thuật toán được chuẩn bị trên bảng phụ.
HS: Nghe giảng.
GV: Giảng giải thuật toán và chương trình. Đặt câu hỏi để HS hiểu rõ chương trình:
1/ Mô phỏng thuật toán với bộ dữ liệu:
6 1 5 3 7 8 10 7 12 4
2/ Trong thuật toán cần duyệt qua bao nhiêu lần?
3/ Mỗi lượt thực hiện trên đoạn nào của dãy số?4/ Câu lệnh nào trong chương trình thể hiện hai yêu cầu trên?
5/ Mỗi lượt duyệt thực hiện các thao tác gì?
6/ Câu lệnh nào thực hiện việc tráo đổi?
HS: Nghe giảng, trả lời và ghi bài.
GV: Nhận xét và bổ sung.
Một số ví dụ :
Ví dụ 1 : Tìm phần tử lớn nhất của một dãy số nguyên .
Input : Số nguyên dương N và dãy số A1, A2, ….., AN
Output : Chỉ số và giá trị của số lớn nhất trong dãy
Ý tưởng :
Đặt số A1 là số lớn nhất (max)
Cho i lặp từ 2 đến N, nếu A[i]> thì đổi max = A[i] và lưu lại vị trí i .
Chương trình như sau :
Program timmax ;
Uses crt ;
var a : array[1
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Lưu Xuân Thảo
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)