1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứng dụng của lập trình turbo PASCAL khi giải quyết các bài toán thực tế

14 362 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 199,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HÓATRƯỜNG THPT QUẢNG XƯƠNG 2 SÁNG KIẾN KINH NGHIỆM ỨNG DỤNG CỦA LẬP TRÌNH TURBO PASCAL KHI GIẢI QUYẾT CÁC BÀI TOÁN THỰC TẾ Người thực hiện: Nguyễn Thị Phượn

Trang 1

SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HÓA

TRƯỜNG THPT QUẢNG XƯƠNG 2

SÁNG KIẾN KINH NGHIỆM

ỨNG DỤNG CỦA LẬP TRÌNH TURBO PASCAL KHI GIẢI

QUYẾT CÁC BÀI TOÁN THỰC TẾ

Người thực hiện: Nguyễn Thị Phượng Chức vụ: Giáo viên

SKKN thuộc lĩnh vực: Tin học

THANH HÓA NĂM 2021

Trang 2

MỤC LỤC

Trang

1 Mở đầu ……….………

1.1 Lý do chọn đề tài……… …………

1.2 Mục đích nghiên cứu………

1.3 Đối tượng nghiên cứu ……… ………

1.4 Phương pháp nghiên cứu……… ………

2 Nội dung ………

2.1 Cơ sở lý luận……….………

2.1.1 Khái niệm ứng dụng………

2.1.2 Khái niệm lập trình ………

2.2 Thực trạng vấn đề……… ………

2.3 Giải pháp và tổ chức thực hiện……….………

2.3.1 Ôn lại cấu trúc lặp, thao tác với mảng 1 chiều và thao tác với tệp………

2.3.2 Một số bài toán thực tế………

2.3.2.1 Sử dụng cấu trúc lặp để tính tiền gửi tiết kiệm ngân hàng… 2.3.2.2 Sử dụng lập trình turbo PASCAL để giải quyết các bài toán thống kê trong thực tế……… …

2.3.3 Tổng kết ………

2.4 Hiệu quả………

3 Kết luận và kiến nghị ………

3.1 Kết luận………

3.2 Kiến nghị………

Tài liệu tham khảo ………

2 2 2 2 2 2 2 2 3 3 3

3 3 3

6 9 9 10 11 12 13

Trang 3

1 MỞ ĐẤU

1.1 Lý do chọn đề tài

Chương trình tin học lớp 11 học sinh làm quen với lập trình là một kiến thức mới và rất trừu tượng với học sinh

Đây là môn học được ứng dụng và bổ ích ở thời đại 4.0 hiện nay Tuy nhiên học sinh ở vùng nông thôn thì máy tính còn hạn chế nên các em chưa có phương tiện để phục vụ việc học tin học Học lập trình turbo PASCAL đa số học sinh thấy rất khó khăn khi diễn tả tả thuật toán và sử dụng các câu lệnh để mô tả Các em không nắm vững các thao tác xử lí dữ liệu Học sinh chưa thấy được lập trình ứng dụng trong thực tế như thế nao, mà chỉ học lí thuyết suông Học sinh chưa biết áp dụng lập trình để giải quyết các bài toán thực tế hàng ngày xung quanh ta

Với những lí do trên tôi đã chọn đề tài: “Ứng dụng của lập trình turbo PASCAL khi giải quyết các bài toán thực tế” khi học lập trình - tin học lớp 11 1.2 Mục đích nghiên cứu:

Giúp học sinh thấy được mối quan hệ giữa bài toán tin học với bài toán thực tế Biết áp dụng kiến thức đã học vào thực tế hàng ngày

1.3 Đối tượng nghiên cứu

Học sinh lớp: 11B1, 11B2, 11B3 trường trung học phổ thông Quảng Xương II năm học 2020 -2021

1.4 Phương pháp nghiên cứu

- Phương pháp ngiên cứu lý thuyết

- Phương pháp điều tra thực tiễn

- Phương pháp toán học so sánh

2 NỘI DUNG

2.1 Cơ sở lý luận

2.1.1 Khái niệm ứng dụng:

Ứng dụng là một khái niệm được sử dụng rất phổ biến trong các lĩnh vực của đời sống xã hội của loài người Ứng dụng là áp dụng, vận dụng lí thuyết vào trong thực tiễn

