MỤC ĐÍCH, YÊU CẦU
1. Kiến thức
- Nắm được các thành phần cơ bản của ngôn ngữ lập trình nói chung
- Biết được khái niệm về chương trình dịch
- Phân biệt được chươn trình dịch là biên dịch và thông dịch
2. Kỹ năng
- Biết vai trò của chương trình dịch
- Hiểu ý nghĩa nhiệm vụ của chương trình dịch
3. Thái độ
68 trang |
Chia sẻ: vivian | Lượt xem: 1332 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Tuần 1 - Tiết 1 - Bài 1: Khái niệm về lập trình và ngôn ngữ lập trình, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Hoạt động của Gv & Hs
Nội dung
Gv. Yêu cầu HS đọc đề BT2 SGK
Yêu cầu của bài toán là gì?
Hs. Đọc đề và tìm hiểu yêu cầu của đề
Trả lời câu hỏi
- Tìm phần tử có giá trị lớn nhất trong mảng
- In ra màn hình chỉ số nhỏ nhất của phần từ có giá trị lớn nhất
Hoạt động 3: Đọc chương trình và chạy chương trình trên giấy để hiểu thuật toán của chương trình. Chỉnh sửa chương trình để đưa ra chỉ số của các phần tử có cùng giá trị lớn nhất
Hoạt động của Gv & Hs
Nội dung
Gv. - Việc tạo mảng dữ liệu được thể hiện ở phần nào trong chương trình ?
Hs. Thể hiện ở câu lệnh for thứ nhất của chương trình.
Gv. - Tìm giá trị lớn nhất và đưa ra màn hình chỉ số nhỏ nhất của phần từ có giá trị lớn nhất được thể hiện ở phần nào ?
Hs. Từ j:=1 đến cuối chương trình
Hs. Vai trò của biến j trong chương trình nhằm mục đích gì ?
Hs. Giữ lại chỉ số của phần tử có giá trị lớn nhất.
Gv. Thực hiện chương trình với giá trị của mảng nhập vào cụ thể như sau:
4
2
5
7
6
7
- Hãy dựa vào phần tìm giá trị lớn nhất và chạy chương trình trên giấy nháp và cho kết quả ?
- Gọi HS lên bảng chạy lại chương trình
Hs. Thực hiện yêu cầu của GV.
Gv.
- Có cần giữ lại đoạn chương trình tìm giá trị lớn nhất không ?
- Để đưa ra màn hình tất các chỉ số của các phần tử đạt giá trị lớn nhất có cần duyệt lại các phân tử của mảng không ?
- Cần thêm lệnh nào có thê in được tất cả các chỉ số của các phần tử có giá trị lớn nhất ?
- Đưa câu lệnh đó vào vị trí nào của chương trình ?
Hs.
- Có {1,2}
- Trả lời câu hỏi.
- Đưa vào cuối chương trình
Treo bảng phụ chương trình của bài toán.
B1: j=1, i=2, A[i]=2, A[j]=4
à A[i]< A[j]
B2: j=1, i=3, A[i] = 5, A[j] =4
à A[i]>A[j] , àj=3
B3: j=3, i=4, A[i]=7, A[j]=5
à A[i]>A[j] àj=4
B4: j=4, i=5, A[i]=6, A[j]=7
à A[i]<A[j]
B5: j=4, i=6, A[i]=7, A[j]=5
àkết quả chỉ số: 4
A[4] = 7
For i:=1 to n do
If A[i] = A[j] then write (i);
Hoạt động 4: HS chạy chương trình trên máy tính và cho kết quả:
4. Củng cố:
- Yêu cầu HS sửa lại chương trình trên để có thể nhập một mảng có 10 phần tử từ bàn phím.
- HS về nhà làm bài tập 4.15 trong sách bài tập.
- Chuẩn bị chương trình bài 2 bài thực hành 3 chương IV trong SGK.
V. PHỤ LỤC
Tuần: 10
Ngày soạn://
Tiết: 19-20
Ngày dạy: //
BÀI TẬP VÀ THỰC HÀNH 4
Tuần: 10
Ngày soạn://
Tiết: 19-20
Ngày dạy: //
Bài 11: KIỂU XÂU
I.Mục tiêu
1. Về kiến thức
- Biết được một kiểu dự liệu mới, biết được khái niệm kiểu xâu.
- Phân biệt được sự giống và khác giữa kiểu mảng với kiểu xâu.
- Biết được cách khai báo biến, nhập/xuất dữ liệu, tham chiếu dến từng kí tự của xâu.
- Biết các phép toán liên quan đến xâu.
2. Về kĩ năng
- Khai báo được biến kiểu xâu trong ngôn ngữ lập trình Pascal.
- Sử dụng biến xâu và các phép toán trên xâu để giải quyết một bài toán đơn giản.
3. Tư duy và thái độ:
Tự giác, tích cực, chủ động và sáng tạo trong tìm kiếm tri thức.
II. Chuẩn bị của GV và HS
1. GV: Máy vi tính, Máy chiếu để giới thiệu ví dụ.
2. HSSGK.
III. Phương pháp
Thuyết trình, vấn đáp
IV. Tiến trình bài học
HĐ1: Kiểm tra bài cũ và khởi động bài mới
Hoạt động của Gv & Hs
Nội dung
Ổn định lớp :
Chào thầy cô .
Cán bộ lớp báo cáo sĩ số .
Chỉnh đốn trang phục .
GV : Để lưu trữ và xử lý Họ tên của một người, các kiểu dữ liệu đã học có đáp ứng được ?
HS : Đưa ra một số phương án .
GV : Phân tích các phương án của học sinh, từ đó đưa ra yêu cầu cần sử dụng một kiểu mới : Kiểu xâu .
GV : Giới thiệu một số khái niệm và thao tác thường dùng khi làm việc với xâu ký tự trong lập trình nói chung .
GV : Đây là cách khai báo trong ngôn ngữ Pascal, trong các ngôn ngữ khác nhau có thể có cách khai báo khác nhau . Do đó khi viết chương trình bằng ngôn ngữ nào cần tìm hiểu rõ các đối tượng của ngôn ngữ đó .
Độ dài tối đa của xâu phụ thuộc vào ngôn ngữ lập trình, thường là 255 ký tự .
Cách viết hằng xâu trong các ngôn ngữ khác nhau cũng có sự khác nhau .
Xét ví dụ như sau : Có xâu kí tự :
‘ nGuyen vaN A ’
Hỏi cần có các thao tác gì để chỉnh sửa xâu kí tự này ? (cần đưa xâu về dạng ‘Nguyen Van A’)
HS : Đưa ra ý kiến của mình .
GV : Phân tích ý kiến và gợi ý để các em nhận ra cần :
Xóa bớt một số dấu cách .
Chuyển chữ hoa về chữ thường và ngược lại .
GV : Đưa ra một số câu hỏi :
Làm sao biết một ký tự là dấu cách ?
Làm sao để xóa đi một vài kí tự ?
Làm sao để thêm vào một xâu một vài kí tự ?
Làm sao để có được chữ in hoa tương ứng với chữ thường.
Làm sao có được chữ cái thường tương ứng với chữ hoa ?
Làm sao biết xâu hiện có bao nhiêu kí tự ?
Từ đó đưa ra các thủ tục chuẩn và hàm chuẩn của Pascal thường dùng để xử lí xâu .
Ứng với mỗi thủ tục hoặc hàm, giáo viên lấy ví dụ trong một chương trình Pascal cụ thể để các em hiểu được ý nghĩa các thủ tục và hàm này .
Trong môi trường soạn thảo của Pascal, giáo viên chỉ cần làm một chương trình đơn giản có sử dụng một trong các thủ tục hoặc hàm này để các em theo dõi .
Một số khái niệm
Xâu là một dãy kí tự trong bảng 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 xâu được gọi là độ dài của xâu .
Xâu có độ dài bằng 0 gọi là xâu rỗng.
Tham chiếu tới phần tử trong xâu được xác định thông qua chỉ số của phần tử trong xâu .
Chỉ số phần tử trong xâu thường được đánh số là 1 .
Trong ngôn ngữ Pacal, tham chiếu tới phần tử thường được viết :
[chỉ số]
Cách khai báo và xử lí xâu trong ngôn ngữ Pascal :
Khai báo biến xâu :
Pascal sử dụng từ khóa STRING để khai báo xâu . Độ dài tối đa của xâu được viết trong [ ] sau từ khóa STRING . Khai báo như sau :
Var : String[độ dài lớn nhất của xâu] ;
Ví dụ :
Var Ten : String[10] ;
Ho_dem : String[50] ;
Que : String ;
Chú ý :
Nếu không khai báo độ dài tối đa cho biến xâu kí tự thì độ dài ngầm định của xâu là 255 .
Độ dài lớn nhất của xâu là 255 ký tự .
Hằng xâu kí tự được đặt trong cặp nháy đơn ‘ ’ .
Các thao tác xử lí xâu
Với các xâu kí tự có các phép phép xâu và phép so sánh hai xâu kí tự .
Phép ghép xâu : Kí hiệu bằng dấu cộng + .
Ví dụ : ‘Ha’ + ‘Noi’ cho kết quả là ‘Ha Noi’
Phép so sánh : , >=, = , , Pascal tự động so sánh lần lượt từ kí tự từ trái sang phải .
Ví dụ : ‘AB’ ‘ABB’, ‘ABC’ <’ABCD’
Một số thủ tục chuẩn dùng để xử lí xâu :
Delete(St,vt,n) xóa n kí tự của xâu St bắt đầu từ vị trí vt .
Insert(S1,S1,vt) chèn sâu S1 vào S2 bắt đầu từ vị trí vt của S2
Val(St,x,m) Đổi giá trị xâu St thành số ghi giá trị vào biến X, nếu không đổi được thì vị trí gây lỗi ghi trong m, nếu đổi thành công thì m = 0
Str(X,St) chuyển số X thành xâu kí tự lưu trong St .
Một số hàm chuẩn :
Copy(St,vt,n) sao chép từ xâu St n kí tự từ vị trí vt .
Pos(S1,S2) tìm vị trí xuất hiện đầu tiên của S1 trong S2 .
Length(St) : cho độ dài xâu St .
Upcase(ch) : cho chữ cái viết hoa tương ứng với chữ thường trong ch .
CHR(X) : cho kí tự có mã X trong bảng mã ASCII .
Ord(ch) : cho mã của kí tự ch trong bảng mã .
4. Cũng cố, dăn dò
- Cấu trúc chung của Câu lệnh lặp While . . . Do, Câu lệnh lặp For . . . do
- Về nhà xem lại các bài tập đã giải và làm bài tập còn lại trong sgk.
VI. RÚT RA KINH NGHIỆM
Ngày soạn:
Ngày giảng ://.
Bài 11: KIỂU XÂU
(Tiết .)
I. MỤC TIÊU
1. Kiến thức
- Hiểu được lợi ích của các hàm và thủ tục liên quan đến xâu tring ngôn ngữ lập trình Pascal.
- Nắm được cấu trúc ching và chức năng của một số hàm liên quan đến xâu.
2. Kỹ năng
- Bước đầu sử dụng được một số hàm, thủ tục thông dụng về xâu.
- Có thể cài đặt được một số chương trình đơn giản có sử dụng xâu
3. Tư duy và thái độ:
- Tự giác, tích cực, chủ động và sáng tạo trong tìm kiếm tri thức.
II. Chuẩn bị của GV và HS:
GV: Giáo án, SGK, sách GV, bảng phụ soạn các ví dụ.
HS: Sách GK.
III. Phương pháp:
Đặt vấn đề.
Thuyết trình, vấn đáp.
Diễn giải, dùng bảng để ghi lại các chi tiết quan trọng trong ví dụ
IV. Tiến trình bài học.
Hoạt động của Gv & Hs
Nội dung
Giáo viên soạn sẵn các ví dụ này để tiện cho học sinh theo dõi trên màn hình cũng như việc chạy thử và không làm mất thời gian ngồi viết chương trình .
Với mỗi ví dụ, giáo viên đi sâu vào câu lệnh trực tiếp đáp ứng yêu cầu của ví dụ, như vậy các em sẽ tiếp thu nhanh hơn .
Ví dụ 1 : Nhập 1 xâu, viết ra màn hình xâu dài hơn .
Ví dụ 2 : Nhập 1 xâu, kiểm tra xem ký tự đầu tiên của xâu S1 có trùng với ký tự cuối cùng của xâu S2 hay không ?
Ví dụ 3 : Nhập 1 xâu, viết ra màn hình xâu đó theo thứ tự ngược lại của các ký tự trong xâu .
Ví dụ 4 : Nhập 1 xâu, viết ra màn hình xâu đó nhưng đã được bỏ tất cả các ký tự là dấu cách .
Ví dụ 5 : Nhập 1 xâu, viết ra màn hình xâu gồm các ký tự số của xâu đó .
3. Một số ví dụ
VD 1 :
Program vd1 ;
Uses crt ;
Var s1,s2 : String ;
Begin
Clrscr ;
Write('Nhap xau thu 1 : ') ;
Readln(s1) ;
Write('Nhap xau thu 2 : ') ;
Readln(s2) ;
If length(s1) > Length(s2) then
Write(s1)
else
Write(s2);
Readln ;
End .
VD 2 :
Program vd2 ;
Uses crt ;
Var s1,s2 : String ;
x : Byte ;
Begin
Clrscr ;
Write('Nhap xau thu 1 : ');
Readln(s1) ;
Write('Nhap xau thu 2 : ');
Readln(s2) ;
x := length(s2) ;
If s1[1] = s2[x] then
Write('Trung nha')
else
Write('Khac nhau');
Readln ;
End .
VD 3 :
Program vd3 ;
Uses crt ;
Var i,k : Byte ;
a : String ;
Begin
Clrscr ;
Write('Nhap xau : ') ;
Readln(a) ;
k := length(a) ;
For i := k downto 1 do
Write(a[i]) ;
Readln ;
End .
VD 4 :
Program vd4 ;
Uses crt ;
Var i,k : Byte ;
a,b : String ;
Begin
Clrscr ;
Write('Nhap xau : ') ;
Readln(a) ;
k := length(a) ;
b :='' ;
For i := 1 to k do
if a[i] '' then
b := b+a[i] ;
Write(b) ;
Readln ;
End .
VD 5 :
Program Xulixau ;
Uses crt ;
Var s1,s2 : String ;
i : Byte ;
Begin
Clrscr ;
Write('Nhap xau s1 : ') ;
Readln(s1) ;
s2 := '' ;
For i := 1 to length(s1) do
If ('0'<s1[i]) and (s1[i]<='9') then
s2 := s2 + s1[i] ;
Write(s2);
Readln ;
End .
4. Cũng cố, dăn dò
- Cấu trúc chung của Câu lệnh lặp While . . . Do, Câu lệnh lặp For . . . do
- Về nhà xem lại các bài tập đã giải và làm bài tập còn lại trong sgk.
VI. RÚT RA KINH NGHIỆM
File đính kèm:
- Gio an tin hoc 11 ca nam.doc