Giáo án Tin học 11 - Tiết 1 đến tiết 22

Giáo án Tin học 11 - Tiết 1 đến tiết 22

 1. Kiến thức:

- Giới thiệu sử dụng SGK, các tài liệu tham khảo, phương pháp học tập,. của môn Tin học lớp 11

 2. Kĩ năng:

 - Biết cách tìm hiểu các loại tài liệu phù hợp với môn học

 3. Thái độ:

 - Ham thích môn học

 4. Phát triển năng lực:

 - Năng lực chung: Giải quyết vấn đề, giao tiếp, khám phá, tự học, năng lực hợp tác trong học tập, năng lực trình bày vấn đề trước tập thể.

 

doc 62 trang Người đăng hoan89 Lượt xem 633Lượt tải 0 Download
Bạn đang xem 20 trang mẫu của tài liệu "Giáo án Tin học 11 - Tiết 1 đến tiết 22", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Ngày dạy: / /2019 tại lớp 11B2
Ngày dạy: / /2019 tại lớp 11B6
Ngày dạy: / /2019 tại lớp 11B7
Ngày dạy: / /2019 tại lớp 11B8
Ngày dạy: / /2019 tại lớp 11B9
PPCT: 01
GIỚI THIỆU, HƯỚNG DẪN SỬ DỤNG SÁCH GIÁO KHOA, TÀI LIỆU HỌC TẬP VÀ PHƯƠNG PHÁP HỌC TẬP
I. Mục tiêu
 1. Kiến thức:
- Giới thiệu sử dụng SGK, các tài liệu tham khảo, phương pháp học tập,.. của môn Tin học lớp 11
 2. Kĩ năng:
 - Biết cách tìm hiểu các loại tài liệu phù hợp với môn học
 3. Thái độ:
 - Ham thích môn học
 4. Phát triển năng lực:
 - Năng lực chung: Giải quyết vấn đề, giao tiếp, khám phá, tự học, năng lực hợp tác trong học tập, năng lực trình bày vấn đề trước tập thể. 
II. Chuẩn bị của GV và HS
 1. Chuẩn bị của GV: SGK, một số sách tham khảo.
 2. Chuẩn bị của HS: SGK, vở ghi.
III. Tổ chức hoạt động dạy học
 1. Hoạt động khởi động:
 Mục tiêu:
 - Giúp học sinh huy động vốn kiến thức và kĩ năng để tổng hợp kiến thức, tạo hứng thú bước vào tìm hiểu các nội dung cúa SGK tài liệu học tập.
 - Giúp giáo viên tìm hiểu xem học sinh có hiểu vả biết cách vận dụng những nội dung đã học, cách giải các bài tập.
 Tiến hành:
 - Giáo viên:nêu nội dung và mục đích của việc học
 - Giáo viên: Kết luận, vào bài, giới thiệu nội dung của tài liệu theo từng chương 
