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

Sử dụng biến và biến trung gian trong pascal cho đối tượng học sinh lớp 8, lớp 9

16 245 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 16
Dung lượng 901 KB

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

Nội dung

Trước hết, Biến trung gian phải xem là không phải biến ban đầu đã cho của bài toán. Phải dùng đến biến khác với biến đã cho là vì, với biến đã cho bài tập khó làm (có khi không làm được). Thay biến đã cho bởi một biến khác là mong rằng: Bài tập với biến mới dễ giải hơn bài toán đã cho.Biến trung gian cũng có thể hiểu đúng với ý nghĩa của từ trung gian (tức là không chính). Theo nghĩa này, đáng lẽ ra ta phải tìm biến đã cho của bài toán thì ta lại đi tìm biến trung gian. Sau khi tìm được biến trung gian ta trở về tìm biến ban đầu.Việc giải bài tập bằng cách dùng biến trung gian có thể xem như là đáng lẽ ta phải đi theo đường thẳng thì ta lại đi theo đường vòng nhưng dễ đi hơn để tới đích.

Trang 1

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc BÁO CÁO KẾT QUẢ HOẠT ĐỘNG SÁNG KIẾN

Kính gửi: - Hội đồng sáng kiến cấp cơ sở huyện ;

Tên đề tài sáng kiến: Sử dụng biến và biến trung gian trong pascal cho đối

tượng học sinh lớp 8, lớp 9 (cuối cấp THCS)

1- Chủ đầu tư tạo ra sáng kiến: (trường hợp tác giả không đồng thời là

chủ đầu tư tạo ra sáng kiến)

2- Lĩnh vực áp dụng sáng kiến: Giảng dạy môn Tin học sinh lớp 8, lớp 9

(cuối cấp THCS)

3- Ngày sáng kiến được áp dụng lần đầu hoặc áp dụng thử (bắt buộc

phải ghi để làm cơ sở đánh giá tính khả thi, hiệu quả của sáng kiến): Năm học

2016 – 2017; Năm học 2017 – 2018

4- Mô tả bản chất của sáng kiến (đề nghị ghi rõ để làm cơ sở xét sáng

kiến, nếu bỏ qua các bước này thì sáng kiến có thể không đề nghị công nhận)

4.1 Phân tích tình trạng giải pháp đã biết:

4.1.1 Đối với học sinh

Sử dụng biến và biến trung gian là những nội dung quan trọng trong chương trình tin học phổ thông, thường gặp trong các đề kiểm tra tin, thi chọn học sinh giỏi tin;

Nhiều khi để sử dụng biến không đúng cách sẽ dẫn đến các bài tập khá phức tạp Để khắc phục tình trạng đó, có thể dùng phương pháp đặt biến để chuyển về

các dạng quen thuộc mà ta đã biết cách làm Biến là yếu tố như một nhịp cầu nối

bài toán cần tìm ra cách giải với bài toán đã biết cách giải.

Chương trình hiện hành không dạy học một cách tường minh về sử biến trong giải bài tập tin học 8 nên đại đa số học sinh gặp khó khăn ngay cả với những bài tập nhìn vào đã thấy ngay biến trung gian Cụ thể, sử dụng biến chủ yếu được giới thiệu trong phần bài thực hành số 3 ( Chẳng hạn bài 1, Tr 35, SGK Tin học 8 và bài 2, Tr 36, SGK Tin học 8 ); các bài toán đó là rất dễ nhưng chương trình vẫn hướng dẫn chi tiết đặt các biểu thức nào bằng biến mới Tuy nhiên, có rất nhiều học sinh không hiểu và xem đó là mảng kiến thức không quan trọng, dẫn đến bỏ qua công cụ hữu hiệu này

4.1.2 Đối với giáo viên:

-

Trang 2

1 Nhiều giáo viên chưa quan tâm đúng mực đến sử dụng biến trong các bài tập

