1. Trang chủ
  2. » Giáo án - Bài giảng

Một số vấn đề học sinh khối 11 gặp phải khi giải bài toán trên máy tính tin học 11

23 278 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 23
Dung lượng 298 KB

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

Nội dung

Từ thực tế tôi thấy học sinh thường viết tốt chương trình củacác bài toán đã có thuật toán sẵn, còn đối với các bài toán chưa có sẵn thuậttoán, các em chỉ làm để đối phó, đúng thì tốt mà

Trang 1

MỤC LỤC

1 1 PHẦN MỞ ĐẦU 2

1.1 LÝ DO CHỌN ĐỀ TÀI 2

1.2 MỤC ĐÍCH NGHIÊN CỨU 2

1.3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 2

1.4 PHƯƠNG PHÁP NGHIÊN CỨU 2

2 PHẦN NỘI DUNG 4

2.1 CƠ SỞ LÝ LUẬN 4

2.2 THỰC TRẠNG VẤN ĐỀ 4

2.3 VẤN ĐỀ THƯƠNG GẶP KHI GIẢI BÀI TOÁN TRÊN MÁY TÍNH .5

2.3.1 Vấn đề 1: Học sinh không tuân thủ các bước giải bài toán trên máy tính 6

2.3.2 Vấn đề 2: Một số lỗi thường gặp khi viết, chạy chương trình và cách khắc phục 12

2.4 HIỆU QUẢ ĐẠT ĐƯỢC 19

2.4.1 Kết quả sau khi áp dụng vào thực tế 19

2.4.2 Điều kiện để áp dụng sáng kiến 21

3 PHẦN KẾT LUẬN, KIẾN NGHỊ 22

TÀI LIỆU THAM KHẢO 23

Trang 2

1 1 PHẦN MỞ ĐẦU1.1 LÝ DO CHỌN ĐỀ TÀI

Bộ môn Tin học THPT thường ít được học sinh Yên Định 2 quan tâm, yêuthích vì nó không thuộc tổ hợp môn thi ĐH nào Nhất là Tin học lớp 11, một nộidung kiến thức cần rất nhiều sự tư duy sâu và khả năng sáng tạo Mặt khác tinhọc 11 không như tin học 10, 12 là các chương trình ứng dụng, dễ hiểu, dễ vậndụng, dễ hình dung Tin học 11 thường rất ít ứng dụng dễ thấy do vậy khó tiếpcận, khó gần gũi đối với các em học sinh Trong nhiều năm giảng dạy, tôi thấyviệc tạo hứng thú cho học sinh yêu thích môn tin học là một việc làm rất cầnthiết và cần đầu tư Từ thực tế tôi thấy học sinh thường viết tốt chương trình củacác bài toán đã có thuật toán sẵn, còn đối với các bài toán chưa có sẵn thuậttoán, các em chỉ làm để đối phó, đúng thì tốt mà không đúng thì giáo viên sẽ sữabài Do vậy trong tôi hình thành sáng kiến giúp các em nhận biết các vấn đềthường gặp khi giải bài toán trên máy tính, để các em có thể nhận ra được nhữngkhó khăn bản thân mắc phải và tìm cách khắc phục Từ đó các em sẽ chủ độnghơn trong việc giải bài toán trên máy tính, và không còn tính chất đối phó, ỷ lạinữa Đây cũng là một minh chứng cho việc gây hứng thú học tập cho học sinh,giúp học sinh chủ động, tích cực hơn trong học tập Qua sáng kiến kinh nghiệm

“MỘT SỐ VẤN ĐỀ HỌC SINH KHỐI 11 GẶP PHẢI KHI GIẢI BÀI TOÁN

TRÊN MÁY TÍNH – TIN HỌC 11” tôi muốn gửi tới các bạn đồng nghiệp một

chút kinh nghiệm của bản thân để học sinh thực sự yêu thích bộ môn Tin học,nhất là tin học 11

cụ thể, gần gũi, thiết thực của lập trình trong môi trường học tập của bản thân

1.3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

- Học sinh khối 11 trường THPT Yên Định 2 năm học 2015-2016

- Học sinh khối 11 trường THPT Yên Định 2 năm học 2016-2017 tronghọc kì 1

1.4 PHƯƠNG PHÁP NGHIÊN CỨU

- Dựa trên cơ sở lý thuyết của bài 6- Tin học 10 và môn Toán Nhất làmôn Toán môn học cơ sở cho sự phát triển tư duy lập trình trong Tin học

