Em thường nhìn thấy việc xếp hàng tập thể dục, xếp hàng để mua vé, xếp hàng vào lớp… Qua những quan sát xếp hàng như trên em thấy sắp xếp có lợi ích gì?. Tập thể dục Sắp xếp công việc là
Trang 1BÀI DỰ THI ỨNG DỤNG CÔNG NGHỆ
THÔNG TIN TRONG DẠY HỌC
SỞ GIÁO DỤC ĐÀO TẠO QUẢNG NAM PHÒNG GIÁO DỤC ĐÀO TẠO ĐIỆN BÀN TRƯỜNG TRUNG HỌC CƠ SỞ TRẦN PHÚ
Trang 2while < đi u ki n ều kiện ện
Trang 3a) X:= 10; while X:= 10 do X:= X + 5;
b) X:= 10; while X = 10 do X = X + 5;
c) S:= 0; n:=0; while S <= 10 do n:= n + 1; S:= S + n ;
Thừa dấu :
Trang 4Em thường nhìn thấy việc xếp hàng tập thể
dục, xếp hàng để mua vé, xếp hàng vào lớp…
Qua những quan sát xếp hàng như trên
em thấy sắp xếp có lợi ích gì?
Tập thể dục
Sắp xếp công việc làm cho mọi hoạt động diễn ra một cách có trật
tự và nhanh chóng…
Trang 5Trong lập trình nếu biết bố trí dữ liệu theo dãy thì việc
xử lí dữ liệu
trở nên:
Trang 6Những hạn chế:
Phải khai báo quá nhiều biến.
Chương trình tính toán phải viết khá dài
Write (Diem hs 1= ); Readln(diem_1);
Write (Diem hs 2= ); Readln(diem_2);
Write (Diem hs 3= ); Readln(diem_3);
Write (Diem hs 4= ); Readln(diem_4);
……
Write (Diem hs n= ); Readln(diem_n);
- Nhập và lưu điểm cho n học sinh?
Khai báo n biến như sau:
Var diem_1, diem_2, diem_3,
diem_4, , diem_n: real;
Khắc phục những hạn chế:
Ghép chung n biến trên thành một dãy
Đặt chung 1 tên và đặt cho mỗi phần tử một chỉ số
Var diem: array[1 50] of real;
.
……….
F or i:=1 to n do Begin
Trang 71 Dãy số và biến mảng
Trang 8LÀ GÌ?
- Biến mảng: là một biến được tạo từ nhiều biến có cùng
kiểu nhưng chỉ dưới một tên duy nhất.Biến mảng
Giá trị của biến mảng
- Giá trị của biến mảng: là một dãy số (số nguyên hoặc số
thực) có thứ tự, mỗi số là giá trị của biến thành phần
1 Dãy số và biến mảng
Trang 9Ví dụ về khai báo biến mảng
Cú pháp khai báo biến mảng như thế nào?
Lợi ích của việc sử dụng biến mảng?
BiẾN MẢNG
Các thao tác có thể sử dụng với biến mảng?
Trang 10a.Ví dụ về khai báo mảng:
Var Chieucao: array[1 50] of real;
Var Tuoi: array[21 80] of Integer;
Kiểu dữ liệu các phần tử
? Viết cú pháp khai báo mảng?
? ý nghĩa các thành phần có trong cú pháp?
6 phút
b Cú pháp và ý nghĩa các thành của khai báo mảng:
2 Ví dụ về biến mảng
Trang 1122 11 16
10 13
20 16
A
Khai báo biến mảng cần chỉ rõ:
Khi tham chiếu đến phần tử thứ i ta viết A [i]
Trang 12Var Diem1, Diem2, Diem3, , Diem40: Real;
Readln(Diem1); Readln(Diem2); ; Readln(Diem40);
Var Diem: array[1 40] of Real;
………
Khi sử dụng biến mảng thì nhập dữ liệu cho biến như thế
nào?
For i:= 1 to 40 do Readln(Diem[i]) ;
Ví dụ 2: Giả sử chúng ta cần nhập Điểm kiểm
tra môn tin học của 1 lớp gồm 40 học sinh theo
cách khai báo biến thông thường?
c Lợi ích của việc sử dụng biến mảng:
Rút gọn việc viết chương trình, có thể sử dụng câu lệnh lặp thay cho nhiều câu lệnh
Trang 13IF Diem1 >= 8 then writeln( ‘gioi ‘) ;
IF Diem2 >= 8 then writeln( ‘gioi’ ) ;
………
IF Diem40 >= 8 then writeln( ‘gioi’ ) ;
For i: =1 to 40 do IF Diem[i] >=8 then Writeln( ‘gioi’ ) ;
Sử dụng biến mảng rất hiệu quả trong việc xử lý dữ liệu: thực hiện các so sánh, tính toán…
Em hãy viết câu lệnh: Nếu điểm kiểm tra từ 8 trở lên thì in
ra màn hình là giỏi bằng cách khai báo biến thông thường ?
For i:= 1 to 40 do Readln(Diem[i]) ;
c Lợi ích của việc sử dụng biến mảng:
Rút gọn việc viết chương trình, có thể sử dụng
câu lệnh lặp thay cho nhiều câu lệnh
Trang 14d Các thao tác có thể sử dụng với biến mảng:
16 10
13 20
Gán giá trị cho biến:
Trang 15 Nhập giá trị cho biến mảng:
d Các thao tác có thể sử dụng với biến mảng:
A[6] := 9
Gán giá trị cho biến mảng:
Trang 16Viết chương trình nhập điểm kiểm tra của 3 môn toán, lý, văn sau đó tính điểm trung bình của 3 môn
40
…
…
… 4
3 2
8 7
6 8
7 6
Đọc và tính toán với giá trị của biến mảng:
Nhập giá trị cho biến mảng:
d Các thao tác có thể sử dụng với biến mảng:
Gán giá trị cho biến mảng:
For i:=1 to 7 do Readln(a[i]);
A[6] := 9
Trang 17Nhập và tính tổng tiền lương hàng tháng, hàng năm cho nhân viên của công ty
Nhập và tính điểm trung bình các môn học của một lớp học
Trang 18của bài toán?
Bài toán: Viết chương trình nhập N số nguyên từ bàn phím và in ra màn hình số nhỏ nhất và số lớn nhất.
Hãy nêu ý tưởng tìm số lớn nhất của dãy số?
Trang 19Ta gán Max = a1
Lần lượt cho i chạy từ 2 đến n rồi so sánh với Max Nếu Max > a[i] thì max nhận giá trị mới là ai
* Ý tưởng tìm max của dãy số:
* Thuật toán tìm giá trị lớn nhất của dãy số
Bước 1: Nhập N và dãy a 1 , a 2 , …, a n .
Bước 2: Max ← a 1 , i ← 2.
Bước 3: Nếu i > N thì đưa ra giá trị Max rồi kết thúc.
Bước 4: Nếu a i > Max thì Max ← a i
Bước 5: i ← i + 1 Quay lại bước 3
Trang 20a Ví dụ minh hoạ trên thực tế
Nêu các bước tìm ra con thỏ lớn nhất trong 4 con thỏ?
Trang 21Cho dãy số như hình vẽ dưới đây, hãy thực hiện các bước của thuật toán để tìm ra số lớn nhất của dãy số?
Max Ai>max
i>n
i
9 15
7 3
5
3
S Đ
Trang 22Writeln( ‘Nhap gia tri a[‘ ,i, ’]=‘); Readln(a[i]);
End;
Writeln('gia tri max cua mang=’, max);
Max:=a[1];
For i:=2 to n do
If max<a[i] then max:=a[i];
Đoạn chương trình tìm giá trị lớn nhất của dãy số vừa nhập
Readln begin
Trang 23Học sinh thảo luận theo nhóm
(2 bàn 1 nhóm) -Thời gian thảo luận trong 6 phút
-Các nhóm thảo luận và viết kết quả
vào phiếu học tập sau đó đại diện
nhóm trình bày.
Trang 24Nhóm 1: C ho dãy số như hình vẽ dưới đây, hãy
thực hiện các bước của thuật toán để tìm ra số nhỏ nhất của dãy số
Min Ai<min
i>n i
21 -3
8 12
6
Dãy số
Nhóm 3: H
ãy minh hoạ các bước để giải bài toán tìm ra số nhỏ nh
ất của dãy số bằng sơ đồ tư duy?
MIN=-3
-3
-3 6
6 6
S Đ
S S
Ai<min
Đ
S S
S S
i>n
6 5
4 3
2
1
I
21 -3
8 12
Trang 25Writeln( ‘Nhap gia tri a[‘ ,i, ‘]=‘); Readln(a[i]);
End;
Writeln(‘gia tri min cua mang:’, min);
Min:=a[1];
For i:=2 to n do
If min>a[i] then min:=a[i];
Đoạn chương trình tìm giá trị nhỏ nhất của dãy số vừa nhập
Readln begin
Trang 26Xem đoạn chương trình SGK/78 Xem minh hoạ
Trang 27Bài tập 2:
Bài tập 1:
Bài tập 3: