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

BÀI SOẠN TIN HỌC 11 HỌC KỲ 2 CÔNG VĂN 4040

100 34 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 100
Dung lượng 1,35 MB
File đính kèm GA 11 _HK2.rar (641 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 viên kết luận về hoạt động của học sinh và vào bài mới.. - Giáo viên kết luận về hoạt động của học sinh và vào bài mới.. - Giáo viên kết luận về hoạt động của học sinh và vào bài

Trang 1

Ngày dạy: / /2020 tại lớp 11B6 Ngày dạy: / /2020 tại lớp 11B7 Ngày dạy: / /2020 tại lớp 11B8 Ngày dạy: / /2020 tại lớp 11B9

PPCT: 19

BÀI TẬP THỰC HÀNH 2

I MỤC TIÊU

1 Kiến thức:

- Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh

- Làm quen với việc hiệu chỉnh chương trình

II CHUẨN BỊ CỦA GV VÀ HS.

1 Chuẩn bị của GV: - Giáo án, phấn, bảng, phòng thực hành

2 Chuẩn bị của HS: - Sách giáo khoa, vở ghi

III HOẠT ĐỘNG DẠY HỌC

- Hướng dẫn về viết cấu trúc lặp trong Pascal

- Giáo viên kết luận về hoạt động của học sinh và vào bài mới

2 Bài mới:

HĐ1.(40')Giáo viên nêu nội dung các

bài tập có sử dụng cấu trúc rẽ nhánh

GV: Nêu yêu cầu của bài:

Bài toán: Cho bộ ba số nguyên a, b, c

được gọi là bộ số Pi-ta-go nếu tổng các

bình phương của hai số bằng bình

phương của số còn lại Viết chương

trình nhập từ bàn phím ba số nguyên a,

b, c và kiểm tra xem chúng xem chúng

có là bộ số Pi-ta-go không?

I NỘI DUNG:

Bài toán: Bộ số Pitago

a) Gõ chương trình kiểm tra bộ số ta-go

Pi-Program Pi_ta_go;

Var a, b, c :Integer;

a2, b2, c2: Longint;

Begin Write(‘ a, b, c ‘); Readln(a, b, c); a2:=a; b2:=b; c2:=c;

Trang 2

có xảy ra hay không:

a2 = b2 + c2

b2 = a2 + c2

c2 = a2 + b2

GV: Hướng dẫn học sinh thực hiện

nhập chương trình, lưư chương trình

với tên là PITAGO và thực hiện với các

bộ số trong sách giáo khoa

Writeln(‘ Day la bo so Pi-ta-go’) Else Writeln(‘ Day khong phai bo so Pi-ta-go’);

Readln End

b) Lưu chương trình với tên Pitago lên đĩa

Muốn lưu tên chương trình được thì saukhi gõ xong chương trình ta nhấn phím F2 hoặc chọn vào File-> Saves hiển thị hộp thoại ta gõ tên chương trình

là:Pitago rồi chọn OK

Trang 3

Ngày dạy: / /2020 tại lớp 11B6 Ngày dạy: / /2020 tại lớp 11B7 Ngày dạy: / /2020 tại lớp 11B8 Ngày dạy: / /2020 tại lớp 11B9

PPCT: 20

BÀI TẬP THỰC HÀNH 2 <Tiếp>

I MỤC TIÊU

1 Kiến thức:

- Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh

- Làm quen với việc hiệu chỉnh chương trình

II CHUẨN BỊ CỦA GV VÀ HS.

1 Chuẩn bị của GV: - Giáo án, phấn, bảng, phòng thực hành

2 Chuẩn bị của HS: - Sách giáo khoa, vở ghi

III HOẠT ĐỘNG DẠY HỌC

- Hướng dẫn về viết cấu trúc lặp trong Pascal

- Giáo viên kết luận về hoạt động của học sinh và vào bài mới

2 Bài mới:

HĐ2 (40') Giáo viên nêu nội dung bài

tập có sử dụng cấu trúc rẽ nhánh

GV: Yêu cầu hs làm bài tập 4a SGK-51

GV:Giáo viên hướng dẫn học sinh nhập

chương trình

HS: Làm theo hướng dẫn của GV

GV:Với bài này có sử dụng các lệnh rẽ

nhánh dạng thiếu được không?

2 Thực hiện các bài tập trong sách giáokhoa

a) bài tập 4a:

Program baitap4a;

Var x, y :Integer; z: Real;

Begin Write(‘ Nhap vao so x: ’);

Readln(x);

Write(‘ Nhap vao so y: ’);

Readln(y);

Trang 4

HS: Trả lời ta không sử dụng được

GV: Nêu đầu bài SGK trang 51

HS: Theo dõi và đọc yêu cầu của bài

tập

GV: Gọi mộ hs trả lời với bài tập này

cần khai báo những biến gì ?

thì bài toán thực hiện như thế nào?