Trang 3

- Dựa trên cơ sở lý thuyết của Ngôn ngữ lập trình Pascal Sự hoạt độngtuần tự từng bước của máy tính khi thực hiện chương trình.

- Thu thập dữ liệu thông qua việc hỏi học sinh về mức độ biết, hiểu và vậndụng ngôn ngữ lập trình Pascal vào giải các bài toán trong các môn học khác

- Phân tích đánh giá mức độ học sinh hiểu vận dụng, giải được các bàitoán trong các môn học khác, từ đó xây dựng, giới thiệu các bài toán phù hợpvới từng đối tượng học sinh

- Tổng kết rút kinh nghiệm

Trang 4

2 PHẦN NỘI DUNG2.1 CƠ SỞ LÝ LUẬN

Tạo hứng thú cho người học luôn là một vấn đề quan trọng trong hoạtđộng dạy - học Bởi vì, như chúng ta biết, dạy - học là một hoạt động phức tạp,trong đó chất lượng, hiệu quả cơ bản phụ thuộc vào người học Và điều này lạiphụ thuộc vào nhiều yếu tố, như: năng lực nhận thức, động cơ học tập, sự quyếttâm ; nó còn phụ thuộc vào: môi trường học tập, người tổ chức quá trình dạyhọc, sự hứng thú trong học tập

Các nhà nghiên cứu tâm lý học cho rằng, hứng thú là thái độ đặc biệt của

cá nhân đối với đối tượng nào đó, nó có ý nghĩa đối với cuộc sống và có khảnăng mang lại khoái cảm cá nhân trong quá trình hoạt động Sự hứng thú biểuhiện trước hết ở sự tập trung chú ý cao độ, sự say mê của chủ thể hoạt động Sựhứng thú gắn liền với tình cảm con người Trong bất cứ công việc gì, nếu cóhứng thú làm việc, con người sẽ có cảm giác dễ chịu với hoạt động, làm nẩysinh khát vọng hành động một cách có sáng tạo Ngược lại, nếu không có hứngthú, dù là hoạt động gì cũng sẽ không đem lại hiệu quả cao Đối với các hoạtđộng nhận thức, sáng tạo, hoạt động học tập, khi không có hứng thú, kết quả sẽ

không là gì hết, thậm chí xuất hiện cảm xúc tiêu cực [6]

Việc học có tính chất đối phó, miễn cưỡng, người học may lắm chỉ tiếpthu được một lượng kiến thức rất ít, không sâu, không bản chất Vì thế dễ quên

Khi có hứng thú, say mê trong nghiên cứu, học tập thì thì việc lĩnh hội trithức trở nên dễ dàng hơn; ngược lại, khi nắm bắt được vấn đề, tức là hiểu đượcbài thì người học lại có thêm hứng thú Trên thực tế, những người không thích,không hứng thú khi học môn học nào đó thường là những người không học tốtmôn học đó Chính vì vậy, việc tạo hứng thú cho người học được xem là yêu cầubắt buộc đối với bất cứ ai làm công tác giảng dạy, đối với bất cứ bộ môn khoahọc nào

2.2 THỰC TRẠNG VẤN ĐỀ

Đặc điểm môn

Môn Tin học đến nay không còn là môn học mới mẻ đối với học sinh phổthông, bởi học sinh đã được làm quen nó ngay ở các cấp học dưới Đây là mộtthuận lợi cho học sinh, học sinh không phải học từ đầu để làm quen với mônhọc Sự liên quan của môn Tin học với các môn học khác là nhiều, vì vậy họcsinh sẽ phải vất vả để xem lại, tìm kiếm lại tri thức ở các môn học khác Đặc biệtnội dung lập trình trong môn học Tin học lại có liên quan rất nhiều đến kiến thứccác môn khoa học tự nhiên, liên quan nhiều đến tư duy Toán học

Trong mục 2.1: Đoạn “các nhà nghiên cứu… cảm xúc tiêu cực” được trích dẫn trong TLTK

số 6

Trang 5

Nếu học sinh yếu tư duy về Toán học thì sẽ rất là khó khăn khi lập trình.Nếu học sinh có tư duy Toán học nhưng không hứng thú với môn Tin học, họccho biết, học để đối phó, thì thường các em sẽ không nghiên cứu kĩ bài học dẫnđến sẽ gặp phải một số khó khăn trong lập trình Muốn giải quyết được việc nàythì giáo viên cần phải dẫn dắt học sinh tiếp cận với môn học một cách tự nhiên,hào hứng thông qua những kiến thức sẵn có của các em ở các môn học mà các