có sử dụng biến trung gian chỉ giới thiệu qua loa nên học sinh không thấy được vai trò của biến trung gian và sớm đi vào quên lãng;

- Đã có một số giáo viên dành nhiều thời gian, tâm huyết để bồi dưỡng cho

học sinh về chủ đề sử dụng biến, trong đó có phương pháp đặt biến trung gian, tuy nhiên chỉ bó hẹp cho các đối tượng học sinh giỏi, học sinh có năng khiếu về tin, cách dạy lại thiên về luyện thi kiểu “gà chọi” nên không đem lại được hứng thú học tập cho học sinh, không cho học sinh thấy được bản chất và sức mạnh của việc

sử dụng biến và biến trung gian

4.2 Nội dung đã cải tiến, sáng tạo để khắc phục những nhược điểm của giải pháp đã biết:

- Có rất nhiều tài liệu viết về sử dụng biến nhưng chưa có bất kỳ sản phẩm nào hội tụ các yếu tố (1) Dùng cho đối tượng học sinh lớp 8, lớp 9 ( cuối cấp THCS; (2) Được xây dựng một cách lôgic, đầy đủ; (3) Sử dụng biến trung gian làm công cụ để giải; (4) Là tài liệu giúp học sinh tự học, tự nghiên cứu; là tài liệu phục vụ trực tiếp cho việc dạy học của giáo viên và phụ huynh học sinh

Qua thực tiễn giảng dạy và nghiên cứu, tác giả nhận thấy để học sinh có thể

sử dụng hiệu quả biến trong giải bài tập tin học 8 cấp THCS, nâng cao hiệu quả dạy học môn Tin học 8 cần quan tâm cả bốn yếu tố đã nêu ở trên

4.2.1 Biến trung gian là gì?

Trước hết, Biến trung gian phải xem là không phải biến ban đầu đã cho của bài toán Phải dùng đến biến khác với biến đã cho là vì, với biến đã cho bài tập khó làm (có khi không làm được) Thay biến đã cho bởi một biến khác là mong rằng: Bài tập với biến mới dễ giải hơn bài toán đã cho

Biến trung gian cũng có thể hiểu đúng với ý nghĩa của từ trung gian (tức là không chính) Theo nghĩa này, đáng lẽ ra ta phải tìm biến đã cho của bài toán thì ta lại đi tìm biến trung gian Sau khi tìm được biến trung gian ta trở về tìm biến ban đầu

Việc giải bài tập bằng cách dùng biến trung gian có thể xem như là đáng lẽ

ta phải đi theo đường thẳng thì ta lại đi theo đường vòng nhưng dễ đi hơn để tới đích

Mặt khác cũng do trước hết ta tìm biến trung gian rồi mới trở về tìm biến ban đầu; cho nên cũng có thể xem việc giải bài tập bằng cách dùng biến trung gian như là một công việc được tách thành hai công đoạn dễ làm hơn

Đây là trường hợp giải các bài tập sử dụng biến nói chung

4.2.2 Sử dụng biến và biến trung gian trong chương trình

* Cú pháp khai báo biến: Var < Danh sách biến > : < Kiểu dữ liệu>;

dongia, thanhtien : Real;

Trang 3

* Cú pháp gán giá trị cho biến: < Tên biến > := < Biểu thức >;

soluong := 10;

* Cú pháp gán giá trị cho biến bằng câu lệnh nhập từ bàn phím:

* In giá trị của biến ra màn hình:

Dạng 1: Bài toán cơ bản

Ví dụ: Viết chương trình nhập hai số, đổi giá trị hai số rồi in ra hai số.

a Hướng dẫn:

- Dùng các biến a, b để lưu hai số được nhập từ bàn phím;

- Gán cho biến tg (biến trung gian) giá trị của a.

- Gán giá trị của b cho a (Sau lệnh này a có giá trị của b)

- Gán giá trị của tg cho cho b (Sau lệnh này b có giá trị của tg = a).

b Chương trình:

Program Doi_Gia_Tri;

uses crt;

var a, b, tg:real;

Begin

clrscr;

write('nhap a: '); readln(a);

write('nhap b: '); readln(b);

writeln('Truoc khi doi a =',a:0:2,' va b= ',b:0:2);

tg:=a;

a:=b;

b:=tg;

writeln('Sau khi doi a =',a:0:2,' va b= ',b:0:2);

Readln;

End

Dạng 2: Bài toán mở rộng

Ví dụ: Viết chương trình nhập vào một mảng gồm N số nguyên Sắp xếp lại

mảng theo thứ tự tăng dần và in kết quả ra màn hình

a.Hướng dẫn:

Trang 4

- Dùng biến n để lưu lượng số cần nhập.

- Dùng mảng để lưu các số vừa nhập

- Cho biến i chạy từ 1 đến N-1, đồng thời cho biến j chạy từ i+1 đến N: Nếu A[i]>A[j] thì đổi chổ A[i], A[j]

b Chương trình:

Program sapxepdayso;

Uses Crt;

Type Mang = ARRAY[1 50] Of Integer;

Var A:Mang;

N,i,j,Tg:Integer;

Begin

{Nhập mảng}

Write(‘Nhap N=’); Readln(N);

For i:=1 To N Do

Begin

Write(‘A[‘,i,’]=’); Readln(A[i]);

End;

{Sắp xếp}

For i:=1 To N-1 Do

For j:=i+1 To N Do

If A[i]>A[j] Then

Begin

Tg:=A[i];

A[i]:=A[j];

A[j]:=Tg;

End;

{In kết quả ra màn hình}

Writeln(‘Ket qua sau khi sap xep:’);

For i:=1 To N Do Write(A[i]:5);

Readln;

End

Dạng 3: Bài toán nâng cao dàng cho học sinh bồi dưỡng tin học THCS

Ví dụ: Hè đến rồi, Nam được bố dẫn đi chơi công viên Trong công viên có

nhiều gian hàng trò chơi, trong đó Nam thích nhất là gian trò chơi chọn số Người

ta viết sẵn một số dãy số số nguyên dương không được sắp xếp ( dãy này có N phần tử, các phần tử có giá trị khác nhau đôi một, N<=10000, các số của dãy có giá trị từ 1 đến 30000), sau đó họ đưa ra 1 số M (M<=N) và yêu cầu người chơi tìm số lớn thứ M trong dãy số này Nam vốn tính toán nhanh lẹ, nhưng đứng trước câu đố

Trang 5

này Nam cũng nói: “Phải nhờ lập trình ta mới biết nhanh được!” Bạn hãy giúp Nam thực hiện công việc này

Dữ liệu vào: từ file văn bản CHONSO.INP bao gồm:

- Dòng đầu tiên là số N và M

- N dòng tiếp theo, mỗi dòng môt số là giá trị của các số trong dãy số

Dữ liệu ra: file văn bản CHONSO.OUT, gồm 1 dòng chứa 2 số K, L trong đó K chỉ số thứ tự của số cần tìm trong dãy và L là giá trị của số cần tìm

Ví dụ:

10 3 16 57 20 19 38 41 6 13 25 32

5 38

Chương trình:

program bt;

type mang=array[1 10000] of integer;

var n,m:integer;a,b:mang;f:text;

const fi='chonso.inp';

fo='chonso.out';

procedure nhap;

var i:integer;

begin

assign(f,fi);

reset(f);

read(f,n,m);

for i:=1 to n do

read(f,A[i]);

close(f);

end;

procedure sx;

var i,j,tam:integer;

begin

for i:=1 to n do

b[i]:=a[i];

for i:=1 to n-1 do

for j:=i+1 to n do

Trang 6

if A[i]<A[j] then

begin

tam:=A[i];

A[i]:=a[j];

A[j]:=tam;

end;

end;

procedure xuli;

var i:integer;

begin

assign(f,fo);

rewrite(f);

for i:=1 to n do

if b[i]=a[m] then

begin

write(f,i,' ',A[m]);

close(f);

exit;

end;

end;

begin

nhap;

sx;

xuli;

end

Chú ý: Nếu trong bài tập xuất hiện “ Nhập số liệu bất kỳ” và “Hoán đổi” thì

ta thường sử dụng biến và biến trung gian; tương tự nếu trong bài tập xuất hiện nhập dữ liệu thì ta thường sử dụng biến Một điều lưu ý nữa là khi sử dụng biến nên đặt tên dễ hiểu có ý nghĩa liên quan đến các bài tập cho việc viết chương trình đơn giản dễ nhớ nhất

BÀI TẬP TỔNG HỢP

 Câu 1: Viết chương trình nhập vào số kg gạo Giả sử ta có 1 số bao như sau: 20

kg, 10 kg, 5 kg, 2 kg, 1 kg

Tìm tất cả các cách cho gạo vào bao tương ứng với số gạo đã có

Ví dụ:

- Nhập số kg gạo: 8

- Cách 1: Bao 1kg: 8

- Cách 2: Bao 2kg: 1; Bao 1kg: 6

- Cách 3: Bao 5kg: 1; Bao 1kg: 3

- Cách 4: Bao 5kg: 1; Bao 2kg: 1; Bao 1kg: 1

- Cách 5: Bao 2 kg: 4

- Cách 6: Bao 5 kg: 1; Bao 1 kg: 3

Trang 7

- Cách 7: Bao 2 kg: 2; Bao 1 kg: 4.

Chương trình:

uses crt;

var a,b20,b10,b5,b2,b1,c:integer;

begin

clrscr;

write('Nhap vao so kg gạo: ');

readln(a);

c := 1;

for b20 := 0 to a div 20 do

for b10 := 0 to a div 10 do

for b5 := 0 to a div 5 do

for b2 := 0 to a div 2 do

for b1:=0 to a do

begin

if b20*20+b10*10+b5*5+b2*2+b1=a then

begin

writeln('==> Cach: ',c);

c := c + 1;

if b20>0 then writeln('Bao 20: ',b20);

if b10>0 then writeln('Bao 10: ',b10);

if b5>0 then writeln('Bao 5: ',b5);

if b2>0 then writeln('Bao 2: ',b2);

if b1>0 then writeln('Bao 1: ',b1);

end; end;

readln;

end

 Câu 2: Tiền điện sinh hoạt (Kỳ thi học sinh giỏi lớp 9 cấp thành phố Tam Kỳ năm học 2015 – 2016)

Để khuyến khích tiết kiệm điện, giá điện sinh hoạt được tính theo kiểu lũy tiến; nghĩa là nếu sử dụng càng nhiều điện thì giá mỗi số điện (1kWh) càng tăng lên Sau đây là bảng giá áp dụng cho các mức tiêu thụ điện năng:

Các bậc tiêu thụ điện (đồng/kWh)Giá

Bậc 1: Cho kWh từ 0 đến 50 1454

Bậc 2: Cho kWh từ trên 50 đến 100 1502

Bậc 3: Cho kWh từ trên 100 đến 200 1750

Bậc 4: Cho kWh từ trên 200 đến 300 2197

Bậc 5: Cho kWh từ trên 300 đến 400 2453

Bậc 6: Cho kWh từ trên 400 trở lên 2535

Hãy viết chương trình cho phép thực hiện các cơng việc sau:

Trang 8

a) Tính số tiền cần thanh toán khi biết số kWh điện sử dụng trong tháng?