2. Bài mới:
Hoạt động của GV và HS
Nội dung chính
HĐ1. 15’ Giáo viên hướng dẫn sử dụng sách giao khoa
GV: Chương I gồm có những phần kiến thức sau
- Gồm khái niệm và các thành phần của ngôn ngữ lập trình
GV: Chương IV gồm có những phần kiến thức sau:
Kiểu mảng một chiều
Kiểu xâu và một số bài tập thực hành
GV: Chương VI gồm có những phần kiến thức nào?
- Chương trình con và phân loại và một số ví dụ và bài tập thực hành 6,7
GV: Các phụ lục để làm gì?
HS: Các phụ lục để mô một số phép toán, môi trường làm việc của Turbo Pascal, một số tên dành riên, kiểu dữ liệu, hàm và thủ tục, câu lệnh rẽ nhánh và lặp, câu lệnh rẽ nhánh và lặp trong C++
HĐ2. 15’Tìm hiểu về tài liệu học tập
GV : Giới thiệu một số tài liệu giúp học tốt môn tin học lớp 10
HS: nghe giáo viên giới thiệu
HĐ3. 10’Nêu phương pháp học tập Tin học 11
GVvà HS cùng thảo luận cách học Tin học 11
GV kết luận: Học tin học 11 cần phải kết hợp lí thuyết với thực hành trong các giờ thực hành trên lớp và có thể thực hành ở nhà 
1. Cách sử dụng sách giáo khoa
- Khi học Tin học, Sách giáo khoa là một tài liệu không thể thiếu đối với mỗi học sinh. Trong đó đã chứa những kiến thức cơ bản nhất của môn
- Chương trình Tin học 11 gồm 6 chương:
+ Chương I: Tìm hiểu khái niệm về lập trình và ngôn ngữ lập trình
Trong chương này ta tìm hiểu về khái niệm về thông tin, khái niệm về dữ liệu, cấu trúc và hoạt động của máy tính và một số thuật toán cơ bản,..
+ Chương II: Chương trình đơn giản
+ Chương III: Cấu trúc rẽ nhánh và lặp
Chương IV: Kiểu dữ liệu có cấu trúc
Chương V: Tệp và thao tác với tệp
Chương VI: Chương trình con và lập trình có cấu trúc
Ngoài các kiến thức trong các chương SGK còn có các phụ lục:
Phụ lục A: - Một số phép toán thường dung, Giá trị phép toán logic
 Phụ lục B:- Môi trường Turbo Pascal, một số tên dành riêng, một số kiểu dữ liệu chuẩn, một số thủ tục và hàm chuẩn, câu lệnh rẽ nhánh và lặp
Phụ lục C: - Câu lệnh rẽ nhánh và lặp trong C++
2. Tài liệu học tập
Hiện nay có rât nhiều các tài liệu phục vụ cho học tập như: 
- Sách giáo khoa
- Lập trình Pascal căn bản
- Sử dụng các tài liệu trên mạng máy tính,..
3. Phương pháp học tập:
Tin học là môn học có thực hành ứng dụng vi vậy khi học tập phải kết hợp với thực hành trên máy tính.
- Khi thực hành trên máy tính, giáo viên hướng dẫn cấu trúc cơ bản, học sinh thực hiện và làm các bài tập trong bài thực hành và các bài tập làm thêm do giáo viên đưa ra,
3. Củng cố, luyện tập 2’
- Nhắc lại các kiến thưc cần học trong chương trình, cách sử dụng SGK, và tìm các tài liệu tham khảo
4. Hoạt động ứng dụng: 3’
- Xem trước Bài 1: Một số khái niệm về lập trình và ngôn ngữ lập trình
===========================
Ngày dạy: / /2019 tại lớp 11B2
Ngày dạy: / /2019 tại lớp 11B6
Ngày dạy: / /2019 tại lớp 11B7
Ngày dạy: / /2019 tại lớp 11B8
Ngày dạy: / /2019 tại lớp 11B9
PPCT: 02
Chương I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
Tiết 2: KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
I. Mục tiêu
 1. Kiến thức:
- Biết có ba lớp ngôn ngữ lập trình và các mức của ngôn ngữ lập trình: Ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao.
- Biết vai trò của chương trình dịch
- Biết khái niệm biên dịch và thông dịch
 2. Kĩ năng:
 	- Hiểu chương trình dich, phân biệt thông dịch và biên dịch
 3. Thái độ: 
 - Có hứng thú trong học tập ngôn ngữ lập trình
 4. Phát triển năng lực:
 - Năng lực chung: Giải quyết vấn đề, giao tiếp, khám phá, tự học, năng lực hợp tác trong học tập, năng lực trình bày vấn đề trước tập thể. 
II. Chuẩn bị của GV và HS
 1. Chuẩn bị của GV: SGK, một số sách tham khảo.
 2. Chuẩn bị của HS: SGK, vở ghi.
III. Tổ chức hoạt động dạy học
 1. Hoạt động khởi động:
 Mục tiêu:
 - Giúp học sinh huy động vốn kiến thức và kĩ năng để tổng hợp kiến thức, tạo hứng thú bước vào tìm hiểu các nội dung cúa SGK tài liệu học tập.
 - Giúp giáo viên tìm hiểu xem học sinh có hiểu vả biết cách vận dụng những nội dung đã học, cách giải các bài tập.
 Tiến hành:
 - Giáo viên:nêu nội dung và mục đích của việc học
 - Giáo viên: Kết luận, vào bài, giới thiệu nội dung của tài liệu theo từng chương
 2. Bài mới:
