-Nhằm cung cấp cho học sinh thuật toán săp xếp , học sinh đã biết thuật toán tìm phần tử lớn nhất của một mảng và có kĩ năng diễn đạt thuật toán đó bằng chương trình Rèn luyện cho học [r]
(1)Ngày soạn: 2/9 Ngày giảng:5/9
CHƯƠNG I:
NGƠN NGỮ LẬP TRÌNH PASCAL CƠ SỞ Tiết 1,2 &1 MỞ ĐẦU *
A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Làm quen với ngơn ngữ lập trình sở giúp học sinh giải tốn ngơn ngữ máy Lập chương trình tình tốn số tốn theo khn mẫu
- Từ hiểu biết học sinh có nhìn khái qt ngơn ngữ lập trình sở nói riêng tin học nói chung
- Cung cấp thơng tin cần thiết để làm việc với môi trường II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG
I Kiểm tra cũ Không Kiểm tra II Bài mới
Chúng ta nghe nhắc đến ngơn ngữ lập trình Pascal Vậy theo em ngơn ngữ Pascal xây dựng nên?
10
- Là ngơn ngữ lập trình cấp cao giáo sư Niklaus Wirth – Thuỵ Sĩ sáng tạo năm 1970 Để tưởng nhớ tới nhà bác học tiếng Pascal,
Hiện ta thường hay nghe thuật ngữ Pascal Turbo Pascal vậy Turbo Pascal dùng để làm gì?
Turbo Pascal hãng Borland (Mỹ) có
(2)20
nhiều ưu điểm trở thành ngôn ngữ cấp cao phổ biến giới xây dựng sở Pascal
Trong môi trường Windows ta học năm trước để khởi động cần có tệp nào?
? Thế chương trình?
VD: Giải phương trình Ax2 + Bx + C = 0; đối tượng A B C (Thông tin xác định cụ thể); X1 X2: Kết cần tính
Program Vidu1; Begin
Writeln (‘Đay la chương trinh Pascal’); End
- Được cải tiến qua nhiều phiên bản: 1.0, 2.0 7.0 (1992)
- Để chạy Turbo Pascal (TP) phải có tệp
+ Turbo.exe: CT dịch soạn thảo + Turbo.tpl: Chứa thư viện, hàm 1 Chương trình Pascal đơn giản * Chương trình diễn đạt q trình giải tốn ngơn ngữ để máy thực cách tự động trình
- Chương trình ln có yếu tố đối tượng mang giá trị trình thực thao tác đối tượng VD: Viết chương trình in hình dịng thơng báo
“Đây chương trình Pascal”
- Trong Program, begin, End từ khố TP
Writeln: tên chuẩn Vidu1: Tên chương trình
(3)10
Program Tinhlapphuong; Var x, lp: Integer;
Begin
Writeln(‘nhap x’); Readln (x); Lp:= x*x*x;
Writeln (‘Lap phuong la:’, lp); Readln(lp);
End
? Qua ví dụ em thấy có điểm chung? Ngồi thành phần giống ví dụ ta cịn có thêm tên chuẩn sau: Integer, Readln
X: Tên biến; tinhlapphuong tên chương trình (Làm việc đại lượng số nên phải khai báo tên kiểu đại lượng đó)
Vd: Program; begin; end
? Những tên gọi sau tên sai? Vì sao? Hanoi ; Việt_Nam ; begin; HảiPhong
Vd: (3x +5y*3)/6 – 2z
=>Bài toán thể chương trình gồm phần sau: - Phần tựa đề: mở đầu từ khoá Program sau đến tên chương trình kết thúc dấu (;)
Program tenchuongtrinh;
- Phần khai báo: (có thể có khơng) Trong Var dành khai báo tên biến kiểu( Var y: integer)
- Phần thân chương trình: khố Begin kết thúc từ khoá End
2 Một số khái niệm
* từ khố: Pascal có số từ dành riêng mà nghĩa quy định sẵn gọi từ khố
*Tên gọi: Có thể đặt dãy ký tự gồm chữ chữ số, dấu $, dấu _ ký tự phải chữ số không trùng với từ khoá
(4)C CỦNG CỐ, HƯỚNG DẪN LÀM BÀI TẬP 5p’ Kiến thức cần nhớ:
- Các tệp tin để chạy chương trình Turbo Pascal tính chất cửa - Chương trình Pascal đơn giản
- Một số khái niệm Làm tập
Viết chương trình in hình dịng chữ “Chúng ta bắt đầu làm việc”
2 “Trung tâm máy tính ” “Chào bạn”
Chuyển phép tính sau sang dạng toán học 3.7 + 7.8 +9 3.7/4/5.9
Ngày soạn: 9/9 Ngày giảng: 12/9
(5)NGÔN NGỮ LẬP TRÌNH PASCAL CƠ SỞ
Tiết &2 LÀM VIỆC VỚI MÔI TRƯỜNG CỦA TURBO PASCAL
* A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Hình thành kỹ để sử dụng môi trường Turbo Pascal Giới thiệu với học sinh số kỹ năng, ứng dụng TP
- Cho học sinh làm quen với mơi trường hồn tồn - Tạo hứng thú cho học sinh say mê tìm tịi khám phá giới khoa học
II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG
I Kiểm tra cũ 5p’
? Chương trình Pascal đơn giản gồm phần phần nào? - phần: Phần mở đầu, phần khai báo, phần thân chương trình II Bài mới
3
15
? Để chạy TP cần tệp nào? Sau gõ lệnh hình làm việc TP lên sau:
File Edit Run Compile Option Line Col Insert Indent - Con chạy
Các dòng từ đến 24 F1-Help F5 –Zoom F6-Switch F7-Trace
1 Khởi động Turbo Pascal Để khởi động TP ta gõ câu lệnh Turbo
Mơi trường Turbo Pascal - Dịng1: Gồm tên nhóm chức TP dải Menu
- Dịng 2: Dịng trạng thái, trình bày trạng thái hình soạn thảo - Dòng cuối dòng hướng dẫn gồm số phím chức
(6)7
Cho học sinh thực hành máy
Cho học sinh thực hành máy VD: ấn Alt + F O F3 để mở tệp Alt + F S hặc F2 để ghi tệp lên đĩa Ctrl +F9 thực chương trình Alt + X kết thúc làm việc với TP
Vd: trang 122 sách giáo khoa tin 10 Sách chuyên ban
* Làm việc với môi trường TP thực chất làm việc với hệ thống bảng chọn (Menu) nhiều tầng
3 Làm việc với bảng chọn Ta dùng cách sau Cách 1: ấn F10 (Menu) chạy biến hộp sáng định vị nhóm chức dùng di chuyển
Cách 2: ấn tổ hợp phím Alt + Chữ khác màu tên nhóm chức (Thường chữ đầu)
Để quay soạn thảo ấn phím ESC
C HƯỚNG DẪN HỌC SINH LÀM BÀI 15p’ Kiểm tra tập nhà tiết trước
Hướng dẫn học sinh nội dung thực hành tiết sau BTVN:
Hãy viết chương trình CHUCMUNG in hình dịng: - Dịng1: Họ tên (Của người viết chương trình)
- Dịng2: Ngày thánh năm sinh - Dòng 3: Tên lớp
-Dòng 4: Dòng văn XIN CHAO CáC BAN! CHUC MOT NGAY TOT LANH! Cho chạy chương trình
Ngày soạn: 9/9 Ngày giảng: 12 /9
CHƯƠNG I:
(7)Tiết &3 THỰC HÀNH *
A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Củng cố kiến thức học, thao tác môi trường TP - Cho học sinh làm quen với mơi trường hồn tồn - Tạo hứng thú cho học sinh say mê tìm tịi khám phá giới khoa học
II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG
I Ổn định tổ chức 7p Kiểm tra cách thao tác máy II Bài mới
G: Hướng dẫn học sinhkhởi động TP ? Cách khởi động TP?
Những chạy chép vào để nghiên cứu
Kiểm tra việc chuẩn bị học sinh
Soạn đoạn văn sau:
“ Đưa người ta không đưa qua sông Sao nghe có sóng lịng
Bóng chiều khơng thắm khơng vàng vọt Sao đầy hồng mắt trong”
Đánh tập tiết 2, ví dụ tập nhà cho chạy chương trình
(8)Ngày soạn:17/9 Ngày giảng: 19 / CHƯƠNG I:
NGÔN NGỮ LẬP TRÌNH PASCAL CƠ SỞ
Tiết &4 LẬP TRÌNH TÍNH TỐN *
A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Làm quen với số khái niệm bản,
- Làm quen với số phép tốn thơng thường, cách vào liệu, lệnh gán - Tạo hứng thú cho học sinh say mê tìm tịi khám phá giới khoa học
II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG I Kiểm tra cũ
Ko kiểm tra II Bài mới
12
Xét ví dụ sau:
Tính chu vi diện tích hình chữ nhật biết cạnh nó:
Program chunhat; Var c1, c2, p,s: real; Begin
Writeln (‘nhap vao so); Readln(c1,c2);
P:= 2*(c1+c2); S:= c1*c2; Writeln(p); Writeln(s);
I Hằng số biến số
(9)5
Readln; End
C1, C2 số, số Vd : số
Vd: c1, c2
? Sao lại gọi biến số?
? Hằng biến có cần phải quy tắc đặt tên hay không?
Vd 18.6 nghĩa 18,6
Vd: 1.8E + 01 Nghĩa 1,8*1001
Chuyển số sau biểu thức thường (b*b – 4*a*c); -b/2*a;
hiện giá trị khơng biến đổi trình thưch chương trình
- Có cách dùng chương trình
+ Viết trực tiếp giá trị
+ Đặt cho tên gọi sau viết tên gọi thay cho việc viết trực tiếp giá trị
- Biến số có giá trị thay đổi trình thực chương trình Các biến có tên gọi để phân biệt lẫn
- Có thể đặt tên theo quy tắc đặt tên Những tên không trung với từ khoá
Khai báo cần dùng hàm Const 2 Biểu diễn số thực phép tính a Biểu diễn số thực
Có dạng:
+ Dạng dấu phẩy tĩnh + Dạng dấu phẩy động
Số thực khai báo chương trình Real
b Các phép tính
(10)8
13
4*n- 3*m/6*x +8
Trong ví dụ trước ta thấy cv:= 2*(c1+c2); Delta:=b*b - 4*a*c
? Hãy lấy ví dụ phép gán?
? phép gán sau phép gán coi hợp lệ?
? Ta có lệnh để vào / liệu ?
? Tại lại chia làm thủ tục chuẩn Write Writeln?
Writeln(‘gia tri bieu thuc la:’, A:8: 2) Biểu thức A in kết lấy tối đa độ dài biểu thức ký tự lấy sau dấu phẩy số thập phân
3 Câu lệnh gán phép tính
Câu lệnh gán thực việc tính tốn biểu thức rơi gán giá trị vừa tính cho biến
<Tên biến>:= <Biểu thức> Ký hiệu := gọi phép gán
- Thực câu lệnh gán gồm bước: + Tính giá trị biểu thức bên phải dấu gán + Gán giá trị tính cho biến bên trái 4 Vào/ra liệu
- Để vào liệu từ bàn phím kết hình sử dụng thủ tục chuẩn READ; READLN; WRITE; WRITELN;
- Khi dùng Writeln sau lệnh xuống dòng
- Write(Biểu thức :d :d1) Writeln in giá trị biểu thức thực với độ dài d ký thực với d1 số thập phân
-Write(biểu thức thực: d)
writeln(biểu thức thực: d) dạng dấu phẩy động bên phải vùng có d
(11)(12)Ngày soạn:18/9 Ngày giảng: 19/9 CHƯƠNG I:
NGƠN NGỮ LẬP TRÌNH PASCAL CƠ SỞ Tiết & BÀI TẬP
* A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Củng cố lại kiến thức học trước - Vận dụng vào giải tập cho nhà mở rộng
- Tạo hứng thú cho học sinh say mê tìm tịi khám phá giới khoa học II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG I Kiểm tra cũ
Kiểm tra dạy II Bài mới
5
8
Gọi học sinh lên bảng
Kiểm tra chuẩn bị học sinh
Bài 1:
Viết số sau dạng thông thường -6E + 9; 7.82E -15; 15; -5.2
Giải:
-6E +9 = -6*109;
7.82E – 15 = 7,82*10-15 ; 15; -5,2 Bài 2:
Lập chương trình tính trung bình cộng số
Giải
Program tbc;
Var tb, a, b, c, d :real; Begin
(13)8
7
10
Gọi học sinh lên bảng chữa tập
Chữa hs làm
Gọi h/s lên bảng chữa tập
Giới thiệu cho học sinh hàm tính bình phương
Sqr(x): cho giá trị x2 Sqrt(x): cho giá trị x
Abs(x): cho giá trị x
Tbc:= (a+b+c+d)/4; Writeln (tbc); Readln;
End Bài3:
Viết chương trình giải phương trình bậc Ax + B =
Tương tự Bài 4:
Viết chương trình tính diện tích chu vi hình trịn với bán kính r nhập từ bàn phím Cho pi = 3.14 Hướng dẫn:
Khai báo pi sau Const = 3.14
S := pi*r*r hay S = pi*sqr(r); P := 2*pi*r
Tương tự viết chương trình tính biểu thức sau A = x3y* y 5x
C LÀM BÀI TẬP 7p’
- Nhận xét làm sửa lỗi cho học sinh Bài tập nhà
Viết chương trình tính diện tích tam giác theo cơng thức Hêrơng Trong
S = p*(p a)(p b)(p c) P =
2
(14)Ngày soạn: 24/9 Ngày giảng: 29/9 CHƯƠNG I:
NGƠN NGỮ LẬP TRÌNH PASCAL CƠ SỞ
Tiết & THỰC HÀNH *
A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Củng cố kiến thức học, thao tác tập máy - Có thể tự viết chương trình giải tốn
- Có thể khắc phục lỗi chạy chương trình II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG
I Ổn định tổ chức 7p Kiểm tra cách thao tác máy II Bài mới 30
Chia nhóm học sinh
Hướng dẫn học sinh thực hành
Bài 1:
Lập chương trình tính trung bình cộng số
Program tbc;
Var tb, a, b, c, d :real; Begin
Write(‘ nhập vào số’); readln (a, b, c,d);
Tbc:= (a+b+c+d)/4; Writeln (tbc); Readln;
(15)Đánh tập tiết thực hành tập nhà vào máy cho chạy chương trình
Sửa lỗi cho học sinh
Kiểm tra lỗi máy học sinh quản lý trật tự phòng máy
Viết chương trình tính diện tích chu vi hình trịn với bán kính r nhập từ bàn phím Cho pi = 3.14
Giải:
Program dientich; Var r , s, p:real; Const pi = 3.14; Begin
Write(‘nhap vao r’); readln(r); S:= pi*r*r;
P:=2*pi*r;
Writeln (‘dien tich hinh tron la:’,S); Writeln(‘chu vi hinh tron la:’, P) ; Readln ;
End B Bài3 :
Viết chương trình tính diện tích tam giác theo cơng thức Hêrơng
Trong
S = p*(p a)(p b)(p c) P =
2
c b a
HD:
P:= (a +b +c)/2;
S:= sqrt(p*(p -a)*(p -b)*(p -c)); C CỦNG CỐ VÀ HƯỚNG DẪN LÀM BÀI TẬP 8p’
- Nhận xét học kiểm tra máy móc, thiết bị
(16)Ngày soạn:24/9 Ngày giảng: 29 / 9
CHƯƠNG I:
NGÔN NGỮ LẬP TRÌNH PASCAL CƠ SỞ
Tiết &.4 HỆ THỐNG HOÁ PHẦN TỬ CƠ SỞ CỦA TURBO PASCAL
* A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Hệ thống hoá phần tử sở Turbo pascal - Kết hợp với khái niệm học để giải toán phức tạp - Cung cấp số ký hiệu, từ khoá, tên
II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG I Kiểm tra cũ
Không kiểm tra II Bài mới
Ta thấy thành phần cấu tạo nên chương trình Turbo Pascal ký tự, ký hiệu, chữ số
Vậy thành phần người ta gọi chúng gì?
Ta gọi chúng phần tử sở
của Turbo pascal I Bảng chữ (Character set)
- Bảng chữ gốc TP bảng ASCII bao gồm:
* Bộ chữ latinh
(17)12
15
Chữ số khác với chữ o
Vậy nói 2485 số hàng nghìn cấu tạo thành phần nào?
Phím Space(dấu cách) khơng coi ký tự bàn phím khơng có ảnh hình, tạo khoảng trắng từ
? Thế từ khoá?
? Chúng ta học từ khoá nào?
hoa chữ thường * Bộ chữ số
Gồm chữ số thập phân từ
* Các dấu
- Các phép toán số học: + - * /
- Các dấu so sánh kém: =, >, < - Các ký hiệu khác: ; : ‘ “ ! @ #
II Các từ khoá dấu nháy kép
- Một số từ bảng chữ mang ý nghĩa xác định chưnơg trình xem phần tử ngơn ngữ chúng gồm từ khố dấu kép
Danh sách từ khoá
AND ARRAY BEGIN CASE CONST
DIV DO DOWNTO ELSE FILE
FOR FUNCTION IF END MOD
GOTO IN LABEL NIL NOT TO
THEN STRING REPEAT WHILE VAR UNTIL PROGRAM
WITH
(18)11
Trong lập trình nhiều phải đặt tên: tê chương trình, tên hằng, tên biến, tên hàm
Những tên đặt sẵn TP, chẳng hạn Pi, integer, readln, write gọi tên chuẩn
? Chúng khác với từ khoá điểm nào?
đi liền nhau, chúng khơng có dấu cách Các dấu ghép gồm:
:= :Dấu gán
>= :Dấu lớn <= :Dấu nhỏ <> :Dấu khác
(* :Bắt đầu thích *) : Kết thúc thích
III Tên chuẩn thích
* Tên chuẩn
- Có thể dùng tên chuẩn để đặt tên cho đối tượng mới, có nghĩa cũ khơng cịn
- Dù không nên dùng tên chuẩn để đặt cho đối tượng mình, chúng có ý nghĩa đặt trước
* Chú thích
- Để theo dõi chương trình ta đặt đoạn thích chương trình
- Lời thích đặt dấu { và} thích không dùng lại dấu {
C CỦNG CỐ, HƯỚNG DẪN LÀM BÀI TẬP 7p’
BTVN:
(19)(20)Ngày soạn:1/10 Ngày giảng: 3/10 CHƯƠNG I:
NGƠN NGỮ LẬP TRÌNH PASCAL CƠ SỞ Tiết & BÀI TẬP
* A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Thao tác thành thạo , viết chương trình đơn giản - Giáo dục giới quan khoa khoa học cho học sinh
- Sử dụng linh hoạt ngôn ngữ để chuyển từ toán sang tin học II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG I Kiểm tra cũ
Kiểm tra học II Bài mới
Gọi học sinh lên bảng chữa tập
Kiểm tra chuẩn bị học sinh
Gợi mở cho học sinh
Bài1:
Lập chương trình tính diện tích hình tam giác theo ba cạnh dựa vào cơng thức Hêrong, sử dụng hàm SQRT(x) cho giá trị bậc x với x số thực không âm
Program bài2;
Var a, b, c:integer; S, P: Real; Begin
Write (‘ nhập vào cạnh tam giác’); Readln(a,b,c);
P:= (a + b + c )/2;
(21)35
Gọi học sinh lên bảng, nhận xét làm học sinh
Writeln (‘ diện tích hình tam giác là:’,S); Readln;
End
*Một số hàm thông dụng Sqrt(x): Cho giá trị x
Sqr(x): Cho giá trị x2 Abs(x): Cho giá trị tuyệt đối x
Bài 2:
Sử dụng hàm học viết chương trình để tính biểu thức sau:
A = x 2y 3y 8x
B = 2x2 + 2ab3y15x Hướng dẫn:
A khai báo kiểu thực
A = sqrt(x- 2*y + abs(3*y – 8*x)) Tương tự câu B
B = 2*Sqr(x) + abs(2*a*b) + 3*y -15*x) Bài3:
Viết chương trình tính TBC số nhập từ bàn phím
Hướng dẫn Nhập vào số
TBC:= (a + b+ c + d)/4
C BÀI TẬP VỀ NHÀ 10p’
Viết chương trình:
a Tính diện tích hình chữ nhật, hình thang, hình trịn b Biểu thức B = x2 + 2xb3y x-2y 315x c Tính tổng hiệu tích thương số m, n, k
(22)CHƯƠNG I:
NGƠN NGỮ LẬP TRÌNH PASCAL CƠ SỞ Tiết 10 &5 KIỂU DỮ LIỆU ĐƠN GIẢN *
A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Giới thiệu khái niệm kiểu liệu chuẩn
- Nắm vững số kiểu liệu chuẩn TP : Kiểu nguyên, kiểu thực, kiểu logic, kiểu ký tự
- Củng cố kỹ trình bày tốn dạng tin học II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG I Kiểm tra cũ
Không kiểm tra II Bài mới
Là khái niệm quan trọng ngơn ngữ lập trình Dữ liệu lưu trữ nhớ xử lý câu lệnh chương trình Vì hình thành cách tự nhiên lớp liệu có cách lưu trữ phương pháp xử lý Trong ngôn ngữ lập trình lớp liệu xác định qua kiểu liệu
Các máy dùng 2byte nhớ để biểu dãy số nguyên
- TP có sẵn số kiểu liệu chuẩn: Kiểu nguyên (Integer); Kiểu thực (Real); Kiểu Logic(Boolean); Kiểu ký tự (Char) 1 Kiểu nguyên(Integer)
(23)11
11
2byte = 16 bit
Vậy phạm vi chúng -216 đến 216 – 1 = -32768 đến 32767
? Vậy MaxInt =?
? Nếu ta có phép tính sau: 30000 + 8000 +2000 – 8000 = ?
Phép tính có đưa kết kiểu ngun hay khơng ?
* Phép tính thơng báo lỗi lấy 30000 + 8000 = 38000 vượt dụng lượng miền nhớ kiểu nguyên
Vậy phải làm cách ?
Chiếm byte nhớ
Vậy chúng có phạm vi ?
? Khi nói Kiểu nguyên tập R hay sai
Sai cách lưu trữ xử lý chúng hồn tồn khác
- Được khai báo: integer
- Phạm vi miền nhớ chúng -32768 đến 32767
- Các kiểu nguyên lưu trữ kết tính tốn đúng, kiểu có thứ tự đếm
- Với phép toán + - *nếu có tốn hạng ngun kết ngun
2 Kiểu thực(Real)
- Là tập hợp số biểu diễn theo kiểu dấu phẩy động, gồm số thực
- Phạm vi biểu diễn 2.9*10-39 đến 1.7*1038
(24)7
9
Để biểu diễn ký tự ta biểu diễn chúng dấu nháy vd ‘a’; ‘A’
X Y XANDY XORY NOTX
F T F T T
F F F F T
T T T T F
T F F T F
- Kiểu ký tự dùng để biểu diễn ký hiệu - Có tập giá trị ký tự bảng mã ASCII Cũng kiểu có thứ tự đếm
4 Kiểu Logic(Boolean)
- Chỉ có giá trị (True) sai (False) kiểu * Các phép toán AND; OR; NOT xác định
*Một số hàm thông dụng SUCC (x) cho gt sau x: x+1 PRED(x) chogt trước x: x-1 ROUND(x)làm trịn số
Ngồi kiểu thực cịn sử dụng số hàm lượng giác
SIN(x): sin COS (x): cos Arctan(x): Artang
C CỦNG CỐ VÀ LÀM BÀI TẬP 7p’
- Các kiểu liệu, cách sử dụng, phạm vi - Các hàm học
BTVN
Viết chương trình sau:
Cho ABC vuông A cho biết cạnh a góc B viết giải thuật để tính góc C cạnh
b cạnh c (Sử dụng hàm số Sin)
(25)CHƯƠNG I:
NGÔN NGỮ LẬP TRÌNH PASCAL CƠ SỞ Tiết 11 & BÀI TẬP
* A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Thao tác thành thạo , viết chương trình đơn giản - Giáo dục giới quan khoa khoa học cho học sinh
- Sử dụng linh hoạt ngôn ngữ để chuyển từ toán sang tin học II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG I Kiểm tra cũ
Kiểm tra học
II Bài mới 42p
Gọi học sinh lên bảng chữa tập Kiểm tra chuẩn bị học sinh
Bài1:
Tính diện tích hình chữ nhật, hình thang, hình trịn
HD:
Nhập vào cạnh hình chữ nhật, hình thang bán kính đường trịn
S hình tính sau: Shcn = dài * rộng
Sht= (đáy lớn+ đáy bé)*chiều cao/2 St= pi*r*r
Bài2:
(26)Gọi học sinh lên bảng chữa tập Kiểm tra làm học sinh, đánh giá làm học sinh
Gọi học sinh lên bảng
Sửa lỗi, nhận xét làm học sinh đánh giá cho điểm
B = x2 + 2xb3y x-2y 315x HD:
Vì biểu thức có bậc nên tốt chọn kiểu liệu cho B kiểu thực
B:= sqr(x)+abs(2*x*b+3*y-sqrt(x-2*y+3) + 15x) Bài3 :
Viết chương trình sau:
Cho ABC vng A cho biết cạnh a góc
B viết giải thuật để tính góc C cạnh b cạnh c (Sử dụng hàm số Sin)
Giải:
Program tamgiac; Var a, gB, gC, c:real; Begin
Writeln (‘nhap vao a va gB’); readln(a,gB); gA:=90;
gC:=90 – gB;
b:=a*sin(gB) (*vì Sin 900 = 1*) c:= sqrt(sqr(a)+sqr(b));
Writeln(‘goc C =’, gC); Writeln(‘canh b=’, b); Writeln(‘canh c =’, c); Readln;
End
C CỦNG CỐ, LÀM BÀI TẬP 3p
Viết chương trình thực công việc sau A = 5x2+ a b
+sin(2x)+ Sin(2y) 5x8
Ngày soạn:8/10 Ngày giảng:10/10
(27)NGƠN NGỮ LẬP TRÌNH PASCAL CƠ SỞ
Tiết 12 &6 NHŨNG CÂU LỆNH RẼ NHÁNH VÀ GHÉP *
A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Lập chương trình nhằm giải có hiệu toán phức tạp - Sử dụng cấu trúc điều khiển
- Sử dụng cấu trúc điều khiển để làm tốn có điều kiện chặt chẽ - Có khả phân tích tốn đơn giản để chọn kiểu cấu trúc điều khiển phù hợp thao tác
- Cung cấp cho học sinh nhưngc câu lệnh ghép câu lệnh rẽ nhánh cách sử dụng cú pháp
- Tiếp tục xây dựng lòng ham thích giải tốn lập trình MTĐT II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG I Kiểm tra cũ
Không kiểm tra II Bài mới.
18
Cho máy nhập vào số, kiểm tra xem số có cạnh tam giác hay không? *
Nếu (a>0) (b>0) (c>0) (a+b>0) (b+c>0) (c+a>b) cạnh tam giác
Vậy tơi đổi chữ T/A có dạng nào?
IF ((a>0) and (b>0) and (c>0) and (a+b>c) or (b+c>a) or (a+c>b))
I Câu lệnh rẽ nhánh dạng khuyết.
- Câu lệnh rẽ nhánh dạng khuyết có dạng IF B then C
(28)20
Ta nói dạng câu lệnh rẽ nhánh
VD2: Khi ta nói
Nếu trời nắng tơi bơi:
Khi “Nếu” đặt điều khiện trời nắng “thì” dẫn đến hành động tơi bơi:
Ta đưa sơ đồ sau:
IF <điều khiện> Then <thực cơng việc>
Ta có lưu đồ cú pháp
Sai
Đúng Thoát
VD : Tìm giá trị lớn số a, b, c - gán giá trị lớn cho số bất kỳ,
so sánh với số lại số so sánh lớn
- số gán ta gán lại giá trị lớn cho giá trị thứ 2, tiếp tục so sánh với giá trị lại
Giải : C := max ; If (max<a) then a:= max
của câu lệnh rẽ nhánh C: Câu lệnh
- Việc thực câu lệnh rẽ nhánh dạng khuyết bao gồm :
+ Tính giá trị biểu thức B
+ Nếu kết B TRUE câu lệnh C thực sai FALSE bỏ qua
II Câu lệnh rẽ nhánh dạng đủ - Câu lệnh rẽ nhánh dạng đủ có dạng If B Then C1 else C2
Trong đó:
B: Biểu thức, C1, C2 công việc 1, Nếu biểu thức thực cơng việc1 sai thực cơng việc 2sau câu lệnh khơng có dấu (;)
Vd: Kết luận ngiệm ptb2 Ax2 + Bx + C =
Ta có đoạn ct sau: Thao tác
Điều khiện
(29)If (max<b) then max:= b
Sai
Đúng
If delta< then
Writeln(‘pt vô nghiệm’) else
if delta = o then
Writeln(‘pt có nghiem kep’,-B/A); Else
Begin
X:= (- B – sqr(delta))/(2*a);
Writeln(‘pt co ngiêm’, x,’ va’, -B/2*A -x’);
End;
C CỦNG CỐ: 7p’
- Câu lệnh rẽ nhánh dạng khuyết, dạng đủ - Lưu đồ cú pháp, số ý
VD minh hoạ Bài tập
1, 2, – 147.SCB Hướng dẫn giải
- Điều kiện để trở thành cạnh tam giác:
cạnh phải lớn 0, tổng cạnh lớn cạnh Xét xem tam giác gì:
- Là tam giác cân có cạnh - Là tam giác cạnh - Là tam giác vuông khi:
A2 + B2 = C2
Ngày soạn:15/10 Ngày giảng:17/10
CHƯƠNG I: C1
Kết thúc ĐKiệ n
(30)NGƠN NGỮ LẬP TRÌNH PASCAL CƠ SỞ Tiết 13 & BÀI TẬP *
A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Biết sử dụng câu lệnh thực rẽ nhánh ghép TP - Bước đầu hình thành kĩ lập trình có cấu trúc
- Có khả phân tích tốn đơn giản để chọn kiểu cấu trúc điều khiển phù hợp thao tác
- Biết diễn đạt câu lệnh, soạn chương trình giải toán đơn giản áp dụng loại cấu trúc điều khiển nêu
- Tiếp tục xây dựng lịng ham thích giải tốn lập trình MTĐT II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG I Kiểm tra cũ
Kiểm tra dạy II Bài mới. 42’
Gọi học sinh lên bảng kiểm tra chuẩn bị học sinh
IF ((a>0) and (b>0) and (c>0) and (a+b>c) or (b+c>a) or (a+c>b))
Bài 1:
Sắp xếp từ khoá, đoạn câu lệnh đoạn khai báo sau để chương trình (Thêm dấu , ; vào chỗ cần thiết) Giải
Program ptb1; Var a, b: Real; Begin
Writeln(‘nhap vao a, b’); Readln(a,b); If a<>0
(31)Gọi học sinh lên bảng, kiểm tra chuẩn bị học sinh nhận xét đánh giá làm học sinh
Để bắt đầu thích ta sử dụng dấu (* kết thúc thích ta sử dụng dấu kép*)
Viết chương trình thực cơng việc sau A = x y y
Then writeln(‘moi so đeu la nghiem’); Else writeln(‘vo nghiem’);
Readln; Bài 2:
Cho chương trình sau: Program khongten; Var a, b,max: Integer; Begin
Write (‘cho so’); readln (a,b); Max:= a;
if max<b then max:= b;
write(max); readln; end; end Bài 3:
Viết chương trình thực cơng việc sau A = x y y Giải: Program bai3; var x, y, A:integer; begin
write('nhap vao x, y'); readln(x,y); if x = then
A:= 8*y + 5; else
A:= 7*y - +x;
writeln('nghiem cua bai toan la:', A); readln; End; End
C CỦNG CỐ VÀ LÀM BÀI TẬP 3’
- Ôn lại kiến thức học vận dụng vào giải toán - Làm tập nhận biết tam giác.
Nếu x = 0 Nếu x <>0
(32)Ngày soạn: 15/10 Ngày giảng:17/10
Tiết 14 THỰC HÀNH *
A CHUẨN BỊ I Yêu cầu:
- Vận dụng lý thuyết học để giải toán
- Diễn đạt câu lệnh, soạn chương trình cho chạy máy - Tiếp tục xây dựng lòng ham thícg giải tốn lập trình máy tính II Chuẩn bị
- Thầy: SGK, Giáo án, sách tập, TLTK, PTH - Trò: Vở ghi, tập, kiến thức học
B NỘI DUNG
I.Ổn định tổ chức Kiểm tra cũ: 5p' Kiểm tra học
II B i m i.à ớ
35
Sửa lỗi cho học sinh, Cho chạy tập chữa quản lý trật tự phòng máy
Hướng dẫn thao tác máy
Bài 1:
Cho chương trình sau: Program khongten; Var a, b,max: Integer; Begin
Write (‘cho so’); readln (a,b); Max:= a;
if max<b then max:= b; write(max); readln; end;
end Bài 2:
Viết chương trình thực cơng việc sau A =
x y
y
6
5
(33)Ghi chạy vào đĩa
Nhận xét q trình thực hành nhóm thực hành Ghi tập vào đĩa
Giải:
Program bai3; var x, y, A:integer; begin
write('nhap vao x, y'); readln(x,y); if x = then
A:= 8*y + 5; else
A:= 7*y - +x;
writeln('nghiem cua bai toan la:', A); readln;
End; End Bài 3:
Cho chạy chương trình cịn lại tiết trước
(34)Ngày soạn: 22/10 Ngày giảng: 24/10
Tiết 15 &7 CÂU LỆNH LẶP WHILE *
A CHUẨN BỊ
I Yêu cầu: Giúp học sinh: - Nắm tổ chức lặp
- Giới thiệu câu lệnh lặp để ứng dụng vào tốn phức tạp - Bước đầu hình thành kỹ lập trình có cấu trúc lặp
- Có khả phân tích tốn đơn giản để chọn cấu trúc
- Tiếp tục xây dựng lòng ham thích giải tốn lập trình máy tính điện tử II Chuẩn bị
- Thầy: SGK, Giáo án, sách tập, TLTK, sơ đồ (nếu có) - Trò: Vở ghi, tập, kiến thức học
B NỘI DUNG
I Kiểm tra cũ: 7p' Chữa tập II B i m i.à ớ
Ta thấy tập sử dụng điều kiện thực cơng việc sai thực cơng việc khác
Tuy nhiên toán học hay sống có trường hợp thực cơng việc điều kiện cịn sai không thực VD: sống
VD: toán học
được lặp lặp lại nhiều lần I Câu lệnh lặp với điều kiện trước. - Cú pháp:
(35)10
Ví dụ:
program tinhtong; Var tong, I : integer; begin
tong:= 0; i:=10;
While i<= 100 begin
tong:= tong +i i:= i +1; end;
writeln ('tong=', tong'); End
? Vì nói dây lệnh lặp có số bước lặp xác định?
Giải thuật
+ Nếu m = n ƯCLN(m,n) = m; + Nếu m>n ƯCLN(m,n) = ƯCLN(m-n,n);
+ Nếu m<n ƯCLN(m,n) = ƯCLN(m,n-m);
- Máy xem <boolean> cho giá trị TRUE thực cơng việc nằm begin End cịn sai khỏi vòng lặp
- Câu lệnh While kiểm tra biểu thức thực cơng việc sai không thực lần
-Dãy câu lệnh Begin _ End thực lặp lặp lại điều kiện câu lệnh while khơng cịn
II Ví dụ áp dụng.
Tìm ước chung lớn số nguyên dương m n
program ƯCLN; Uses CRT;
var m,n : integer; begin
clrscr;
writeln ('cho so nguyen duong'); Readln(m,n);
while m <> n
(36)18
trong CLRSCR (thuộc đơn vị chuẩn CRT)
Xố hình đưa chạy góc trái hình
? Xét tập ta phải hướng dẫn máy thực công việc ? - Nhập vào số nguyên (sử dụng vòng lặp)
- Đưa bậc số nguyên
writeln ('ƯCLN la', m); Readln;
End Bài 2.
Viết chương trình thực nhiều lần cơng việc sau: tính bậc số nguyên nhập từ bàn phím điều kiện kết thúc máy nhận số
Program tinhcanbac2; uses crt;
var i, a : integer; begin
clrscr;
writeln ('nhap vao so nguyen a'); Readln (a);
while a<> begin
writeln ('can bac cua', a', la:', Sqrt(a)); write ('nhap vao so nguyen a');
Readln(a); End;
Readln; End
C CỦNG CỐ VÀ HƯỚNG DẪN HỌC BÀi 10p' - Học cú pháp cách sử dụng lệnh while
- Làm tập:
Viết chương trình làm nhiều lần cơng việc sau:
(37)2 Viết chương trình tính tổng S= 1+ 1/2 + 1/3 + 1/4 +… yêu cầu trình tính dừng lại 2- S < 0,001
(*) Đọc từ bàn phím số tự nhiên N Xếp dấu * thành tam giác cân N dòng Hướng dẫn:
1 Tương tự ví dụ While a <> begin
dem:= dem + 1;
đưa a yêu cầu nhập lại End;
writeln ('co', dem,'so <> da nhap'); begin S:= 0, ms:= nhập vào số n
While - S < 0.001 begin
ms:= ms + 1; S:= S + 1/ms; tương tự
3 Lập bảng mô việc thực tìm ƯCLN số nguyên dương với m = 10, n = 16
(38)CHƯƠNG I:
NGƠN NGỮ LẬP TRÌNH PASCAL CƠ SỞ Tiết 16 & BÀI TẬP *
A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Biết sử dụng câu lệnh thực rẽ nhánh ghép While - Bước đầu hình thành kĩ lập trình có cấu trúc
- Có khả phân tích toán đơn giản để chọn kiểu cấu trúc điều khiển phù hợp thao tác
- Biết diễn đạt câu lệnh, soạn chương trình giải toán đơn giản áp dụng loại cấu trúc điều khiển nêu
- Tiếp tục xây dựng lịng ham thích giải tốn lập trình MTĐT II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG I Kiểm tra cũ
Kiểm tra dạy II Bài mới. 43’
Gọi học sinh lên bảng kiểm tra chuẩn bị học sinh
Bài
Viết chương trình nhập vào số thực xuất hình bình phương số số nhập số
Giải: program binhphuong; Var a : Integer; Begin
Writeln ('nhap a'); Readln (a); While a <>
(39)Đánh giá nhận xét học sinh Gọi học sinh lên bảng
Đánh giá nhận xét học sinh
Giao thêm tập mở rộng
Readln; End Bài 2.
Giải biện luận hệ phương trình PT tuyến tính ẩn
ax + by = m cx + dy = n Biết rằng: x =
bc ad
nb md
= DD
Dx
y =
bc ad
mc an
= DD
Dy
Với DD <>
Giải: var a, b, c, d, m, n : Real; Dx, Dy, DD: Real; Begin
writeln ('nhap a, b, c, d, m, n'); Readln (a, b, c, d, m, n, ); DD : = a * d - b * c;
Dx : = m * d - b * n; Dy : = a * n - c * m; If DD = then Begin
If (Dx = 0) And (Dy = 0) then writeln ('pt vo so nghiem hoac vo nghiem')
else writeln ('vo nghiem'); End;
Else Begin
(40)Bài 3
Viết chương trình tính tổng, hiệu, tích, thương số nguyên nhập từ bàn phím gặp phải số
Program bt3;
var a, b, S, H, T : Integer; Thg : real;
Begin
write ('nhap vao a, b'); Readln ('a, b');
While (a <> 0) and (b <>0) then s: = a + b ;
H: = a - b ; T: = a * b; Thg: = a/b;
writeln ('tong so la: ', S); Readln; writeln ('hieu so la :', H); Readln; writeln ('tich so la:', T); Readln; writeln ('thuong so la:', Thg); Readln;
Readln; END
writeln ('y = ', Dy/DD); End;
End
C CỦNG CỐ: 2’
(41)Ngày soạn:29/10 Ngày giảng: 31/10
Tiết 17 THỰC HÀNH *
A CHUẨN BỊ I Yêu cầu:
- Vận dụng lý thuyết học để giải toán
- Diễn đạt câu lệnh, soạn chương trình cho chạy máy - Tiếp tục xây dựng lịng ham thích giải tốn lập trình máy tính II Chuẩn bị
- Thầy: SGK, Giáo án, sách tập, TLTK, PTH - Trò: Vở ghi, tập, kiến thức học
B NỘI DUNG
I.Ổn định tổ chức Kiểm tra cũ: 5p' Kiểm tra học
II Bài mới. 35’
35
Sửa lỗi cho học sinh,
Cho chạy tập chữa
quản lý trật tự phòng máy
Bài
Viết chương trình nhập vào số thực xuất hình bình phương số số nhập số
Giải: program binhphuong; Var a : Integer; Begin
Writeln ('nhap a'); Readln (a); While a <>
Writeln ('binh phuong cua a la:'a*a); Readln;
End Bài 2.
(42)Hướng dẫn thao tác máy
Sửa lỗi cho học sinh
cx + dy = n Biết rằng: x =
bc ad
nb md
= DD
Dx
y =
bc ad
mc an
= DD
Dy
Với DD <>
Giải: var a, b, c, d, m, n : Real; Dx, Dy, DD: Real; Begin
writeln ('nhap a, b, c, d, m, n'); Readln (a, b, c, d, m, n, ); DD : = a * d - b * c;
Dx : = m * d - b * n; Dy : = a * n - c * m; If DD = then Begin
If (Dx = 0) And (Dy = 0) then
writeln ('pt vo so nghiem hoac vo nghiem') else writeln ('vo nghiem');
End; Else
Begin
writeln ('x = ', Dx/DD); writeln ('y = ', Dy/DD); End;
End Bài 3
(43)Ghi chạy vào đĩa
Nhận xét q trình thực hành nhóm thực hành
Program bt3;
var a, b, S, H, T : Integer; Thg : real;
Begin
write ('nhap vao a, b'); Readln ('a, b');
While (a <> 0) and (b <>0) then s: = a + b ;
H: = a - b ; T: = a * b; Thg: = a/b;
writeln ('tong so la: ', S); Readln; writeln ('hieu so la :', H); Readln; writeln ('tich so la:', T); Readln; writeln ('thuong so la:', Thg); Readln; Readln;
END
(44)Ngày soạn:29/10 Ngày giảng:31/10
CHƯƠNG I:
NGƠN NGỮ LẬP TRÌNH PASCAL CƠ SỞ Tiết 18 &8 CÂU LỆNH LẶP REPEAT *
A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Nắm cú pháp cấu trúc lặp, phân biệt với lệnh while - ứng dụng để giải toán lặp lặp lại nhiều lần - Có khả phân tích tốn, sử dụng lệnh phù hợp
- Xây dựng ham mê máy tính với mơn tin nói chung II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG
I Kiểm tra cũ 5p'
? - Nêu cú pháp điều kiện lệnh lặp While - While <biểu thức> Do <câu lệnh>
II B i m i.à ớ
10
Tiết trước ta giải toán cách dùng câu lệnh lặp với điều kiện trước
Ta tìm hiểu cách giải tốn cách dùng câu lệnh lặp với điều kiện sau:
(45)23
? Em so sánh lệnh lặp While lệnh lặp Repeat?
? Em viết chương trình khơng sử dụng Repeat mà sử dụng While?
? Hãy viết toán sử dụng lệnh
II Ví dụ.
Giải tốn tính
h(n) = 1+ 1/2 + 1/3 + … + 1/n; Giải
program tinh;
var m, n : Integer; h : Real; Begin
writeln ('nhap vao n'); Readln (n); m:= 1; h:= 0;
Repeat
h:= h + 1/m; m:= m + 1; Until m = 0;
writeln ('tong den', n: 4', la:', h:8:2); ENd
VDụ 2:
Tìm ƯCLN số nguyên Giải:
program ƯCLN; Uses Crt;
var m, n : Integer; Begin
CLRSCR;
writeln ('cho so nguyen duong'); Repeat
Readln (m, n);
(46)đã học mà không dùng Repeat?
Một số hàm chuẩn:
SOUND (F) tạo âm có tần số F
NOSOUND ngừng thực hàm SOUND dùng trước
DELAY (t) tạo thời gian trễ t READKEY : hàm nhận ký tự từ bàn phím khơng đưa hình, khơng cần gõ phím ENTER; giá trị kiểu CHAR
Until ((m > 0) and (n > 0); While m <> n If m > n then m := m - n else n := n - m; writeln ('ƯCLN la:', m); Readln;
End
C CỦNG CỐ VÀ LÀM BÀI TẬP: 7p' - Cú pháp lệnh lặp Repeat - Until
- Sự giống khác while Repeat - Tìm hiểu lệnh lặp với số vịng lặp biết trước - Tìm hiểu tập nốt nhạc Pi a nô
Bài 1: Viết chương trình thực nhiều lần cơng việc sau nhập vào số nguyên kiểm tra xem số số chẵn hay số lẻ, gặp số dừng lại
Bài 2: Tìm số có chữ số thoả mãn yêu cầu sau: Số tổng luỹ thừa bậc chữ số
Ví dụ 8204 = 84 + 24 + 04 +84
Ngày soạn:5/11 Ngày giảng: 7/11
CHƯƠNG I:
(47)Tiết 19 & BÀI TẬP *
A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Biết sử dụng câu lệnh thực lặp Repeat - Until - Bước đầu hình thành kĩ lập trình có cấu trúc lặp
- Có khả phân tích tốn đơn giản để chọn kiểu cấu trúc điều khiển phù hợp thao tác
- Biết diễn đạt câu lệnh, soạn chương trình giải toán đơn giản áp dụng loại cấu trúc điều khiển nêu
- Tiếp tục xây dựng lòng ham thích giải tốn lập trình MTĐT II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG I Kiểm tra cũ
Kiểm tra dạy II Bài mới. 43’
Kiểm tra chuẩn bị học sinh
Gọi học sinh yếu lên bảng ? Cú pháp lệnh Repeat until?
Bài :
Viết chương trình nhập vào số thực xuất hình trị tuyệt đối số số nhập số (Sử dụng vòng lặp Repeat - Until)
Giải :
Program bai1; Var a:real; Begin repeat
Writeln(‘nhap vao a’); readln(a);
(48)Gọi học sinh trung bình lên bảng Tiếp tục đưa tập cho học sinh giỏi làm
? Giữa lệnh While lệnh Repeat có giống khác nhau?
Gọi học sinh giỏi lên bảng
GV hướng dẫn học sinh làm Để tìm số thoả mãn điều kiện ta thấy a khơng thể = cho vịng lặp chạy đưa
Readln; End
Bài 2: Viết chương trình thực nhiều lần cơng việc sau nhập vào số nguyên kiểm tra xem số số chẵn hay số lẻ, gặp số dừng lại
Giải
Program bai2 ; Var a : integer; Begin
Repeat writeln(‘nhap vao a’); readln(a); If (a mod = ) then
Writeln(‘a so chan’); Else writeln(‘a la so le’); Until a = 0;
Readln; End
Bài 3: Tìm số có chữ số thoả mãn u cầu sau: Số tổng luỹ thừa bậc chữ số Giải:
Program tim_so1; Var a, b, c, d: byte; H : integer; Begin
Writeln(‘các so thoa man dieu kien la:’); a:= 1; repeat
(49)ra điều kiện
h: = sqr(sqr(a)) + sqr(sqr(b)) + sqr(sqr(c))
+ sqr(sqr(d)) ;
If 1000*a + 100*b +10*c +d = h Thì thoả mãn số cần tìm tốn
d:= 0; repeat begin
h: = sqr(sqr(a)) + sqr(sqr(b)) + sqr(sqr(c)) + sqr(sqr(d)) ;
If 1000*a + 100*b +10*c +d = h then Writeln (a:1, b:1, c:1,d:1);
End;
d:= d +1; Until d = 10; c:= c + 1; until c = 10; b:= b + 1; until b = 10; a:= a +1; until a = 10; readln;
end
C CỦNG CỐ 2p
- Nguyên tắc, cú pháp hoạt động lệnh Repeat – Until
- Sự giống khác lệnh lặp với số vịng lặp khơng xác định - Áp dụng để giải toán đơn giản tài kiệu
Ngày soạn: 5/11 Ngày giảng: /
11
Tiết 20 THỰC HÀNH *
(50)I Yêu cầu:
- Vận dụng lý thuyết học để giải toán
- Diễn đạt câu lệnh, soạn chương trình cho chạy máy - Tiếp tục xây dựng lịng ham thích giải tốn lập trình máy tính II Chuẩn bị
- Thầy: SGK, Giáo án, sách tập, TLTK, PTH - Trò: Vở ghi, tập, kiến thức học
B NỘI DUNG
I.Ổn định tổ chức Kiểm tra cũ: 5p' Kiểm tra học
II Bài mới. 35’
Cho chạy tập chữa
Sửa lỗi cho học sinh,
Ra tập cho học
Cho chạy tập pi_a_no Giải
Program pi_a_no; uses crt;
var n:char; begin clrscr ;
writeln('a= do, s = re, d = mi, f = fa, g= son, h = la, j =xi'); writeln('p= lang, o= ngat chương trinh');
writeln('moi ban chơi bai nhac ma ban ua thich'); repeat
n:= readkey;
(51)sinh làm
Đánh giá làm cuả học sinh
quản lý trật tự phòng máy
Ghi tập chạy vào đặt tên file tên cuả học sinh Và ghi vào đĩa mềm (nếu có)
until n ='o'; nosound; end
hãy thực chương trình chơi nhạc với phím
A, S, D, F, G, H, J, P, O
Bài 2: Viết chương trình thực nhiều lần cơng việc sau nhập vào số nguyên kiểm tra xem số số chẵn hay số lẻ, gặp số dừng lại Giải
Program bai2 ; Var a : integer; Begin
Repeat writeln(‘nhap vao a’); readln(a); If (a mod = ) then
Writeln(‘a so chan’); Else writeln(‘a la so le’); Until a = 0;
Readln; End
Bài 3: Tìm số có chữ số thoả mãn yêu cầu sau: Số tổng luỹ thừa bậc chữ số
Giải:
(52)Chữa lỗi hướng dẫn học sinh thực hành
Nhận xét q trình thực hành nhóm thực hành
Writeln(‘các so thoa man dieu kien la:’); a:= 1; repeat
b:= 0; repeat c:= 0; repeat d:= 0; repeat begin
h: = sqr(sqr(a)) + sqr(sqr(b)) + sqr(sqr(c)) + sqr(sqr(d)) ;
If 1000*a + 100*b +10*c +d = h then Writeln (a:1, b:1, c:1,d:1);
End;
d:= d +1; Until d = 10; c:= c + 1; until c = 10; b:= b + 1; until b = 10; a:= a +1; until a = 10; readln;
end
C KIỂM TRA CÁC THIẾT BỊ PHÒNG MÁY 5'
Ngày soạn:12/ 11 Ngày giảng:14/11
Tiết 21 ÔN TẬP *
A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
(53)- Vận dụng lý thuyết vào giải tập theo tính chất bậc thang - Có kỹ lập trình tốn đơn giản cách thành thạo - Khái quát hoá vấn đề, tìm mấu chốt vấn đề
- Tiếp tục xây dựng tác phong nhanh nhẹn thành thục MT II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG I Kiểm tra cũ
Kiểm tra dạy II Bài mới. 40’
Gọi học sinh trung bình yếu lên bảng
Nhận xét đánh giá làm học sinh
Bài 1:
Các cách khai báo sau khai báo sai sai? a xy : integer; d x : y : integer;
b x_y : integer; e x; y; integer; c x y : integer; f x,y integer; g x,y : char;
Các cách biểu diễn phép toán fép sai? a,
3 2y x
; b, x + 2*y / 3; c, (x + 2y) / ; d, (x + 2*y)/ 3; biểu thức
3 ) (x y
Bài 2:
Câu lệnh sau sai? Vì sao? If (a > 0) then; x := 6;
If (a > 0) then x := x + 2; else While (a = 0); đo x := x + 2; Bài3:
Cho biết đoạn chương trình đưa hình dịng thơng báo nhập vào
(54)Viết dịng thích tương ứng với dịng lệnh để giải thích câu lệnh
Nhận xét đánh giá làm học sinh
Củng cố lại kiến thức
var m, n : Integer; h : Real; Begin
writeln ('nhap vao n'); Readln (n); m:= 1; h:= 0;
Repeat
h:= h + 1/m; m:= m + 1; Until m = 0;
writeln ('tong den', n: 4', la:', h:8:2); End
Bài4 :
Em viết dịng thơng báo dịng lệnh đoạ chương trình trên:
Bài5:
Viết chương trình nhập vào số nguyên đưa hình dịng thơng báo xem số có chia hết cho hay ko?
C CỦNG CỐ: 5'
- Ôn lại kiến thức lý thuyết, cú pháp câu lệnh - Ôn phương pháp lập trình tốn đơn giản
Ngày soạn: / Ngày giảng:
Tiết 22 KIỂM TRA TIẾT *
A CHUẨN BỊ
I Yêu cầu: Giúp học sinh :
- Hệ thống lại kiến thức, kỹ môn học - Đánh giá kết học tập học sinh chương
(55)- Thầy: Đề kiểm tra - Trò: Kiến thức học
ĐỀ KIỂM TRA TIẾT Lớp 11
Thời gian: 45' Họ tên học sinh:……
Câu 1:<2 điểm> Đánh dấu vào câu trả lời mà em cho <2điểm> Các cách khai báo sau khai báo
A x,y:integer B delta:real C N:Byte D Cả câu
Câu 2:<2 điểm>Trong cách khai báo sau khai báo để biểu diễn phép tính (2x - 5) + 3 8
y
A 2*x - +6/3*y -8 B 2*x - +6/3*y -8 C 2*x - +6/(3*y - 8) D (2*x - +6)/(3*y - 8) Câu 3:<3điểm> Hãy chỗ sai đoạn chương trình sau:
Begin ………
Writeln('nhap vao a, b, c'); readln(a,b,c); ……… If (a<0) or (b<0) or(c<0) or (a +b <c) or (b+c<a) or (c+a<b); ………
Then ………
Writeln('khong la canh cua tam giac'); ………
Else; ………
(56)If (sqr(a) = sqr(b) + sqr(c)) then ……… Writeln ('la tam giac vuong') ………
Else ………
Writeln('la tam giac thương'); ……… End;
* Nếu chương trình nhập vào 3, 4, hình đưa gì?
……… ……… ………
Câu 4: <3 điểm> Viết chương trình thực nhiều lần công việc sau
- Nhập vào số nguyên, kiểm tra xem số có chia hết cho hay không? Cho đến gặp số dừng lại
<Học sinh không sử dụng tài liệu>
Ngày soạn: Ngày giảng: 21/11
CHƯƠNG I:
NGÔN NGỮ LẬP TRÌNH PASCAL CƠ SỞ
Tiết 23 &9 LẶP VỚI SỐ LẦN LẶP BIẾT TRƯỚC *
A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
(57)- Có thể kết hợp lệnh lặp có số vịng lặp biết trước số vịng lặp khơng xác định
- Ứng dụng để giải toán lặp lặp lại nhiều lần - Có khả phân tích toán, sử dụng lệnh phù hợp
- Xây dựng ham mê máy tính với mơn tin nói chung II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG I Kiểm tra cũ
Kiểm tra dạy
II Bài mới. 38’
Ví dụ thực tế
So sánh vịng lặp xác định vịng lặp khơng xác định
Trước lần lặp giá trị biến điều khiển kiểm tra
- Có chế độ điều khiển: chế độ tiến chế độ lùi Mỗi thực câu lệnh FOR, giá trị biến điều khiển "tăng" bước chế độ tiến "giảm" bước chế độ lùi Như biến điều khiển đóng vai trị biến đếm
I.Câu lệnh lặp có số vịng lặp biết trước
- Câu lệnh FOR điều khiển thực lặp câu lệnh theo biến điều khiển Biến điều khiển khởi tạo giá trị khởi đầu gọi cận đầu bị giới hạn giá trị khác gọi cận cuối - Câu lệnh FOR thực giá trị biến điều khiển nằm giới hạn cận
- Cú pháp:
* Với trường hợp tiến:
FOR biến đếm:= cận đầu TO cận cuối DO câu lệnh * Với trường hợp lùi:
FOR biến đếm:= cận đầu DOWNTO cận cuối DO câu lệnh
Trong đó:
+ Biến đếm tên gọi biến có giá trị thuộc đoạn số liên tục kiểu nguyên
(58)? Tại lại gọi biến đếm?
Ở ta thấy ta đưa vào số thứ i tức có i số khơng giới hạn i
? Em cho biêt đoạn chương trình có ngun tắc hoạt động nào?
Lúc sau lần lặp giá trị vòng For tăng lên đơn vị
? Hãy giải thích câu lệnh đoạn chương trình trên?
+ Các từ FOR TO DOWNTO DO từ khố II.Ví dụ:
Ví dụ 1:
Cần đưa vào máy 10 số tính tổng chúng Giải
Program tong; var i:integer; s,a:real; begin
s:= 0;
for i:=1 to 10 begin
write('đưa vao so thư', i:3); readln(a); s:= s + a;
end;
writeln('tong la:',s:8:2); readln;
end Ví dụ 2
Tìm số nguyên tố nhỏ số cho trước MAX
Giải:
Program nguyen_to; const max= 1000 var i,j n, m:integer; begin
write (' ',1:4, 2:4,3:4);(*3 số ngtố đầu tiên*) j:=3;
for n:=5 to max begin
(59)Ghi dịng thích vào câu lệnh để người sử dụng hiểu chương trình!
i:= i +6;
until (n mod i = 0) or (n mod (i +2) = 0) or (i*i > n); if i*i > n then
begin
if j mod 10 = then begin
writeln; write(' '); end; j:= j +1; write (n:4);
end; end; end; writeln; end C CỦNG CỐ VÀ LÀM BÀI TẬP 7’
- Cú pháp cách sử dụng vòng FOR
Bài Viết chương trình hình * *** ***** ******* ********* ***********
Bài 2: Trăm trâu trăm cỏ, trâu đứng ăn trâu nằm ăn lụ khụ trâu già bó hỏi loại ?
(60)Ngày soạn: /1 Ngày giảng: /1
CHƯƠNG I:
NGƠN NGỮ LẬP TRÌNH PASCAL CƠ SỞ Tiết 24 & BÀI TẬP *
A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Biết sử dụng câu lệnh thực lặp với số lần lặp biết trước For - Hình thành kĩ lập trình có cấu trúc lặp
- Có khả phân tích tốn đơn giản để chọn kiểu cấu trúc điều khiển phù hợp thao tác
- Biết diễn đạt câu lệnh, soạn chương trình giải tốn đơn giản áp dụng loại cấu trúc điều khiển nêu
- Tiếp tục xây dựng lịng ham thích giải tốn lập trình MTĐT II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG I Kiểm tra cũ
Kiểm tra dạy II Bài mới. 40’
Kiểm tra chuẩn bị học sinh
? Cú pháp lệnh For, có dạng?
Bài 1:
Tìm tất số có ba chữ số: abc cho tổng lập phương chữ số số
abc = 100a + 10b + c = a3 + b3 + c3 Hướng dẫn:
Var a, b, c : Integer; begin
(61)Gọi học sinh lên bảng
Nhận xét đánh giá làm học sinh
Viết dòng thích tương ứng với dịng lệnh để giải thích câu lệnh
Bài 3:
Nhập N số bất kỳ; đếm số lớn 10 nhỏ 20 tính tổng chúng
var tongso : Real; I, N, dem : Integer; Begin
Write('co bao nhieu so'); Readln ('N');
b := to c := to
If a * a * a + b * b * b + c * c * c = 100 * a + 10 * b + c then
writeln (a, b, c); End
Bài 2:
Tính giai thừa N! N! = N = N! = 1.2…N N >
Giải Var N, i, gt : Integer; Begin
write ('giai thua cua N = '); Readln (N); gt := 1;
If N < then
writeln ('khong duoc vi N < 0') else
begin
If N > then
For i := to gt := gt * i; writeln (' N,' ! = ', gt); end;
End
(Chương trình tính đến kiểu integer đến 32767 hết)
(62)Tong := 0; Dem := ); For i := to N Begin
Write ('so ='); Readln (so); If (so >10) and (so <20) then Begin
Tong := tong + so; Dem := dem + 1; End;
End;
Writeln ('so cac so > 10 va < 20 la:', Dem);
Writeln ('tong cua chung la :', tong); END
Gọi học sinh lên bảng chữa tập
Nhận xét đánh giá làm học sinh
Bài 4: Đưa bậc số chẵn từ đến 50
HD
Vòng lặp For chạy từ đến 50 số chia hết cho đưa cịn ko đưa tb “là số lẻ”
C CỦNG CỐ: 5'
- Ôn lại kiến thức lý thuyết, cú pháp câu lệnh - Ơn phương pháp lập trình tốn đơn giản
Ngày soạn: 26/11 Ngày giảng:28/11
(63)* A CHUẨN BỊ
I Yêu cầu:
- Vận dụng lý thuyết học để giải toán
- Diễn đạt câu lệnh, soạn chương trình cho chạy máy - Tiếp tục xây dựng lòng ham thích giải tốn lập trình máy tính II Chuẩn bị
- Thầy: SGK, Giáo án, sách tập, TLTK, PTH - Trò: Vở ghi, tập, kiến thức học
B NỘI DUNG
I.Ổn định tổ chức Kiểm tra cũ: 5p' Kiểm tra học
II Bài mới. 35p
Chia học sinh thành nhóm
? Cú pháp lệnh For, có dạng?
Quản lý phịng máy
Chữa lỗi cho học sinh Bài 3:
Nhập N số bất kỳ; đếm số lớn 10 nhỏ 20 tính tổng chúng
Bài 1:
Tìm tất số có ba chữ số: abc cho tổng lập phương chữ số số
abc = 100a + 10b + c = a3 + b3 + c3 Hướng dẫn:
Var a, b, c : Integer; begin
for a := to b := to c := to
If a * a * a + b * b * b + c * c * c = 100 * a + 10 * b + c then
writeln (a, b, c); End
Bài 2:
Tính giai thừa N! N! = N = N! = 1.2…N N >
(64)var tongso : Real; I, N, dem : Integer; Begin
Write('co bao nhieu so'); Readln ('N');
Tong := 0; Dem := ); For i := to N Begin
Write ('so ='); Readln (so); If (so >10) and (so <20) then Begin
Tong := tong + so; Dem := dem + 1; End;
End;
Writeln ('so cac so > 10 va < 20 la:', Dem);
Writeln ('tong cua chung la :', tong);
END
Các chạy ghi vào máy ghi vào đĩa
Nhận xét đánh giá trình thực hành nhóm
Var N, i, gt : Integer; Begin
write ('giai thua cua N = '); Readln (N); gt := 1;
If N < then
writeln ('khong duoc vi N < 0') else
begin
If N > then
For i := to gt := gt * i; writeln (' N,' ! = ', gt); end;
End
(Chương trình tính đến cung kiểu integer đến 32767 hết)
(Có thể dùng Longint khai báo gt := Longint;)
Bài 4: Đưa bậc số chẵn từ đến 50
HD
Vòng lặp For chạy từ đến 50 số chia hết cho đưa cịn ko đưa tb “là số lẻ”
C KIỂM TRA PHÒNG MÁY, CÁC THIẾT BỊ 5p
Ngày soạn: Ngày giảng:
CHƯƠNG I:
(65)Tiết 26 &9 MẢNG * A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Nắm cú pháp cấu trúc lặp với vịng lặp xác định
- Có thể kết hợp lệnh lặp có số vịng lặp biết trước số vịng lặp khơng xác định
- Ứng dụng để giải toán lặp lặp lại nhiều lần - Có khả phân tích toán, sử dụng lệnh phù hợp
- Xây dựng ham mê máy tính với mơn tin nói chung II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG I Kiểm tra cũ
Kiểm tra dạy
II Bài mới. 38’
Muốn khai báo số lượng lớn bién có kiểu liệu ta phải khai báo số biến tương ứng Như vất vả Vậy phải tìm cách để khai báo nhiều biến kiểu liệu => Mảng đời
Mảng kiểu có cấu trúc đề cập đến sớm ngơn ngữ lập trình
Vd vectơ nhóm số mà số ta xác định cần biết số Ví dụ khai báo mảng chiều có 100 phần tử, phần tử có kiểu ngun khai báo sau :
I. Khai báo mảng
*Mảng dùng để định nhóm đối tượng có tính chất
*Có cách khai báo mảng
+> Khai báo thông qua khai báo kiểu Cú pháp :
Type
(66)+ Cách 1: Type
Mang=array[1 100] of integer ; Var
A : mảng ; + Cách : Var
A :array[1 100] of integer ;
Ví dụ : Truy nhập vào phần tử thứ i mảng chiều ta viết sau : a[i] Các xử lý thường gặp
- Nhập mảng đưa phần tử mảng hình
- Tìm kiếm phần tử thoả mãn u cầu tốn
- Tìm phần tử lớn nhất, bé - Tính tốn phần tử
HD :
? Điều kiện để nhập n vào khoảng (0<n<=10) sử dụng lệnh ?
? Vì lập trình đọc vào dãy số nguyên công việc nhập diễn lần ?
? Để tính tổng chẵn cần phải
kiểu_thành_phần ; Var
Tên_biến_mảng : Tên_kiểu ; +> Khai báo trực tiếp
Cú pháp : Var
Tên_biến_mảng :Array[miền_chỉ_số, ] of Kiểu_phần_tử ;
* Truy nhập đến phần tử mảng ta dùng cú pháp sau :
Tên_biến_mảng[gias_trị_chỉ_số, ] ; Trong giá trị số giá trị cụ thể miền_chỉ_số
II Bài tập
Bài 1 : Lập trình đọc vào dãy số nguyên gồm n (0<n<=10) phần tử từ bàn fím Tính Trung bình cộng số chẵn, tính tổng chẵn Đưa dãy vừa nhập hình
Giải :
Var a :array[1 10] of integer ; Tc,demc,i,n :integer ;
TBCC :real ; Begin
Repeat
Writeln(‘mơi ban nhap vao gia tri cua n :’) ; Readln(n) ;
(67)đếm phần tử chẵn ?
? Kiểm tra số số chẵn hay số lẻ làm ?
? TBCC = ?
? Vậy cần khai báo ? ? Tương tự tính tổng lẻ trung bình cộng số lẻ ?
?Để tìm số lớn dãy ta làm ?
Gán giá trị lớn cho phần tử mảng, sau đem phần tử đem so sánh Nếu số lớn gán số lớn hết mảng a[1] := max ;
for i := to n đo if a[i] > max them max := a[i] ;
Writeln(‘moi nhap lai’) ; Until (n>0) and (n<=10) ; For i := to n
Write(‘a[‘,i,’] = ‘) ; readln(a[i]) ; End ;
Tc := ; demc := ; For i := to n If a[i] mod = them Begin
Tc := tc + a[i] ; đemc := demc + ; tbcc := tc/demc ;
writeln(‘tong cac so chan la :’, tc) ; writeln(‘Trung binh cong cac so chan la :’,tbcc) ;
write(‘dua day vua nhap man hinh’) ; for i := to n
write(a[i] :5) ; writeln ; readln ; end ; end C CỦNG CỐ VÀ HƯỚNG DẪN HỌC BÀI
- Kiến thức cần nắm :
+ Cách khai báo mảng chiều, thao tác Bài tập nhà :
Viết chương trình : cho mảng a[1 ;;12] phần tử số thực, tìm cac phần tử (+) mảng
(68)Ngày soạn: Ngày giảng: CHƯƠNG I:
NGƠN NGỮ LẬP TRÌNH PASCAL CƠ SỞ Tiết 27 & BÀI TẬP
* A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Nắm số tập liên quan đến tiết lý thuyết
- Nắm kỹ cách nhận biết thành phần khai báo kiểu mảng chiều, nhận biết đích danh phần tử xuất chương trình
- Có khả phân tích tốn, sử dụng lệnh phù hợp
- Xây dựng ham mê máy tính với mơn tin nói chung II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG I Kiểm tra cũ
? Nếu khai báo sau hay sai, sao? Array of[1 100] of integer;
- Sai, OF II B i m i.à ớ
? khai báo mảng sử dụng ,cần lưu ý vấn đề ?
Với BT ta cần khai báo mảng ntn có cần khai báo thêm biến khác không
Bài 1
Cho mảng A[1 12 ] mà phân tử số thực
a,Tìm số phần tử dương mảng b, Tìm TBC phần tử dương mảng
LT Var
(69)nhập vào phần tử mảng ? Tìm số phần tử ( + ) mảng ?
? tìm tbc số dương ?
? Với BT ta cần khai báo biến ?
? gọi học sinh lên viết cách khai báo mảng biến liên quan
Tg ,S , tb ,Real ; Begin
Write ( nhap vao dai cua mang ?) Readln ( n)
For i=1 to n Begin
Write (‘a[‘, i,’ ] =’ ) Readln (a[i])
End ;
Tg :=0 ; TB := , For i=1 to n If ( a[i ] > ) then Bg Writen (a [i]) ; Tg : =tg + a [i] ; End ;
Tb : = tb/n
Writeln (‘TB số dương ’,tb ) Readln
End Bài
Nhập số tự nhiên n dãy số thực - tìm số lớn nhỏ dãy -Đếm dãy có số dương, số âm?
Var
Mang : array [1 100 ] of real ; X : mang ; i, n : integer ;
Max , : real ; sd,Sar Integer Begin
(70)? để tìm số lớn nhỏ ta cần phải gắn giá trị ban đầu :
max : =a[1] :=a [1]
? Sau tìm số dương ta cần phải đếm số dương âm
Readln ( n)
For i= to n Begin
Write (‘x [‘,i, ’ ]= ’) Readln (x[i] ) End
Max :=x [1], : = x[1] Sd := ; Sa :=0
For i :=1 to n Begin
If x[i] <0 then Sa : =Sa+1 Else Sd :=Sd +1
If max <a[1] then max :=x [i] if >a[1] then :=[i] end
Writeln (‘ max=’, max,’min =’,min) Writeln(‘Sd=’, Sd,’ Sa=’ ,Sa ) Readln,
end
C HƯỚNG DẪN HỌC SINH HỌC BÀI VÀ LÀM BÀI TẬP (2‘)
BT :Nhập dãy số nguyên x1,x2 , … ,xn in riêng số chẵn số lẻ , loại dòng
(71)Tiết 28 & THỰC HÀNH A.PHẦN CHUẨN BỊ
I.Yêu cầu
-Nhằm cung cấp cho học sinh thuật toán săp xếp , học sinh biết thuật tốn tìm phần tử lớn mảng có kĩ diễn đạt thuật tốn chương trình Rèn luyện cho học sinh kỹ lập trình với kiểu liệu mảng biết đích danh phần tử xuất chương trình
-Rèn luyện cho học sinh kĩ lập trình với kiểu dl mảng II Chuẩn bị
Phần thầy: Đồ dùng + trang thiết bị
Phần trò: Kiến thức học + ghi + tập B PHẦN THỂ HIỆN KHI LÊN LỚP
I Kiểm tra cũ Xen lẫn
II Bài mới:
Giáo viên kiểm tra đồ dùng dạy học gồm máy hoạt động, máy không hoạt động
Học sinh thực hành tập làm Nâng cao kĩ sử dụng số câu lệnh số kiểu liệu
Tương tự trước tính tổng bình phương số dương
In đảo ngược VD
1,8 3,8 in 8,3 , 5,1 Để xếp dãy tăng dần For i : = to n –
Giải toán làm tiết tập làm thêm số tập sau Bài 1
Viết chương trình tính tổng bình phương số âm mảng
Prorgram Var tg,i : integer
MT :array[1…N] of integer Begin
For i :=1 to n Begin
Write ( ‘ Nhập MT[ ‘, i,’ ] = ’ ) Readln ( MT (i ) ) ;
End Tg :=0
(72)for j:= i+1 to n if X[i] > X[j] then begin
tg := X[i]; X[i] := X[j]; X[j] := tg ; end;
quản lý trật tự phòng máy
Làm thêm số tập
Viết chương trình nhập vào mảng số nguyên n với n (1 50) Tìm phần tử chẵn, tính tổng phần tử chẵn đưa hình
Gợi ý :
? Các phần tử mảng chẵn nào? ? Chúng biểu diễn ?
? tìm số chẵn tổng chẵn chúng tăng lên ?
Tổng kết nhóm thực hành, nhận xét đánh giá trình thực hành
If MT [i] <0 then Tg :=tg + Sqr (MT[1] ) Writeln (‘ tong =’ , tg) Readln
End Bài 2
Nhập dãy số x1 , x2 … xn -In đảo ngược dãy
-sắp xếp dãy tăng dần LT
Var
X :array[1…100] of integer I,n.j,tg : integer
Begin
write(‘nhap phan tư mang’) ; readln (n); for i:= to n
begin
write (‘ X[‘, i ,’] = ’) ; end;
for i:= n dowto write (X [i] ); readln ; end
C HƯỚNG DẪN HỌC SINH HỌC BÀI VÀ LÀM BÀI TẬP 2p
Bài tập : Nhập dãy số nguyên X1, X2 Xn in riêng số chẵn số lẻ loại dòng
Ngày soạn: Ngày giảng:
CHƯƠNG I:
(73)Tiết 29 &10 XÂU * A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Nắm cách khai báo kiểu liệu xâu khai báo kiểu xâu càn xác định tối đa độ dài xâu
- Có kỹ khai báo kiểu xâu, cách so sánh xâu II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG
I Kiểm tra cũ Xen lẫn học II Bài mới
Ta hình dung xâu mảng chiều kiểu mảng chiều với phần tử thuộc kiểu Char khác với kiểu xâu
? Trong mơ tả xâu bỏ qua phần khai báo độ dài
Var Name : String; Ví dụ:
Var Name : String[26] ; Var Name : String;
Tham chiếu tới phần tử xâu xác định tên xâu số đặt cặp [ ]
1.Khai báo kiểu xâu liệu
Khái niệm: Xâu dãy ký tự bảng mã ASC II Số lượng ký tự xâu gọi độ dãi xâu
Xâu có độ dài = xâu rỗng
+ Để khai báo kiểu liệu xâu, TP sử dụng tên dành riêng STRING tiếp đến độ dài xâu không 255 ký tự đặt [ ]
Cách khai báo
Var <Tên biến> : String [độ dài xâu]
(74)VD : ‘Ha’ + ‘Nơi’ = ‘HaNơi’
- Có thể thực ghép xâu với biến biến xâu
? Nếu Sử dụng ghép xâu sau có coi hợp lý ?
‘76’ + ‘Nguyễn Quốc’
? Khi xâu coi nhau?
VD : Cho xâu st: ‘a b c d e f’ Delete(st,4,2) = ‘ a b c f’ ? Lấy ví dụ !
? Nếu muốn làm ta cần xác định xem có tất cơng việc ? ? Có cần khai báo biến đếm ko ?
? Sử dụng hàm để tính độ dài xâu?
* Với liệu kiểu xâu thực phép toán ghép xâu phép toán quan hệ
- Phép ghép xâu ký hiệu (+) sử dụng ghép nhiều xâu thành xâu
- Các phép so sánh : = < >, < , > >=, <= thực việc so sánh xâu có thứ tự ưu tiên thực thấp phép xâu
3 Các thủ tục hàm thông dụng - Thủ tục DELETE(st,vt,n) : Thực việc xoá n ký tự xấut vị trí VT
- Thủ tục Insert(s1,s2,vt) : Chèn xâu s1 vào xâu s2 bắt đầu vị trí vt
- Hàm Copy(s,vt,n) : Tạo xâu gồm n ký tự liên tiếp vị trí vt xâu s - Hàm length(s) : Cho giá trị có độ dài xâu s
- Hàm UPCASE (ch) cho chữ viết hoa ứng với chữ ch
4 Ví dụ
(75)? Em nêu cơng việc chương trình thông qua câu lệnh ?
? Để đưa số câu vừa nhập hình ta làm nào?
? Em có so sánh với kiểu mảng ?
Var Name : string[30]; đêm, l, i , n :integer ; Begin
write(‘Nhap vào xâu ky tự’) ; Readln(Name);
l := length(name); dem := 0; for i:= to n
đem := đem + ; writeln ;
writeln(‘cau vưa nhap la’, name) ;
writeln(‘So lương cau vua nhap la : ’, đem) ;
readln; end C CỦNG CỐ VÀ LÀM BÀI TẬP 5p Kiến thức cần nắm :
- Cách khai báo kiểu xâu - Một số hàm thủ tục
Vận dụng vào làm tập
1 Lập trình đọc vào xâu (ít 30 ký tự) Đổi xâu chữ hoa đưa hình
2 Lập trình vào xâu từ bàn phím (ít 30 ký tự) kiểm tra xem xâu có xâu chuẩn hay không ? biết xâu chuẩn xâu đầu cuối xâu khơng có cách HD :
1 Sử dụng hàm đổi chữ thường thành chữ hoa UPCASE
2 Nếu (Cau[1] = ‘ ’ ) (Cau[ l ] = ‘ ’) không câu chuẩn
Ngày soạn: Ngày giảng:
CHƯƠNG I:
(76)* A CHUẨN BỊ
I Yêu cầu: Giúp Học sinh:
- Củng cố lại kiến thức xâu cho học sinh Nắm cách khai báo kiểu liệu xâu, qua học sinh làm số tập có liên quan
- Có kỹ khai báo kiểu xâu, cách so sánh xâu
- Vận dụng kiến thức học để giải toán phức tạp II Chuẩn bị
- Thầy: SGK, Giáo án, sách tham khảo - Trò: Vở ghi, tập
B NỘI DUNG
I Kiểm tra cũ
? Những khai báo sau khai báo sai? sao? a Xau:string[276]; Sai [276] b Type xau= string;
c Type ten: String[25]; Var hoten: ten;
II Bài mới
? Hàm độ dài xâu hàm ?
Kiểm tra tập học sinh
? Để so sánh chiều dài xâu ta sử dụng lệnh nào?
Bài 1
Nhập họ tên người vào biến xâu đưa hình xâu dài hơn, đưa xâu nhập sau:
Var a, b: String; Begin
Write (‘Nhap xau ho ten thu nhat:’) ; Readln(a);
write(‘ Nhap xau ho ten thu :’) ; Readln(b ) ;
If length (a) > length(b) then write(a); else
(77)VD : st = ‘a b c d ’ in st = ‘d c b a’
Gọi học sinh lên bảng chữa tập nhà Đánh giá cho điểm
Chữa tập nhà
Chuẩn bị kiến thức nội dung cho tiết thực hành
End Bài :
Nhập chuỗi St, in chuỗi st theo thứ tự đảo ngược
Var i : integer ; st: string; begin
Write(‘Nhap vao day’) ; readln(st); for i:= length(st) downto
write(st[i]) ; Readln ; End C CỦNG CỐ VÀ BÀI TẬP VỀ NHÀ 5p Bài tập nhà:
- Chuẩn bị nội dung cho tiết thực hành Làm tập:
Lập trình nhập vào hồ sơ học sinh theo mẫu sau: Họ Tên (Ko 30 ký tự)
Năm sinh (Từ năm 1986 đến 1996) Điểm (0 - 30)
Nếu nhập sai thông báo nhập lại:
- Nhập điểm học sinh Điểm < 15 xuất dịng thơng báo “Thí sinh khơng qua khỏi kỳ thi”
- Nếu năm sinh <1986 > 1996 có thơng báo “Khơng phù hợp u cầu nhập lại” Ngày soạn ngày giảng
(78)I.Yêu cầu
-Nhằm cung cấp cho học sinh thao tác máy tính với kiểu liệu xâu thơng qua số tập khắc sâu số hàm đặc biệt xâu
- Tổ chức hoạt động phịng máy để học sinh có kỹ làm việc với kiểu xâu lập trình
- Sử dụng hàm , thủ tục chuẩn học - Thao tác xác, dứt khoát
II Chuẩn bị
Phần thầy: Đồ dùng + trang thiết bị
Phần trò: Kiến thức học + ghi + tập B PHẦN THỂ HIỆN KHI LÊN LỚP
I Kiểm tra cũ Xen lẫn
II. Bài mới:
Giáo viên kiểm tra đồ dùng dạy học gồm máy móc thiết bị
Vào chương trình Turbo Pascal Chia họ sinh thực hành theo ca
Học sinh thực hành tập làm Nâng cao kĩ sử dụng số câu lệnh số kiểu liệu
quản lý trật tự phòng máy
? Muốn khai báo xâu họ tên ta khai báo nào?
Giải toán làm tiết tập làm thêm số tập sau Bài 1
Nhập chuỗi St, in chuỗi st theo thứ tự đảo ngược
Var i : integer ; st: string; begin
Write(‘Nhap vao day’) ; readln(st); for i:= length(st) downto
write(st[i]) ; Readln ; End Bài 2
(79)?Khai báo điểm khai báo năm sinh khai báo giống Họ tên khơng? ? Để cho Năm sinh từ 1986 – 1996 cần điều kiện gì?
Tương tự Điểm
Gọi học sinh giỏi lên chạy thử tập Chữa lỗi cho học sinh
Quán lý phòng máy
Tổng kết nhóm thực hành, nhận xét đánh giá trình thực hành
Bài 3
Nhập họ tên người vào biến xâu đưa hình xâu dài hơn, đưa xâu nhập sau:
Var a, b: String; Begin
Write (‘Nhap xau ho ten thu nhat:’) ; Readln(a);
write(‘ Nhap xau ho ten thu :’) ; Readln(b ) ;
If length (a) > length(b) then write(a); else
write(b) ; Readln ; End
C KIỂM TRA PHÒNG MÁY 5p
Ngày soạn Ngày giảng
(80)I.Yêu cầu
-Củng cố toàn kiến thứcđã học từ đầu năm đến bây giờ, nắm trọng tâm chương
- Rèn kỹ thi trắc nghiệm giải toán - Sử dụng hàm , thủ tục chuẩn học
- Thao tác xác, dứt khốt II Chuẩn bị
Phần thầy: Giáo án+ TLTK
Phần trò: Kiến thức học + ghi + tập B PHẦN THỂ HIỆN KHI LÊN LỚP
I Kiểm tra cũ Xen lẫn
II.Bài mới:
? Trong phần nêu phần bắt buộc phải có chương trình Pascal ?
Phần thân cương trình khoá Begin kết thúc băng từ khoá End
? Em khai báo biến với kiểu nguyên ?
? Nêu phạm vi sử dụng kiểu liệu ?
? Các phép tính kiểu liệu ?
1 Chương trình Pascal * Gồm phần
- Phần tiêu đề - Phần khai báo
- Phần thân chương trính * Phần khai báo
- Khai báo
CONST Tên = giá trị ; - Khai báo biến
Var Tên biến : Kiểu Dữ liệu ; 2 Kiểu liệu
(81)? Cú pháp lệnh ? cho ví dụ ? ? Cú pháp lệnh ? cho ví dụ ? ? Một số yêu cầu lệnh ? ? Cú pháp lệnh ? cho ví dụ ?
? Cú pháp lệnh ? cho ví dụ ? ? So sánh lệnh While lệnh Repeat ?
? Cú pháp lệnh ? cho ví dụ ?
? Cú pháp lệnh ? cho ví dụ ?
Làm số tập mảng xâu
- Dạng thiếu - Dạng đủ 4 Câu lệnh lặp * While do While <ĐK> Do Begin
<Câu lệnh> ; end ;
* Repeat Until
Repeat <Công việc> Until <Điều kiện> ; *For
- Vòng lặp tiến - Vòng lặp lùi 5 Mảng
- Cách khai báo - Cách nhập mảng
- Các tập có liên quan 6 Xâu
- Khai báo
- Các tập
C CỦNG CỐ 3p
- Hệ thống toàn kiến thức học kỳ 1và làm tập ĐỀ KIỂM TRA HỌC KỲ I
(82)Câu1<2điểm>
a Muốn khai báo mảng chiều 100 phần tử kiểu số thực khai báo trực tiếp như nào?
b Khai báo xâu có độ dài 40 với tên xâu NAME khai báo trực tiếp thế nào?
Câu 2<3điểm> Cho đoạn chương trình: Program bai2;
Var a:array[1 10] of integer; TichC, n, i, demC :integer; Begin
Repeat
Writeln(‘ moi nhap so phan tu cua day:’); readln(a[i]); If (n<0) or (n>10) then
Writeln(‘moi nhap lai gia tri cua n cho: 0<n<=10’); Until (n>0) and (n<=10);
For i:= to n do Begin
Write(‘a[‘,i,’]=’); readln(a[i]); End;
DemC:= 0; tichC:=0; For i:= to n do If a[i] mod = then Begin
DemC:= demC + 1; TichC:= tichC*a[i]; End;
Writeln(‘day so vua nhap la:’); For i:= to n do
Write ( a[i]:5 ); writeln;
Writeln (‘tich cac so chan la:’,tichC); Readln;
End.
a, Đoạn chương trình thực cơng việc gì?
b, Cho n = với a[1] = 2; a[2] = 87; a[3] = hình xuất gì? Câu3<2điểm>Tìm lỗi đoạn chương trình sau:
Program baitap3. Var
(83)Begin
Writeln(‘moi ban nhap vao cau’); Readln(C); End.
Câu4<3điểm> Viết chương trình thực công việc sau:
(84)Ngày soạn Ngày giảng CHƯƠNG II : CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CSDL
Tiết 34 &1 BÀI TOÁN QUẢN LÝ
A PHẦN CHUẨN BỊ I.Yêu cầu : Giúp học sinh :
-Hiệu toán quản lý cần nắm chách thức quản lý ta làm ?
- Vào số toán quản lý cụ thể cho học sinh thấy được, từ cho học sinh rèn luyện ý thức học tập môn thái độ môn học
II Chuẩn bị
1.Phần thầy: Giáo án + TLTK
2.Phần trò: Kiến thức học + ghi + tập B PHẦN THỂ HIỆN KHI LÊN LỚP
I Kiểm tra cũ Ko Kiểm tra
II Bài mới:
Khi nhập học, Nhà trường lập hồ sơ học sinh Và đăng ký vào sổ theo số mục đó: Họ tên, ngày sinh, giới tính, Địa chỉ, tên cha, mẹ Trong sổ để cột để ghi kết học tập rèn luyện điểm mơn, xếp loại hạnh kiểm
Q trình học biến động hay nhầm lẫn đòi hỏi phải hiệu chỉnh lại hồ sơ Chẳng hạn phải sửa lại sai sót ghi tên, ngày sinh
Cơng việc hiệu chỉnh cần làm
1 Ví dụ
- Quản lý lĩnh vực phổ biến hạot động xã hội để làm rõ mục đích nội dung quản lý
(85)chính xác thường xuyên để đảm bảo phản ánh thực tế
VD:
Quản lý chi tiêu, khoản thu chi gia đình ghi chép lại hay khách sạn cần quản lý buồng cho thuê, dịch vụ khách thuê, tài chính, trang thiết bị
Trong xí nghiệp cần quản lý cơng nhân vật tư
Qua ví dụ ta thấy công việc quản lý phổ biến, nơi đâu có tổ chức
Tuỳ công việc quản lý nơi có đặc điểm riêng đối tượng quản lý kiểu khai thác có công việc giống nhau:
+ Hiệu chỉnh hồ sơ + Lọc,
+ Sắp xếp, + Thống kê
C CỦNG CỐ VÀ LÀM BÀI TẬP 2p
(86)Ngày soạn Ngày giảng
Tiết 35 &2 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU FOXPRO
A.CHUẨN BỊ
I.Yêu cầu: Giúp học sinh:
- Làm quen với ngơn ngữ lập trình hồn tồn mới, Ngơn ngữ quản trị sở liệu Từ có mối tương quan với ngơn ngữ lập trình tính tốn Pascal
- Nắm số nét hệ quản trị Foxpro, điều kiện để chạy Foxpro, cách khởi động, hình làm việc, cách soạn thảo văn
- Hình thành khái niệm quản lý, nguyên tắc quản lý:
II Chuẩn bị
1 Thầy: Giáo án, + TLTK
2 Trò: Vở ghi, kiến thức học B.NỘI DUNG
I. Kiểm tra cũ: ko II. B i m ià ớ
Kỳ I ta làm quen với ngơn ngữ lập trình tính tốn ngơn ngữ lập trình Pascal Kỳ ta làm quen với ngơn ngữ lập trình hoàn toàn hệ quản trị sở lỉệu
? Vậy hệ quản trị? ? Phiên gì?
Trong Pascal để chạy chương trình cần có tệp nào?
Giải thích khái niệm sở liệu Vậy quản trị sở liệu gì?
- Foxpro ngơn ngữ lập trình dùng cho tốn quản lý
- Là sản phẩm hãng Foxsoft ware qua nhiều lần cải tiến với 1.0, 2.0 có phiên chạy tới Window
- Fiên 5.0
- Để chạy Foxpro 2.6 cần có tệp Foxpro.exe Foxpro.ovl
- Về máy tính: AT – 386 trở lên có ổ cứng Khởi động Foxpro
- Để Foxpro khởi động hiệu tệp coffig.sys cần có lệnh
(87)Biểu tượng hình biểu tượng hình cáo
Ta kich đúp chuột vào biểu tượng chương trình hình chọn Yes
Màn hình làm việc có dạng
1: Bảng chọn 2: Cửa sổ lệnh 3: Màn hình
Vậy đánh lệnh vào cửa sổ lệnh kết lệnh hình
Ta sử dụng phím dịch chuyển để di chuyển trỏ Trong trình làm việc sử dụng chế độ chèn đè
Hướng dẫn thực hành:
Chuẩn bị phòng máy kiến thức
Files = 40
Sau khởi động mà hình làm việc Foxpro xuất gồm:
+ Dòng bảng chọn gồm mục File, System
- Góc phía phải cửa sổ lệnh:- Nhập lệnh cảu người sử dụng
- Phần hình nơi kết lệnh để soạn thảo văn
- Dịng sát hình dịng trạng thái Dùng để thơng báo trạng thái Foxpro
Soạn thảo văn Foxpro. Foxpro có chức soạn thảo văn mạnh, cho phép tạo tệp văn có kích thước lớn
- Sau soạn thảo văn ấn CTrl + W Ra khỏi Foxpro
Sử dụng lệnh Quit cửa sổ lệnh
C.CỦNG CỐ 5p
- Nắm cách khởi động Foxpro với Foxpro For Dos Fox for win - Các thành phần hình làm việc
Sys tem file edit Database
Comman dd
2 3
(88)Ngày soạn Ngày giảng
& THỰC HÀNH
A CHUẨN BỊ
I.Yêu cầu: Giúp học sinh:
- Nắm cách vào hệ quản trị sở liệu Foxpro - Học sinh làm quen thao tác trực tiếp phần mềm quản trị liệu, có so
sánh ngơn ngữ lập trình
- Thao tác máy thành thục dứt khoát
II Chuẩn bị
Thầy: Giáo án, + TLTK + Phòng thực hành Trò: Vở ghi, kiến thức học
B NỘI DUNG
I Kiểm tra cũ: Kiểm tra II B i m ià ớ
Chia học sinh theo nhóm thực hành ? Để chạy Foxpro cần có tệp nào?
? Khi click vào biểu tượng chương trình hình có thành phần nào?
Thốt khỏi chương trình
Phần thực hành ca nội dung ca Nhận xét Giờ thực hành
Khởi động máy
Mở chương trình Foxpro cách click chuột vào biểu tượng chương trình hình Soạn nội dung đoạn văn “Ao thu lạnh lẽo nước Một thuyền câu bé tẹo teo Sóng nước theo gợn tý Cá đâu đớp động chân bèo” Sử dụng lệnh Quit để thoát khỏi chương trình
C KIỂM TRA PHỊNG MÁY 5p
(89)Ngày soạn: Ngày giảng: /1
Tiết 37 &2 DỮ LIỆU TRONG FOXPRO
A CHUẨN BỊ
I Yêu cầu: Giúp học sinh:
- Hiểu chất kiểu liệu
- Nắm phân biệt cách sử dụng khái niệm kiểu liệu, độ dài, toán tử, hằng, biến, biểu thức, hàm
- Sử dụng kiểu liệu phù hợp với biểu thức
- Xây dựng giới quan khoa học.Xác lập phong cách làm việc chuẩn mực, thao tác dứt khoát
II Chuẩn bị
- Thầy: Giáo án, SGK, TLTK - Trò: Vở ghi, kiến thức học B NỘI DUNG
I Kiểm tra cũ
? Nêu thành phần hình làm việc Foxpro?
- Bảng chọn chính, cửa sổ lệnh, hình dịng trạng thái
II Bài mới.
?Vậy kiểu ký tự ký tự thuộc bảng mã ASCII, ASCII gì?
Ví dụ “Hà Nội”
? Em lấy ví dụ kiểu này? ? Nếu lấy “57” có khơng? nào?
Khái niệm “Độ dài ” lượng ký tự lưu máy
? Lấy ví dụ kiểu này?
1 Các kiểu liệu Foxpro * Foxpro có kiểu liệu
+ Kiểu ký tự (Character - C) Chứa kú tự bảng mã ASC II, tối đa 254 ký tự
(90)? Đối với kiểu ngày tháng sử dụng phép tốn khơng?
? Lấy ví dụ kiểu này?
Đấy kiểu thường sử dụng ngồi cịn có kiểu float( số thực ) với dấu phẩy không cố định kiểu General(G) chứa bảng tính hình ảnh âm
? Thế gọi hằng? ? Trong ví dụ đâu hằng? Y = 2x +
? Trong ví dụ đâu biến? ? Khái niệm biến gì?
Trong khởi động biến nhớ hình thành, sau khởi động xong biến giải phóng
+ Kiểu ngày (Date - D) Biểu diễn liệu ngày ngầm định MM/DD/YY Độ rộng cố định
+Kiểu logic (L) chứa giá trị (T) va sai (F) ; có độ dài cố định
+Kiểu kí ức (Memo) –M.Để chứa khối lượng văn lớn có độ dài khơng cố định
2 Hằng Biến a Hằng (Const)
- Hằng đại lượng không thay đổi - Các kiểu hằng: Kiểu số: - , +, +, -, *, / - Hằng ký tự: ‘Hà Nội’
- Hằng logic: có giá trị T F - Hằng kiểu ngày {}
b Biến loại biến
- Biến đại lượng thay đổi - Các biến thay đổi qua tên biến - Tên biến dài tối đa 10 ký tự, khơng bắt đầu chữ số, khơng có dấu cách không phân biệt chữ hoa chữ thường
- Biến chia thành loại:
+ Biến nhớ: biến trung gian tạo trại chương trình hay t/h lệnh khung cửa sổ lệnh.có thể giải phóng biến nhớ khơng cần thiết + Biến hệ thống: Do foxpro tự tạo khởi động
(91)? Trong phép tính đâu tốn tử? ? Hãy nêu thành phần biểu thức, đâu hằng, biến, toán tử giá trị sinh ra?
? Giá trị sinh mang kiểu liệu biến mang kiểu liệu
liệu biến trường tồn sở liệu chứa mở
Cho học sinh làm tập
C CỦNG CỐ VÀ LÀM BÀI TẬP 2p - Kiến thức cần nhớ:
(92)Ngày soạn: Ngày giảng: /
Tiết 38 &2 DỮ LIỆU TRONG FOXPRO (TIẾP)
A CHUẨN BỊ
I Yêu cầu: Giúp học sinh:
- Hiểu chất kiểu liệu
- Nắm phân biệt cách sử dụng khái niệm kiểu liệu, độ dài, toán tử, hằng, biến, biểu thức, hàm
- Sử dụng kiểu liệu phù hợp với biểu thức
- Xây dựng giới quan khoa học.Xác lập phong cách làm việc chuẩn mực, thao tác dứt khoát
II Chuẩn bị
- Thầy: Giáo án, SGK, TLTK - Trò: Vở ghi, kiến thức học B NỘI DUNG
I Kiểm tra cũ
? Các kiểu liệu? Có loại biến?
- Kiểu ký tự, kiểu số, kiểu ngày, kiểu logic, có loại II Bài mới.
? Trong ví dụ đâu toán tử? Y = 2x +
? Trong ví dụ đâu biến
3 toán tử
Toán tử phép toán giá trị nhàm sinh giá trị , thành phần chịu tác động toán tử gọi toán hạng
- Toán tử số học
- (Âm) + **( ^)*/%+- (trừ) - Toán tử xâu ký tự
(93)? Trong phép tính đâu toán tử? ? Hãy nêu thành phần biểu thức, đâu hằng, biến, toán tử giá trị sinh ra?
? Giá trị sinh mang kiểu liệu biến mang kiểu liệu
? Biểu thức gì?
? Các biểu thức C, bt D, btL, btN gì? Lấy ví dụ?
? Biểu thức biểu thức kiểu gì?
- Tốn tử logic: Not, and, Or
- Toán tử so sánh: =, < , > <=,>=,<> 4 Biểu thức
- Là kết hợp giá trị toán tử để sinh giá trị
- Kiểu cuả giá trị sinh kiểu biểu thức
+ <bt C> Biểu thức Kiểu xâu ký tự + <bt D> Biểu thức Kiểu ngày + <bt L> Biểu thức Kiểu logic + <bt > Biểu thức + <bt N> Biểu thức Kiểu Số 5 Lệnh
- Một lệnh gồm từ khoá thành phần khác
+ Một dịng lệnh khơng q 254 ký tự + Không phân biệt chữ hoa chữ thường + Cuối lệnh ấn ENTER
+ Khi viết lệnh không viết dấu <>, []
C CỦNG CỐ VÀ LÀM BÀI TẬP 2p
+ Các toán tử + Biểu thức + Lệnh
(94)Tiết 39 & BÀI TẬP
A.CHUẨN BỊ
I Yêu cầu: Giúp học sinh:
- Củng cố lại khái niệm kiểu liệu, cách sử dụng cách khai báo - Nắm số nét hệ quản trị Foxpro
- Hình thành khái niệm quản lý, nguyên tắc quản lý:
II Chuẩn bị
Thầy: Giáo án, + TLTK
Trò: Vở ghi, kiến thức học B.NỘI DUNG
I Kiểm tra cũ: Xen II B i m ià ớ
? Em nêu kiểu liệu, cú pháp, độ dài tối đa? ? Chúng khác nào?
? Các trường sau thuộc kiểu gì?
Gọi học sinh chữa tập Phân biệt trường
Bài 1: phân biệt kiểu liệu sau đây: Họ Tên Ngày sinh Quê quán Lương Character Date Character Numeric Bài 2:
Cho trường sau khai báo kiểu liệu tương ứng với kiểu liệu
STT, Mã HĐ, Tên Hàng, Ngày bán, Người bán, Thành tiền
Giải
STT: Numeric Mã HĐ: Character Tên hàng: Character Ngày bán: Date Người bán:
Thành tiền: Numeric
(95)Tiết 40 &3. TẠO LẬP CƠ SỞ DỮ LIỆU
A.CHUẨN BỊ
I Yêu cầu: Giúp học sinh:
- Sau học xong học sinh thao tác để tạo sở liệu - Năm tên, chức năng, cú pháp lệnh
- Vận dụng mục đích, sử dụng lệnh vào dưc liệu đơn giản thành thục
II Chuẩn bị
Thầy: Giáo án, + TLTK
Trò: Vở ghi, kiến thức học B.NỘI DUNG
I Kiểm tra cũ: Không kiểm tra II B i m ià ớ
Chỉ ghi đĩa có chương trình
Ví dụ: Create Hoso
Khung đối thoại yêu cầu khai báo cấu trúc tệp
Name Type Width Hoten C NS D GT L Tên trường tối đa 10 ký tự Có cách để giao tiếp với hệ điều hành Foxpro
Vd: Input ‘vao he so a’ to a
I Tạo lập sở liệu – lệnh Create
- Dùng để tạo lập sở liệu, gồm đặt tên tệp khai báo cấu trúc tệp
- Cú pháp:
Creat <Tên tệp>
Name Type Width Tên trường Kiểu trường Độ rộng trường
- Để đơn giản mô tả cấu trúc ta ký hiệu: Hoten (C- 16), Gioitinh (L -1)
(96)Input ‘vao ho ten’ to ht Khi chạy:
Vao he so a:
Vao ho ten: Nguyen Van A ? Em so sánh lệnh input với lệnh write pascal?
Cho học sinh làm số tập, Viết chương trình để in dịng thơng báo: Họ tên, ngày sinh, giới tính
? So sánh với ct Pascal có giống khác nhau?
- Nhập liệu - Cú pháp:
Input [<thoong báo>] to <biểu thức>
+ Thông báo: dùng để thông báo biến cần nhập, lời thông báo đặt dấu ‘ ’ “ ”
+ Biến nhớ: nhận liệu kiểu số, kiểu ký tự, logic, ngày tháng
Set talk off Ht= space[20] Ns= { } Gioitinh= T
Input ‘vào ho ten’ to ht Input ‘vao sinh’ to ns Input ‘vao gioi tinh’ to gt Write
Set talk on
C CỦNG CỐ 5p
- Lệnh tạo tệp - Lệnh Input
- Làm tập: viết chương trình đưa hình số liệu hồ sơ học sinh
Ngày soạn Ngày giảng
(97)A.CHUẨN BỊ
I Yêu cầu: Giúp học sinh:
- Sau học xong học sinh thao tác để tạo sở liệu - Năm tên, chức năng, cú pháp lệnh
- Vận dụng mục đích, sử dụng lệnh vào dưc liệu đơn giản thành thục
II Chuẩn bị
Thầy: Giáo án, + TLTK
Trò: Vở ghi, kiến thức học B.NỘI DUNG
I Kiểm tra cũ: Không kiểm tra II B i m ià ớ
? Lệnh say get read có giống khác lệnh Input?
VD:
@ 1,1 say ‘ Vao hoten: ’get ht @2,1 say ‘ Vao Nsinh: ’get ns @ 3,1 say ‘ Vao gtinh: ’get gt @ 4,1 say ‘ Vao luong: ’get lương
? Qua chương trình ta thấy có đặc điểm giống Pascal?
b Lệnh Say get Read -Nhập liệu
-Cú pháp :
@ dòng,cột Say <btc> get biến Read (CYCLE) -Phần Say(btc) thông báo nhập giá trị cho biến -Phần get (biến )đưa biến cần nhập lên hình Đối với tập tiết trước ta thực sau: Set talk off
Ht= space[20] Ns= { } Gioitinh= T
@2,2 say ‘vào ho ten’ get ht @3,2 say ‘vào ngaysinh’ get ns @4,2 say ‘vào gioi tinh’ get gt @5,2 say ‘vào luong’ get luong Read
Set talk on
(98)Ví dụ:
? ‘hồ sơ cán bộ’
? Hãy chuyển đổi tập cách thay lệnh ? ??
* Lệnh ? lệnh ??
- Để in biến nhớ hình có xác định toạ độ - Cú pháp: ? <Bt>
Lệnh ?? tương tự
- Lệnh ? đưa trỏ tới dịng in thơng báo cịn lệnh ?? ko đưa trỏ xuống dòng mà in vị trí trỏ
C CỦNG CỐ 5p
- Nắm vững thao tác tạo tệp hồ sơ
- Hiểu chức năng, cú pháp lệnh vận dụng vào tập