Giáo án hay kế hoạch bài dạy môn tin học lớp 11 bộ kết nối tri thức và cuộc sống, chân trời sáng tạo và cánh diều. Theo công văn 5512 có chọa lọc hayI. MỤC ĐÍCH YÊU CẦU Biết ngôn ngữ lập trình có ba thành phần cơ bản Biết một số khái niệm tên, tên dành riêng, tên chuẩn, hằng và biến HS nhớ qui định về cách đặt tên hằng, biến... Biết nhận biết tên đặt sai, đúng. II. PHƯƠNG PHÁP Diễn giảng kết hợp phát vấn III. PHƯƠNG TIỆN DẠY HỌC SGK, SGV, nếu có máy chiếu thì tốt IV. NỘI DUNG VÀ 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ũ Câu 1: Chức năng của chương trình dịch Câu 2: Sự giống và khác nhau giữa biên dịch và thông dịch
Trang 1BÀI TẬP
I MỤC ĐÍCH – YÊU CẦU
1 Kiến thức
Củng cố kiến thức đã học ở chương III: cấu trúc rẽ nhánh và cấu trúc lặp
2 Kĩ năng
Rèn luyện kĩ năng sử dụng cấu trúc rẽ nhánh trong việc lập trình giải bài toán cụ thể
3 Thái độ
Tự giác, tích cực, chủ động trong việc làm bài tập
II PHƯƠNG PHÁP
Nêu vấn đề giải quyết vấn đề
III PHƯƠNG TIỆN DẠY HỌC
Bảng phụ, giáo án…
IV NỘI DUNG VÀ 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ũ:
Câu 1: viết cấu trúc lặp trong pascal: dạng lặp tiến hoặc lặp lùi? Cho ví dụ?
Câu 2: hãy điền câu lệnh vào đoạn chương trình sau: Program Tong_2;
Uses crt;
Var A, N: integer;
………
Begin
Write((hay nhap gia trị a vào!’);
Readln(a);
S:=1/a; N:= 0;
While not(1/(a+N) < 0.0001) do
Begin
N:=N+ 1;
………
End;
Writeln(‘ Tong S la: ‘, S: 8: 3);
Readln
End.
3 Nội dung
Thảo luận và trình bày trên bảng
Yêu cầu HS thảo luận trong 3 phút lên bảng viết câu lệnh Bài 4: Viết câu lệnh rẽ nhánh tính
a) z= ¿ { x 2 + y 2 ¿ { x+y ¿¿¿¿
Tiết CT: 17
Ngày soạn: 25/10/2021
Ngày dạy: 1/11- 6/11/2021
nếu x 2 + y 2 ≤ 1 nếu x 2 + y 2 > 1 và y ≥ x nếu x 2 + y 2 > 1 và y < x
Trang 2HOẠT ĐỘNG CỦA HS HOẠT ĐỘNG CỦA GV
Điều kiện để M thuộc đường tròn
tâm O
OM ≤ R
Hay √ ( x−a)2+( y−b)2≤ R
Lên bảng trình bày
N sẽ có giá trị từ 1 đến 50
Cấu trúc lặp với số lần biểt trước For
− do
Viết chương trình
if (sqr(x) + sqr(y)) <= 1 then
z :=sqr(x) + sqr(y) else
if ((sqr(x) + sqr(y)) > 1) and (y>=x) then z := x+ y else z := 0.5;
b z= ¿ { | x|+|y| ¿¿¿¿
Yêu cầu HS lên biểu diễn trong Pascal
Hướng dẫn giải bài 5
? n có giá trị như thế nào?
? Vậy ta phải dùng cấu trúc lặp nào tốt nhất?
Tương tự như chương trình tính tổng VD1 Yêu cầu HS viết chương trình
if sqrt(sqr(x − a) +sqr(y − b))<= R then z:=abs(x) + abs(y) else
z := x + y;
Bài 5 Lập trình tính:
a) y=∑
n=1
50
n n+1
Program bai_5a;
Uses crt;
Var y : real;
n: byte;
Begin
clrscr;
y := 0; {khởi tạo giá trị của y}
for n:= 1 to 50 do
y:= y + n/(n+1);
Nếu điểm (x, y) thuộc hình tròn bán kính r (r > 0), tâm (a,b) Trường hợp còn lại
Trang 3HOẠT ĐỘNG CỦA HS HOẠT ĐỘNG CỦA GV
write('y= ', y:9:3);
readln
end
1!+
1
2!+ +
1
n!+ cho đến khi
1
n!<2×10
−6
đưa
ra giá trị ra màn hình
program bai_5b;
uses crt;
var n: longint;
e, gt: real;
begin
gt := 1/2; {khởi tạo gt}
n := 2;
e := 2 + gt;
while gt > 2*E−6 do begin
inc(n); {tăng n lên 1 đơn vị}
gt := gt*(1/n);
e := e + gt;
end;
write('gia tri e(n) la: ', e: 9:4);
readln
end.
Bài 6: lập trình giải bài toán cổ program btoan_co;
uses crt;
var cho, ga: byte;
begin for cho := 1 to 24 do begin
ga := 36 − cho;
if ga + 2*cho = 50 then
write('ga: ', ga, ' cho: ',cho);
end;
readln
end.
V CỦNG CỐ - DẶN DÒ
1 Củng cố:
Nhắc lại câu lệnh lặp với số lần biết trước và số lần chưa biết trước
Trang 4CHƯƠNG IV: KIỂU DỮ LIỆU CÓ CẤU TRÚC
§ 11 KIỂU MẢNG (Tiết 1)
I MỤC ĐÍCH – YÊU CẦU
1 Kiến thức
− Kiểu mảng là kiểu dữ liệu có cấu trúc, cần thiết và hữu ích trong chương trình
− Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu
− NNLT thông dụng cho phép mô tả kiểu dữ liệu mảng một chiều
− Để mô tả mảng một chiều cần khai báo kiểu các phần tử và cách đánh số các phần tử
− Có thể tham chiếu phần tử của mảng bằng tên của mảng và chỉ só tương ứng của phần tử này
2 Kĩ năng:
− Nhận biết các thành phần trong khai báo kiểu mảng một chiều
− Nhận biết định danh của phần tử kiểu mảng một chiều xuất hiện trong một chương trình
− Biết cách khai báo mảng đơn giản với chỉ sô kiểu miền con của kiểu nguyên
II PHƯƠNG PHÁP
Nêu vấn đề, diễn giảng
III PHƯƠNG TIỆN DẠY HỌC
Máy chiếu Projector
IV NỘI DUNG VÀ 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ũ: (nếu có)
3 Nội dung
Chú ý lắng nghe
cần dùng nhiều biến viết
nhiều câu lệnh if − then
Đứng dậy phát biểu
§ 11 KIỂU MẢNG
Chiếu đề bài và chương trình ví dụ
Giải thích: ta dùng 7 biến để lưu trữ nhiệt độ các ngày trong tuần
Và để xét nhiệt độ nào lớn hơn nhiệt độ trung bình ta dùng 7 câu
lệnh if − then
? Khi ta cần xét nhiệt độ cho cả năm thì sau?
Để khắc phục những hạn chế trên người ta thường ghép chung 7 biến trên thành một dãy và đặt cho nó chung một tên và đánh cho mỗi phần tử một chỉ số
? Thế nào là mảng một chiều?
Ví dụ: a1, a2, …, an
? Để mô tả mảng một chiều ta cần chú ý đến yếu tố nào?
Tiết CT: 18
Ngày soạn: 27/10/2021
Ngày dạy: 04/11–06/11/2021
Trang 5
HOẠT ĐỘNG CỦA HS NỘI DUNG
Kiểu phần tử và cách đánh
số các phần tử của nó
Dòng 3 và 4
Input: số nguyên N và dãy
N số nguyên a1, a2, …,aN
Output: chỉ số và giá trị lớn
nhất của dãy
thảo luận lên viết chương
1 Kiểu mảng một chiều
− Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu Mảng được đặt tên và mỗi phần tử của nó có một chỉ số
Hầu hết các NNLT đều có qui tắc cho phép xác định
− Tên kiểu mảng một chiều
− Số lượng phần tử
− Kiểu dữ liệu của phần tử
− Cách khai báo biến mảng
− Cách tham chiếu đến ptử
a Khai báo
− Khai báo trực tiếp:
Var <tên biến mảng>:array [kiểu chỉ số] of <kiểu phần tử>;
Ví dụ: var A : array[1 10] of integer;
− Khai báo gián tiếp
Type <tên kiểu mảng> = array [kiểu chỉ số] of <kiểu phần tử>;
var <tên biến mảng>:< tên kiểu mảng>;
ví dụ: type mang = array[1 10] of integer;
var A : mang;
trong đó:
− Kiểu chỉ số: thường là đoạn số nguyên liên tục
− Kiểu phần tử là kiểu của các phần tử mảng.
* Tham chiếu phần tử của mảng: thông qua tên mảng và chỉ số
Cú pháp: tên_mảng[chỉ số]
Ví dụ: A[2] {tham chiếu đến phần tử thứ hai của mảng A
Để tham chiếu đến phần tử thứ 10 của mảng ta viết nhietdo[10]
chỉ số phần
Mảng
Nhietdo 23 24 22 28
b Một số ví dụ
ví dụ 1: viết chương trình tìm và đưa ra màn hình phần tử lớn nhất của dãy dố nguyên
* Chương trình:
Program TimMax;
Uses crt;
Type Dayso = array[1 250] of integer;
Var N, i, Max, csMax: integer;
Trang 6HOẠT ĐỘNG CỦA HS NỘI DUNG
trình
Input: Số nguyên dương N,
và dãy A gồm N số nguyên
dương A1, A2, …,AN
Output: Dãy số A đã được
sắp xếp thành dãy không
giảm
A: Dayso;
Begin
Clrscr;
Write(‘nhap so phan tu: ‘); readln(N);
For i := 1 to N do Begin
Write(‘nhap phan tu thu ‘,i, ‘:’);
Readln(A[i]);
End;
Max:= A[1]; csMax := 1;
For i:= 2 to N do
If A[i] > Max then Begin
Max := A[i];
Csmax := i;
End;
Write(‘gia tri cua phan tu max: ‘,max);
Write(‘chi so cua phan tu Max: ‘, csmax);
Readln
End.
Ví dụ 2: Sắp xếp dãy số nguyên bằng thuật toán tráo đổi
Program sapxep;
Uses crt;
Type Dayso = array[1 250] of integer;
Var N,i, j,t: integer;
Begin Clrscr;
Write(‘nhap so phan tu day: ‘);
readln(N);
for i:=1 to N do begin
write(‘nhap vao phan tu thu ‘,i,’: ‘);
readln(A[i]);
end;
for j := N downto N do for i := 1 to j – 1 do
if A[i] > A[i + 1] then begin {trao doi A[i] va A[i + 1]}
t := A[i];
A[i]:= A[i + 1];
A[i + 1] := t;
end;
writeln(‘day so duoc sap xep la:’);
for i := 1 to N do write(A[i]:4);
Trang 7HOẠT ĐỘNG CỦA HS NỘI DUNG
Input: Số nguyên dương N,
và dãy A gồm N số nguyên
dương A1, A2, …, AN và số
nguyên k
Output: chỉ số i mà Ai = k
hoặc thông báo “không tìm
thấy số hạng nào bằng k
readln;
End
Ví dụ 3: tìm kiếm nhị phân Chương trình:
Program TK_nhiphan;
Uses crt;
Type Dayso = array[1 250] of integer; Var N, i, k: integer;
Dau, Cuoi, Giua: integer;
A: Dayso;
Tim_thay: boolean;
Begin clrscr;
write(‘nhap so phan tu cua day, N = ‘); readln(N);
writeln(‘nhap cac phan tu cua day so tang: ‘);
For i := 1 to N do begin
write(‘phan tu thu’,i,’ = ‘);
readln(A[i]);
end;
write(‘nhap gia tri k = ‘);
readln(k);
Dau:= 1; cuoi := N; Tim_thay:= false;
while (dau<=cuoi) and not (Tim_thay) do begin
Giua:= (Dau + Cuoi) div 2;
if A[Giua] = k then
Tim_thay := True
else if A[Giua] > k then
Cuoi := Giua − 1
else Dau:= Giua + 1;
end;
if Tim_thay then
writeln(‘chi so tim duoc la: ‘,Giua)
else write(‘khong tim thay’);
readln
end.
V CỦNG CỐ - DẶN DÒ
1 Củng cố:
Các cách khai báo mảng, tham chiếu đến phần tử của mảng