Hoạt động của GV và HS
Nội dung chính
HĐ1. 15’Tìm hiểu về lập trình
GV: Đặt câu hỏi 1: Em hãy cho biết các bước giải một bài toán trên máy tính?
HS: Suy nghĩ và trả lời câu hỏi.
GV: Phân tích câu trả lời của học sinh.
Nhắc lại các bước giải bài toán trên máy tính đã học ở lớp 10.
GV: Đặt câu hỏi 2: Em hãy cho biết có mấy loại ngôn ngữ lập trình?
HS: Trả lời câu hỏi của giáo viên.
GV: Phân tích câu trả lời của học sinh.
Mỗi loại máy có một ngôn ngữ riêng, thường thì chương trình viết bằng ngôn ngữ của máy nào chỉ chạy được trên máy đó.
Khi viết chương trình bằng ngôn ngữ bậc cao muốn thi hành được trên loại máy nào thì cần chuyển chương trình sang ngôn ngữ máy của máy đó.
HĐ2. 25’ Tìm hiểu về chương trình dịch 
GV: Đặt câu hỏi 3 : Làm thế nào để chuyển chương trình viết bằng ngôn ngữ bậc cao sang ngôn ngữ máy?
Đưa ra ví dụ : Bạn là người không biết tiếng Anh vậy làm sao để bạn có thể nói chuyện với người Anh hay đọc một cuốn sách tiếng Anh?
Khi một người làm phiên dịch người đó phải dịch như thế nào? (Dịch ngay từng câu khi 2 người nói chuyện)
Khi một người muốn dịch 1 cuốn sách sang tiếng Việt thì làm thế nào? (Dịch toàn bộ cuốn sách đó sang tiếng Việt để người đó có thể đọc được)
GV: Lấy ví dụ về biên dịch và thông dịch cho học sinh có thể hình dung được mỗi công việc.
Biên dịch: Sử dụng ngôn ngữ lập trình Pascal để dịch một chương trình viết sẵn ra đĩa và thi hành chương trình đã dịch để học sinh quan sát.
Thông dịch: Sử dụng các lệnh trong Command promt để thực hiện một số lệnh của DOS hoặc dùng ngôn ngữ Foxpro để thực hiện một số lệnh quản trị dữ liệu, học sinh dễ dàng nhận ra việc thông dịch.
Đi kèm với các chương trình dịch thường có các công cụ như soạn thảo chương trình nguồn, lưu trữ, tìm kiếm, phát hiện lỗi, thông báo lỗi, ngôn ngữ lập trình thường chứa tất cả các dịch vụ trên
1. Khái niệm lập trình:
 Lập trình là sử dụng một cấu trúc dữ liệu và các câu lệnh của một ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt thuật toán .
- Có 3 loại ngôn ngữ lập trình: Ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao.
- Chương trình viết bằng ngôn ngữ máy có thể nạp trực tiếp vào bộ nhớ thi hành ngay.
- Chương trình viết bằng ngôn ngữ bậc cao nói chung không phụ thuộc loại máy, muốn thi hành được thì nó phải được chuyển sang ngôn ngữ máy.
=>Cần phải có chương trình dịch để chuyển chương trình viết bằng ngôn ngữ lập trình bậc cao sang ngôn ngữ máy để máy có thể thi hành được.
2. Chương trình dịch có 2 loại: Biên dịch và thông dịch
+ Biên dịch (Compiler): Thực hiện các bước sau:
F Duyệt, kiểm tra, phát hiện lỗi và kiểm tra tính đúng đắn của các câu lệnh trong chương trình nguồn .
F Dịch toàn bộ chương trình nguồn thành một chương trình đích (ngôn ngữ máy) để có thể thực hiện trên máy và có thể lưu trữ để sử dụng lại khi cần.
+ Thông dịch (Interpreter): Dịch lần lượt từng câu lệnh và thực hiện ngay câu lệnh ấy.
Thông dịch được thực hiện bằng cách lặp lại dãy các bước sau:
F Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn
F Chuyển đổi các câu lệnh đó thành một hay nhiều câu lệnh trong ngôn ngữ máy.
F Thực hiện các câu lệnh vừa chuyển đổi được .
 3. Củng cố, luyện tập: 5’
 *) Củng cố:
Nhắc nhở lại kiến thức cơ bản của bài học: Khái niêm vê lập trình, các thông dịch, biên dịch trong ngôn ngữ lập trình
 *) Luyên tập:
Câu 1: Thông dịch là gì?
	A. Kiểm tra tính đúng đắn của câu lệnh trong chương trình nguồn
B. Chuyển đổi câu lệnh đó thành một hoặc hiện câu lệnh trong ngôn ngữ máy
C. Thực hiện câu lệnh vừa chuyển đồi
D. Kết hợp cả 3 phương án trên
Câu 2: Biên dịch là gì?
Duyệt, phát hiện lỗi chương trình nguồn
B. Dịch toàn bộ chương trình nguồn thành chương trình đích
	C. Kết hợp hai phương án trên.
Câu 3 : Thông dịch và biên dịch giống nhau :
Kiểm tra tính đúng đắn của các câu lệnh trong chương trình nguồn
Phát hiện lỗi
Sửa lỗi
Tất cả đều đúng
Câu hỏi: Thông dịch là gì? Và được thực hiện qua mấy bước?
 4. Vận dụng mở rộng: 3’
 Đọc trước bài mới: Các thành phần cơ bản của ngôn ngữ lập trình
=============================
Ngày dạy: / /2019 tại lớp 11B2
Ngày dạy: / /2019 tại lớp 11B6
Ngày dạy: / /2019 tại lớp 11B7
Ngày dạy: / /2019 tại lớp 11B8
Ngày dạy: / /2019 tại lớp 11B9
PPCT: 03
Tiết 3: CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH
I. Mục tiêu
1. Kiến thức:
- Biết các thành phần cơ bản của ngôn ngữ lập trình: Bảng chữ cái, cú pháp và ngữ nghĩa.
- Biết các thành phần cơ bản của TP: Bảng chữ cái, tên, tên chuẩn, tên riêng (từ khoá), hằng và biến
 2. Kỹ năng:
	Phân biệt được tên, hằng và biến. Biết cách đặt tên đúng
 3. Thái độ: 
 - Có hứng thú trong học tập ngôn ngữ lập trình
 4. Phát triển năng lực:
 	Năng lực chung: Giải quyết vấn đề, giao tiếp, khám phá, tự học, năng lực hợp tác trong học tập, năng lực trình bày về các thành phần của ngôn ngữ lập trình trược tập thể.
II. Chuẩn bị của GV và HS
 1. Chuẩn bị của GV: SGK, một số sách tham khảo.
 2. Chuẩn bị của HS: SGK, vở ghi.
III. Tổ chức hoạt động dạy học
 1. Hoạt động khởi động(5’)
 Mục tiêu:
 - Giúp học sinh huy động vốn kiến thức và kĩ năng để tổng hợp kiến thức, tạo hứng thú bước vào tìm hiểu các nội dung cúa SGK tài liệu học tập.
 - Giúp giáo viên tìm hiểu xem học sinh có hiểu vả biết cách vận dụng những nội dung đã học, cách giải các bài tập.
 Tiến hành:
Giáo viên: +) Kiểm tra bài cũ
So sánh sự giống nhau và khác nhau giữa thông dịch và biên dich?
nêu nội dung và mục đích của việc học
 - Giáo viên: Kết luận, vào bài, giới thiệu nội dung của tài liệu theo từng chương
 2 . Bài mới:
Hoạt động của GV và HS
Nôi dung chính
HĐ1: 10’ Tìm hiểu về các thành phần ngôn ngữ lập  ... ‘ Day khong phai bo so 
 Pi-ta-go’);
 End.
