Giáo án Tin học Lớp 8 - Phần 1: Lập trình đơn giản

Giáo án Tin học Lớp 8 - Phần 1: Lập trình đơn giản

Mục tiêu của phần này là cung cấp cho HS một số kiến thức, kĩ năng cơ bản, phổ thông về lập trình thông qua ngôn ngữ lập trình bậc cao Pascal.

 Kiến thức

ã Biết được khái niệm bài toán, thuật toán, mô tả thuật toán bằng cách liệtkê;

ã Biết được một chương trình là mô tả của một thuật toán trên một ngôn ngữ cụ thể;

ã Hiểu thuật toán của một số bài toán đơn giản (tìm số lớn nhất, số nhỏ nhất; kiểm tra ba số cho trước có phải là độ dài ba cạnh của một tam giác không);

ã Biết cấu trúc của một chương trình, một số thành phần cơ sở của ngôn ngữ;

ã Hiểu một số kiểu dữ liệu chuẩn, đơn giản, cách khai báo biến;

ã Biết các khái niệm: phép toán, biểu thức số học, hàm số học chuẩn, biểu thức quan hệ;

ã Hiểu được lệnh gán;

ã Biết các câu lệnh vào/ra đơn giản để nhập thông tin từ bàn phím và đưa thông tin ra màn hình;

ã Hiểu được câu lệnh điều kiện, câu lệnh ghép, câu lệnh lặp kiểm tra điều kiện trước, vòng lặp với số lần định trước;

ã Biết được các tình huống sử dụng từng loại lệnh lặp;

ã Biết được khái niệm mảng một chiều, cách khai báo mảng, truy cập các phần tử của mảng.

 