Ứng dụng lập trình turbo PASCAL là cách sử dụng ngôn ngữ lập trình trong việc giải quyết các bài toán thực tế của con người

2.1.2 Khái niệm lập trình.

- Lập trình là cách cách sử dụng cấu trúc dữ liệu để mô tả thuật toán của một số

bài toán

2.2 Thực trạng vấn đề

Tin học ngày nay đang được quan tâm vào thời đại công nghệ 4.0 trên khắp mọi miền tổ quốc từ thành thị đến nông thôn, tất cả các ứng dụng trong một lĩnh vực nào đó đều là sản phẩm của quá trình lập trình sẵn Nhu cầu này đòi hỏi cần có các kĩ sư công nghệ thông tin lập trình

Trường THPT Quảng Xương 2 được thành lập từ tháng 3 năm 1967 Địa bàn nhà trường đóng trên vùng nông thôn bảy xã miền đồng của huyện Quảng Xương Các học sinh chủ yếu là con em nông thôn, nên việc trang bị máy tính riêng cho từng em ở mỗi gia đình là không có Chỉ một số ít con em của giáo viên, công chức mới có máy tính riêng ở nhà

Trang 4

Nhà trường có 2 phòng máy nhưng các máy cũ đã lâu, thường xuyên hư hỏng nên số lượng máy rất ít Khi thực hành giáo viên thường xuyên phải chia

ca thay nhau thực hành Do ít máy nên khi các em lên thực hành phải 2 em sử dụng một máy tính để thực hành

Do đặc thù môn tin trong trường THPT ở vùng nông thôn đang thiếu thốn

về cơ sở vật chất nên học sinh ít được khám phá.Trong đề tài này tôi viết nhằm tạo ra hứng thú, kích thích tinh thần học tập của các em khi thấy được ứng dụng thực tế của lập trình để giải quyết các bài toán thực tế Đề tài tôi nghiên cứu cho

3 lớp 11B1, 11B2, 11B3 THPT Quảng Xương 2, năm học 2020-2021 như sau:

2.3 Giải pháp và cách tổ chức thực hiện

Với những lí do và thực trạng đã nêu tôi xin trình bày giải pháp thực hiện như sau:

2.3.1 Ôn lại cấu trúc lặp, thao tác với mảng 1 chiều và thao tác với tệp.

Giáo viên hỏi:

- Nhắc lại cấu trúc For To Do và While…Do

- Các thao tác với mảng 1 chiều

- Cách đọc dữ liệu trong tệp

HS trả lời:

Giáo viên: Thâu tóm các nội dung của bài tập thực hành tổng hợp

1 Cấu trúc lặp:

- Lặp với số lần lặp biết trước: For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do < câu lệnh lặp >;

- Lặp với số lần chưa biết nhưng biết điều kiện lặp: While < điều kiện> do

< câu lệnh>;

2 Các thao tác với mảng một chiều:

- Khai báo mảng 1 chiều:

- Tham chiếu đến các phần tử của mảng

3. Cách đọc dữ liệu trong tệp

- Read/readln(<tên biến têp>, <danh sách biến>);

2.3.2 Một số bài toán thực tế

2.3.2.1 Sử dụng cấu trúc lặp để tính tiền gửi tiết kiệm trong ngân hàng.

Giáo viên: Trong thực tế, ta muốn gửi một số tiền tiết kiệm vào ngân hàng sau một thời gian có kì hạn ta rút về hoặc đến khi đạt được một lượng tiền tiết kiệm nhất định ta rút về Từ những hiểu biết về lập trình em hãy lập trình để giúp ngân hàng tính tiền trong hai trươờng hợp trên

- Khi ngân hàng cho biết lãi suất hàng tháng thì ta hoàn toàn tính được lãi thu được sau mỗi tháng theo công thức: tiền lãi = tiền gốc *lãi suất

- Bài toán đặt ra:

o Cho vay có kì hạn sau một số tháng đã biết trước Tính tiền thu được

o Tính tiền thu được và số tháng cho vay

Trang 5

Bài toán 1 : Một gia đình có số tiền là a (triệu đồng) đem gửi ngân hàng Lãi

suất là b% /tháng Tính số tiền thu về sau t (tháng) Với a, b, t nhập từ bàn phím

Giáo viên: Yêu cầu học sinh xác định: input, output

Học sinh trả lời:

- Input: số tiền ban đầu a, số tháng là t, lãi suất b

- Output: tổng tiền thu về

Giáo viên: Nêu cách tính tổng tiền sau mỗi tháng:

- Tiền lãi:=tiền gốc*lãi suất/100

- Tổng tiền:=tiền gốc +tiền lãi

a:=a+a*b/100

- Quá trình tính này được thực hiện ở các tháng giống nhau nên ta lặp đi lặp lại t lần

Giáo viên: Yêu cầu học sinh nêu câu lệnh lặp để tính số tiền sau t tháng

Học sinh: Nêu câu lệnh lặp

Giáo viên: Yêu cầu học sinh hoàn thành chương trình vào máy tính Chạy chương trình với bộ dữ liệu vào a,b,t giáo viên cho trước, quan sát kết quả trực tiếp trên màn hình

Giáo viên: Chiếu chương trình mẩu

Code chương trình

Kết quả khi chạy chương trình

Trang 6

HS: Quan sát kết quả chương trình mẩu và so sánh với chương trình của mình Kết quả quan sát trực quan giúp học sinh nhớ rõ các thao tác, gây hứng thú trong giờ học thực hành của các em

Bài tập 2: Một gia đình có số tiền là a (triệu đồng) đem gửi ngân hàng Lãi suất

là b% /tháng Cho vay đến khi số tiền thu về ít nhất đạt s (triệu đồng) Hỏi cho vay bao nhiêu tháng và số tiền thu được khi đó là bao nhiêu? Với a, b nhập từ bàn phím

Giáo viên: Yêu cầu học sinh xác định Input và output

- Input: a,b,s

- Output: tổng tiền, số tháng (t)

Giáo viên: Yêu cầu học sinh so sánh sự giống nhau và khác nhau giữa bài tập 1

và bài tập 2

Học sinh: Rút ra sự giống nhau và khác nhau giữa hai bài tập

Giáo viên: Nhận xét và thâu tóm các ý kiến của học sinh Phân tích thuật toán bài tập 2

- Giống nhau:

o Công thức tính lãi hàng tháng: tiền lãi= tiền gốc*lãi suất/100

o Tổng tiền sau mỗi tháng: tổng tiền= tiền gốc+ tiền lãi

o a:=a+a*b/100

- Khác nhau: Trong bài toán 1 số tháng đã biết còn bài toán 2 thì số tháng chưa biết nhưng biết khi nào số tiền còn bé hơn s (triệu đồng) thì còn cho vay Do vậy bài 1 ta sử dụng cấu trúc For…to…do Bài 2 ta sử dụng cấu trúc While…Do

Giáo viên: Yêu cầu học sinh viết đoạn lệnh lặp

Học sinh: Trả lời

Giáo viên: Nhận xét

Đoạn lệnh:

Giáo viên yêu cầu học sinh hoàn thành bài 2 vào máy tính

Học sinh: Viết chương trình vào máy tính

Giáo viên: Sửa lỗi cho học sinh và chiếu chương trình mẩu Yêu cầu các máy nhập bộ input theo chương trình mẩu, quan sát và so sánh kết quả

Trang 7

Học sinh quan sát kết quả và so sánh với kết quả với chương trình của mình, sửa lổi nếu kết quả khác nhau

2.3.2.2 Sử dụng lập trình turbo PASCAL để giải quyết các bài toán thống

kê trong thực tế.

Bài tập 3: Bình chọn qua điện thoại:

Trong một vòng chung kết cuộc thi “Vietnam Next Top Model” trên

VTV3 các thí sinh được đánh số báo danh là một số nguyên dương có giá trị không vượt quá 1000 Khán giả xem truyền hình có thể bình chọn cho thí sinh

mà minh yêu thích bằng cách nhắn tin qua điện thoại di động

Ban tổ chức nhận được tin nhắn hợp lệ của n khán giả (các khán giả được đánh số từ 1 đến n) Khán giả thứ i bình chọn cho thí sinh mang số báo danh ai Hãy liệt kê số khán giả bình chọn của từng thí sinh

Dữ liệu: vào từ file VNMODEL.INP

- Dòng 1: chứa số n

- N dòng tiếp theo, dòng thứ i ghi số dương ai là số báo danh của thí sinh

mà khán giả thứ i bình chọn

Code chương trình

