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

Thực hành Xử lý dãy số trong chương trình

11 309 2

Đ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 11
Dung lượng 145 KB
File đính kèm Thuc hành Xu ly day so trong chuong trinh.rar (24 KB)

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

Nội dung

1. Kiến thức: Đạt chuẩn :  Khai báo và sử dụng các biến mảng.  Hiểu và viết được chương trình làm việc với dãy số. Trên chuẩn :  Viết hoàn chỉnh chương trình Pascal sử dụng câu lệnh về biến mảng cho bài toán. 2. Kỹ năng:  Sử dụng câu lệnh lặp for…do, if...then  Kỹ năng đọc, hiểu và chỉnh sửa chương trình.

Trang 1

BÀI THỰC HÀNH 7:

XỬ LÝ DÃY SỐ TRONG CHƯƠNG TRÌNH

A BẢNG MÔ TẢ CÁC NĂNG LỰC CẦN PHÁT TRIỂN

Nội dung chủ đề Nhận biết Thông hiểu Vận dụng thấp Vận dụng cao

Bài thực hành 7:

Xử lý dãy số

trong chương

trình

- HS gõ chương trình chính xác như yêu cầu SGK sử dụng biến mảng

- Biết lựa chọn câu lệnh lặp While…do hoặc For…do phù hợp với yêu cầu bài toán

- HS nhận biết trong chương trình có sử dụng các câu lệnh lồng nhau

- HS hiểu nên dùng biến mảng thay cho nhiều biến cùng kiểu dữ liệu trong chương trình

- Giải thích được kết quả

có được của chương trình khi sử dụng biến mảng

- Chạy chương trình với các giá trị khác nhau

Tính toán các kết quả nhận được

- Chỉnh sửa câu lệnh trong chương trình

- Dịch và chạy chương trình với các giá trị

gõ vào từ bàn phím

Viết các chương trình có sử dụng biến mảng

B HỆ THỐNG CÂU HỎI/BÀI TẬP THỰC HÀNH:

Biết :

1 Cách xếp loại kết quả học tập như thế nào ?

2 Cách tính điểm trung bình của 2 môn Toán và Văn ?

3 Cách nhận biết số lẻ trong dãy n số?

4 Bài toán nhập vào một dãy số nguyên, in ra màn hình dãy số đó Dãy số gồm bao

nhiêu phần tử?

5 Viết câu lệnh in ra màn hình dãy số theo hàng hoặc theo cột?

Hiểu :

1 Các câu lệnh được sử dụng trong phần thân chương trình trong bài toán xếp loại học sinh?

2 Liệt kê các biến dự định sẽ sử dụng trong chương trình tính điểm trung bình hai môn Toán và Văn?

3 Cần khai báo những biến gì cho bài toán: in ra màn hình các số lẻ trong dãy số đã nhập?

4 Cần khai báo những biến gì cho bài toán: nhập vào một dãy số nguyên, in ra màn hình dãy số đó?

5 Liệt kê các biến dự định sẽ sử dụng trong chương trình nhập dãy số, in dãy số đó ra màn hình, tính tổng của các phần tử trong danh sách

Vận dụng thấp :

1 Viết câu lệnh xếp loại mỗi bạn học sinh?

2 Viết câu lệnh tính điểm trung bình của cả lớp theo môn Toán và Văn?

3 Viết câu lệnh kiểm tra số đó có phải là số lẻ hay không?

4 Câu lệnh in ra màn hình dãy số đã nhập theo chiều ngang hoặc chiều dọc?

5 Câu lệnh tính tổng giá trị của các phần tử trong dãy?

Vận dụng cao :

Trang 2

1 Viết, dịch và chạy chương trình cho bài toán trên với số học sinh n = 10.

Viết chương trình nhập điểm của các bạn trong lớp Sau đó in ra màn hình số bạn đạt kết quả học tập loại giỏi, khá, trung bình và kém ( Nhập n = 10 để kiểm tra kết quả)

2 Nhập hai loại điểm Toán và Ngữ văn của các bạn, sau đó in ra màn hình điểm trung bình của mỗi bạn trong lớp, điểm trung bình của cả lớp theo từng môn Toán và Văn