HS: Trả lời câu hỏi

GV:Ta có cần một biến trung gian để

tính các giai thừa của bài toán?

HS: Quan sát chương trình đã viết và

trả lời

If (x*x+y*y) <=1 then z:=

x*x+y*y Else

If y>=x then z:=x+y Else z:=0.5;

Writeln(‘Gia tri cua z la: ’,z:8:2); Readln;

For n:=1 to 50 do S:=S+n/(n+1);

Writeln(‘Tong day so la: S= ’,S:8:2); Readln;

While (1/tg>0.000002) do Begin

N:=n+1;

Tg:=tg*n S:=S+1/tg;

Trang 5

Ngày dạy: / /2020 tại lớp 11B7 Ngày dạy: / /2020 tại lớp 11B8 Ngày dạy: / /2020 tại lớp 11B9PPCT: 21

Chương IV: DỮ LIỆU CÓ CẤU TRÚC

Bài 11: KIỂU MẢNG

I MỤC TIÊU

1 Kiến thức:

- Hiểu khái niệm mảng một chiều

- Hiểu cách khai báo và truy cập đến phần tử của mảng một chiều

II CHUẨN BỊ CỦA GV VÀ HS.

1 Chuẩn bị của GV: - Giáo án, phấn, bảng, phòng thực hành

2 Chuẩn bị của HS: - Sách giáo khoa, vở ghi

III HOẠT ĐỘNG DẠY HỌC

- Hướng dẫn viết về cấu trúc mảng trong Pascal

- Giáo viên kết luận về hoạt động của học sinh và vào bài mới

2 Bài mới:

HĐ1: Học sinh hiểu khái niệm

Bài toán đặt vấn đề: Xét bài toán nhập vào nhiệt

độ (trung bình) của mỗi ngày trong tuần, tính và đưa ra màn hình nhiệt độ trung bình của tuần

và số lượng ngày trong tuần có nhiệt độ cao hơn nhiệt độ trung bình của tuần.

*) Xác định bài toán

Dữ liệu đã biết(Input): t1,t2,t3,t4,t5,t6,t7

Dữ liệu cần tính và in ra(Output) : tb, dem

Trang 6

trung b×nh cña N ngµy trong

+) Khai báo gián tiếp

TYPE nhietdo = array[1 365]

of integer;

Var A: nhietdo;

- Vậy quay trở lại với bài toán

tính nhiệt độ trên Khi cần tính

nhiệt độ của N ngày chúng ta

- Để có thể lập trình và sử dụng kiểu mảng mộtchiều các ngôn ngữ lập trình có quy tắc và cáchthức cho phép xác định

+ Tên kiểu mảng một chiều;

+ Số lượng các phần tử;

+ Kiểu dữ liệu của phần tử;

+ Cách khai báo biến mảng mảng;

+ Cách tham chiếu đến phần tử;

a) Khai báoCách khai báo mảng một chiều có dạng:

- Cách 1: Khai báo trực tiếp biến mảng một

chiềuVar <tên biến mảng>:array[kiểu chỉ số] of <kiểu phần tử>;

- Cách 2: Khai báo gián tiếp biến mảng qua mảng

- Kiểu phần tử là kiểu của các phần tử mảng

*) Tham chiếu tới phần tử của mảng một chiềuđược xác định bởi tên mảng cùng với chỉ số, được

Trang 7

- Chiếu chương trình và giải

viết trong cặp ngoặc [và]

VD: Tham chiếu tới phần tử thứ 3 của mảng A taviết A[3]

Chương trình giải bài toán tổng quát với N ngày được viết như sau:

3 Củng cố, luyện tập (3’)

+) Củng cố

- Nhắc nhở lại kiến thức cơ bản của bài học về khai báo mảng một chiều +) Luyện tập

Câu 1: Cách khai báo mảng 1 chiều nào sau đây là đúng?

A Var <tên biến mảng>:array[kiểu chỉ số] of <kiểu phần tử>;

B Var <kiểu mảng>:array[kiểu chỉ số] of <kiểu phần tử>;

C Var <tên chỉ số>:array[kiểu chỉ số] of <kiểu phần tử>;

D Var <tên biến mảng>=array[kiểu chỉ số] of <kiểu phần tử>;

Câu 2: Cách khai báo nào sau đây là đúng?

A Var A: Array[1 100] of Integer:

B Var A: Array[1 100] of Integer;

C Var A: Array[1 100] of Integer:

D Var A=Array[1 100] of Integer:

Câu 3: Cho mảng A gồm những phần tử sau cách tham chiếu nào sau đây

Trang 8

Lớp Ngày dạy Sĩ số Học sinh vắng

II CHUẨN BỊ CỦA GV VÀ HS.

1 Chuẩn bị của GV: - Giáo án, phấn, bảng, phòng thực hành

2 Chuẩn bị của HS: - Sách giáo khoa, vở ghi