Kết quả khi chạy chương trình

Trang 8

Kết quả: Ghi vào tệp VNMODEL.OUT gồm n dòng mỗi dòng ghi sô báo danh cùng với số lần bình chọn ( số báo danh không được bình chọn thì không liệt kê)

Ví dụ:

5 4 3 4 2 1 2

1 1

2 2

3 1

4 2

Giáo viên: Yêu cầu học sinh xác định Input, output, nêu ý tưởng?

Học sinh: Trả lời

Giáo viên: Nhận xét và phân tích bài toán

- Input: n, a1, a2,……an lấy từ tệp MODEL.INP

- Out: liệt kê số báo danh cùng với số lần được chọn ghi vào tệp

MODEL.OUT

Giáo viên:

- Yêu cầu học sinh nhắc lại các thao tác chính với tệp ?

- Câu lệnh đếm số lần xuất hiện của một phần tử?

Học sinh: Trả lời

Giáo viên: Nhận xét

- Lệnh đọc tệp: read/readln(<tên biến têp>, <danh sách biến>);

- Câu lệnh đếm: d:=d+1

Với bài toán này, số báo danh từ 1 1000 do vậy ta có 1000 biến đếm để đếm

số lần xuất hiện của mỗi số báo danh Cần dùng mảng D[1 10000] để lưu trữ từng giá trị từ 1 1000 là số lần xuất hiện của mỗi số nguyên

Đoạn lệnh đọc tệp như sau:

For i:=1 to 1000 do d[i]:=0;

Readln(f,n);

For i:=1 to n do

Begin

Readln(f,x);

D[x]:=d[x]+1;

End;

Giáo viên: Yêu cầu học sinh hoàn thành chương trình và sửa lổi cho học sinh Học sinh: Thực hiện gõ chương trình, chạy chương trình với bộ input mẩu, so sánh output

Giáo viên: Nhận xét và chiếu chương trình mẩu để học sinh quan sát

Trang 9

Học sinh quan chương trình.

Bài tập 4: Bình chọn qua điện thoại:

Trong một vòng chung kết cuộc thi “Vietnam Next Top Model” trên

VTV3 các thí sinh được đánh số báo danh là một số nguyên dương có giá trị không vượt quá 1000 Khán giả xem truyền hình có thể bình chọn cho thí sinh

mà minh yêu thích bằng cách nhắn tin qua điện thoại di động

Ban tổ chức nhận được tin nhắn hợp lệ của n khán giả (các khán giả được đánh số từ 1 đến n) Khán giả thứ i bình chọn cho thí sinh mang số báo danh ai Hãy liệt kê số khán giả bình chọn của từng thí sinh

Dữ liệu: vào từ file VNMODEL.INP

- Dòng 1: chứa số n

- N dòng tiếp theo, dòng thứ i ghi số dương ai là số báo danh của thí sinh

mà khán giả thứ i bình chọn

Kết quả: Ghi vào tệp VNMODEL.OUT In ra số báo danh được bình chọn nhiều nhất theo thứ tự số báo danh tăng dần

Ví dụ:

5 3 1 3 2 2

2 3

Code chương trình và file Input, Output

Trang 10

Giáo viên: Nếu bài toán yêu cầu in ra số báo danh được bình chọn nhiều nhất theo thứ tự số báo danh tăng dần thì chương trình trên được sửa như thế nào? Giáo viên: Yêu cầu học sinh phân tích mối quan hệ giữa bài 3 và bài 4

Học sinh: Suy nghĩ và trả lời

Giáo viên: phân tích thuật toán, ở bài tập 3 là liệt kê mảng d khi d[i]>0 còn bài 5

là tìm các giá trị i đạt giá trị lớn nhất Thực chất đây là bài toán chỉ ra các vị trí đạt max trong mảng D Yêu cầu học sinh sửa từ bài tập 3 để hoàn thành bài tập 4

Học sinh: thực hiện sửa chương trình, chạy chương trình, quan sát kết quả

Giáo viên: Nhận xét và rút ra mối quan hệ giữa 2 bài toán, chiếu code bài toán

để học sinh quan sat

Code chương trình và file Input, Output

2.3.3 Tổng kết

- Giáo viên tổng kết lại nội dung 2 tiết thực hành: ứng dụng của lập trình turbo PASCAL trong giải quyết các bài toán thực tế

