- Nhớ các quy định về tên, hằng và biến trong một ngôn ngữ lập trình, biết cách đặttên đúng và nhận biết đợc tên sai quy định.. Mục đích yêu cầu - Biết khái niệm lập trình , phân biệt đ
Trang 1Chơng I Một số khái niệm về lập trình và ngôn ngữ lập trình
Bài 1 Khái niệm lập trình và ngôn ngữ lập trình
(Tiết 1)
I Mục đích - Yêu cầu
- Hiểu khẳ năng của ngôn ngữ lập trình bậc cao, phân biệt đợc với ngôn ngữ máy
Gv: NN bậc cao, hợp ngữ muốn máy tính hiểu
đợc thì phải dịch sang ngôn ngữ máy thôngqua chơng trình dịch
Gv: Tại sao phải phát triển ngôn ngữ lập trìnhbậc cao ?
Hs: Trả lời
Trang 2* Khái niệm lập trình: là sử dụng cấu
trúc dữ liệu và câu lệnh của ngôn ngữ
1 Kiểm tra câu lệnh
2 Chuyển đổi câu lệnh
Gv: giải thích từng bớc cụ thể của biên dịch,liên hệ giữa tin học và thực tế
2
Trang 3Gv: Thông dịch và biên dịch có đặc điểm gìgiống và khác nhau? Ưu nhợc điểm của mỗiloại
3 Củng cố
- Mối quan hệ giữa ngôn ngữ bậc cao và ngôn ngữ máy
- Sự khác nhau giữa thông dịch và biên dịch
4 Rút kinh nghiệm
…./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./……
Trang 4
Bài 2 Các thành phần của ngôn ngữ lập trình
(Tiết 2)
I Mục đích – Yêu cầu Yêu cầu
- Biết ngôn ngữ lập trình có 3 thành phần cơ bản là: bảng chữ cái, cú pháp, ngữnghĩa Hiểu và phân biệt đợc 3 thành phần này
- Biết một số khái niệm: tên, tên chuẩn, tên dành riêng, tên do ngời lập trình đặt,hằng và biến
- Nhớ các quy định về tên, hằng và biến trong một ngôn ngữ lập trình, biết cách đặttên đúng và nhận biết đợc tên sai quy định
2 Kiểm tra bài cũ
Câu 1: Nêu khái niệm lập trình ? Kể tên các loại ngôn ngữ lập trình ? Vì sao phải phát triển ngôn ngữ lập trình bậc cao ?
Câu 2: Nêu khái niệm chơng trình dịch ? Kể tên và phân loại chơng trình dịch ?
GV: Lấy ví dụ
GV:L Lờy ví dụ minh hoạ và phân tích
4
Trang 5định dùng với ý nghĩa riêng xác định,
ngời lập trình không đợc sử dung với
ý nghĩa khác ( từ khoá )
+Tên chuẩn : là tên đợc dùng với ý
nghĩa nhất định nào đó
+ Tên do ngời lập trình đặt là tên
đ-ợc dùng với ý nghĩa riêng xác định
bằng cách khai báo trớc khi sử dụng
GV : Tổng hợp và đa ra kết luận về
cú pháp và ngữ nghĩa
GV: + Các tên đúng A; _ AB
+ Các tên sai A_BC; 6AB,GV: Em hãy lấy một số ví dụ về tin
đúng và tên sai
GV : lấy ví dụ minh hoạ
GV: lấy vd và nêu ý nghĩa
Trang 6- Sắp xếp thời gian giũa các nội dung hợp lý hơn
- Nêu bật đợc ý nghĩa của tên trong lập trình
5 Rút kinh nghiệm
…./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./……
6
Trang 7Bài tập (Tiết 3)
I Mục đích yêu cầu
- Biết khái niệm lập trình , phân biệt đợc 3 loại ngôn ngữ lập trình
- Chơng trình dịch ý nghĩa vai trò của nó
- Biết đợc các thành phần của ngôn ngữ lập trình , quy tắc và cách sử dụng
- Biết cách đặt tên sử dụng hằng và biến
Trang 8Weiteln (‘ nghiệm x1 của PT là , x1=( -b+ sqet(delta))/2a));
Weiteln (‘ nghiệm x2 của PT là , x2=( -b+ sqet(delta))/2a));
Chơng II Chơng trình đơn giản Bài 3: Cấu trúc chơng trình
(Tiết 4)
I Mục đích yêu cầu
- Hiểu CT là sự mô tả của thuật toán bằng một ngoion ngữ lập trình
- Biết cấu trúc của một CT đơn giản : cấu trúc chung và các thành phần
- Nhận biết đợc các thành phần của một CT đơn giản
Trang 9- khai báo biến
GV: cấu trúc gồm 2 phần : khai báo , phần thân
Phần thân bắt buộc phải có , phần klhai báo không nhất thiết phải có
GV: Em hãy kể tên các đại lợng cơ bản dã đợc học trong giờ trớc HS: TL
GV: muốn sử dụng các đại lợng này
ta cần phải khai báo chúng
Trang 10GV: tất cả các biến dùng trong CT
đều fải đặt tên và khai báo cho CT dịch biết để lu trữ xử lý
Ta sẽ tìm hiểu trong bài 5
VD: CT viết ra màn hình dòng thông báo :” chào bạn”
VD2: CT này dùng để làm gì ?Begin
10
Trang 11Bài 4: một số kiểu dữ liệu chuẩn
Bài 5 : Khai báo biến
(Tiết 5)
I Mục đích yêu cầu
- biết một số kiểu DL chuẩn : nguyên , thực, kí tự, logic
- Xác định đợc kiểu cần khai báo của DL đơn giản
- hiểu cách khai báo biến
- biết khai báo biến đúng
2 Kiểm tra bài cũ
Em hãy nêu cú pháp khi khai báo
có 1 số kiểu chuẩn nhất định mặc dùthông tin rất đa dạng mỗi kiểu đặc tr-
Trang 12Var < DS biến >: < kiểu DL>;
ng bởi tên kiểu ,miền giá trị kíchthứoc trong bộ nhớ các phép toáncác hàm thủ tục
Một số kiểu DL trong TP
GV: tập số nguyên là vô hạn nhngtrong MT kiểu số nguyên là hữu hạn
GV: các kiểu thực đợc lu trữ và tínhtoán gần đúng với sai số ko dáng
kể kiểu số thực là hữu hạn phép toángồm kiểu nguyên và thực sẽ cho kếtquả thực
GV: chỉ có 2 giá trị true, flase dùng
để kiểm tra một diều kiện hoặc tìmgiá trị của 1 biểu thức logic
GV: kiểu char
Có giá trị là các ký tự trong ASCIIDùng cho kí tự , xâu ( string)
So sánh các kí tự đợc thực hiện =cách so sánh các mã ASCII
GV: trong đó
DS biến : là 1 hoặc nhiều tên biến
đ-ợc viết cách nhau bởi dấu phẩy Kiểu DL: các kiểu DL chuản GV: VD: lập trình để giải PT bậc 2 Var x1,x2, a,b, c, delta: real;
VD2 : tìm USC của 2 số M,N nguyênVả UC, M,N: interger
3 Củng cố
- Biến phải gợi nhớ , có ý nghĩa
12
Trang 13- Không lên đặt biến quá ngắn hoặc quá dài
- Khi khai báo biến phải chú ý đến pham vi của nó
4 Rút kinh nghiệm
…./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./……
Bài 6 phép toán biểu thức câu lệnh gán
(Tiết 6)
I mục đích , yêu cầu
- biết đợc các khái niệm : phép toán , biểu thức số học , hàm số học chuản biểuthức quan hệ
Trang 142 kiểm tra bài cũ
Câu1 : nêu các kiểu DL chuẩn ? phạm vi và ko gian nhớ của từng kiểu
Câu2: hãy khai báo biến và kiểu DL cho các bài sau
a xây dựng thuật toán để vẽ đồ thị : y= ax+ b
b nhập từ bàn phím 5 số nguyên a,b ,c,d,e rồi tính tổng hiệu tích thơng củachúng
Trang 15Thực hiện trong ngoặc trớc
- nếu không có ngoặc sẽ thch hiện từtrái qua phải
VD: hãy chuyển các biểu thức toánhọc sau sang ngôn ngữ tp
Xy/x; ( -b + delta)/ 2a
X3+y3/ Z3 +2xGV: phân tích và nêu rõ các NX trên
GV: giải thích nghĩa và lấy vd-b+ b2 4ac /2a
TP: (-b+ sgrt( b*b-4ac))/(2a)
HS lấy vd chuyển đổi
GV: BT1,BT2 là xâu hoặc biểu thức
số học-thực hiện theo trình tự+tính giá trị các biểu thức +thuwcj hiện ptoans quan hệVd: ax+b >= 5
GV: tên biến là tên của biến
đơn kiểu của giá trị BT phải phù hợp
Trang 16với kiẻu của biến
4 Củng cố
- Các phép toán đối với từng kiểu dữ liệu
- Quy tắc tính toán của biểu thức
- Các hàm chuẩn, phép toán quan hệ, biểu thức logíc
- Làm các bài tập trong sách giáo khoa và sách bài tập
5 Rút kinh nghiệm
…./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./………./…./……
16
Trang 17Bài 7, 8
Các thủ tục chuẩn vào/ ra đơn giản Soạn thảo, dịch, thực hiện và hiệu chỉnh chơng trình
(Tiết 7)
1 Mục đích – Yêu cầu yêu cầu
- Biết các lệnh vào ra đơn giản để nhập dữ liệu từ bản phím học đa dữ liệu ra mànhình
- Viết đợc một chơng trình đơn giản
- Biết các bớc: Soạn thảo, dịch, thực hiện và hiệu chỉnh chơng trình
- Biết một số công cụ của môi trờng Pascal
- Bớc đầu biết chỉnh sửa chơng trình
2 Kiểm tra bài cũ
Câu 1: Nêu quy tắc và mức độ u tiên đối với việc thực hiện các phép toán trong biểu thức số học
Câu 2: Hãy chuyển các biểu thức từ toán học sang ngôn ngữ Pascal:
a 4
3
9 1
Readln(<danh sách biến vào>);
Gv: Làm thế nào để đa thông tin vào máytinh ?
GV: Làm thế nào để đa kết quả sau khitinh toán ra màn hình ?
=> Ngôn ngữ lập trình Pascal sẽ cung cấpcho ngời dùng các thủ tục vào ra chuẩn
Gv: Danh sách biến vào là một hoặc nhiềutên biến đơn, nhiều biến thì phải viết cáchnhau bởi dấu phẩy
Gv:
Ví dụ:
Read(N);
Trang 182 Đa dữ liệu ra màn hình
Cú pháp:
Write(<danh sách kết quả ra>);
Hoặc
Writeln(<danh sách kết quả ra>);
* Writeln, Readln không cần có tham
(Thao tác mẫu trên máy)
Gv : Đối số có thể là biến đơn, biểu thứchoặc hằng, các hằng xâu dùng để tách kếtquả hoặc chú thích Các thành phần ra viếtcách nhau bởi một dấu phẩy
Gv : Sự khác nhau giữa Write, Writeln ?
Ví dụ:
Program vd;
Var n: byte;
BeginWrite(’Ban hay nhap tuoi cua ban’);
Readln(n);
Writeln(‘Vay tuoi cua ban la’,n);
ReadlnEnd
Trang 20Thực hành(Tiết 8)
I Mục đích – Yêu cầu yêu cầu
- Biết viết một chơng trình Pascal hoàn chỉnh đơn giản
- Biết sử dụng một số dịch vụ chủ yếu của Pascal trong soạn thảo, lu, dịch và thựchiện chơng trình
II Chuẩn bị
1 Phân nhóm học sinh thực hành, nhóm trởng chịu trách nhiệm quản lý thànhviên nhóm trong thời gian thực hành
2 Ra bài tập cho mỗi nhóm xem trớc
3 Chuẩn bị phòng thực hành: Phòng máy mỗi máy đều cài trờng trình TP
B1: Học sinh bật máy, khởi động chơng trình Free Pascal hoặc TP
B2: Ra bài tập, yêu cầu học sinh đánh mãy theo mẫu
B3: Giáo viên quan sát, hớng dẫn học sinh
B5: Sau khi soạn thảo xong, giáo viên hớng dẫn học sinh hiệu chỉnh chơng trình:
+ ấn F2 để lu tên bài mình vừa làm
+ Alt + F9 để hiệu chỉnh chơng trình
+ Ctrl + F9 để chạy chơng trình
+ Nhập bộ dữ liệu Test cho chơng trình vừa lập
B6: Thoát khỏi phần mềm và tăt máy
B7 : Nhận xét về buổi học
3 Rút kinh nghiệm :
20
Trang 21Bài tập(Tiết 9)
I Mục đích – Yêu cầu yêu cầu
- Củng cố những nội dung đa đạt đợc trong tiết thực hành
- Biết sử dụng các thủ tục chuẩn vào/ ra
- Biết xác định Input và Output
=>
b
1
2 2
1 2
x Cosx
x x
e
x x x
Cos
2 2
Trang 22Câu 5: Sử dụng ngôn ngữ lâp trình Turbo Pascal để lập trình giải bài toán sau : Hãy nhập vào 2 số nguyên a, b rồi thông báo tổng, hiệu, tích, thơng của hai số đó Input : 2 số nguyên a, b
Output : Tong, hieu, tich, thuong
Program bai5;
Var a,b,t,h,ti: Integer;
th: real;
Begin
Writeln(‘moi ban nhap 2 so nguyen a, b);
Readln(a,b);
T := a+b;
H :=a – Yêu cầu b;
Ti := a*b;
Th := a/b;
Writeln(‘tong 2 so a va b la’, t:6:2);
Writeln(‘Hieu 2 so a va b la’, h:6:2);
Writeln(‘tich cua 2 so a va b la’, ti:6:2);
Writeln(‘thuong cua 2 so a va b la’, th:6:2);
Readln
End
Câu 6 : Sử dụng ngôn ngữ lâp trình Turbo Pascal để lập trình giải bài toán sau : Hãy giải phơng trình ax + b = 0 với a, b các số nguyên, a khác không
Gv : các em hãy lập trình giải bải toán trên
3 Củng cố
4 Rút kinh nghiệm :
22
Trang 23Kiểm tra một tiết
(Tiết 10)
Đề số 1
(Thời gian làm bài 45 phút)
Câu 1: Hãy chuyển các biểu thức toán học sau sang Turbo Pascal:
y ẽ
e
x x x
Cos
2 2
e
1
9 3
2
z y x
Câu 2: Hãy chuyển biểu thức từ Turbo Pascal sang toán học:
a 5*Sin(x) - Cos(y)/4/2 b ln(y*(-sqrt(abs(x/2))))/2
Câu 3 : Sử dụng ngôn ngữ lâp trình Turbo Pascal để lập trình giải bài toán sau : Hãy giải phơng trình ax + b = 0 với a, b các số nguyên, a khác không
Đề số 2
(Thời gian làm bài 45 phút)
Câu 1: Em hãy nêu cú pháp khai báo: chơng trình, biến, hằng, th viện ? Lấy ví dụ.Câu 2: Hãy chuyển các biểu thức toán học sau sang Turbo Pascal:
Câu 3: Sử dụng ngôn ngữ lâp trình Turbo Pascal để lập trình giải bài toán sau :Nhập từ bàn phím các số thực a, b, c, d và x Tính và đa ra màn hình giá trị biểuthức: ax3 bx2 cxd
Trang 24Đề số 3
(Thời gian làm bài 45 phút)
Câu 1: Hãy chuyển các biểu thức toán học sau sang Turbo Pascal:
a e y 5 ( 2x 5 ) cosx
1 sin
cos
2 3
x x
x a
c
2 sin sin 3 2
e x
x y
x
Câu 2: Hãy chuyển biểu thức từ Turbo Pascal sang toán học:
a 1/a*b/c + 1/a/b/c b abs(x*(y/z) – Yêu cầu (y/x)*(1/3))
Câu 3 : Sử dụng ngôn ngữ lâp trình Turbo Pascal để lập trình giải bài toán sau : Hãy tính tổng số chân của gà và lợn biết rằng gà có n con, lợn có m con (m, n là
số nguyên đợc nhập từ bàn phím)
Đề số 4
(Thời gian làm bài 45 phút)
Câu 1: Hãy chuyển các biểu thức toán học sau sang Turbo Pascal
1 2
x Cosx
e
e y x
c
z y x
x x
Trang 25Chơng III
Cấu trúc rẽ nhánh và lặp Bài 9
Cấu trúc rẽ nhánh
(Tiết 11)
I Mục đích – Yêu cầu yêu cầu
- Hiểu nhu cầu của cấu trúc rẽ nhánh trong biểu diễn thuật toán
- Hiểu câu lệnh rẽ nhánh (dạng thiếu và dạng đủ)
- Hiểu câu lệnh ghép
- Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản
- Viết đợc các câu lệnh rẽ nhánh dạng thiếu, rẽ nhánh dạng đầy đủ và áp dụng để thực hiện đợc thuật toán của một số bài toán đơn giản
+ Chiều mai nếu trời không ma thì
Ngọc sẽ đến nhà Châu, nếu trời ma
thì sẽ gọi điện cho Châu để trao đổi
* Cách diễn đạt nh vậy thuộc dạng
Trong cách diễn đạt thứ hai thì chắc chắn một trong 2 sự việc sẽ diễn ra, nhng việc nào thực hiện đợc còn phụ thuộc vào điều
Trang 26* Cách diễn đạt nh vậy thuộc dạng
+ Điều kiện: là một biểu thức
quan hệ hoặc logic
+ Câu lệnh, câu lệnh 1, câu lệnh 2
là 1 câu lệnh của TP
ý nghĩa:
* Dạng thiếu: Nếu điều kiện đúng
thì câu lệnh sẽ đợc thực hiện, còn nếu
sai thì không thực hiện gì
* Dạng đủ: Nếu điều kiện đúng thì
thực hiện câu lệnh 1 còn nếu sai thì
thực hiện câu lệnh 2
kiện nào xảy ra
Gv: Cấu trúc dùng để mô tả các mệnh đê trên đợc gọi là cấu trúc rẽ nhánh dạng thiếu và đủ
Gv: Mỗi ngôn ngữ lập trình đều có các câulệnh để mô tả cấu trúc rẽ nhánh
Gv: Pascal dùng câu lệnh If - Then để mô tả việc rẽ nhánh tơng ứng với 2 loại mệnh
đề:
Gv: Trớc từ khoa ELSE không có dấu " ; "
Gv: Trong 2 dạng trên, dạng nào thuận tiệnhơn?
Gv: Khi lập trình mà sau THEN hoặc sau ELSE có nhiều lệnh cần thực hiện thì ta 26
Trang 27+ Sau End phải là dấu ;
+ Nh vậy khi nói đến câu lệnh thì
đó có thể là câu lệnh đơn hoặc câu
lệnh ghép
4 Ví dụ
làm thế nào ?Hs: Trả lờiGv: Khi đó ta phải gộp nhiều lệnh đó và coi đó là một câu lệnh trong NNLT và gọi
là câu lệnh ghép
Program ptb2;
Var a,b,c,x1,x2,d:real;
BeginWriteln('moi ban nhap he so a,b,c');
writeln('nghiem kep cua phuong trinh la',x1:6:2);
End Else Begin x1:= (-b - sqrt(d))/(2*a);
Trang 28- Gäi häc sinh lªn lµm bµi kiÓm tra mét sè N lµ sè ch½n hay lÓ.
- Lµm c¸c bµi tËp trong s¸ch gi¸o khoa
4 Rót kinh nghiÖm :
28
Trang 29Bài 10cấu trúc lặp(Tiết 12)
I Mục đích - Yêu cầu
- Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán
- Hiểu cấu trúc lặp kiểm tra điều kiện trớc, cấu trúc lặp với số lần định trớc
- Biết vận dụng đúng đắn cấu trúc lặp vào tình huống cụ thể
2 Kiểm tra bài cũ
Câu 1: Nêu cú pháp câu lệnh rẽ nhánh ? Nếu ý nghĩa của câu lệnh?
Câu 2: Viết chơng trình kiểm tra một số N có phải là số chia hết cho 5 hay không?
3 Bài mới
Hoạt động của thầy và trò3 Lặp
với số lần cha biết trớc
điều kiện cho trớc đợc thoả mãn
Gv: Đa ra bài toán sau với a > 2
là số nguyên cho trứơc:
Gv: Em giải bài toán trên bằng cách nào?
Hs: Trả lời Gv:
- Bắt đầu S đợc gán giá trị 1/a
- Tiếp theo mỗi lần cộng thêm vào S là 1/(a+N) với N= 1,2,3
- Với bài toán 1, việc cộng thêmdừng lại khi N=100 => Số lần lặp
đ biết trã biết tr ớc
- Với bài toán 2, việc cộng thêmdừng lại khi 1/(a+N) <0.0001 => số lần lặp cha biết trớc
Trang 30Gv: Em nào có thể nêu lên đợc mối
quan hệ giữa 2 câu lệnh: For – Yêu cầu do và
While – Yêu cầu do ?
Hs: Trả lời
Gv: Bài toán giải bằng câu lệnh For
– Yêu cầu do thì có thể giải bằng lệnh While
– Yêu cầu do nhng ngợc lại thì không
Gv: đa một số ví dụ khác
Gv: Chung ta đi xây dựng thuật toán để giải quyết bài toán 1:
Gv: Giải thích ý nghĩa của thuật toán và cách thực hiện.Gv: Ngôn ngữ lập trình TP cung cấp cho ta 2 dạng lặp biết tr-ớc:
Gv: giải thích hoạt động của lệnh for - do
Gv:
program tong;
var s: real;
30