doc 100 trang Người đăng tuvy2007 Lượt xem 647Lượ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 Lớp 8 - Phần 1: Lập trình đơn giản", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Phần 1
A. những vấn đề chung
I. Nội dung chương trình và chuẩn kiến thức, kĩ năng môn Tin học cấp trung học cơ sở 
1. Mục tiêu 
Kiến thức: 
Trang bị cho học sinh một số hiểu biết nhập môn về thuật toán và ngôn ngữ lập trình, các cấu trúc chương trình cơ bản: tuần tự, rẽ nhánh và lặp ở mức phổ thông.
Biết được các lợi ích của việc viết các chương trình máy tính để giải quyết những bài toán khác nhau trong các lĩnh vực của đời sống.
Biết cách sử dụng được các phần mềm học tập trình bày trong SGK.
Hiểu được ý nghĩa của các phần mềm máy tính ứng dụng trong các lĩnh vực khác nhau của cuộc sống.
Kĩ năng: 
Giải được một số bài toán đơn giản trên máy tính bằng cách vận dụng thuật toán đơn giản, dữ liệu chuẩn trên ngôn ngữ lập trình bậc cao cụ thể.
Sử dụng và khai thác thành thạo các phần mềm học tập được giới thiệu.
Rèn luyện khả năng thao tác nhanh với bàn phím và chuột máy tính.
Thái độ: 
Ham thích môn học, tác phong làm việc nghiêm túc, cẩn thận và tinh thần làm việc theo nhóm. 
Nghiêm túc khi học và làm việc trên máy tính không phân biệt phần mềm học tập hay phần mềm trò chơi. Có ý thức sử dụng máy tính đúng mục đích. 
Nâng cao ý thức và lòng say mê học tập các môn học.
2. Nội dung chương trình
Lập trình đơn giản
- Thuật toán và ngôn ngữ lập trình;
- Chương trình Turbo Pascal (TP) đơn giản;
- Tổ chức rẽ nhánh;
- Tổ chức lặp;
- Kiểu mảng và biến có chỉ số;
- Một số thuật toán tiêu biểu.
Khai thác phần mềm học tập
3) Chuẩn kiến thức, kĩ năng
CHủ Đề
MứC Độ CầN ĐạT
GHI CHú
Lập trình đơn giản 
1. Thuật toán và ngôn ngữ lập trình
Kiến thức
Biết được khái niệm bài toán, thuật toán.
Biết rằng có thể mô tả thuật toán bằng cách liệt kê các bước hoặc sơ đồ khối.
Biết được một chương trình là mô tả của một thuật toán trên một ngôn ngữ cụ thể.
Kĩ năng
Mô tả được thuật toán đơn giản bằng liệt kê các bước
- Nên chọn thuật toán của bài toán gần gũi, quen thuộc với học sinh
2. Chương trình TP đơn giản 
Kiến thức
Biết sơ bộ về ngôn ngữ lập trình Pascal 
Biết cấu trúc của một chương trình TP: cấu trúc chung và các thành phần.
Biết các thành phần cơ sở của ngôn ngữ Pascal.
Hiểu được một số kiểu dữ liệu chuẩn. 
Hiểu được cách khai báo biến.
Biết được các khái niệm: phép toán, biểu thức số học, hàm số học chuẩn, biểu thức quan hệ.
Hiểu được lệnh gán.
Biết các câu lệnh vào/ra đơn giản để nhập thông tin từ bàn phím và đưa thông tin ra màn hình.
Kĩ năng
Viết được chương trình TP đơn giản, khai báo đúng biến, câu lệnh vào/ra để nhập thông tin từ bàn phím hoặc đưa thông tin ra màn hình.
- Có thể sử dụng ngôn ngữ lập trình khác theo hướng dẫn thực hiện chương trình.
- Minh hoạ các khái niệm bằng một chương trình TP đơn giản.
- Cần xây dựng các bài thực hành và tổ chức thực hiện tại phòng máy để học sinh đạt được những kỹ năng theo yêu cầu
3. Tổ chức rẽ nhánh
Kiến thức
Hiểu được câu lệnh rẽ nhánh (dạng thiếu và dạng đủ). 
Hiểu được câu lệnh ghép.
Kĩ năng
Viết đúng các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ.
Biết sử dụng đúng và có hiệu quả câu lệnh rẽ nhánh.
- Nhấn mạnh 3 cấu trúc điều khiển là tuần tự, rẽ nhánh và lặp.
- Trình bày được thuật toán của một số bài toán rẽ nhánh thường gặp, chẳng hạn giải phương trình bậc nhất. 
4. Tổ chức lặp
Kiến thức
Hiểu được câu lệnh lặp kiểm tra điều kiện trước, vòng lặp với số lần định trước.
Biết được các tình huống sử dụng từng loại lệnh lặp.
Kĩ năng
Viết đúng lệnh lặp với số lần định trước.
- Kĩ năng chỉ yêu cầu sử dụng lệnh lặp với số lần định trước. 
5. Kiểu mảng và biến có chỉ số 
Kiến thức
Biết được khái niệm mảng một chiều 
Biết cách khai báo mảng, truy cập các phần tử của mảng 
Kĩ năng
Thực hiện được khai báo mảng, truy cập phần tử mảng, sử dụng các phần tử của mảng trong biểu thức tính toán
- Yêu cầu học sinh viết được chương trình của một số bài toán sau: nhập giá trị phần tử của mảng, in, tính tổng các phần tử
6. Một số thuật toán tiêu biểu
Kiến thức
Hiểu thuật toán của một số bài toán thường gặp như: tìm số lớn nhất, số nhỏ nhất; kiểm tra 3 số cho trước có phải là độ dài 3 cạnh của tam giác không. 
Khai thác phần mềm học tập
Kiến thức
Biết cách sử dụng phần mềm học tập đã lựa chọn 
Kĩ năng
Thực hiện được các công việc khởi động/ra khỏi, sử dụng bảng chọn, các thao tác tương tác với phần mềm.
- Lựa chọn phần mềm học tập theo hướng dẫn thực hiện chương trình. 
II. Giới thiệu sách giáo khoa tin học dành cho trung học cơ sở - quyển 3
1. Cấu trúc, nội dung và phân bổ thời lượng
Sách giáo khoa Tin học dành cho THCS Q3 được biên soạn theo một số định hướng cụ thể sau:
Thể hiện đúng các nội dung, yêu cầu của chương trình đã được Bộ Giáo dục và Đào tạo phê duyệt là cung cấp cho học sinh những kiến thức, kĩ năng cơ bản, thiết thực và có hệ thống ban đầu về thuật toán và kĩ thuật lập trình.
Tiếp cận được trình độ giáo dục phổ thông của các nước tiên tiến trong khu vực và trên thế giới. 
Nội dung sách giáo khoa tập trung vào những kiến thức định hướng để từ đó học sinh có thể phát huy những yếu tố tích cực của các thành tựu công nghệ thông tin và tăng cường khả năng tự học.
Nội dung, cách trình bày và diễn đạt ngắn gọn, dễ hiểu thông qua mô tả và các ví dụ minh hoạ cụ thể.
Cấu trúc 
Tương ứng với Chương trình giáo dục phổ thông môn Tin học, cấp Trung học Cơ sở (THCS), phần III, sách giáo khoa (SGK) gồm hai phần: 
	Phần 1- Lập trình đơn giản: gồm 9 bài lí thuyết, 7 bài thực hành;
	Phần 2 - Phần mềm học tập: gồm 4 bài lí thuyết kết hợp với thực hành.