III HOẠT ĐỘNG DẠY HỌC

- Hướng dẫn viết về cấu trúc mảng trong Pascal

- Giáo viên kết luận về hoạt động của học sinh và vào bài mới

Bước 1: GV Chiếu thuật toán tìm giá

trị lớn nhất của dãy số nguyên lên máy

chiếu và giải thích

Ví dụ 1: Tìm phần tử lớn nhất của

dãy số nguyên

Ta có thuật toán tim giá trị lớn nhất của

dãy số nguyên như sau:

b) Một số ví dụ

Ví dụ 1:

Input: Số nguyên dương N(N<=250) và dãy N số nguyên dương A1,A2…,An, mỗi số đều không vượt quá 500.

Output: Chỉ số và giá trị của phần tử lớn nhất trong dãy số đã cho.

Trang 9

Bước 1: Nhập giá trị 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:

Bước 4.1: Nếu A i >Max thì Max ← A i ;

Bước 4.2: i ← i+1 rồi quay lại bước 3;

- Lấy ví dụ cụ thể 1 dãy số và thực hiện

VD: N=3, a1=13; a2= 15; a3=11

- Hướng dẫn học sinh viết chương trình

cụ thể và giải thích ý nghĩa các câu

lệnh

Bước 2: HS chú ý\

Bước 3: GV chuẩn lại kiến thưc

Chương trình dưới đâythực hiện việcduyệt tuần tự các phần tử trong dãy để tìm

Write(‘Phan tu thu ’,i,’ = ‘);

Trang 10

Nhóm 3,4 viết đoạn chương trình tìm

giá trị nhỏ nhất và viết kết quả ra màn

hình

- Cách nhập phần tử trong mảng làm

tương tự như tìm phần tử lớn nhất

- Ta giả sử số lớn nhất trong dãy là số

đầu tiên, lần lượt so sánh số đó với các

số tiếp theo, nếu Ai < Min thì Min gán

bằng Ai

-Quá trình kiểm tra khi kết thúc dãy số

Bước 2: HS các nhóm thực hiện theo

- Cách khai báo mảng 1 chiều

- Cách tham chiếu tới phần tử mảng

- Cách duyệt phần tử mảng

4 Vận dụng mở rộng(2')

*) Bài tập: Nhập vào dãy số, đếm các số chăn, số lẻ

Gợi ý: - Các thao tác khai báo giống các bài tập đã chữa

- Đếm tra và tính tổng số chẵn: Duyệt từ đầu dãy đến cuối dãy,nếu là số chắn thì tăng biến đếm

Trang 11

Lớp Ngày dạy Sĩ số Học sinh vắng

Sách giáo khoa, vở ghi

III HOẠT ĐỘNG DẠY HỌC

- Hướng dẫn viết về cấu trúc mảng trong Pascal

- Giáo viên kết luận về hoạt động của học sinh và vào bài mới

2 Bài mới:

HĐ1: HS áp dụng khai báo mảng

một chiều thực hiện viết chương

trình các bài toán

Hình thức: Cả lớp

Thời gian: 30’

Bước 1: GV nêu yêu cầu của bài toán

- Input: Số nguyên dương N và dãy số

nguyên dương y A1, A2,…, AN

- Output: Dãy số được sắp xếp không

Trang 12

Bước 1: GV hướng dẫn học sinh cách

sắp xếp dãy theo chiều giảm đần

- Cách nhập phần tử trong mảng làm

tương tự như tìm phần tử lớn nhất

- Ta so sánh lần lượt các cặp số liền kề

trong dãy, nếu số sau lớn hơn số trước

ta đổi chỗ chúng cho nhau

Quá trình đổi chỗ khi không còn cặp số

nào cần đổi chỗ

Bước 2: HS thực hiện theo hướng dẫn

Bước 3: GV chuẩn lại kiến thức

Write(‘Nhap so luong phan tu cua day N= ‘); Readln(N);

For i:=1 to N do Begin

Write(‘Phan tu thu ‘,i,’ = ‘);

Readln(A[i]);

End;

For j:=N dowto 2 do For i:=1 to j-1 do

If A[i]>A[i+1] Then Begin

If A[i]<A[i+1] Then Begin

Câu 1: Với bài tập thực hành trên cách khai báo nào sau đây đúng

A Var A:Array[ 1 250] of Integer

B Var A:Array[ 1 250] of Integer;

C Var A:Array[ 1 250] of Integer

D Var A:Array[ 1 250] of Integer;

Câu 2: Đoạn chương trình sau dùng để làm gì?

Trang 14

Lớp Ngày dạy Sĩ số Học sinh vắng

Sách giáo khoa, vở ghi

III HOẠT ĐỘNG DẠY HỌC

- Hướng dẫn viết về cấu trúc mảng trong Pascal

- Giáo viên kết luận về hoạt động của học sinh và vào bài mới

2 Bài mới:

HĐ1: HS biết cách cài đặt bài toán về