b) Lưu chương trình với tên Pitago lên đĩa
Muốn lưu tên chương trình được thì sau khi gõ xong chương trình ta nhấn phím F2 hoặc chọn vào File-> Saves hiển thị hộp thoại ta gõ tên chương trình là:Pitago rồi chọn OK.
c) Nhấn phím F7 để thực hiện từng câu lệnh chương trình, nhập các giá trị
 a =3, b=4 , c=5.
d)Vào bảng chọn Debug để hiệu chỉnh các giá trị a2, b2, c2
 Muốn thực hiện được ta chọn vào Debug ở trên thanh bảng chọn
e)Nhấn phím F7 để thực hiện từng câu lệnh chương trình, nhập các giá trị
 a =9, b=16 , c=25.
3. Củng cố, luyện tập:
- Nhắc nhở lại kiến thức cơ bản của bài học về cấu trúc rẽ nhánh, lăp, cấu trúc chương trình và các thành phần của chương trình.
Luyện tập:
 Hãy Nhấn phím F7 để thực hiện từng câu lệnh chương trình, nhập các giá trị
 a =6, b=15 , c=2.
4. Vận dụng mở rộng:
- Về nhà học bài và làm tiếp các bài tập còn lại
Tiết 20
BÀI TẬP THỰC HÀNH 2
I. Mục tiêu
1. Kiến thức:
- Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh
- Làm quen với việc hiệu chỉnh chương trình
 2. Kỹ năng:
- Thực hiện được các bài tập trong sách giáo khoa.
II. Chuẩn bị của GV và HS.
1. Chuẩn bị của GV:
- Bài soạn, phấn, bảng, phòng thực hành
 2. Chuẩn bị của HS.
- Sách giáo khoa, vở ghi,
III. Tiến trình bài dạy:
 1. Kiểm diện học sinh
Ngày dạy:../...../ 2011 Lớp: 11B1 	Sĩ số:...
Ngày dạy:../..... /2011 Lớp: 11B13 	Sĩ số:.......
 2. Kiểm tra bài cũ: Kết hợp kiểm tra trong giờ học
 3. Nội dung:
Hoạt động của GV và HS
Nội dung chính
GV: Yêu cầu hs làm bài tập 4a SGK-51
GV:Giáo viên hướng dẫn học sinh nhập chương trình
HS: Làm theo hướng dẫn của GV
GV:Với bài này có sử dụng các lệnh rẽ nhánh dạng thiếu được không?
HS: Trả lời ta không sử dụng được
GV: Nêu đầu bài SGK trang 51.
HS: Theo dõi và đọc yêu cầu của bài tập
GV: Gọi mộ hs trả lời với bài tập này cần khai báo những biến gì ?
HS: Trả lời như sau:
GV:Ta dùng vòng lặp nào để thực hiện?
HS: Ta dùng vòng lặp For để thực hiện
GV:Nêu yêu cầu bài tập 5b SGK
 trang 51
HS: Theo dõi bài tập
GV:Nếu ta sử dụng vòng lặp While do thì bài toán thực hiện như thế nào?
HS: Trả lời câu hỏi
GV:Ta có cần một biến trung gian để tính các giai thừa của bài toán?
HS: Quan sát chương trình đã viết và trả lời
2. Thực hiện các bài tập trong sách giáo khoa
a) bài tập 4a:
Program baitap4a;
 Var z, x, y :Real;
 Begin
 Write(‘ Nhap vao so x: ’); Readln(x);
 Write(‘ Nhap vao so y: ’); Readln(y);
 If (x*x+y*y) <=1 then z:= x*x+y*y
 Else 
 If y>=x then z:=x+y
 Else z:=0.5;
 Writeln(‘Gia tri cua z la: ’,z:8:2);
 Readln;
 End.
b) Bài tập 5a
Program baitap5a;
 Var n :Integer;
 S :Real;
 Begin
 S:=0;
 For n:=1 to 50 do
 S:=S+n/(n+1);
 Writeln(‘Tong day so la: S= ’,S:8:2);
 Readln;
 End.
c) Bài tập 5b:
Program baitap5a;
 Var n, tg :Integer;
 S :Real;
 Begin
 S:=1; tg:=1; n:=0;
 While (1/tg>0.000002) do
 Begin 
 N:=n+1;
 Tg:=tg*n
 S:=S+1/tg;
 End;
 Writeln(‘Tong day so la: S= ’,S:8:2);
 Readln;
 End.
3. Củng cố , luyện tập
- Nhắc nhở lại kiến thức cơ bản của bài học về cấu trúc rẽ nhánh, lăp, cấu trúc chương trình và các thành phần của chương trình.
4. Vận dụng mở rộng
- Về nhà học bài và làm bài tập ở nhà.
 Chương IV: DỮ LIỆU CÓ CẤU TRÚC
Tiết 21	KIỂU MẢNG
I. Mục tiêu
1. Kiến thức:
- Hiểu khái niệm mảng một chiều 
- Hiểu cách khai báo và truy cập đến phần tử của mảng một chiều
 2. 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
II. Chuẩn bị của GV và HS.
1. Chuẩn bị của GV:
Bài soạn, phấn, bảng
2. Chuẩn bị của HS: 
Sách giáo khoa, vở ghi,
III. Tiến trình bài dạy.	
 1. Kiểm diện học sinh
Ngày dạy:../...../ 2011 Lớp: 11B1 	Sĩ số:...
Ngày dạy:../..... /2011 Lớp: 11B13 	Sĩ số:.......
2. Kiểm tra bài cũ: 
Câu hỏi: Kết hợp kiểm tra trong giảng dạy.
3. Bài mơí:
Hoạt động của GV và HS
Nội dung chính
HĐ1: Hiểu khái niệm mảng một chiều và cách khai báoi mảng một chiều
 GV:Yêu cầu hs đọc sgk trả lời câu hỏi sau:
- Mảng một chiều là gì?
HS: Trả lời câu hỏi
GV:Để mô tả mảng một chiều ta thực hiện như thế nào?
HS: Trả lời câu hỏi như sau:
GV:Để lập trình và sử dụng mảng một chiều ta thực hiện như thế nào?
HS: Để có thể lập trình và sử dụng kiểu mảng một chiều các ngôn ngữ lập trình có quy tắc và cách thức cho phép xác định.
GV: Nêu ví dụ:
Bài toán nhập vào nhiệt độ trung bình của mỗi ngày trong tuần, tinh và đưa ra màn hình nhiệt độ trung bình của tuần và số lượng ngày trong tuần có nhiệt độ lớn hơn nhiệt độ trung bình.
GV: Nêu câu hỏi sau:
-Ta cần khai báo những biến nào?
HS: Ta cần khai báo những biến sau:
GV:Biến đếm dùng để làm gì?
HS: Trả lời câu hỏi
GV:Cách tính nhiệt độ trung bình tuần như thế nào?
HS: Ta làm như sau: Lấy tất cả các ngày trong tuần cộng lại với nhau và chia trung bình
GV: Nêu vấn đề sau:
 Vậy để giải quyết với bà toán trên với N khá lớn ta sử dụng kiểu mảng một chiều để mô tả.
Chương trình tổng quát với N ngày trong Pascal như sau:
GV:Cách nhập dữ liệu trong Pascal?
HS: Làm theo hướng dẫn của GV
Giáo viên: Viết chương trình nhập nhiệt độ các ngày trong năm và tính nhiệt độ trung bình.
GV:Để khai báo trực tiếp ta thực hiện như thế nào?
HS: Ta có 2 cách khai báo mảng một chiều như sau:
GV:Kiểu chỉ số thường là kiểu dữ liệu nào?
HS: Kiểu chỉ số thường là một đoạn số nguyên liên tục có dạng n1..n2 là các hằng biểu thức nguyên xác định chỉ số đầu và chỉ số cuối (n1<=n2)
GV:Cách tham chiếu tới các phần tử của mảng như thế nào?
HS: Tham chiếu tới phần tử của mảng một chiều được xác định bởi tên mảng cùng với chỉ số, được viết trong cặp ngoặc [và].
1. Kiểu mảng một chiều
- Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu. Mảng được đặt tên và mỗi phần tử của nó có một chỉ số. Để mô tả mảng một chiều cần xác định kiểu của các phần tử và cách đánh số các phần tử của mảng
- Để có thể lập trình và sử dụng kiểu mảng một chiều các ngôn ngữ lập trình có quy tắc và cách thức cho phép xác định.
 + Tên mảng một chiều
 + Số lượng các phần tử
 + Kiểu dữ liệu của phần tử
 + Cách khai báo mảng
 + Cách tham chiếu đến phần tử
*) Ta xét ví dụ sau:
*) Chương trình
Program Nhietdotuan;
 Var t1, t2, t3, t4, t5, t6, t7, tb:Real;
 dem:Integer;
 Begin
 Write(‘Nhap nhiet do cua 7 ngay: ‘);
 Readln(t1, t2, t3, t4, t5, t6, t7);
 Tb:=( t1+t2+t3+t4+t5+t6+t7)/7;
 dem:=0;
 If t1> tb then dem:=dem+1;
 If t2> tb then dem:=dem+1;
 If t3> tb then dem:=dem+1;
 If t4> tb then dem:=dem+1;
 If t5> tb then dem:=dem+1;
 If t6> tb then dem:=dem+1;
 If t7> tb then dem:=dem+1;
 Writeln(‘Nhiet do trung binh tuan: ’,tb:8:3);
 Writeln(‘ So ngay co nhiet do lon hon nhiet
 do tb:’dem);
 Readln;
 End.
*) Với bài toán trên với N khá lớn ta sử dụng kiểu mảng một chiều để mô tả như sau:
Progarm Nhietdongay;
 Const Max=360;
 Type Kmang1=array[1..Max] of Real;
 Var nhietdo:Kmang1;
 dem, i, n:Byte;
 tong, trungbinh:Real;
 Begin
 Write(‘Nhap so ngay: ’); Readln(n);
 tong:=0;
 For i:=1 to n do 
 Begin
 Writeln(‘ Nhap vao nhiet do ngay ’,i,’ :’);
 Readln(nhietdo[i]);
 Tong:=tong+nhietdo[i];
 End;
 dem:=0;
 trungbinh:=tong/n;
 For i:=1 to n do
 If nhietdo[i]>trungbinh then dem:=dem+1;
 Wrteln(‘Nhiet do trung binh ’,n,’ ngay: 
 ‘,trungbinh:8:3);
 Writeln(‘So ngay co nhiet do lon hon nhiet do trung binh la: ’ ,dem);
 Readln;
 End.
a) Khai báo
Cách khai báo mảng một chiều có dạng:
- Cách 1: Khai báo trực tiệp biến mảng một chiều
Var :array[kiểu chỉ số] of 
 ;
- Cách 2: Khai báo gián tiếp biến mảng qua mảng một chiều;
Type =array[kiểu chỉ số] of 
 ;
Var :;
Trong đó:
- Kiểu chỉ số thường là một đoạn số nguyên liên tục có dạng n1..n2 là các hằng biểu thức nguyên xác định chỉ số đầu và chỉ số cuối (n1<=n2)
- Kiểu phần tử là kiểu phần tử của mảng
*) Tham chiếu tới phần tử của mảng một chiều được xác định bởi tên mảng cùng với chỉ số, được viết trong cặp ngoặc [và].
VD: Tham chiếu tới phần tử thứ 3 của mảng A ta viết A[3]
4. Củng cố, luyện tập
- Nhắc nhở lại kiến thức cơ bản của bài học về khai báo mảng một chiều
5. Hướng dẫn hs tự học ở nhà
- Về nhà học bài và làm bài tập ở nhà.
- Xem tiếp các một số ví dụ
Tiết 22
KIỂU MẢNG
I. Mục tiêu
1. Kiến thức:
- Hiểu cách khai báo và truy cập đến phần tử của mảng
 2. 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 đượckhai báo mảng, truy cập, tính toán các phần tử của mảng