Nội dung
TIN học dành cho THCS - quyển 3
Phần 1- Lập trình đơn giản
	Bài 1. Máy tính và chương trình máy tính
	Bài 2. Làm quen với Chương trình và Ngôn ngữ lập trình
	Bài thực hành 1. Làm quen với Turbo Pascal
	Bài 3. Chương trình máy tính và dữ liệu
	Bài thực hành 2. Viết chương trình để tính toán
	Bài 4. Sử dụng biến trong chương trình
	Bài thực hành 3. Khai báo và sử dụng biến
	Bài 5. Từ bài toán đến chương trình
	Bài 6. Câu lệnh điều kiện
	Bài thực hành 4. Sử dụng lệnh điều kiện if ... then
	Bài 7. Câu lệnh lặp
	Bài thực hành 5. Sử dụng lệnh lặp for ... do
	Bài 8. Lặp với số lần chưa biết trước 
	Bài thực hành 6. Sử dụng lệnh lặp while...do
	Bài 9. Làm việc với dãy số
	Bài thực hành 7 Xử lí dãy số trong chương trình
Phần 2 - Phần mềm học tập
	 Luyện gõ phím nhanh với Finger Break Out
Tìm hiểu thời gian với phần mềm Sun Times
	Học vẽ hình với phần mềm Geogebra
	Quan sát hình không gian với phần mềm Yenka
Đề xuất phân bổ thời lượng:
Nội dung
Bài lí thuyết hoặc lí thuyết kết hợp thực hành
Bài thực hành
Tổng số tiết
Phần 1. Lập trình đơn giản
9
7
34
Phần 2. Phần mềm học tập
4
16
Bài tập
8
Ôn tập
4
Kiểm tra
8
Tổng cộng
13
7
70
2. Một số giải thích
Sách giáo khoa Tin học dành cho THCS - Quyển 3 được biên soạn bám sát theo nội dung, yêu cầu của Chương trình giáo dục phổ thông môn Tin học, cấp THCS, phần III đã được ban hành kèm theo Quyết định số 16/2006/QĐ-BGDĐT ngày 05/5/2006 của Bộ trưởng Bộ Giáo dục và Đào tạo.
Phần 1 gồm 9 bài lí thuyết, mỗi bài dạy trong 02 tiết lí thuyết và 01 tiết bài tập, riêng bài 5 dạy trong 04 tiết lí thuyết và và 02 tiết bài tập; các Bài 1 và 2 không có tiết bài tập riêng. Có 7 bài thực hành, mỗi bài dạy trong 02 tiết. Phần 2 gồm 4 bài lí thuyết kết hợp thực hành. Mỗi bài được dạy trong trọn vẹn 04 tiết. Về cơ bản 8 tiết bài tập dành cho việc làm bài tập phần 1 (Lập trình đơn giản), phần 2 (Phần mềm học tập) không cần tiết bài tập.
Thời lượng dành cho ôn tập cuối kì là 04 tiết, mỗi học kì 02 tiết. Thời lượng dành cho các bài kiểm tra định kì là 8 tiết, mỗi học kì 04 tiết. 
Việc phân bổ thời lượng trên đây chỉ là tương đối, trong quá trình dạy học giáo viên (GV) có thể điều chỉnh để phù hợp với tình hình thực tiễn.
Trong phân bổ thời lượng, số tiết bài tập là khá nhiều (8 tiết). Điều này thể hiện câu hỏi, bài tập là một phần quan trọng trong việc giúp HS tiếp thu kiến thức, rèn luyện kĩ năng. 
Các nội dung đọc thêm ở cuối bài là không bắt buộc, tránh yêu cầu tất cả HS phải đọc, hiểu, gây quá tải. GV có thể chọn lựa, giới thiệu, giải thích đôi chút để gây hứng thú cho các em ham thích, đọc thêm.
3. Gợi ý về cách tiến hành giảng dạy
Về cơ bản SGK lựa chọn phương án trình bày kiến thức, kĩ năng chung về lập trình và sử dụng ngôn ngữ Pascal để minh hoạ. Cách tiếp cận này thể hiện rõ việc dạy lập trình nói chung mà không phải là dạy ngôn ngữ lập trình cụ thể Pascal. Tuy nhiên, khi giảng dạy GV không nhất thiết phải trình bày theo cách tiếp cận này. Có thể tiếp cận bằng cách đi từ ngôn ngữ lập trình cụ thể Pascal rồi khái quát thành những kiến thức, kĩ năng của lập trình nói chung. Cách tiếp cận từ cụ thể đến khái quát có thể sẽ phù hợp hơn với phần lớn HS THCS. Trong SGV, ở nội dung của từng bài cụ thể được gợi ý về cách dạy học theo hướng từ cụ thể để khái quát.
Do sử dụng ngôn ngữ Pascal để minh hoạ, thời lượng làm việc với các câu lệnh, chương trình, phần mềm TP là khá nhiều nên dễ cảm nhận là đang học ngôn ngữ Pascal. Vì vậy, trong quá trình dạy học GV cần lưu ý tiến hành khái quát đúng lúc, đúng chỗ để HS vượt ra khỏi một ngôn ngữ cụ thể, rút ra được những kiến thức, kĩ năng, nguyên lí của lập trình nói chung. Trong SGV có hướng dẫn thời điểm khái quát hoá kiến thức, kĩ năng ở một số bài học cụ thể.
Các chương trình được viết khi học ở tiết lí thuyết, tiết bài tập cần để HS chạy thử ở bài thực hành ngay sau đó. Làm như vậy sẽ giúp HS củng cố, hiểu rõ hơn về nội dung lí thuyết vừa học. Hơn nữa, việc này sẽ giúp tạo hứng thú, củng cố niềm tin cho HS, gắn kết tốt hơn giữa học với hành. Để tránh HS mất nhiều thời gian vào việc gõ chương trình, GV nên gõ sẵn các chương trình được viết trong giờ lí thuyết, giờ bài tập để HS chỉnh sửa, chạy thử, tìm hiểu trong giờ thực hành, không nên yêu cầu HS gõ các chương trình này trong tiết thực hành.
Trong phân bổ thời lượng dành 8 tiết để làm bài tập, 4 tiết để ôn tập. Các tiết này chưa được định nội dung cụ thể, GV hoàn toàn chủ động đưa ra nội dung cho tiết bài tập, ôn tập. Tuy nhiên, tiết bài tập nên dành thời gian để hướng dẫn học sinh làm một số bài tập trong SGK (nếu trong tiết lí thuyết chưa làm hết), chuẩn bị cho những bài thực hành sau đó. Tuỳ mức độ tiếp thu của HS, GV có thể ra thêm các bài tập, bổ sung bài thực hành trên máy tính để HS ôn luyện kiến thức, kĩ năng. Các tiết ôn tập nên được bố trí vào cuối kì (ngay trước hoặc ngay sau bài kiểm tra cuối học kì), trong tiết ôn tập cần tổng kết, khái quát những kiến thức, kĩ năng trọng tâm của chương trình để HS khắc sâu, ghi nhớ. Đặc biệt tiết ôn tập cần khái quát hoá để thể hiện được tư tưởng dạy lập trình mà không dạy ngôn ngữ lập trình cụ thể.
Trong SGV có gợi ý mô tả một số thuật toán theo cách biểu diễn gần với câu lệnh mà học sinh cần viết hoặc cần tìm hiểu trong chương  ... có thể còn qua một số dấu hiệu bổ trợ khác, ví dụ như: độ dài của số (có một số duy nhất có hai chữ số) chẳng hạn. Với những dấu hiệu bổ trợ, khả năng quan sát và tư duy, con người nhanh chóng "khoanh vùng" được đáp án và nhanh chóng tìm ra đáp án. Tức là phương án giải của con người không tuần tự mà có thể bỏ qua một số bước khi cần thiết. Do vậy, trong trong nhiều tình huống con người giải các bài toán hiệu quả hơn nhiều máy tính.
Tuy nhiên, khả năng này con người lại bị hạn chế trong tình huống dãy số rất lớn (hàng ngàn, hàng triệu, hàng tỉ số chẳng hạn). Khi đó máy tính lại thể hiện được sức mạnh của mình bởi ưu thế về tốc độ xử lí.
Để HS hiểu được máy tính làm việc như thế nào, GV có thể yêu cầu các em thực hiện như sau: Viết 10 số nguyên, mỗi số vào một mảnh giấy. Gấp 10 mảnh giấy này lại và bỏ vào một hộp A. Đặt một hộp B rỗng bên cạnh. Yêu cầu HS chuyển lần lượt đến hết từng mảnh giấy ở hộp A sang hộp B. Sau khi chuyển xong HS cho biết số số lớn nhất trong các số được ghi trên các mảnh giấy. HS được phép xem số trên mảnh giấy khi chuyển mảnh giấy đó từ hộp A sang hộp B. Yêu cầu HS không ghi chép ra giấy. Mục đích của việc không cho học sinh ghi chép là để HS mô phỏng hoạt động của máy tính: Chỉ cần nhớ số lớn nhất tại thời điểm hiện tại, so sánh với số vừa lấy ra từ hộp A (đang cầm trên tay) và nhớ lấy số lớn hơn và cứ tiếp tục như vậy đến khi hết các số trong hộp, số được nhớ cuối cùng là số lớn nhất.
	Để thực hiện công việc này cần hướng dẫn HS thực hiện mô phỏng theo giải thuật tìm dãy số lớn nhất của dãy số nguyên. Nhặt mảnh giấy đầu tiên ở hộp A, mở ra nhớ giá trị của mảnh giấy này (coi là số lớn nhất tạm thời), gấp lại và bỏ vào hộp B. Nhặt mảnh giấy thứ hai, mở ra và so sánh với giá trị lớn nhất tạm thời, và nhớ giá trị lớn nhất mới nếu thấy lớn hơn. Lặp lại công việc này đến khi hết các mảnh giấy của hộp A.
	GV có thể thêm, bớt các mảnh giấy để HS làm lại. Sau khi HS làm đề nghị các em mô tả lại cách các em đã thực hiện để tìm ra số lớn nhất. Cách mà HS làm giống với cách máy tính tính thực hiện theo thuật toán ở trên. Máy tính chỉ có thể tham chiếu đến từng số trong dãy số, máy tính không có khả năng quan sát cả dãy số vì vậy máy tính phải thực hiện theo thuật toán như trên. Máy tính thực hiện tuần tự theo đúng chỉ dẫn của con người, máy tính không có trí thông minh.	Tất nhiên, ngược lại máy tính lại có ưu điểm vượt trội đó là tốc độ xử lí.