Trang 15

Bước 1: GV hướng dẫn học sinh kiểm

tra số lẻ, số chẵn sau đó cộng và biến

đếm

Bước 2: Học sinh thực hiện cài đặt

Write('Nhap so phan tu cua mang: ');Readln(n);

For i:=1 to n do Begin

Writeln('Tong cac so duong trong mang:',s2:3);

{Tong so am}

s3:=0;

For i:=1 to n do

If A[i]<0 then s3:=s3+A[i];

Writeln('Tong cac so am mang: ',s3:3); Readln;

d1:=0; d2:=0;

For i:=1 to n do

Trang 16

chương trình thuật toán theo sự hướng

dẫn

Bước 3: GV chuẩn lại kiến thức

If (A[i] mod 2 <> 0) then d1:= d1+1

Else d2:=d2+1;

- Sau đó viết giá trị d1 và d2 ra màn hình

3 Củng cố, luyện tập(4’)

- Nhắc nhở lại kiến thức cơ bản của bài học về cách sử dụng mảng mộtchiều trong chương trình thể hiện thuật toán cơ bản tìm kiếm và sắp xếpLuyện tập:

Cho các đoạn chương trình sau: Đoạn nào kiểm tra đếm số lẻ, số chẵn, sốdương, số âm?

For i:=1 to n do

If A[i]>0 then d:=d+1;

- Đoạn chương trình trên kiểm tra số dương

For i:=1 to n do

If A[i] mod 2 =0 then d:=d+1;

- Đoạn chương trình trên kiểm tra số chẵn

For i:=1 to n do

If A[i] mod 2 <> 0 then d:=d+1;

- Đoạn chương trình trên kiểm tra số lẻ

Trang 17

Lớp Ngày dạy Sĩ số Học sinh vắng

- Hiểu khái niệm mảng một chiều

- Hiểu cách khai báo và truy cập đến phần tử của mảng

Sách giáo khoa, vở ghi

III HOẠT ĐỘNG DẠY HỌC

- Hướng dẫn viết về cấu trúc mảng trong Pascal

- Giáo viên kết luận về hoạt động của học sinh và vào bài mới

2 Bài mới:

HĐ1: HS hiểu chương trình tạo

mảng và tính tổng các phần tử là bội

của k

Hình thức: Làm theo nhóm

Thời gian: 10

Bước 1: Đưa ra yêu cầu của bài

- Với đầu bài toán cho điều kiện

(n<=100) có ý nghĩa gì

Bài 1: Tạo mảng A gồm n số ( n<=100 )

số nguyên, Tính tổng các phần tử là bội của số nguyên k

a) Hãy tìm hiểu và chạy thử chương trình sau dây?

program tinhtong;

Uses Crt;

var a:array [1 100]of integer;

Trang 18

- Nhập dữ liệu cho từng phần tử của

mảng như thế nào

Lệnh S:=S+A[i]; dùng để làm gì

Bước 2: Học sinh trả lời và dựa vào đó

cài đặt thuật toán

Bước 3: GV chuẩn lại kiến thức

HĐ2: HS hiểu bài toán và đưa các

lệnh cần thiết vào chương trình

Hình thức: Làm theo nhóm

Thời gian: 20’

Bước 1: GV đưa ra yêu cầu của bài

- Dựa vào yêu cầu của bài hs hãy đưa

các câu lệnh sau vào đúng vị trí nhằm

sửa đổi chương trình

- Nhập dữ liệu cho từng phần tử của

writeln('nhan N'); readln(N);

for i:=1 to n dobegin

writeln('nhap vao phan tu thu',i,'=');readln(a[i]);

if a[i] mod k =0 then s:=s+a[i];

Writeln('tong can tinh la',s);

readln end

b)Hãy đưa những câu lệnh sau đây vào những vị trí cần thiết….

writeln('nhan N'); readln(N);

for i:=1 to n dobegin

writeln('nhap vao phan tu thu',i,'=');readln(a[i]);

end;

soam:=0; soduong:=0;

for i:=1 to n do Begin

if a[i]>0 then soduong:=soduong+1 else

if a[i]<0 then soam:=soam+1;

End;

writeln('so am la',soam);

writeln('sodungla',soduong);

readln end

3 Củng cố, luyện tập(3’)

Trang 19

- Nhắc nhở lại kiến thức cơ bản của bài học về khai báo mảng một chiều,mảng hai chiều và cách tham chiếu đến các phần tử của mảng một chiều Luyện tập:

Từ ý a của bài 1 hãy viết lại cách khai báo mảng một chiều theo cách khaibáo trực tiếp?

4 Vận dụng mở rộng (2’)

- Về nhà học bài và làm bài tập ở nhà

- Xem tiếp bài tập còn lại

Trang 20

Sách giáo khoa, vở ghi

III HOẠT ĐỘNG DẠY HỌC