b) Tính số kWh điện đã sử dụng trong tháng khi biết số tiền được yêu cầu thanh toán?

Ví dụ:

Số kWh: 120 a) So tien: 182800 =1454*50 + 1502*50+ 1750*20

So tien: 182800 b) Số kWh: 120 Ngược lại

Chương trình:

Program tien_dien;

Var sochu, sotien,gia:real;

i:longint;

Begin

Repeat

Write('Nhap so kWh su dung: '); Readln(sochu);

until sochu>=0;

sotien:=0;

if sochu>400 then Begin sotien:=sotien+(sochu-400)*2535; sochu:=400 end;

if sochu>300 then Begin sotien:=sotien+(sochu-300)*2453; sochu:=300 end;

if sochu>200 then Begin sotien:=sotien+(sochu-200)*2197; sochu:=200 end;

if sochu>100 then Begin sotien:=sotien+(sochu-100)*1750; sochu:=100 end;

if sochu> 50 then Begin sotien:=sotien+(sochu- 50)*1502; sochu:= 50 end; sotien:=sotien+sochu*1454;

Writeln('a) So tien phai tra la: ',sotien:0:2);

repeat

Write('Nhap so tien phai tra: ');Readln(sotien);

until sotien>=0;

i:=0;

While sotien>=0 do