Có thể cải biến nội dung dạy học trên đây thành nhiều trò chơi khác nhau. Ví dụ, yêu cầu các em không sử dụng giấy, bút, GV lần lượt viết từng số lên bảng, rồi xoá đi luôn, HS quan sát để tìm ra số lớn nhất (hoặc nhỏ nhất). Hoặc mời một nhóm HS đứng lên phía trên lớp. Mời một em đi qua từng bạn một, khi em này đến bên bạn nào đó thì bạn này phải đưa ra một số nào đó (có thể là nói thầm hoặc viết ra một mảnh giấy). Đi hết lượt HS phải nói được bạn nào đã đưa ra số lớn nhất (hoặc nhỏ nhất). Kết quả này được kiểm chứng công khai bởi các bạn đã đưa ra các số.
Thuật toán tìm Max của dãy số nguyên nhập từ bàn phím như sau:
Bước 1. Nhập N và dãy A1,..., An
Bước 2. Max ơ A1
Bước 3. Lần lượt gán giá trị từ 2 đến N cho i. Với mỗi giá trị của i thì thực hiện: Nếu Max <Ai thì MaxơAi
Bước 4. Đưa ra màn hình giá trị Max rồi kết thúc.
Sau khi giới thiệu xong thuật toán tìm Max giáo viên hướng dẫn HS xác định các biến, kiểu biến và viết khai báo biến; viết câu lệnh thực hiện các bước nhập N, nhập các phần tử của mảng, tìm Max, in Max ra màn hình. Chương trình có thể được xây dựng dần từng phần và cuối cùng có được một chương trình như dưới đây.
program P_Max;
Var
 i, N, Max : integer;
 A: array[1..100] of integer;