- Hướng dẫn viết về cấu trúc mảng trong Pascal

- Giáo viên kết luận về hoạt động của học sinh và vào bài mới

2 Bài mới:

HĐ1: Giáo viên nêu yêu cầu của bài

- Tìm hiểu chương trình và chỉnh sửa

chương trình trên để đưa ra chỉ số của

phần tử có cùng giá trị lớn nhất

Bài 2: Viết chương trình tìm phần tử có giá trị lớn nhất của mảng và đưa ra màn hình chỉ số và giá trị tìm được Nếu có nhiều phần tử có cùng giá trị lớn nhất thì đưa ra phần tử có chỉ số nhỏ nhất? a) Hãy tìm hiểu chương trình sau đây?

Program MaxEliment;

Const Nmax =100;

Type MyArray=array[1 Nmax] of Integer;

Var A:MyArray;

Trang 21

Bước 2: HS thực hiện theo hướng dẫn

Bước 3: GV chuẩn lại kiến thức

HĐ2: GV yêu cầu hs chỉnh sửa

chương trình để tìm giá trị lớn nhất

Hình thức: Làm bài theo nhóm

Thời gian: 20’

Bước 1: GV đưa ra yêu cầu:

- Bài tập này cần khai báo những biến

Write(‘Phan tu thu ,’i,’=’); Readln(A[i]);

End;

J:=1;

For i:=2 to n do

If A[i]>A[j] then j:=I;

Write(‘chi so:’,j.’Gia tri:’,A[j]:4);Readln

End.

b) Chỉnh sửa chương trình trên để đưa

ra chỉ số của phần tử có cùng giá trị lớn nhất?

Program TimMax;

Var A: Array[1 100] of Integer;

Csmax, n, i, Max: Integer;

Trang 22

Luyện tập:Cho mảng A gồm N phần tử Hãy khai báo mảng A theo cách trựctiếp và gián tiếp?

4 Vận dụng mở rộng: (2’)

- Về nhà học bài và làm bài tập ở nhà

- Đọc trước bài thực hành 4

Trang 23

Lớp Ngày dạy Sĩ số Học sinh vắng

- Hiểu khái niệm mảng một chiều

- Hiểu cách khai báo và truy cập đến phần tử của mảng

II CHUẨN BỊ CỦA GV VÀ HS:

1 Chuẩn bị của GV: Giáo án, phấn, bảng, phòng thực hành

2 Chuẩn bị của HS: Sách giáo khoa, vở ghi

III HOẠT ĐỘNG DẠY HỌC

- Hướng dẫn viết về cấu trúc mảng trong Pascal

- Giáo viên kết luận về hoạt động của học sinh và vào bài mới

2 Bài mới:

HĐ1: HS tìm hiểu bài toán: Tạo

mảng, săp xếp mảng theo chiều tăng

dần

Hình thức: Làm theo nhóm

Thời gian: 20’

Bước 1: GV đưa ra yêu cầu

- Cần khái báo những biến nào

Trang 24

- Cách tráo đổi các phần tử trong mảng

một chiều

- Cách viết giá trị các phần tử của

mảng một chiều

Bước 2: HS trả lời và thực hiện

Bước 3: GV chuẩn lại kiến thức

HĐ2: HS tìm hiểu cách đếm số lần

thực hiện tráo đổi trong trương trình

Hình thức: Làm bài theo nhóm

Thời gian: 20’

Bước 1: GV đưa ra yêu cầu

- Ta sử dụng biến đếm để làm gì?

- Lệnh nhập vào mảng một chiều?

Bước 2: HS trả lời và thực hiện

Bước 3: GV chuẩn lại kiến thức

Write(‘A[‘,i,’]= ‘);Readln(A[i]);

End;

For i:=1 to n do For j:=i+1 to n do

If A[i] >A[j] then Begin

Tg:=A[i]; A[i]:=A[j]; A[j]:=tg;

Write(‘A[‘,i,’]= ‘); Readln(A[i]);

End;

Dem:=0;

For i:=1 to n do For j:=i+1 to n do

If A[i] >A[j] then

Trang 25

- Nhắc nhở lại kiến thức cơ bản của bài học về khai báo mảng một chiêu,mảng hai chiều và cách tham chiếu đến các phần tử của mảng một chiều vàhai chiều

Luyện tập: Cho mản A gồm n phần tử hãy khai báo mảng trên ?

4 Vận dụng mở rộng (2’)

- Về nhà học bài và làm bài tập ở nhà

- Xem trước bài mới

Trang 26

Lớp Ngày dạy Sĩ số Học sinh vắng

- Hiểu khái niệm mảng một chiều

- Hiểu cách khai báo và truy cập đến phần tử của mảng

II CHUẨN BỊ CỦA GV VÀ HS:

1 Chuẩn bị của GV: Giáo án, phấn, bảng, phòng thực hành

2 Chuẩn bị của HS: Sách giáo khoa, vở ghi