em yêu thích Đặc biệt, giúp các em nhận biết những khó khăn thường gặp vàcách khắc phục khi lập trình

Giáo viên

Nhiều giáo viên còn hạn chế về trình độ, khả năng cập nhật thông tin.Không chỉ vậy, một số giáo viên chưa hiểu rõ thuật toán để diễn đạt trong việcdạy lập trình Đôi khi giáo viên còn thờ ơ, luôn cảm thấy chán nản khi học sinhcủa mình không có hứng thú học tập Chính điều này đã làm cho giáo viênkhông chú trọng việc đổi mới phương pháp Dẫn đến học sinh mất đi khả năngtìm hiểu và tư duy giải quyết bài toán, hứng thú trong việc học lập trình

Học sinh

Khi bước vào học phổ thông thì học sinh đã bắt đầu định hình học theokhối để thi đại học Thời gian học chủ yếu dành cho các môn học chính nhưToán, Lý, Hóa, Văn, Anh Tin học là một môn phụ nên thời gian để học chỉ lànhững tiết học ở trên lớp Đối với Tin học 10, 12 thì tính ứng dụng của môn họctrong thực tế các em dễ dàng nhìn thấy và thực hiện được luôn Còn với Tin học

11 thuộc về lĩnh vực lập trình, khó có sản phẩm để các em nhìn thấy Hơn thếviệc tư duy thuật toán cũng là một nội dung khó đối với các em Điều này dẫnđến rất nhiều học sinh không thích và học kém môn học này

Từ thực tế trên tôi muốn minh chứng thật rõ nét cho các em thấy giải bàitoán trên máy tính không hề khó, có chăng là sự đam mê, tích cực chủ động củacác em mà thôi Từ đó các em sẽ nhận ra việc học Tin học lập trình không quákhó và yêu thích môn học

2.3 VẤN ĐỀ THƯƠNG GẶP KHI GIẢI BÀI TOÁN TRÊN MÁY TÍNH

Khi dạy tin 11 thì những bài đầu là những bài giới thiệu tổng quan vềngôn ngữ lập trình, giới thiệu một số khái niệm trong lập trình Ở những bài đầuhọc sinh sẽ cảm thấy hơi đơn điệu và nhàm chán Ở những bài này khi dạy tôiluôn luôn nhấn mạnh với các em phải hiểu, nhớ và thuộc lí thuyết thì mới vậndụng lập trình được ở những nội dung sau Cũng giống như môn Toán, Lí, Hóa

để làm được bài tập các em phải nhớ, hiểu công thức thì mới vận dụng để làmbài được

Quá trình dạy giáo viên cần truyền đạt tới các em những kiến thức cơ bảnnhất của ngôn ngữ lập trình Cách thức dẫn dắt vấn đề thật đơn giản gần gũi đểcác em không có cảm giác sợ hãi, lo lắng Bước khởi đầu tiếp cận là rất quantrọng Trong lúc học giáo viên nên lồng ghép những câu như “Tin học cũng như

Trang 6

Toán, như Lý Để viết được chương trình các em cần nhớ cú pháp, câu lệnhgiống như việc các em làm bài tập cần nhớ công thức để vận dụng”.

Kiến thức trọng tâm của chương giáo viên cần truyền tải tới học sinh:

- Chương trình thường gồm hai phần : Khai báo, thân

- Nhớ ý nghĩa các từ khóa để dùng khi viết chương trình: Program, Uses,Var, Const, Begin, End

- Tên, phạm vi lưu trữ các kiểu dữ liệu: Byte, Integer, Longint, Word,Real, Char, Boolean

- Các phép toán, các phép so sánh, phép toán quan hệ

- Các hàm số học chuẩn: ABS, SQR, SQRT, Sin, Cos,

- Hai lệnh nhập, in dữ liệu : Read,Readln, Write, Writeln

Giáo viên có thể lồng ghép các bài tập trong các tiết dạy lí thuyết Đếnmỗi phần tương ứng nên cho học sinh xem những gì mà máy tính làm được.Hoặc ở các tiết thực hành giáo viên có thể giao thêm bài để các em tự mình viếttrên máy Từ đó các em dễ cảm nhận được ứng dụng của lập trình trong quátrình học

2.3.1 Vấn đề 1: Học sinh không tuân thủ các bước giải bài toán trên máy tính

Ngay khi học bài 6- Tin học 10, học sinh được tìm hiểu các bước giải bàitoán trên máy tính

B1: Xác định bài toánB2: Lựa chọn và thiết kế thuật toánB3: Viết chương trình

B4: Hiệu chỉnhB5: Viết tài liệu [2]

Chương trình học Tin học 11, học sinh được tìm hiểu về ngôn ngữ lậptrình Pascal, dùng ngôn ngữ lập trình Pascal viết chương trình cho một bài toán

cụ thể Tuy nhiên, khi yêu cầu học sinh giải một bài toán trên máy tính, các emthường bỏ qua B1, B2 và bắt tay vào viết chương trình luôn Chúng ta có thể gọi

là “ Đốt cháy giai đoạn” Chương trình mà các em viết có thể đúng với một sốbài toán đơn giản hay một số bài toán có phương pháp giải được học trong mônToán, Vật lí…Còn đối với một số bài toán phức tạp hơn, đòi hỏi cần phải tư duythì chương trình các em viết ra không chạy hoặc không cho kết quả đúng

Trong mục 2.3.1: Vấn đề 1: Đoạn “ B1…B5 viết tài lệu” được trích dẫn trong TLTK số 2

Trang 7

Sau nhiều lần không viết được chương trình đúng, học sinh có xu thế chánnản, mất hứng thú học tập, ỷ lại cho giáo viên, ỷ lại cho các bạn học tốt dẫn đếntình trạng kết quả học tập sa sút.

Vì vậy, giáo viên cần hướng dẫn và yêu cầu học sinh khi giao chomáy tính làm việc gì thì bản thân học sinh cần tuân theo các bước giải bài toántrên máy tính

Bước 1: Xác định bài toán

Khi nhận được đề bài, nhiệm vụ của học sinh là phải xác định được haiyếu tố: Input và Output, xác định được mối quan hệ giữa hai yếu tố này

Input: Đưa vào máy tính thông tin gì.

Output: Cần lấy ra từ máy tính thông tin gì.[2]

Khi xác định xong hai yếu tố của bài toán, học sinh cần xác địnhnhững biến nào cần đưa vào sử dụng, những biến nào sẽ có thể sẽ phát sinh, vàxác định được kiểu dữ liệu phù hợp cho các biến đó

Ví dụ 1: Giải và biện luận nghiệp phương trình ax 2 +bx+c=0 (a<>0)[2]

Input: a,b,c (a<>0) kiểu thực real.

Output: x 1 , x 2 kiểu thực real.

Sử dụng thêm biến delta kiểu thực real

Ví dụ 2: Tính chu vi, diện tích hình tròn khi biết bán kính R [1]

Input: R kiểu thực real.

Output: C, S kiểu thực real.

Sử dụng biến Max, i, n thuộc kiểu dữ liệu Word

Trong trang này: Bước 1 xác định bài toán:

+ Đoạn “khi nhận được … đến thông tin gì” và ví dụ 1 được trích dẫn từ TLTK số 2;

+ Ví dụ 2 được trích dẫn từ TLTK số 1;

+ Ví dụ 3 tự tác giả viết ra.

Trang 8

Ví dụ 4: Nhập vào từ bàn phím 100 kí tự Hãy đếm số lần xuất hiện của các

kí tự [3]

Input: 100 kí tự thuộc kiểu dữ liệu Char.

Output:Đếm số lần xuất hiện của kí tự Ch thuộc kiểu dữ liệu byte.

Sử dụng mảng 1 chiều để lưu kết quả đếm của từng kí tự xuất hiện

Bước 2: Lựa chọn và thiết kế thuật toán

Trong thực tiễn giảng dạy, tôi nhận thấy đại đa số học sinh bỏ qua bướcquan trọng này Các em thường gặp khó khăn trong quá trình viết chương trình,không hoàn chỉnh chương trình, chương trình không chạy được, không cho kếtquả đúng Là một giáo viên, tôi cần phải phân tích cho học sinh nắm rõ mộtcông thức:

Khi lập trình giải quyết một vấn đề, một bài toán giáo viên cần hình thànhcho học sinh thói quen làm theo trình tự

Cách làm này sẽ giúp giải quyết các vấn đề phức tạp, to lớn, có bài bản,tránh được nhiều lỗi Và không nên làm:

Bởi cách làm này thường xảy ra đối với học sinh mới học và giải quyếtcác bài toán nhỏ