3 Viết chương trình nhập một dãy số nguyên In ra màn hình các số lẻ trong dãy đó?

4 Viết chương trình nhập một dãy số nguyên In dãy số đó ra màn hình ?

5 Viết chương trình nhập dãy số, in dãy số đó ra màn hình, tính tổng của các phần tử trong danh sách

HƯỚNG DẪN TRẢ LỜI CÂU HỎI VÀ BÀI TẬP THỰC HÀNH:

Biết:

1 Cách xếp loại kết quả học tập :

a  8.0 xếp loại Giỏi

6.5  a  7.9 xếp loại Khá

5.0  a  6.4 xếp loại Trung bình

a  5.0 xếp loại Kém

2 Cách tính điểm trung bình của 2 môn Toán và Văn :

= (điểm Toán + điểm Ngữ văn)/2

3 Cách nhận biết số lẻ trong dãy n số là: Các số đó không chia hết cho 2

4 Bài toán nhập vào một dãy số nguyên, in ra màn hình dãy số đó Dãy số đó chưa cho biết số phần tử, vì vậy khi viết chương trình cần thêm câu lệnh nhập số phần tử của dãy

write('Nhap so phan tu cua day: '); readln(n);

5 Viết câu lệnh in ra màn hình dãy số theo hàng hoặc theo cột:

for i:=1 to n do write(a[i],' ');

hoặc: for i:=1 to n do writeln(a[i]);

Hiểu :

1 Các câu lệnh được sử dụng trong phần thân chương trình trong bài toán xếp loại học sinh: Câu lệnh lặp for…do, câu lệnh điều kiện If…then, …

2 Các biến dự định sẽ sử dụng trong chương trình tính điểm trung bình hai môn Toán

và Văn:

Var i, n: integer;

TbToan, TbVan: real;

DiemToan, DiemVan: array[1 100] of real;

3 Các biến cần khai báo cho bài toán: in ra màn hình các số lẻ trong dãy số đã nhập

var i,n:byte;

a:array[1 100] of integer;

4 Các biến cần khai báo cho bài toán: nhập vào một dãy số nguyên, in ra màn hình dãy số đó

var i,n:integer;

a:array[1 100] of integer;

5 Các biến dự định sẽ sử dụng trong chương trình nhập dãy số, in dãy số đó ra màn hình, tính tổng của các phần tử trong danh sách:

var a:array[1 100] of integer;

i,n,s:integer;

Vận dụng thấp :

Trang 3

1 Câu lệnh xếp loại mỗi học sinh:

Gioi:=0; Kha:=0; Trungbinh:=0; Kem:=0;

for i:=1 to n do

begin

if a[i]>=8.0 then Gioi:=Gioi+1;

if a[i]<5 then Kem:=Kem+1;

if (a[i]<8.0) and (a[i]>=6.5) then Kha:=Kha+1;

if (a[i]>=5) and (a[i]<6.5) then Trungbinh:=trungbinh+1

end;

2 Câu lệnh tính điểm trung bình của cả lớp theo môn Toán và Văn:

for i:=1 to n do

begin TbToan:=TbToan+DiemToan[i];

TbVan:=TbVan+DiemVan[i] end;

TbToan:=TbToan/n; TbVan:=TbVan/n;

3 Câu lệnh kiểm tra số đó có phải là số lẻ hay không:

for i:=1 to n do if a[i] mod 2 <>0 then write(a[i], ‘ ’);

4 Câu lệnh in ra màn hình dãy số đã nhập:

for i:=1 to n do write(a[i],' ');

5 Câu lệnh tính tổng giá trị của các phần tử trong dãy:

s:=0;

for i:=1 to n do s:=s+a[i];

Vận dụng cao :

1 Viết, dịch và chạy chương trình cho bài toán trên với số học sinh n = 10

Viết chương trình nhập điểm của các bạn trong lớp Sau đó in ra màn hình số bạn đạt kết quả học tập loại giỏi, khá, trung bình và kém ( Nhập n = 10 để kiểm tra kết quả) program Phanloai;

uses crt;

Var

i, n, Gioi, Kha, Trungbinh, Kem: integer;

A: array[1 100] of real;

Begin

clrscr;

write(‘Nhap so cac ban trong lop, n = ‘); readln(n);

writeln(‘Nhap diem:’);

For i:=1 to n do Begin write(i,’ ‘); readln(a[i]); End;

Gioi:=0; Kha:=0; Trungbinh:=0; Kem:=0;

for i:=1 to n do

begin

if a[i]>=8.0 then Gioi:=Gioi+1;

if a[i]<5 then Kem:=Kem+1;

if (a[i]<8.0) and (a[i]>=6.5) then Kha:=Kha+1;

if (a[i]>=5) and (a[i]<6.5) then Trungbinh:=trungbinh+1

end;

writeln(‘Ket qua hoc tap:’);

writeln(Gioi,’ ban hoc gioi’);

writeln(Kha,’ ban hoc kha’);

Trang 4

writeln(Trungbinh,’ ban hoc trung binh’);

writeln(Kem,’ ban hoc kem’);

readln

End

2 Nhập hai loại điểm Toán và Ngữ văn của các bạn, sau đó in ra màn hình điểm trung bình của mỗi bạn trong lớp, điểm trung bình của cả lớp theo từng môn Toán và Văn? Var i, n: integer;

TbToan, TbVan: real;

DiemToan, DiemVan: array[1 100] of real;

begin

writeln('Diem trung binh:');

for i:=1 to n do

writeln(i,' ',(DiemToan[i]+DiemVan[i])/2:3:1);

TbToan:=0; TbVan:=0;

for i:=1 to n do

begin TbToan:=TbToan+DiemToan[i];

TbVan:=TbVan+DiemVan[i] end;

TbToan:=TbToan/n; TbVan:=TbVan/n;

writeln('Diem trung binh mon Toan: ',TbToan:3:2);

writeln('Diem trung binh mon Van: ',TbVan:3:2);

end

3 Viết chương trình nhập một dãy số nguyên In ra màn hình các số lẻ trong dãy đó? Program sole;

uses crt;

var i,n:byte;

a:array[1 100] of integer;

begin

write('Nhap so phan tu cua day: ');readln(n);

for i:=1 to n do

begin

write('a[',i,']='); readln(a[i]);

end;

write(‘Cac so le trong day la: ’);

for i:=1 to n do if a[i] mod 2 <>0 then

write(a[i], ‘ ’);

readln;

end

4 Viết chương trình nhập một dãy số nguyên In dãy số đó ra màn hình?

program nhap_inds;

var a:array[1 100] of integer;

i,n:integer;

begin

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

for i:=1 to n do

begin

write('nhap so thu ',i,':');

Trang 5

readln(a[i]);

end;

for i:=1 to n do write(a[i],' ');

readln;

end

5 Viết chương trình nhập dãy số, in dãy số đó ra màn hình, tính tổng của các phần tử trong danh sách?

program tong_ds;

var a:array[1 100] of integer;

i,n,s:integer;

begin

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

for i:=1 to n do

begin

write('nhap so thu ',i,':');

readln(a[i]);

end;

for i:=1 to n do write(a[i],' ');

s:=0;

for i:=1 to n do s:=s+a[i];

write('tong',n:3,' so trong mang la',s:4);

readln;

end

Tuần: 30

Tiết: 57

Ngày soạn:………

Ngày dạy:………

BÀI TH7 : XỬ LÝ DÃY SỐ TRONG CHƯƠNG

TRÌNH (T1)

I MỤC TIÊU:

1 Kiến thức:

* Đạt chuẩn :

 Khai báo và sử dụng các biến mảng

 Hiểu và viết được chương trình làm việc với dãy số

* Trên chuẩn :

 Viết hoàn chỉnh chương trình Pascal sử dụng câu lệnh về biến mảng cho bài toán

2 Kỹ năng:

 Sử dụng câu lệnh lặp for…do, if then

 Kỹ năng đọc, hiểu và chỉnh sửa chương trình

3 Thái độ:

 Hs nghiêm túc trong học tập

II CHUẨN BỊ:

 GV: Chuẩn bị tốt giáo án, phòng máy

 HS:

Trang 6

+ Sách vở, dụng cụ học tập.

+ Xem trước bài học

* RÈN NĂNG LỰC: NL tự học, NL giải quyết vấn đề, NL giao tiếp, NL sáng tạo,

NL hợp tác, NL sử dụng ngôn ngữ

III TIẾN TRÌNH LÊN LỚP:

1 Ổn định lớp: Kiểm tra sĩ số.

2 Kiểm tra bài cũ:

Hãy cho một số ví dụ về lặp với số lần chưa biết trước?

3 Bài mới:

PP giải quyết vấn đề

Tình huống : Viết chương trình nhập

điểm của các bạn trong lớp Sau đó in

ra màn hình số bạn đạt kết quả học

tập loại giỏi, khá, trung bình và kém

1 Cách xếp loại kết quả học tập như

thế nào ?

2 Liệt kê các biến dự định sẽ sử dụng

trong chương trình ?

3 Tìm hiểu các câu lệnh được sử

dụng trong phần thân chương trình ?

4 Viết, dịch và chạy chương trình

cho bài toán trên với số học sinh n =

10

* Xem lại các ví dụ 2 và ví dụ 3, bài

9 về cách sử dụng và khai báo biến

mảng trong Pascal

Học sinh nêu ý tưởng cho bài toán :

a  8.0 xếp loại Giỏi

6.5  a  7.9 xếp loại Khá

5.0  a  6.4 xếp loại Trung bình

a  5.0 xếp loại Kém

* Liệt kê các biến dự định sẽ sử dụng

trong chương trình :

Biến i : thứ tự của học sinh

Biến n : Số học sinh trong lớp

Biến Gioi, Kha, Trungbinh, Kem : là

số học sinh giỏi, khá, trung bình, kém

của lớp

Biến mảng a : để lưu điểm của các

học sinh

- Tìm hiểu phần khai báo dưới đây và

tìm hiểu tác dụng của từng biến:

program Phanloai;

uses crt;

Bài 1 : Viết chương trình nhập điểm của các bạn

trong lớp Sau đó in ra màn hình số bạn đạt kết quả học tập loại giỏi, khá, trung bình và kém (theo tiêu chuẩn từ 8.0 trở lên đạt loại giỏi, từ 6.5 đến 7.9 đạt loại khá, từ 5.0 đến 6.4 đạt trung bình và dưới 5.0 xếp loại kém)

program Phanloai;

uses crt;

Var

i, n, Gioi, Kha, Trungbinh, Kem: integer;

A: array[1 100] of real;

Begin

clrscr;

write(‘Nhap so cac ban trong lop, n = ‘); readln(n); writeln(‘Nhap diem:’);

For i:=1 to n do Begin write(i,’ ‘); readln(a[i]);

End;

Gioi:=0; Kha:=0; Trungbinh:=0; Kem:=0;

for i:=1 to n do begin

if a[i]>=8.0 then Gioi:=Gioi+1;

if a[i]<5 then Kem:=Kem+1;

if (a[i]<8.0) and (a[i]>=6.5) then

Kha:=Kha+1;

if (a[i]>=5) and (a[i]<6.5) then

Trungbinh:=trungbinh+1

end;

writeln(‘Ket qua hoc tap:’);

writeln(Gioi,’ ban hoc gioi’);

writeln(Kha,’ ban hoc kha’);

writeln(Trungbinh,’ ban hoc trung binh’);

writeln(Kem,’ ban hoc kem’);

readln

Trang 7

i, n, Gioi, Kha, Trungbinh,

Kem: integer;

A: array[1 100] of real;

* Gõ phần khai báo trên vào máy tính

và lưu tệp với tên Phanloai Tìm hiểu

các câu lệnh trong phần thân chương

trình

Ngoài dùng vòng lặp For … do, ta

cần dùng câu lệnh điều kiện If…then

để so sánh tìm số học sinh giỏi, khá,

trung bình, kém

PP hoạt động nhóm

Gõ tiếp phần chương trình này vào

máy tính sau phần khai báo Dịch,

chạy chương trình

Yêu cầu: Dịch và chạy chương trình

với số học sinh là 10, kiểm tra số học

sinh giỏi, khá, trung bình, yếu

