Bài 11 kiểu mảng (tiết 2)
Chia sẻ bởi Mai Hoàng Khương |
Ngày 25/04/2019 |
51
Chia sẻ tài liệu: Bài 11 kiểu mảng (tiết 2) thuộc Tin học 11
Nội dung tài liệu:
CHƯƠNG IV: KIỂU DỮ LIỆU CÓ CẤU TRÚC
KIỂU MẢNG (Tiết 2)
Mục tiêu:
Kiến thức: Khai báo kiểu, biến mảng một chiều, cách tham chiếu dến các p/tử trong mảng.
Kỹ năng: Học sinh sử dụng được biến kiểu mảng một chiều để giải quyết một bài toán đơn giản.
Thái độ: Tự giác, tích cực, chủ động và sáng tạo trong tìm kiếm tri thức.
Chuẩn bị của GV và HS:
Giáo viên: Giáo án, Bảng phụ, Máy chiếu, Sách giáo khoa.
Học sinh: Sách giáo khoa.
Nội dung:
Ổn định lớp:
Kiểm tra sỉ số:
Kiểm tra bài cũ: Cho biết mấy cách khai báo mảng một chiều? Ghi ra?
→ Hai cách:
Cách 1: khai báo trược tiếp
Var:=array[kiểu chỉ số] of ;
Cách 2: khai báo gián tiếp
Type=array[kiể chỉ số] of;
Var:;
Bài giảng:
Hoạt động giáo viên
Hoạt động học sinh
Nội dung
Thời gian
Hoạt động 2: (26 phút)Vận dụng kiểu mảng một chiều
- Đưa ra ví dụ .
- Yêu cầu hs xác định In/Output của bài toán
- Ở lớp 10 ta đã xây dựng thuật toán cho bài toán này rồi. Yêu cầu hs nhắc lại thuật toán.
- Yêu cầu hs cho biết các việc chính cần thực hiện trong chương trình là gì?
- Yêu cầu hs cho biết các biến chính cần sử dụng là gì?
- Yêu cầu hs khác lên viết phần khai báo các biến đó?
- Yêu cầu hs lên viết phần chương trình tạo giá trị cho các phần tử của mảng A. (lưu ý nhập số lượng phần tử của mảng trước)
- Gọi hs khác nhận xét
- Chỉnh sửa đoạn chương trình hs vừa hoàn thành.
- Để viết tiếp đoạn chương trình còn lại (tìm Max) theo thuật toán ta phải kiểm tra lần lượt tất cả các phần tử của mảng từ A[1] đến A[n]. vậy ta sử dụng câu lệnh gì ở đây?
- Trước khi tìm max, ngoài mảng A trong chương trình cần có thêm gì không?
- Yêu cầu hs khác lên viết đoạn chtrình còn lại?
- Chỉnh sửa và hoàn thành chương trình.
- Input: Số nguyên dương N và dãy số A1, A2, ….., AN
- Output : Chỉ số và giá trị của số lớn nhất trong dãy
- B1: Nhập N và dãy A1,….AN;
- B2: Max ← A1, i←2;
- B3: Nếu i>N thì đưa ra giá trị Max rồi kết thúc;
- B4:
- B4.1: Nếu Ai > Max thì Max ← Ai;
- B4.2: i ←i+1 rồi quay lại bước 3;
- Cho biết số ptử của mảng A.
- Nhập giá trị cho các ptử của mảng A.
- Xuất ra giá trị Max là phần tử thứ mấy.
- Mảng A
- Các biến đơn: N, i, Max, csmax
var a : array[1..250] of integer ;
n,i,max,csmax : Integer ;
Write(`Nhap n = `);
Readln(n) ;
For i := 1 to n do
Begin
Write(`a[`,i,`] = `) ;
readln(a[i]);
End ;
- Sử dụng cấu trúc lặp For.
- max := a[i];
- csmax := 1;
max := a[i];
csmax := 1;
For i := 2 to n do
If a[i] > max then
Begin
max := a[i];
csmax :=i;
End;
Writeln(`Gia tri lon nhat : `,max);
Writeln(`chi so ptu lon nhat : `,csmax);
Ví dụ 1 : Tìm phần tử lớn nhất của một dãy số nguyên.
Chương trình như sau :
Program timmax ;
Uses crt ;
var a : array[1..250] of integer;
n,i,max,csmax : Integer;
Begin
clrscr ;
Write(`Nhap n = `);
Readln(n);
For i := 1 to n do
Begin
KIỂU MẢNG (Tiết 2)
Mục tiêu:
Kiến thức: Khai báo kiểu, biến mảng một chiều, cách tham chiếu dến các p/tử trong mảng.
Kỹ năng: Học sinh sử dụng được biến kiểu mảng một chiều để giải quyết một bài toán đơn giản.
Thái độ: Tự giác, tích cực, chủ động và sáng tạo trong tìm kiếm tri thức.
Chuẩn bị của GV và HS:
Giáo viên: Giáo án, Bảng phụ, Máy chiếu, Sách giáo khoa.
Học sinh: Sách giáo khoa.
Nội dung:
Ổn định lớp:
Kiểm tra sỉ số:
Kiểm tra bài cũ: Cho biết mấy cách khai báo mảng một chiều? Ghi ra?
→ Hai cách:
Cách 1: khai báo trược tiếp
Var
Cách 2: khai báo gián tiếp
Type
Var
Bài giảng:
Hoạt động giáo viên
Hoạt động học sinh
Nội dung
Thời gian
Hoạt động 2: (26 phút)Vận dụng kiểu mảng một chiều
- Đưa ra ví dụ .
- Yêu cầu hs xác định In/Output của bài toán
- Ở lớp 10 ta đã xây dựng thuật toán cho bài toán này rồi. Yêu cầu hs nhắc lại thuật toán.
- Yêu cầu hs cho biết các việc chính cần thực hiện trong chương trình là gì?
- Yêu cầu hs cho biết các biến chính cần sử dụng là gì?
- Yêu cầu hs khác lên viết phần khai báo các biến đó?
- Yêu cầu hs lên viết phần chương trình tạo giá trị cho các phần tử của mảng A. (lưu ý nhập số lượng phần tử của mảng trước)
- Gọi hs khác nhận xét
- Chỉnh sửa đoạn chương trình hs vừa hoàn thành.
- Để viết tiếp đoạn chương trình còn lại (tìm Max) theo thuật toán ta phải kiểm tra lần lượt tất cả các phần tử của mảng từ A[1] đến A[n]. vậy ta sử dụng câu lệnh gì ở đây?
- Trước khi tìm max, ngoài mảng A trong chương trình cần có thêm gì không?
- Yêu cầu hs khác lên viết đoạn chtrình còn lại?
- Chỉnh sửa và hoàn thành chương trình.
- Input: Số nguyên dương N và dãy số A1, A2, ….., AN
- Output : Chỉ số và giá trị của số lớn nhất trong dãy
- B1: Nhập N và dãy A1,….AN;
- B2: Max ← A1, i←2;
- B3: Nếu i>N thì đưa ra giá trị Max rồi kết thúc;
- B4:
- B4.1: Nếu Ai > Max thì Max ← Ai;
- B4.2: i ←i+1 rồi quay lại bước 3;
- Cho biết số ptử của mảng A.
- Nhập giá trị cho các ptử của mảng A.
- Xuất ra giá trị Max là phần tử thứ mấy.
- Mảng A
- Các biến đơn: N, i, Max, csmax
var a : array[1..250] of integer ;
n,i,max,csmax : Integer ;
Write(`Nhap n = `);
Readln(n) ;
For i := 1 to n do
Begin
Write(`a[`,i,`] = `) ;
readln(a[i]);
End ;
- Sử dụng cấu trúc lặp For.
- max := a[i];
- csmax := 1;
max := a[i];
csmax := 1;
For i := 2 to n do
If a[i] > max then
Begin
max := a[i];
csmax :=i;
End;
Writeln(`Gia tri lon nhat : `,max);
Writeln(`chi so ptu lon nhat : `,csmax);
Ví dụ 1 : Tìm phần tử lớn nhất của một dãy số nguyên.
Chương trình như sau :
Program timmax ;
Uses crt ;
var a : array[1..250] of integer;
n,i,max,csmax : Integer;
Begin
clrscr ;
Write(`Nhap n = `);
Readln(n);
For i := 1 to n do
Begin
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Mai Hoàng Khương
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)