II. Chuẩn bị của GV và HS.
1. Chuẩn bị của GV:
Bài soạn, phấn, bảng
2. Chuẩn bị của HS: 
Sách giáo khoa, vở ghi,
III. Tiến trình bài dạy.	
 1. Kiểm diện học sinh
Ngày dạy:../...../ 2010 Lớp: 11B1 	Sĩ số:...
Ngày dạy:../..... /2010 Lớp: 11B13 	Sĩ số:.......
2. Kiểm tra bài cũ: 
Câu hỏi: Kết hợp kiểm tra trong giảng dạy.
3. Bài mơí:
Hoạt động của GV và HS
Nội dung chính
HĐ2: áp dụng khai báo mảng một chiều thực hiện viết chương trình các bài toán
Ví dụ 1: Tìm phần tử lớn nhất của dãy số nguyên
Ta có thuật toán tim giá trị lớn nhất của dãy số nguyên như sau:
Bước 1: Nhập giá trị N và dãy A1, A2,, AN
Bước 2: Max¬A1; i¬2;
Bước 3: Nếu i > N thì đưa ra giá trị Max rồi kết thúc
Bước 4:
 Bước 4.1: Nếu Ai > Max thì Max¬Ai;
 Bước 4.2: i¬i+1 rồi quay lại bước 3;
GV:Cách duyệt các phần tử trong mảng như thế nào?
HS: Trả lời câu hỏi
GV:Nêu yêu cầu của bài toán
- Input: Số nguyên dương N và dãy số nguyên dương y A1, A2,, AN
- Output: Dãy số được sắp xếp không giảm
GV: Hướng dẫn từng hs cách nhập dữ liệu cho từng phần tử?
HS: Làm theo hướng dẫn của GV
GV:Tại sao phải dùng biến t làm biến trung gian?
HS: Trả lời câu hỏi
b) Một số ví dụ
Chương trình thực hiện duyệt tuần tự các phần tử trong dãy để tìm ra phần tử lớn nhất.
Program TimMax;
 Const Nmax=250;
 Type ArrInt=array[1..Max] of Integer;
 Var N, i, csmax,:Integer;
 A:ArrInt ;
 Begin
 Write(‘Nhap so luong phan tu cua day so
 N= ‘); readln(N);
 For i:=1 to N do
 Begin
 Write(‘Phan tu thu ’,i,’ = ‘);
 Readln(A[i]);
 End;
 Max:=A[1]; csmax:=1;
 For i:=1 to N do
 If A[i]>Max then
 Begin
 Max:=A[i];
 Csmax:=i;
 End;
 Writeln(‘Gia tri lon nhat cua day la: ’ ,Max);
 Writeln(‘Nam tai vi tri ’,csmax);
 Readln;
 End.
Ví dụ 2: Sắp xếp dãy số nguyên theo chiều tăng dần
Chương trình sắp xếp dãy số:
Program Sapxep;
 Const Nmax=250;
 Type ArrInt=Array[ 1..Nmax] of Integer;
 Var N, i, j,t :Integer;
 A: ArrInt;
 Begin
 Write(‘Nhap so luong phan tu cua day 
 N= ‘); Readln(N);
 For i:=1 to N do
 Begin
 Write(‘Phan tu thu ‘,i,’ = ‘);
 Readln(A[i]); 
 End;
 For j:=N dowto 2 do
 For i:=1 to j-1 do
 If A[i]>A[i+1] Then 
 Begin
 t:=A[i];
 A[i+1]:=A[i];
 A[i+1]:=t;
 End;
 Writeln(‘Day da duoc sap xep la: ‘);
 For i:=1 to N do
 Write(A[i]:4); 
 Readln; 
End.
4. Củng cố, luyện tập
- Nhắc nhở lại kiến thức cơ bản của bài học về cách sử dụng mảng một chiều trong chương trình thể hiện thuật toán cơ bản tìm kiếm và sắp xếp
 5. Hướng dẫn hs tự học ở nhà
- Về nhà học bài và làm bài tập ở nhà.
- Xem tiếp ví dụ còn lại

Tài liệu đính kèm:

  • docgiao_an_tin_hoc_11_tiet_1_den_tiet_22.doc