Như vậy, giáo viên cần yêu cầu học sinh dành nhiều thời gian suy nghĩ vềthuật giải, sẽ giúp học sinh tìm ra cách giải hay, tối ưu về số lượng phép toán,

thời gian chạy và dung lượng bộ nhớ [3]

Trong trang này :

+ ví dụ 4 được trích từ TLTK số 3;

+ Đoạn “ một công thức….dung lượng bộ nhớ” được trích dẫn từ TLTK số 3;

+ Đoạn “ input….học sinh cần nắm rõ” tác giả tự viết ra

Thuật giải + Cấu trúc dữ liệu = chương trình

Vấn đề, bài toán→Tìm và xây dựng thuật giải→ chương trình

Vấn đề, bài toán→ chương trình

Trang 9

Một số ví dụ về việc lựa chọn, thiết kế thuật toán và viết chương trình.

Ví dụ 1: Giải và biện luận nghiệp phương trình ax 2 +bx+c=0 (a<>0)[2]

Trong trang này: Ví dụ 1 được trích dẫn từ TLTK số 2

Chương trình

Program vd1;

var a,b,c,x1,x2, delta: real;

beginWrite (‘ nhap a,b,c:); readln(a,b,c);

delta:= b*b-4*a*c;

if delta=0 then write( ‘pt co nghiem kep x1=x2=’,-b/(2*a):8:2);

if delta<0 then write( ‘pt vo nghiem’)else

beginx1:=(-b-sqrt(delta))/(2*a);

Bước 2: delta  b*b-4*a*c;

Bước 3: Nếu delta=0 thì

thông báo pt co nghiem kep

x1=x2=-b/(2*a), kt;

Bước 4: Nếu delta <0 thì

thông báo pt vo nghiem rồi kt;

Bước 5: thông báo phương

trình có 2 nghiệm phân biệt

x1 (-b-sqrt(delta))/(2*a);

x2 (-b+sqrt(delta))/(2*a);

Rồi kết thúc

Trang 10

Ví dụ 2: Tính chu vi, diện tích hình tròn khi biết bán kính R.[1]

Ví dụ 3: Cho dãy số nguyên dương: a1,a2,…,an được nhập từ bàn phím Tìm

an là các số nguyên dương;

Bước 2: i1; max0;

Bước 3: Nếu i> N thì

Bước 31: Nếu Max=0 thì thông

báo không có số chẵn trong dãy rồi kết

thúc

Bước 32: ngược lại, đưa ra Max

rồi kết thúc

Bước 4: Nếu ai chia hết cho 2 thì

Bước 41: Nếu ai> max thì

Max ai;

Bước 42: ngược lại sang bước 5

Bước 5: ii+1, quay lại bước 3;

Chương trình

Program vd3;

var a: Array[1 100] of word;

n, i: byte; max: word;

beginWrite (‘ nhap n:); readln(n);

for i:=1 to n dobegin

if a[i] mod 2 =0 then

if a[i]>max then max:=a[i];

if max=0 then writeln(‘ khong co so chan trong day’) else writeln(‘so chan lon nhat trong day la:’,max);

readln;

end

Trang 11

+ Ví dụ 2 được trích dẫn từ TLTK số 1;

+ Ví dụ 3 tự tác giả viết ra.

Trang 12

for i:=1 to 100 dobegin

2.3.2.1 Không xác định được tính dừng của thuật toán.

Học sinh cần biết thuật toán phải kết thúc sau một số hữu hạn lần thực

hiện các thao tác Chương trình cho kết quả khi thực hiện nhấn tổ hợp phím

ctrl+F9 Tuy nhiên, do học sinh chưa mô tả tốt thuật toán bằng ngôn ngữ lập

trình, chưa xác định tính dừng của thuật toán hay chưa thiết kế thuật toán đúng cho bài toán nên khi viết xong chương trình, nhấn tổ hợp phím ctrl+F9 máy tính không cho kết quả

Ví dụ : Bài toán: Cho dãy số nguyên a1, a2, ,an nhập từ bàn phím Hãy tìm số

nguyên nhỏ nhất trong dãy [2]

Trong trang này:

Ngày đăng: 17/10/2017, 09:31

HÌNH ẢNH LIÊN QUAN

Ví dụ 2: Tính chu vi, diện tích hình tròn khi biết bán kính R.[1] - Một số vấn đề học sinh khối 11 gặp phải khi giải bài toán trên máy tính   tin học 11
d ụ 2: Tính chu vi, diện tích hình tròn khi biết bán kính R.[1] (Trang 10)

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