III HOẠT ĐỘNG DẠY HỌC

- Hướng dẫn viết về cấu trúc mảng trong Pascal

- Giáo viên kết luận về hoạt động của học sinh và vào bài mới

2 Bài mới:

HĐ1: HS hiểu bài toán: Nhập vào

mảng, viết chương trình tạo mang B

gồm các phần tử là tổng của mảng A

Hình thức: Làm theo nhóm

Thời gian: 35p’

Bước 1: GV đưa ra yêu cầu của bài

- Cần khai báo những biến nào

- Nhập dữ liệu bằng lệnh

- Thuật toán tính tổng mảng của mảng B

Bài 2: Cho mảng A gồm n phần tử, Hãy viết chương trình tạo mảng B[1 n] Trong đó B[i] là tổng các phần tử đầu tiên của phần tử của mảng A

Trang 27

như thế nào

-Cách viết các phần tử của mảng

Bước 2: HS thực hiện theo yêu cầu và

hướng dẫn của GV

Bước 3: GV chuẩn lại kiến thức

Writeln(‘ Nhap so phan tu cua mang’); Readln(n);

Luyện tập: Cho mảng A gồm 50 phần tử hãy khai báo mảng trên ?

4 Vận dụng mở rộng: (2’)

- Về nhà học bài và làm bài tập ở nhà

- Xem trước bài mới

Trang 28

Lớp Ngày dạy Sĩ số Học sinh vắng

B8 … /… / 2020 /…

B9 … /… / 2020 /…

Tiết 29

KIỂU XÂU

I MỤC TIÊU

1 Kiến thức:

- Biết xâu là một dãy kí tự( có thể coi xâu là mảng một chiều)

- Biết cách khai báo xâu, truy cập phần tử của xâu

II CHUẨN BỊ CỦA GV VÀ HS:

1 Chuẩn bị của GV: Giáo án, phấn, bảng

2 Chuẩn bị của HS: Sách giáo khoa, vở ghi

III HOẠT ĐỘNG DẠY HỌC

- Hướng dẫn viết về xâu trong Pascal

- Giáo viên kết luận về hoạt động của học sinh và vào bài mới

2 Bài mới:

HĐ1:HS hiểu khái niệm về xâu

Hình thức: Cả lớp

A:=’HOANG THU TRANG’

B:=’NGUYEN THI LINH’

Yêu cầu HS: Hãy cho biết hai biến A

và B thuộc kiểu dữ liệu gì

Bước 2: HS nghiên cứu ví dụ và trả lời

* Xâu là một dãy kí tự trong bộ mã ASCII,

mỗi kí tự được gọi là một phần tử của xâu

Số lượng kí tự trong một xâu được gọi là

độ dài của xâu Xâu có độ dài bằng 0 đượcgọi là xâu rỗng

VD: ‘HOANG HA’

Xâu có độ dại là 8( Tính cả kí tự trống)

* Các ngôn ngữ lập trình đều có quy tắc

và cách thức cho phép xác định:

- Tên kiểu xâu;

- Cách khai báo biến kiểu xâu;

- Số lượng kí tự trong xâu;

Trang 29

câu hỏi

Bước 3: GV chuẩn lại kiến thức

HĐ2: HS biết cách khai báo xâu

Hình thức: Cả lớp

Thời gian: 5’

Bước 1: GV yêu cầu hs tìm hiểu sgk

và trả lời câu hỏi

- Cách khai báo xâu

Bước 2: HS tìm hiểu sgk và trả lời

Bước 3: GV chuẩn lại kiến thức

HĐ3:HS hiểu các thao tác xử lí xâu

Hình thức: Cả lớp

1 A:=’ hong anh’

B:=’tran hanh’=> kết quả: Xâu A<B

2.A:=‘may tinh’

B:=’may tinh cua toi’

Ta so sánh thấy hai xâu A và B có độ

dại khác nhau và A là đoạn đầu của B

vầy xâu A<B

- Thủ tục delete dùng để

- Cácphép toán thao tác với xâu;

- Cách tham chiếu tới phần tử của xâu;+ Tương tự với mảng, tham chiếu tới phần

tử của xâu được xác định bởi tên biến xâu

và chỉ số đặt trong cặp ngoặc [và]

1 Cách khai báo kiểu xâu:

Để khai bao kiểu dữ liễu xâu ta sử dụngtên dành riêng string, tiếp theo là độ dàilớn nhất của xâu(không vuợt quá 255 kítự) được ghi trong cặp ngoặc [và]

Biến kiểu xâu có thể được khai báo nhưsau:

Var <tên biến>:String[độ dài lớn nhất củaxâu];

b)Các phép so sánh gồm:

So sánh bằng(=), khác(<>), lớn hơn(>),nhỏ hơn(<), lớn hơn hoặc bằng(>=), nhỏhơn hoặc bằng(<=) Có thứ tự thực hiệnthấp hơn phép ghép xâu và thực hiện việc

