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

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ọn lọc hay

7 22 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giáo án hay kế hoạch bài dạy môn tin học lớp 11
Chuyên ngành Tin học
Thể loại Giáo án
Năm xuất bản 2021
Định dạng
Số trang 7
Dung lượng 39,81 KB

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

Nội dung

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 1

BÀ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 2

HOẠ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 3

HOẠ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 4

CHƯƠ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 6

HOẠ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 7

HOẠ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

Ngày đăng: 27/11/2023, 23:07

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w