Begin
	{Nhap N}
 write('Hay nhap do dai cua day so, N = '); readln(N);
	{Nhap day so}
 writeln('Nhap cac phan tu cua day so:');
 For i:=1 to N do
 Begin
 write('a[',i,']='); readln(a[i]);
 End;
	{Tim Max}
 Max:=a[1];
 for i:=2 to n do if Max<a[i] then Max:=a[i];
	{Hien thi Max ra man hinh}
 write('So lon nhat la Max = ',Max);
 readln;
End.
	Yêu cầu HS chỉnh sửa chương trình trên để tìm giá trị nhỏ nhất của dãy số nguyên, tính tổng dãy số. Sau khi đã hiểu -rõ thuật toán và chương trình tìm Max, Min có thể yêu cầu HS kết hợp tìm Max, Min trong cùng một chương trình như trong SGK.
3. Hướng dẫn trả lời câu hỏi và bài tập
Đúng.
Lợi ích chính của việc sử dụng biến mảng là rút gọn việc viết chương trình, có thể sử dụng câu lệnh lặp để thay nhiều câu lệnh. Ngoài ra chúng ta còn có thể lưu trữ và xử lí nhiều dữ liệu có nội dung liên quan đến nhau một cách hiệu quả.
Đáp án a) Sai. Phải thay dấu phẩy bằng hai dấu chấm; b) và c) Sai, vì giá trị nhỏ nhất và lớn nhất của chỉ số mảng phải là số nguyên; d) Sai, vì giá trị đầu của chỉ số mảng phải nhỏ hơn hoặc bằng chỉ số cuối; e) Đúng.
Không. Giá trị nhỏ nhất và lớn nhất của chỉ số mảng phải được xác định ngay khi khai báo biến mảng.
Chương trình có thể như sau:
var N, i: integer;
 A: array[1..100] of real;
begin
write('Nhap so phan tu cua mang, n= '); read(n);
for i:=1 to n do
begin
write('Nhap gia tri ',i,'cua mang, a[',i,']= ');
readln(a[i]) 
end;
end.
Đúng.
a) Nếu không sử dụng biến mảng, chương trình có thể dài như sau:
uses crt;
var So_1, So_2, So_3, So_4, So_5, Max: integer;
begin
clrscr;
write('Nhap so thu nhat: '); readln(So_1);
write('Nhap so thu hai: '); readln(So_2);
write('Nhap so thu ba: '); readln(So_3);
write('Nhap so thu tu: '); readln(So_4);
write('Nhap so thu nam: '); readln(So_5);
Max:=So_1;
If Max<So_2 then Max:=So_2;
If Max<So_3 then Max:=So_3;
If Max<So_4 then Max:=So_4;
If Max<So_5 then Max:=So_5;
writeln('So lon nhat: ',Max);
end.
b) Nếu sử dụng biến mảng, chương trình chỉ ngắn gọn như sau:
uses crt;
var i, Max: integer;
 A: array[1..5] of integer;
begin
clrscr;
for i:=1 to 5 do
 begin write('Nhap so thu ',i,':'); readln(A[i]) end;
Max:=a[1];
for i:=2 to 5 do If Max<a[i] then Max:=a[i];
writeln('So lon nhat: ',Max);
end.
Lưu ý. Xem cách viết chương trình ngắn gọn hơn và không sử dụng biến mảng trong bài tập 9, bài 7. Tuy nhiên, cách viết đó sẽ không cho kết quả mong muốn nếu sau khi nhập giá trị của các biến còn cần thực hiện các thao tác dữ liệu khác với các giá trị đó.
Viết chương trình sử dụng biến mảng để tính giá trị trung bình của tổng N số nguyên được nhập vào từ bàn phím.
uses crt;
var N, i: integer;
 TB: real;
 A: array[1..100] of real;
begin
clrscr;
write('Nhap so phan tu cua mang, n= '); read(n);
for i:=1 to n do
 begin 
 write('Nhap gia tri ',i,'cua mang, a[',i,']= ');
 readln(a[i])
 end;
TB:=0;
for i:=1 to n do TB:=TB+a[i];
TB:=TB/n;
write('Trung binh bang ',TB);
end.
Chương trình nhập n số nguyên từ bàn phím và tính tổng các số dương: 
uses crt;
var n,k,S: integer;
 	X: array[1..1000] of integer;
begin
clrscr;
write('Nhap so tu nhien n: '); readln(n);
for k:=1 to n do
 begin write('Nhap X[',k,']='); readln(X[k]) end;
S:=0;
for k:=1 to n do
 if X[k]>0 then S:=S+X[k];
writeln('Tong cac duong S=',S);
readln;
end.
Nội dung bài 2 của bài thực hành 6 là viết chương trình nhận biết một số tự nhiên có phải là số nguyên tố hay không. Nội dung của bài tập 9, bài 8, là viết chương trình tính tổng các ước số thực sự của một số nguyên, nhưng chưa liệt kê được các ước số đó. Để có thể liệt kê, chương trình cần phải ghi lại chúng. ý tưởng chính là sử dụng một biến mảng phục vụ cho điều này. Chương trình tương tự như trong bài tập 9, Bài 8:
uses crt;
var n,i,k,S: integer;
 X: array[1..10000] of integer;
begin
clrscr;
i:=2; S:=0;
for k:=1 to (n-1) do X[k]:=0; {Dat lai = 0}
write('Cho so tu nhien n>2: n= '); readln(n);
while i<=(n-1) do {Ghi lai uoc so vao X[i]}
 begin if (n mod i)=0 then begin X[i]:=i; S:=S+X[i] end;
 i:=i+1;
 end;