- Lấy ý kiến nhận xét tiết học thực hành

2.4 Hiệu quả

Thông qua tiến hành nghiên cứu thực hành tại phòng máy các lớp 11 của

nhà trường trong hai năm liên tục với đề tài:“ Ứng dụng của lập trình turbo PASCAL khi giải quyết các bài toán thực tế” khi học lập trình - Tin học lớp

11 Tôi đã thu được một số kết quả: Các em đã biết ứng dụng lập trình để giải

quyết các bài toán trong thực tế, gây hứng thú cho học sinh yêu thích môn học Giúp học sinh tìm tòi sáng tạo ra các bài toán thực tế khác để ứng dụng trong lập trình

Kết quả khảo sát thực hành lập trình turbo PASCAL - Tin học 11 của ba lớp 10B1, 10B2, 10B3 trường THPT Quảng Xương 2, năm học 2020 -2021 về kết quả thực hành khi chưa áp dụng đề tài

Trang 11

Lớp Số

máy

Số học sinh

Số máy kết quả đúng

Sô máy kết quả chưa

đúng Số

máy

Số học sinh

Tỉ lệ Số

may

Số học sinh

Tỉ lệ

Kết quả khảo sát bài kiểm tra thực hành của ba lớp 10B1, 10B2, 10B3 trường THPT Quảng Xương 2, năm học 2020-2021 về kết quả thực hành khi áp dụng

đề tài

máy

Số học sinh

Số máy kết quả đúng Sô máy kết quả chưa

đúng Số

máy

Số học sinh

Tỉ lệ Số

may

Số học sinh

Tỉ lệ

Đối chiếu kết quả thực hiện ở 2 năm học tôi thấy sau khi áp dụng đề tài này vào giảng dạy tại trường thông qua giảng dạy bằng giáo án điện tử kết hợp với phòng máy tính đa số học sinh của các lớp đều nắm vững những phần kiến thức cơ bản của bài học như mục tiêu, yêu cầu đã đề ra Các em có tinh thần trách nhiệm, nhận thức đúng đắn về môn học, có nhiều hứng thú học tập ở những tiết học tiếp theo Điều này khẳng định tính phù hợp của sáng kiến kinh nghiệm này trong việc làm tài liệu tham khảo cho các giáo viên và học sinh

3 KẾT LUẬN VÀ KIẾN NGHỊ

3.1 Kết luận

Thông qua tiến hành nghiên cứu trên các lớp 11 của nhà trường trong hai

năm liên tục với đề tài: “Ứng dụng của lập trình turbo PASCAL khi giải quyết các bài toán thực tế” khi học lập trình - Tin họclớp 11 tôi tự nhận thấy:

Đối với giáo viên, sáng kiến kinh nghiệm này là một tài liệu có giá trị trong công tác giảng dạy Tin học 11 Giúp học sinh chủ động nghiên cứu, phát huy được khả năng tư duy sáng tạo của học sinh, qua đó hiểu sâu hơn, có hứng thú hơn đối với môn học Giải quyết được các bài toán thực tế thông qua lập trình Bước đầu tạo hứng thú cho các em lập trình ở mức độ đơn giản, là tiền đề

để các em nghiên cứu tiếp lập trình nâng cao khi vào đại học, cao đẳng

Từ kết quả nghiên cứu, bản thân tôi cũng đã rút ra các bài học kinh nghiệm sau:

Trang 12

Đối với giáo viên phải không ngừng tìm tòi, sáng tạo để nâng cao trình

độ chuyên môn và nghiệp vụ sư phạm cho bản thân, phải chú ý việc phát triển tư duy, nâng cao hiểu biết cho học sinh, ham mê hơn môn học và ứng dụng môn học vào cuộc sống

Đối với học sinh các em muốn trở thành người có hiểu biết toàn diện thì phải có kiến thức về tin học, các em hiểu được lập trình là làm gi, ứng dựng của lập trình trong thực tế hàng ngày

Việc thực hiện đề tài đã tạo được hứng thú học tập cho học sinh, giúp học sinh thấy được tầm quan trọng của lập để giải quyết các bài toán thực tế hàng ngày của chúng ta Góp phần nâng cao hiểu biết, làm phát huy tư duy sáng tạo cho học sinh

Ngày đăng: 21/05/2021, 22:25

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w