HS làm bài thực hành theo nhóm

Các nhóm báo cáo kết quả

Nhận xét kết quả bài toán

End.

4 Củng cố:

5 Dặn dò:

- Học bài theo sách giáo khoa và vở ghi

- Đọc trước bài học tiếp theo

* Rút kinh nghiệm:

Tuần: 30

Tiết: 58

Ngày soạn:………

Ngày dạy:………

BÀI TH7 : XỬ LÝ DÃY SỐ TRONG CHƯƠNG

TRÌNH (T2)

I MỤC TIÊU:

1 Kiến thức:

* Đạt chuẩn :

 Khai báo và sử dụng các biến mảng

 Hiểu và viết được chương trình làm việc với dãy số

* Trên chuẩn :

 Viết hoàn chỉnh chương trình Pascal sử dụng câu lệnh về biến mảng cho bài toán

2 Kỹ năng:

 Ôn luyện cách sử dụng câu lệnh lặp for…do

Trang 8

 Củng cố các kĩ năng đọc, hiểu và chỉnh sửa chương trình.

3 Thái độ:

 Hs nghiêm túc trong học tập

II CHUẨN BỊ:

 GV: Chuẩn bị tốt giáo án, phòng máy

 HS:

+ Sách vở, dụng cụ học tập

+ Xem trước bài học

* RÈN NĂNG LỰC: NL tự học, NL giải quyết vấn đề, NL giao tiếp, NL sáng tạo,

NL hợp tác, NL sử dụng ngôn ngữ

III TIẾN TRÌNH LÊN LỚP:

1 Ổn định lớp: Kiểm tra sĩ số.

2 Kiểm tra bài cũ:

3 Bài mới:

PP giải quyết vấn đề

Tình huống: Nhập hai loại điểm Toán và

Ngữ văn của các bạn, sau đó in ra màn

hình điểm trung bình của mỗi bạn trong

lớp

1 Cách tính điểm trung bình của 2 môn

Toán và Văn ?

2 Cần khai báo những biến gì cho bài

toán ?

3 Viết câu lệnh tính điểm trung bình của

mỗi bạn học sinh ?

4 Viết câu lệnh tính điểm trung bình của

cả lớp theo môn Toán và Văn?

* Học sinh nêu ý tưởng :

Tính điểm trung bình 2 môn Toán và

Văn như sau :

= (điểm Toán + điểm Ngữ văn)/2

Phần khai báo:

Var i, n: integer;

TbToan, TbVan: real;

DiemToan, DiemVan: array[1 100] of

real;

Phần thân chương trình:

begin

writeln('Diem trung binh:');

for i:=1 to n do

writeln(i,' ', (DiemToan[i]

+DiemVan[i])/2:3:1);

TbToan:=0; TbVan:=0;

for i:=1 to n do

Bài 2 : Bổ sung và chỉnh sửa chương trình trong

bài 1 để nhập hai loại điểm Toán và Ngữ văn của các bạn, sau đó in ra màn hình điểm trung bình của mỗi bạn trong lớp (theo công thức điểm trung bình

= (điểm Toán + điểm Ngữ văn)/2), điểm trung bình của cả lớp theo từng môn Toán và Ngữ văn

Var i, n: integer;

TbToan, TbVan: real;

DiemToan, DiemVan: array[1 100] of real;

begin

writeln('Diem trung binh:');

for i:=1 to n do

writeln(i,' ',(DiemToan[i]+DiemVan[i])/2:3:1); TbToan:=0; TbVan:=0;

for i:=1 to n do begin TbToan:=TbToan+DiemToan[i];

TbVan:=TbVan+DiemVan[i] end;

TbToan:=TbToan/n; TbVan:=TbVan/n;

writeln('Diem trung binh mon Toan: ',TbToan:3:2); writeln('Diem trung binh mon Van: ',TbVan:3:2);

end.

Trang 9

begin TbToan:=TbToan+DiemToan[i];

TbVan:=TbVan+DiemVan[i] end;

TbToan:=TbToan/n; TbVan:=TbVan/n;

writeln('Diem trung binh mon Toan:',

TbToan:3:2);

writeln('Diem trung binh mon Van: ',

TbVan:3:2);