writeln('Tong cac uoc so thuc su cua ',n,' la: ',S);
if S0 then begin write('Cac uoc so cua ',n,' la: ');
for i:=1 to (n-1) do if X[i]0 then write(X[i],' ') end
else writeln(n,' la so nguyen to.');
readln;
end.
Bài thực hành 7. Xử lí dãy số trong chương trình
1. Mục đích, yêu cầu
Thực hành khai báo và sử dụng các biến mảng ;
Ôn luyện cách sử dụng câu lệnh lặp if...then, for...do;
Củng cố kĩ năng đọc, hiểu và chỉnh sửa chương trình.
Hiểu và viết được chương trình với thuật toán tìm giá trị lớn nhất, nhỏ nhất của một dãy số, tính tổng dãy số.
2. Những điểm cần lưu ý và gợi ý dạy học
	Để gây hứng thú cho HS, cần dành thời gian để HS gõ, chạy thử chương trình tìm Max, Min, Tính tổng dãy số. Hơn thế nữa, việc thực hiện các bài học là cần thiết do yêu cầu trong Chương trình. HS cần viết được các chương trình này. Chương trình tìm Max đã được tiến hành ở bài lí thuyết, GV cần hướng dẫn HS tham khảo chương trình P_Max để tự viết được chương trình P_Min và chương trình tính tổng P_Sum.
	Chương trình tìm Max đã được giới thiệu ở trên, dưới đây là chương trình P_Min và chương trình P_Sum.
Chương trình tìm giá trị nhỏ nhất trong dãy số nguyên P_Min:
Program P_Min;
Var
 i, n, Min : integer;
 A: array[1..100] of integer;
Begin
 write('Hay nhap do dai cua day so, N = '); readln(n);
 writeln('Nhap cac phan tu cua day so:');
 For i:=1 to n do
 Begin
 write('a[',i,']='); readln(a[i]);
 End;
 Min:=a[1];
 for i:=2 to n do if Min>a[i] then Min:=a[i];
 write('So nho nhat la Min = ',Min);
 readln;
End.
	Chương trình tính tổng dãy số, trong chương trình này có thêm câu lệnh in ra màn hình dãy số vừa nhập để người sử dụng có thể thuận tiện kiểm chứng kết quả chương trình. Nhưng đây cũng nhằm mục đích luyện tập với việc in phần tử của mảng ra màn hình.
Program P_Sum;
Var
 i, n, Sum : integer;
 A: array[1..100] of integer;
Begin
 write('Hay nhap do dai cua day so, N = '); readln(n);
 writeln('Nhap cac phan tu cua day so:');
 For i:=1 to n do
 Begin
 write('a[',i,']='); readln(a[i]);
 End;
 Sum:=0;
 for i:=1 to n do Sum:= Sum + a[i];
 write('Day so vua nhap la: ');
 for i:=1 to n do write(a[i], ' ');
 writeln;
 write('Tong day so la = ',Sum);
 readln;
End.
	Thời gian còn lại dành để HS thực hành với các bài sử dụng kết hợp nhiều câu lệnh, biểu thức điều kiện... trong SGK.
	Lưu ý: Theo yêu cầu của chuẩn kiến thức, kĩ năng, kết thúc bài này phải đảm bảo HS hiểu được thuật toán, tự viết được chương trình tìm số lớn nhất, nhỏ nhất của dãy số, kiểm tra điều kiện ba số a, b, c có phải là độ dài của ba cạnh của một tam giác hay không (hoặc các bài toán tương đương). HS cần tự viết được chương trình nhập giá trị phần tử mảng, in ra màn hình các phần tử của mảng, tính tổng các phần tử của mảng. Do vậy, trong trường hợp cần thiết GV cần lựa chọn, xây dựng nội dung tiết bài tập , ôn tập trên lớp hoặc thực hành trên phòng máy để đảm bảo đạt được yêu cầu quy định trong chuẩn kiến thức, kĩ năng.

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

  • docSach_Giao_Vien_Tin_hoc_(Quyen_3).doc