Kỹ năng: Nâng cao kỹ năng sử dụng một số câu lệnh và một số kiểu dữ liệu thông qua việc tìm hiểu, chạy thử các chương trình có sẵn.. II.[r]
Trang 1Tiết 27 : BÀI TẬP VÀ THỰC HÀNH 3( tiết 1)
I Mục tiờu
1 Kiến thức:
- Củng cố cho học sinh kiến thức kiểu mảng
- Mụ tả được cỏch khai bỏo, tham chiếu đến cỏc phần tử của mảng,
cỏch nhập xuất cỏc phần tử của mảng
- Biết giải một số bài toỏn tớnh toỏn, tỡm kiếm đơn giản trờn mỏy tớnh
2 Kỹ năng: Nõng cao kỹ năng sử dụng một số cõu lệnh và một số kiểu dữ
liệu thụng qua việc tỡm hiểu, chạy thử cỏc chương trỡnh cú sẵn
II Chuẩn bị
1 Giỏo viờn: Giỏo ỏn, SGK, sỏch giỏo viờn, phũng mỏy, mỏy chiếu.
2 Học sinh: Vở ghi, sỏch giỏo khoa, đồ dựng học tập.
III Tổ chức cỏc hoạt động học tập
1 Ổn định tổ chức lớp:
2 Kiểm tra bài cũ: Tiến hành trong quỏ trỡnh thực hành.
3 Tiến trỡnh bài học:
Hoạt động 1: Thực hành bài 1 phần a
(25p)
GV: Giới thiệu nội dung thực hành:
GV:Yờu cầu học sinh tỡm hiẻu và chạy thử
chương tỡnh ở cõu a, sỏch giỏo khoa, trg
63
HS: Tỡm hiểu và chạy thử chương trỡnh
trờn mỏy:
GV: Chiếu chương trỡnh lờn bảng
GV: - Myarray là tờn kiểu dữ liệu hay tờn
biến?
- Vai trũ của nmax và n cú gỡ khỏc
nhau?
- Dũng lệnh nào để tạo biến mảng A?
HS: - Tờn kiểu dữ liệu
- nmax là số phần tử tối đa cú thể chứa của
biến mảng A, n là số phần tử thực tế của A
- Dũng lệnh nào để tạo biến mảng A?
- Lệnh khai bỏo kiểu và khai bỏo
biến
GV: Thực hiện chương trỡnh để học sinh
thấy kết quả
- Hỏi:Lệnh gỏn a[i]:=random(300) –
random(300) cú ý nghĩa gỡ?
GV: Lệnh sinh ngẫu nhiên giá trị cho mảng
a từ – 299 đến 299
Bài 1: Tạo mảng A gồm n (n<=100) số
nguyờn, mỗi số cú giỏ trị tuyệt đối khụng vượt quỏ 300 Tớnh tổng cỏc phần tử của mảng là bội số của một số nguyờn dương k cho trước
=> Chương trỡnh:
Program Sum 1;
Uses Crt;
Const nmax:=100;
Type Myarray = Array[1 nmax] of integer;
Var A:myarray;
s, n, i, k:integer;
Begin Clrscr;
Randomize;
Write(‘nhap n=’);
readln(n);
For i:=1 to n do a[i]:=random(301) – random(301);
For i:=1 to n do Write(A[i]:5);
Writeln;
Write('nhap k=’);
readln(k);
s:=0;
For i:=1 to n do
Trang 2Hoạt động của thầy và trũ Nội dung
GV: Lệnh For i:=1 to n do
Write(A[i]:5);cú ý nghĩa gỡ?
HS: In ra màn hình giá trị của từng phần tử
trong mảng a
GV: Lệnh For – Do cuối cựng thực hiện
nhiệm vụ gỡ?
HS:Cộng các phần tử chia hết cho k
GV: Lệnh s:=a+a[i]; được thựchiện bao
nhiờu lần?
HS: Có số lần đúng bằng số phần tử a[i]
chia hết k
GV: Thực hiện lại chương trỡnh và yờu cầu
HS thực hiện trờn mỏy
HS: Thực hành trờn mỏy
Hoạt động 2: Làm bài tập 1 phần b
(15p)
GV: Sửa chương trỡnh cõu a để được
chương trỡnh giải quyết bài toỏn ở cõu b
- Chiếu lờn màn hỡnh cỏc lệnh cần thờm
vào chương trỡnh ở cõu a
HS: Quan sỏt và chỳ ý theo dừi cỏc cõu hỏi
của giỏo viờn
GV: Quan sỏt cỏc lệnh và suy nghĩ vị trớ
cần sửa trong chương trỡnh cõu a
GV: í nghĩa của biến Posi và neg?
- Hỏi: Chức năng của lệnh:
If a[i] >0 then posi:=posi+1
else if a[i] <0 then neg:=neg+1;
HS: Dựng để lưu số lượng đếm được
- Đếm số dương hoặc đếm số õm
GV: Yờu cầu học sinh thờm vào vị trớ cần
thiết để chương đếm được số
HD: Chỉ ra vị trớ cần thờm vào trong
chương trỡnh
- Lưu chương trỡnh Thực hiện chương
trỡnh và thụng bỏo kết quả
if a[i] mod k=0 then s:=s+a[i];
Write(‘tong can tinh la’,s);
readln;
End
b) Thờm vào chương trỡnh ở cõu a Posi, neg:integer;
Posi:=0;neg:=0;
If a[i] >0 then Posi:=posi+1 Else if a[i] <0 then neg:=neg+1;
Write(posi:4,neg:4);
để được chương trỡnh đếm số lượng cỏc số
õm và cỏc số dương
4 Tổng kết và hướng dẫn học tập ở nhà (05p)
- Tổng kết những lỗi học sinh mắc phải trong quỏ trỡnh thực hành và
cỏch khắc phục
- Yờu cầu học sinh về nhà đọc và chuẩn bị nội dung bài thực hành số 3
( Bài 2)