so sách hai xâu hai xâu theo quy tắc sau:

*Xâu A là lớn hơn xâu B nếu như kí tự đầutiên khác nhau giữa chúng kể từ trái sangtrong xâu A có mã ASCII lớn hơn

* Nếu A và B là các xâu có độ dài khácnhau và A là đoạn đầu của B thì A là nhỏhơn B

* Hai xâu được coi la bằng nhau nếuchúng giống nhau hoàn toàn:

VD: ‘TIN HOC’=’TIN HOC’

c) Thủ tục delete(st,vt,n) thực hiện việc

xoá kí tự của biến xâu st bắt đầu từ vị trí vt.

VD:

Trang 30

- Thủ tục Insert có ý nghĩa gì

VD: Insert(S1,S2,4) có ý nghĩa

- Hàm Copy dùng để

VD: Cho xâu S1:=’song hong’

Vậy Copy(s1,3,7) kết quả là

- Hàm length dùng để

- Hàm Upcase dùng để

VD: cho xâu ‘hang so”

Upcase(ch); kết quả ‘HANG SO’

Bước 2: HS trả lời câu hỏi

Bước 3: GV chuẩn lại kiến thức

d) Thủ tục insert(s1,s2,vt) chèn xâu s1

vào xâu s2, bắt đầu ở vị trí vt.

VD:

e)Hàm copy(S,vt,N) tạo xâu gồm N kí tự

liên tiếp bắt đầu từ vị trí vt của xâu S.

VD:

f)Hàm length(S) cho giá trị độ dài xâu s.

VD:

g) Hàm pos(s1,s2) cho vị trí xuất hiện đầu

tiên của xâu s1 trong xâu s2.

VD:

h)Hàm Upcase(Ch) cho chữ cáI in hoa

ứng với chữ cái trong ch

Trang 31

A Var S: Integer; B Var S: Byte;

C Var S: Char D Var S: String;

Câu 2: Hàm nào để trả về độ dài của xâu kí tự:

Trang 32

Lớp Ngày dạy Sĩ số Học sinh vắng

II CHUẨN BỊ CỦA GV VÀ HS:

a Chuẩn bị của GV: Giáo án, phấn, bảng

b Chuẩn bị của HS: Sách giáo khoa, vở ghi

III HOẠT ĐỘNG DẠY HỌC

- Hướng dẫn viết về xâu trong Pascal

- Giáo viên kết luận về hoạt động của học sinh và vào bài mới

2 Bài mới:

Trang 33

Ví dụ 1: Chương trình nhập vào tên

của hai người và hai biến xâu và đưa ra

màn hình xâu dài hơn, nếu bằng nhau

thì đưa ra xâu nhập sau

- Hàm Length thực hiện thao tác nào?

Ví dụ 2: Nhập vào hai xâu, kiểm tra

xem kí tự đẫu của xâu thứ nhất có trùng

với kí tự cuối cùng của xâu thứ 2

Ví dụ 3: Nhập vào xâu kí tự, viết

ngược lại xâu đó

- Để viết ngược lại xâu đó ta thực hiện

như thế nào?

Ví dụ 4: Nhập vào một xâu, đưa ra

màn hình xâu thu được từ nó bởi việc

Trang 34

- Ta khai báo những biến nào

- Xâu b dùng để thực hiện công việc gì

Ví dụ 5: Chương trình nhập vào một

xâu s1, tạo xâu s2 gồm tất cả các chữ

số trong xâu s1

- Khai báo những biến nào

- Các phép toán so sanh trong xâu như

thế nào

Bước 2: HS trả lời cầu hỏi theo sự

hướng dẫn của GV

Bước 3: GV chuẩn lại kiến thức

Write(‘ Nhap xau‘); Readln(a); k:= length(a); b:=’’;

For i:=1 to leng(s1) do

If (‘0’=< s1[i]) and (s1[i]<=9) then

Câu 3: Để viết các kí tự ‘A’ trong xâu ta thực hiện

A For i:=1 to 50 do Write(A,’ ’);

B For i:= 1 to Length(S) do If S[i]:=’A’ then Write(S);

C For i:= 1 to Length(S) do If S[i]:=’A’ then Write(’A’);

4 Vận dụng mở rộng: (2’)

- Về nhà học bài và làm bài tập ở nhà

- Xem trước bài tập và thực hành 5

Trang 35

Lớp Ngày dạy Sĩ số Học sinh vắng

- Thực hiện được khai báo, truy cập, tính toán các phần tử của mảng

- Thực hiện được khai báo, truy cập đến phần tử của xâu

II CHUẨN BỊ CỦA GV VÀ HS

a Chuẩn Bị Của Gv: - Giáo Án, Sgk

b Chuẩn Bị Của Hs: - SGK, Vở ghi

III HOẠT ĐỘNG DẠY HỌC