Begin

i:=i+1;

Case i of

0 50: gia:=1454;

51 100: gia:=1502;

101 200: gia:=1750;

201 300:gia:=2197;

301 400: gia:=2453

else gia:=2535;

end;

sotien:=sotien-gia;

End;

i:=i-1; sotien:=sotien+gia;

sochu:=i+ sotien/gia;

Writeln('b) So chu dien da dung: ',sochu:0:2);

Trang 9

readln;

End

Câu 3: MUA HÀNG (Kỳ thi học sinh giỏi tin học lớp 9 cấp tỉnh Quảng Nam năm học 2016 – 2017)

Tâm mở một cửa hàng bán văn phòng phẩm Trong ngày khai trương, để “mua may bán đắt”, Tâm quan niệm rằng khi khách hàng mua một sản phẩm nào đó thì

phải trả đúng với số tiền của sản phẩm để Tâm không phải trả lại tiền thừa cho khách hàng

Nam là bạn thân của Tâm đến mua hàng Nam hiện có N tờ tiền, mỗi tờ tiền M đều có giá trị khác nhau Giả thiết rằng với số tiền của Nam hiện có đều có thể mua được một số sản phẩm trong cửa hàng

Yêu cầu: Vì Nam không quen với việc tính toán, em hãy giúp Nam tính xem với N

tờ tiền như vậy thì Nam không thể mua sản phẩm có giá trị nhỏ nhất (Min) là bao nhiêu?

 Dữ liệu vào: File văn bản BUY.INP

- Dòng thứ nhất là số N (0 < N ≤ 100);

- Dòng thứ hai có N tờ tiền, mỗi tờ tiền M cách nhau một khoảng trắng (0<M<109)

 Dữ liệu ra: File văn bản BUY.OUT

- Gồm một số nguyên dương Min cần tìm.

5

1 2 4 9 100

8

3

1 2 3

7

Chương trình :

const fi='buy.inp';

fo='buy.out';

maxn=100;

var a:array[1 maxn] of longint;

pos:byte;

N,dem:longint;res:qword;

f:text;

procedure input;

var i:longint;

begin

assign(f,fi); reset(f);

readln(f,N);

Trang 10

for i:=1 to N do read(f,a[i]);

close(f);

end;

procedure sapxep;

var i,j:byte; tg:longint;

begin

for i:=1 to n-1 do

for j:=i+1 to n do

if a[i]>a[j] then

begin

tg:=a[i];

a[i]:=a[j];

a[j]:=tg;

end;

end;

procedure solu;

var i:longint;

begin

sapxep;

res:=1;

for i:=1 to N do

if res<a[i] then break

else res:=res+a[i];

end;

procedure output;

var i:byte;

begin

assign(f,fo); rewrite(f);

writeln(f,res);

close(f);

end;

begin

input;

solu;

output;

end