end.

PP hoạt động nhóm

Yêu cầu: Bổ sung các câu lệnh trên vào

vị trí thích hợp trong chương trình

Thêm các lệnh cần thiết, dịch và chạy

chương trình với các số liệu thử

HS làm bài thực hành theo nhóm

Các nhóm báo cáo kết quả

Nhận xét kết quả bài toán

4 Củng cố:

- Cách sử dụng biến mảng

- Cách kết hợp với lệnh lặp for…do

5 Dặn dò:

- Học bài và ôn lại các kiến thức trọng tâm

- Tìm hiểu thêm một số bài toán về biến mảng

* Rút kinh nghiệm:

Tuần: 31

Tiết: 59

Ngày soạn:………

Ngày dạy:………

BÀI TH7 : XỬ LÝ DÃY SỐ TRONG CHƯƠNG

TRÌNH (T3)

I MỤC TIÊU:

1 Kiến thức:

* Đạt chuẩn :

 Khai báo và sử dụng các biến mảng

 Hiểu và viết được chương trình làm việc với dãy số

* Trên chuẩn :

 Viết hoàn chỉnh chương trình Pascal sử dụng câu lệnh về biến mảng cho bài toán

2 Kỹ năng:

 Ôn luyện cách sử dụng câu lệnh lặp for…do

 Củng cố các kĩ năng đọc, hiểu và chỉnh sửa chương trình

3 Thái độ:

 Hs nghiêm túc trong học tập

II CHUẨN BỊ:

Trang 10

 GV: Chuẩn bị tốt giáo án, phòng máy.

 HS:

+ Sách vở, dụng cụ học tập

+ Xem trước bài học

* RÈN NĂNG LỰC: NL tự học, NL giải quyết vấn đề, NL giao tiếp, NL sáng tạo,

NL hợp tác, NL sử dụng ngôn ngữ

III TIẾN TRÌNH LÊN LỚP:

1 Ổn định lớp: Kiểm tra sĩ số.

2 Kiểm tra bài cũ: Trong quá trình thực hành

3 Bài mới:

PP giải quyết vấn đề :

Tình huống : Viết chương trình nhập

dãy n số và in ra màn hình các số lẻ

trong dãy số vừa nhập

1 Cách nhận biết số lẻ trong dãy n

số?

2 Cần khai báo những biến nào cho

bài toán trên ?

3 Viết câu lệnh kiểm tra số đó có

phải là số lẻ hay không ?

4 Viết chương trình hoàn chỉnh cho

bài toán ?

GV gợi ý và hướng dẫn

* Học sinh nêu ý tưởng :

Số lẻ là số không chia hết cho 2 (Có

thể áp dụng để kiểm tra số chẵn trong

dãy n số)

* Cần khai báo các biến :

- Biến i để chỉ thứ tự các phần tử

- Biến n cho biết số phần tử trong

dãy

- Biến mảng a để nhập và xử lý đối

với dãy số

* Thực hiện kiểm tra số lẻ bằng câu

lệnh:

if a[i] mod 2 <>0 then write(a[i]);

PP hoạt động nhóm

Yêu cầu : Viết chương trình, dịch và

chạy chương trình cho bài toán trên

HS làm bài thực hành theo nhóm

Các nhóm báo cáo kết quả

Nhận xét kết quả bài toán

Bài 3 : Viết chương trình nhập dãy n số và in ra

màn hình các số lẻ trong dãy số vừa nhập

a Hướng dẫn:

Thực hiện kiểm tra số lẻ bằng câu lệnh:

if a[i] mod 2 <>0 then write(a[i], ‘ ’);

b Chương trình:

Program sole;

uses crt;

var i,n:byte;

a:array[1 100] of integer;

begin

write('Nhap so phan tu cua day: ');readln(n);

for i:=1 to n do begin

write('a[',i,']='); readln(a[i]);

end;

write(‘Cac so le trong day la: ’);

for i:=1 to n do if a[i] mod 2 <>0 then

write(a[i], ‘ ’);

readln;

end.

4 Củng cố:

Ngày đăng: 10/04/2018, 11:40

TỪ KHÓA LIÊN QUAN

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

w