- Hướng dẫn viết về xâu trong Pascal

- Giáo viên kết luận về hoạt động của học sinh và vào bài mới

2 Bài mới:

HĐ1: Nhắc lại một số nội dung chính

về xâu

Hình thức: Cả lớp

Thời gian: 10’

Bước 1: GV đưa ra một số yêu cầu

+ Yêu cầu học sinh nhắc lại

- Khái niệm xâu, cách khai báo

xâu, cách truy cập tới phần tử

3 Các thủ tục với xâu: Thủ tục Delete, Insert

4 Các hàm: Hàm copy, length, pos, upcase

Trang 36

Bước 1: GV đưa ra một số yêu cầu của

bài và yêu cầu hs thực hiện

Bài 1: Cho xâu s1='TIN HOC'

s2='LOP 11'

a) Hãy ghép xâu s1 với xâu s2

b) Hãy so sánh xâu s1 với xâu s2

Bài 2: Cho xâu s1='ham yen'

S2=' que huong toi'

Bước 2: HS thực hiện theo yêu cầu

Bước 3: GV chuẩn lại kiến thức

Bài tập 1:

a) 'TIN HOC LOP 11'b) s1>s2 vì kí tự 'T' có mã ASCI là 84 > kí tự'L' có mã ASCI là 76

Bài tập 2:

a) s1='ham'b) ='ham yen que huong toic) length(s2)=14

Writeln('Nhap xau a'); Readln(a);

Writeln('Nhap xau b'); Readln(b);

Nhắc lại kiến thức cơ bản về khai báo mảng, xâu, các thao tác về mảng, xâu

Câu 1: Cho xâu s1 = ‘123’; s2 = ‘abc’ sau khi thực hiện thủ tục

insert(s1,s2,4) thì được kết quả sau:

A ‘1abc23’ B ‘abc123’ C ‘123abc’ D ‘12abc3’

Câu 2: Trong khai báo biến xâu, khai báo nào đúng?

A Var hoten : string[15]; B Var hoten: string “15”;

C Var hoten = string[15]; D Var hoten = string “15”;

Câu 3: Cho xâu S=‘THPT PHÙ LƯU’ lệnh Copy(S,1,4) cho kết quả ?

Trang 37

4 Vận dụng mở rộng: (1’)

- Về nhà xem lại cỏc thao tác trong các bài tập

- Xem tiếp các bài tập còn lại

Trang 38

Lớp Ngày dạy Sĩ số Học sinh vắng

B8 … /… / 2020 /…

B9 … /… / 2020 /…

Tiết 32

BÀI TẬP THỰC HÀNH 5

I MỤC TIÊU

1 Kiến thức:

- Hiểu khái niệm xâu kí tự

- Hiểu cách khai báo và truy cập đến phần tử của xâu kí tự

Sách giáo khoa, vở ghi

III HOẠT ĐỘNG DẠY HỌC

- Hướng dẫn viết về xâu trong Pascal

- Giáo viên kết luận về hoạt động của học sinh và vào bài mới

Trang 39

vào một xâu, kiểm tra xâu đó có phải là

xâu đối xứng hay không Xâu đối xứng

có tính chất: Đọc nó từ trái sang phải

cũng thu được kết quả đọc từ phải sang

trái

- Cần khái báo những biến nào

- Viết xâu đối xứng như thế nào

Bài 1 ý b trang 73_BTVTH3:

- Bắt đầu chương trình bằng từ khoá gì

- Ta cần khai báo những biến nào

Write (‘Day la xau doi xung:’); Readln;

For i:=1 to x div 2 do { so sánh cấp kí

tự đối xứng}

If A[i]<> A[x-i+1] then Hello:=False;

If Hello then writeln(‘Xau la doi xung’)Else

writeln(‘Xau khong la doi xung’) Write (‘Day la xau doi xung:’);

Trang 40

Lớp Ngày dạy Sĩ số Học sinh vắng

- Hiểu khái niệm xâu kí tự

- Hiểu cách khai báo và truy cập đến phần tử của xâu kí tự

II CHUẨN BỊ CỦA GV VÀ HS:

1 Chuẩn bị của GV: Giáo án, phấn, bảng, phòng thực hành

2 Chuẩn bị của HS: Sách giáo khoa, vở ghi

III HOẠT ĐỘNG DẠY HỌC

- Hướng dẫn viết về xâu trong Pascal

- Giáo viên kết luận về hoạt động của học sinh và vào bài mới

2 Bài mới:

HĐ1: Tìm hiểu cách viết chương

Bài 2: Nhập vào một xâu, đếm xem xâu

đó kí tự a xuất hiện bao nhiêu lầnProgram Demkitu;

Var st : String;

x, i, d: Byte;

Begin Write(‘ Nhap xau ki tu:’); Readln(st); x:=Length(a); d:=0;

For i:=1 to x do

Ngày đăng: 29/03/2022, 08:48

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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