4.3 Các điều kiện, phương tiện cần thiết để thực hiện và áp dụng giải pháp

- Sáng kiến có thể áp dụng vào các tiết học trên lớp trong hoạt động tìm tòi và

mở rộng dạy học theo chuổi các hoạt động của năm học 2019 – 2020; giáo viên có thể dạy lồng ghép trong các tiết ngoại khóa; đặc biệt sáng kiến áp dụng rất hiệu quả trong việc bồi dưỡng học sinh giỏi môn Tin lớp 8, lớp 9

Trang 11

- Sáng kiến có thể được sử dụng làm tài liệu tự học, tự nghiên cứu cho đối tượng học sinh khá giỏi môn Tin lớp 8, lớp 9 (cuối cấp THCS) hoặc làm tài liệu giảng dạy cho giáo viên bộ môn và quý phụ huynh học sinh

4.4 Các bước thực hiện giải pháp, cách thức thực hiện giải pháp

Như đã trình bày ở các mục trên sáng kiến có thể áp dụng cho các đối tượng học sinh lớp 8, lớp 9 (cuối cấp THCS), tuy nhiên sẽ thuận lợi hơn nếu học sinh đã được học về sử dụng biến trong các tiết dạy chính khóa

Ghi chú: Nếu áp dụng sớm cho đối tượng là học sinh lớp 8 thì giáo viên cần

dành thời gian nhất định để bổ túc kiến thức cho học sinh, giúp các em vượt qua những khó khăn ban đầu

Nhằm đem lại hiệu quả cao nhất, việc triển khai sáng kiến này vào trong thực tiễn dạy học cần được lên kế hoạch thực hiện một cách chi tiết về nội dung, phương pháp, phương tiện, thời gian, cách thức tổ chức dạy học và nên thực hiện theo quy trình sau:

Bước 1: Giúp học sinh nắm vững cách sử dụng biến (thông qua các tiết dạy

chính khóa, ngoại khóa, …tùy vào đối tượng học sinh);

Bước 2: Tuần tự giới thiệu cho học sinh các dạng biến như trình bày trong

sáng kiến và kế hoạch đã lập ra ở bước 1;

Bước 3: Đánh giá khả năng đạt được bằng việc lồng ghép các các biến trong

các bài kiểm tra (chính khóa, ngoài giờ lên lớp), các tình huống thực tiễn, các đề thi học sinh giỏi các cấp

Việc lập kế hoạch phải căn cứ vào kế hoạch năm học của nhà trường và tình hình thực tế của giáo viên, học sinh Có thể thực hiện một cách linh động theo các hình thức dưới đây:

- Lồng ghép trong các tiết dạy chính khóa (mở rộng kiến thức)

- Kết hợp trong các tiết ngoại khóa, các tiết sinh hoạt chuyên đề

- Dạy chuyên đề bồi dưỡng học sinh giỏi

- Phát tài liệu và hướng dẫn học sinh tự học, tự nghiên cứu

4.5 Chứng minh khả năng áp dụng của sáng kiến

- Sáng kiến đã được áp dụng vào dạy trong các tiết dạy bồi dưỡng học sinh giỏi môn Tin năm 2017 và kết quả bồi dưỡng học sinh giỏi: Năm học 2016 – 2017:

Vị thứ tư toàn đoàn cấp huyện môn Tin 8; Năm học 2017 – 2018: Vị thứ Nhì toàn đoàn cấp huyện môn Tin 8

- Sáng kiến có thể áp dụng vào các tiết học trên lớp trong hoạt động tìm tòi

và mở rộng dạy học theo chuổi các hoạt động của năm học 2019 – 2020, giáo viên

có thể dạy lồng ghép trong các tiết ngoại khóa, đặc biệt sáng kiến áp dụng rất hiệu quả trong việc bồi dưỡng học sinh giỏi lớp 8, bồi dưỡng học sinh giỏi lớp 9

Ngày đăng: 05/10/2020, 19:09

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