Moät caâu leänh xaùc ñònh moät coâng vieäc maø chöông trình phaûi thöïc hieän ñeå xöû lyù caùc döõ lieäu ñaõ ñöôïc moâ taû vaø khai baùo.. taùc duïng ngaên caùch gi[r]
(1)Tuần Ngày soạn:
Tiết Ngày dạy:
Tên bài: GIỚI THIỆU NGÔN NGỮ PASCAL & TURBO PASCAL I) Mục tiêu:
- Nắm khái niệm ngôn ngữ lập trình Pascal, bước khởi động khỏi Pascal, tạo, lưu, mở tập tin môi trường Pascal
- Nắm cách dịch chương trình thực chương trình Pascal II) Chuẩn bị:
- Giáo án, sách giáo khoa - Máy vi tính
- Hs: xem trước nội dung III) Các hoạt động dạy học:
Hoạt động GV Hoạt động Hs Nội dung
Hoạt động 1:Ổn định lớp, kiểm tra cũ. Ổn định lớp: Kt sĩ số.
Kiểm tra cũ:
Sửa kiểm tra tiết
Hoạt động 2: Hướng dẫn khái niệm ngơn ngữ lập trình Pascal.
Giáo viên giới thiệu: 1-Ngôn ngữ Pascal Vào năm đầu 1970 nhu cầu học tập sinh viên, giáo sư Niklaus Wirth (Trường Đại học kỹ thuật Zurich Thụy sĩ ) sáng tác ngơn ngữ lập trình cấp cao dùng cho cơng tác giảng dạy sinh viên Nó đặt tên Pascal để kỉ niệm nhà
Hs lắng nghe 1) khái niệm ngơn ngữ lập trình Pascal:
(2)toán học người Pháp Blaise Pascal
Pascal ngơn ngữ lập trình có cấu trúc thể phương diện:
-Về mặt liệu: ngồi kiểu liệu đơn giản cịn có kiểu liệu có cấu trúc ta xây dựng kiểu liệu phức tạp từ kiểu có -Về mặt câu lệnh: từ câu lệnh đơn giản lệnh có cấu trúc ta xây dựng câu lệnh hợp thành
-Về mặt chương trình: chương trình chia làm nhiều chương trình
2-Turbo Pascal
Như trình bày Pascal lúc đời ngôn ngữ dùng để giảng dạy học tập ưu điểm phát huy trở thành ngơn ngữ lập trình mạnh Từ Pascal chuẩn ban đầu nhiều hãng cải tiến với nhiều thêm bớt khác
TURBO PASCAL sản phẩm hãng Borland dùng phổ biến giới ưu điểm như: tốc độ dịch nhanh, cải tiến so
học người Pháp Blaise Pascal
Pascal ngôn ngữ lập trình có cấu trúc thể phương diện:
-Về mặt liệu -Về mặt câu lệnh -Về mặt chương trình
2-Turbo Pascal:
(3)với Pascal chuẩn đáp ứng nhiều yêu cầu người dùng
TURBO PASCAL 4.0 có cải tiến quan trọng đưa vào khái niệm Unit để dịch sẵn module đĩa làm cho việc lập trình trở nên ngắn gọn
TURBO PASCAL 5.5 version đời năm 1989 có kiểu liệu hồn tốn kiểu OBJECT cho phép đưa mã lệnh xen kẽ với liệu
Hiện có Turbo Pascal version 7.0
Hoạt động 3: Hướng dẫn bước khởi động thoát khỏi Pascal, tạo, lưu, mở tập
tin môi trường Pascal Như trình bày, người sử dụng MTĐT thường viết chương trình ngôn ngữ cấp cao Trong tài liệu ta dùng Pascal, ngôn ngữ cấp cao mạnh sử dụng rộng rãi mà phiên Turbo Pascal
Để sử dụng Turbo Pascal ta cần tối thiểu
hai teäp: Turbo
Để sử dụng Turbo Pascal ta cần tối thiểu hai tệp: Turbo PASCAL.EXE
1)Khởi động – kết
thuùc Turbo Pascal:
*Khởi động:
(4)PASCAL.EXE TURBO PASCAL.TPL giả sử hai tệp ghi đĩa mềm 1.44MB máy ta có ổ đĩa A đọc loại đĩa
Để khởi động Turbo Pascal Pascal, ta đưa đĩa có hai tệp vào ổ A chọn Turbo phím Enter
Khởi động Turbo Pascal là ta vào môi trường
triển khai hợp mà để
cho đơn giản, ta gọi môi trường Turbo Pascal Muốn thoát khỏi Turbo Pascal trở hệ thống ta làm
1-Soạn thảo chương trình đưa chương trình có sẵn đĩa vào nhớ
Để soạn thảo chương trình muốn lưu chương trình, mở chương trình có sẵn đĩa tương tự phần mềm biết (Word,Excel…) Turbo Pascal 7.0 có hỗ trợ chuột
Nhưng ta cần ý điều
gì ?
TURBO PASCAL.TPL
Nhưng ta cần ý:
Khi ta đưa tên file vào đánh Enter (chú ý
tên file phải theo quy cách đặt tên DOS “phần tên có từ 1 đến ký tự, lớn nhỏ, khơng có khoản trống, ký tự là: AZ az 09 @ # $ % & ( ) _ ) có 2
trường hợp xẩy
-Nếu file chưa có đĩa hình
chọn Turbo phím Enter
*Kết thúc:
Muốn thoát khỏi Turbo Pascal trở hệ thống gõ ALT+X (Giữ phím Alt đánh phím X)
2)Tạo, mở, lưu File Program:
* Taïo tập tin:
Nhấn F10/ File/ New * Lưu taäp tin:
Nhấn F10/ File/Save ( Save as )/đặt tên * Mở Tập tin:
(5)Khi đưa vào chương trình mà chương trình soạn thảo chưa ghi vào đĩa (chưa ghi toàn tập tin hặc chưa ghi lại thay đổi nhất) Turbo Pascal thơng báo:
Nếu chọn Yes ghi chương trình hành
xóa để ta soạn thảo chương trình
-Nếu file có đĩa (chương trình dược soạn thảo rồi) đưa vào nhớ trình bày lên hình Lúc ta chạy chương trình sửa chữa
-Trong trường hợp ta muốn đưa chương trình có đĩa vào hình soạn thảo ta lại quên tên tập tin chương trình nhập *.PAS vào chỗ “Name” Một danh sách tập tin chương trình trình bày để ta lựa chọn cách sử dụng phím mũi tên để di chuyển trỏ dùng chuột để chọn Enter để đưa chương trình vào soạn thảo
Ghi chương trình đang soạn thảo vào đĩa
Một chương trình soạn thảo xong soạn thảo mà ta muốn lưu trữ đĩa đánh phím F2 dùng chuột chọn File\Save chương trình chưa có tên chọn File\Save as… muốn đặt lại tên
Ghi chương trình đang soạn thảo vào đĩa
(6)vào đĩa trước soạn thảo chương trình
Nếu chọn No chương trình hành khơng ghi vào đĩa
Trong q trình soạn thảo sửa chữa chương trình ta sử dụng phím chức sau:
Các phím thơng tin trợ giúp
F1 Xem
thông tin phần trợ giúp
Ctrl-F1 Trợ
giúp theo ngữ cảnh
Hướng dẫn phím sử dụng trỏ sử dụng khối ?
Sử dụng khối
Khối đoạn văn chương trình hình chữ nhật xác định đầu khối góc bên trái cuối khối góc bên phải hình chữ nhật Khi khối xác định (trên hình thấy khối có màu khác chỗ bình thường) ta chép, di chuyển, xóa khối… sử dụng khối cho phép soạn thảo chương trình cách nhanh chóng Sau thao tác khối:
Ctrl-K-B Đánh dấu đầu khối
Ctrl-K-K Đánh dấu cuối khối
Ctrl-K-C Chép khối vào sau vị trí trỏ
Ctrl-K-C Di chuyển khối tới sau vị trí trỏ
Các phím dịch chuyển con trỏ
Enter Đưa trỏ xuống dòng
Đưa trỏ lên hàng
trước
Đưa trỏxuống hàng
sau
Đưa trỏsang phải
một ký tự
Đưa trỏ sang traùi
một ký tự
End Đưa trỏ đến cuối dòng
Home Đưa trỏ đến đầu dịng
PageUp Đưa trỏ lên trang treân
PageDowwn Đưa trỏ xuống trang dưới
Các phím xóa ký tự
Delete Xóa ký tự vị trí con trỏ
(7)Ctrl-K-Y Xóa khối hành
Ctrl-K-W Ghi khối hành vào đóa tập tin
Ctrl-K-R Đọc khối (tập tin) từ đĩa vào sau vị trí trỏ
Ctrl-K-H Tắt mở khối
trước vị trí trỏ
Ctrl-Y Xóa dòng vị trí trỏ
Hoạt động 4: Hướng dẫn dịch chương trình chạy chương trình Turbo Pascal.
Như ta biết, MTĐT hoạt động dựa nguyên tắc làm việc cách tự động theo chương trình Chương trình gồm lệnh riêng lẻ xếp theo trình tự
MTĐT trực tiếp thực chương trình viết ngơn ngữ máy, tức với từ vựng cần hai ký tự Đối với máy tính thuộc vài hệ ban đầu, người ta dùng ngôn ngữ máy, chương trình thường dài cồng kềnh Ngôn ngữ máy lại phụ thuộc vào loại máy tính Người chun sâu, thơng thạo máy viết chương trình cho máy đó, chuyển sang máy khác có đành chịu bó tay Đối với máy tính thuộc hệ sau này, người ta sáng tạo
*Dịch chương trình Giả sử chương trình hành chương trình chao.PAS Muốn dịch chương trình Pascal này(gọi chương trình nguồn) mã máy chạy hệ thống, ta làm sau:
-Gõ đồng thời Alt-C để chọn COMPILE;
-Nếu dịng DESTINATION có ghi MEMORY gõ D để chuyển sang DISK (đĩa chứa tập tin Turbo.PAS) ghi sẵn DISK đương nhiên khơng phải gõ D;
-Gõ đồng thời Alt-F9 để dịch chương trình
Kết dịch chương trình có EXE, trường hợp chao.exe
Gõ Alt-X để trở hệ thống, hệ thống ta mở đĩa chứa Pascal tìm
3) Dịch chương trình
chạy chương trình:
* Muốn dịch chương trình gõ đồng thời Alt-F9 để dịch chương trình.
* Muốn chạy một
(8)những ngơn ngữ cấp cao nhằm làm dễ dàng cho người sử dụng Những ngôn ngữ cấp cao thường dùng
FORTRAN, BASIC,
PASCAL, ACCESS,
COBOL, C,… lệnh ngơn ngữ có cách diễn đạt gần giống với ngôn ngữ tự nhiên, nhờ chương trình trở nên rõ ràng, dễ hiểu người Tuy nhiên, MTĐT không trực tiếp thực chương trình viết ngơn ngữ cấp cao mà phải gián tiếp thơng qua chương trình
dịch (giống người
phiên dịch) để chuyển chương trình từ ngôn ngữ cấp cao sang ngôn ngữ máy
mở chương trình chao.exe thực Như vậy, chương trình dịch (mang EXE dịch nhờ Turbo Pascal) chạy hệ thống
Hoạt động 5: Dặn dị
Xem cấu trúc chương trình Pascal chuẩn bị tiết học
Tuần Ngày soạn:
Tiết Ngày dạy:
Tên bài: CẤU TRÚC CHƯƠNG TRÌNH PASCAL
I) Mục tiêu:
- Nắm thành phần ngôn ngữ lập trình Pascal
- Nắm cấu trúc chương trình bước để viết chương trình II) Chuẩn bị:
(9)- Hs: xem trước nội dung III) Các hoạt động dạy học:
Hoạt động GV Hoạt động Hs Nội dung
Hoạt động 1: Ổn định lớp, kiểm tra cũ.
Ổn định lớp: Kt sĩ số. Kiểm tra cũ:
Nêu cách khởi động thoát khỏi Pascal ?
Nêu bước tạo mở lưu File Pascal ?
Hoạt động 2: Giới thiệu thành phần Pascal.
Giới thiệu kí tự chương trình Pascal ?
Bộ chữ ngôn ngữ Pascal bao gồm:
-26 chữ la tinh lớn: A, B, C,… Z
-26 chữ la tinh nhỏ: a, b, c,… z
-Ký tự gạch nối _ (cần phân biệt với dấu -)
-Bộ chữ số thập phân: 0, 1,2,3,4,5,6,7,8,9
-Các ký hiệu toán học: + , - , * , / , = , < , > , ( , )
-Các ký tự đặc biệt: , : ; ? % @ \ { ! & # $
-Dấu cách hay khoản trống (Space)
Các từ khóa từ dành riêng Pascal mà người lập trình sử dụng chúng chương trình
Hs lắng nghe
1) Các thành phần bản:
a) Ki tự:
Bộ chữ ngôn ngữ Pascal bao gồm:
-26 chữ la tinh lớn: A, B, C,… Z
-26 chữ la tinh nhỏ: a, b, c,… z
-Ký tự gạch nối _ (cần phân biệt với dấu -)
-Bộ chữ số thập phân: 0, 1,2,3,4,5,6,7,8,9
-Các ký hiệu toán học: + , - , * , / , = , < , > , ( , )
-Các ký tự đặc biệt: , : ; ? % @ \ { ! & # $
-Dấu cách hay khoản trống (Space)
b) Từ khoá:
(10)tùy theo ý nghĩa từ không dùng từ khóa để đặt tên riêng
-Tên hay gọi danh biểu (identifier) dùng để đặt cho chương trình, hằng, kiểu, biến, chương trình
-Tên có loại tên chuẩn Pascal đặt trước chẳng hạn hàm số SIN, COS…, số PI, kiểu INTERGER, CHAR…, tên người lập trình tự đặt
Ví dụ: write(‘nhap so a:’); readln(a);
Program Begin End Or Var If else
While Whith Type Array Const File ………
……
c) Teân:
-Dùng chữ cái, chữ số ký tự gạch ( _ ) để đặt tên phải tuân thủ quy cách:
*Bắt đầu chữ
*Khơng có khoảng trống tên
*Khơng trùng với từ khóa
-Độ dài tối đa tên 127 ký tự, nhiên cần đặt tên cho gọn có ý nghĩa, dễ nhận biết, dễ nhớ
-Pascal không nghiêm cấm việc đặt tên trùng với tên chuẩn ý nghĩa tên chuẩn khơng cịn giá trị
d) Dấu chấm phẩy:
Dấu chấm phẩy dùng để ngăn cách câu lệnh
Hoạt động 3: Giới thiệu cấu trúc chương trình Trong ngơn ngữ Pascal.
(11)phần khai báo
phần khai báo gồm mục sau
-Tên chương trình: PROGRAM<tên chương trình>
-Khai báo sử dụng UNIT: USE<tên UNIT> <, tên UNIT>
-Khai baùo
nhãn:LABEL<nhãn> <, nhãn>
-Khai báo
hằng:CONST
-Khai báo kiểu:TYPE -Khai báo biến:VAR -Khai báo chương trình
a) Tiêu đề:
Program tênchươngtrình;
b) Các khai báo:
Phần khai báo gồm mục sau
-Tên chương trình: PROGRAM<tên chương trình>
-Khai báo sử dụng UNIT: USE<tên UNIT> <, tên UNIT>
-Khai báo
nhãn:LABEL<nhãn> <, nhãn>
-Khai báo
hằng:CONST
-Khai báo kiểu:TYPE -Khai báo biến:VAR -Khai báo chương trình
c) Thân chương trình:
Phần thân chương trình Bắt đầu từ khóa Begin, kết thúc từ khóa End dấu “.” begin end câu lệnh
Hoạt động 4: Giới thiệu bước viết chương trình.
Thuật giải khái niệm quan trọng Toán học Tin học
Hàng ngày người tiếp xúc với nhiều toán từ đơn giản đến phức tạp Đối với số toán, tồn quy tắc
Thuật giải theo nghĩa trực giác hiểu quy tắc xác đơn trị để tiến hành số
3) Các bước viết chương trình:
Phân tích công việc và chọn cách giải:
a) Thuật giải:
(12)xác định mơ tả q trình giải Từ người ta đến khái niệm trực giác thuật giải khái niệm dùng từ lâu, kéo dài suốt nghìn năm Tốn học
Trong việc sử dụng MTĐT, người ta giao cho chúng giải nhiều tốn Để thiết bị kĩ thuật làm việc cách tự động, người ta cần mơ tả xác hành động trình tự thực hành động để giải toán đặt ra, tức cần xác định thuật giải để giải
Ví dụ: Giải phương
trình bậc ax+b=0 với a khác 0.
Thuật giải pt1;
Biến a, b, x: thực; y: văn bản;
hữu hạn thao tác sơ cấp theo trình tự định đối tượng cho sau số hữu hạn bước đến kết mong muốn
Ví dụ: Hãy trình bày thuật giải để giải phương trình bậc dạng ax+b=0
Giải đáp:
Bước 1: Nạp vào số a b;
Bước 2: Kiểm tra điều kiện a=0
Nếu chuyển sang bước
Cịn sai chuyển sang bước 4;
Bước 3: Kiểm tra điều kiện b=0
Nếu kết luận phương trình có vơ số nghiệm, tất nghiệm thực
Còn sai kết phương trình vô nghiệm;
Chuyển sang bước 5;
Bước 4: Trả lời nghiệm phương trình –b/a;
Bước 5: Kết thúc
Chương trình bao gồm hai thành phần cấu trúc liệu (tổ chức, sắp xếp thông tin) thuật giải.
Thuật giải thường biểu diễn hình thức khác
-Ngơn ngữ tự nhiên
-Sơ đồ khối
-Ngơn ngữ trình
-Những ngơn ngữ lập trình
b)Bố cục thuật giải:
(13)bắt đầu
đọc vào a, b với giả thuyết a khác 0;
y:= “phương trình có nghiệm nhất”;
x:=-b/a in y; in x
kết thúc.
Trước hết ta lập chương trình Pascal đơn giản để tập làm việc với môi trường Turbo Pascal Muốn soạn thảo chương trình(hay mở chương trình có sẵn), ta gõ F3 để mở tệp Trên hình thơng báo:
Name *.PAS
Nó có nghĩa yêu cầu ta nạp tên tệp mà ta ghi chương trình vào Tên tệp dãy ký tự nên lấy tập hợp chữ chữ số Với ý định soạn chương trình mang tên CHAO.PAS ta gõ CHAO gõ phím ENTER, máy tự động điền Pas (có nghĩa tệp chương trình soạn thảo Pascal) vào sau phần tên tệp
Nếu chương trình có lỗi máy thông báo lỗi trỏ xuất vị trí có lỗi để chờ ta sửa
Thuật giải tên
thuật giải; Khai báo
Bắt đầu
Các lệnh thuật giải cách dấu “;”
Kết thúc.
b)Chương trình Pascal
(14)Ta nạp qua bàn phím chương trình ngắn gọn sau:
Program chao;
Begin
Write(‘Chaøo cac ban !’); readln
End
Giả sử chương trình hành chương trình chao.PAS Muốn dịch chương trình Pascal này(gọi chương trình nguồn) mã máy chạy hệ thống, ta làm sau:
-Để chạy chương trình chao đánh Ctrl-F9, kiểm tra(học sinh tự kiểm tra)
-Gõ Alt-X để trở hệ thống, hệ thống ta mở đĩa chứa Pascal tìm mở chương trình chao.exe thực Như vậy, chương trình dịch (mang EXE dịch nhờ Turbo Pascal) chạy hệ thống (học sinh tự kiểm tra)
-Nếu dòng DESTINATION có ghi MEMORY gõ D để chuyển sang DISK (đĩa chứa tập tin Turbo.PAS) ghi sẵn DISK đương nhiên khơng phải gõ D;
c) Dịch chương trình chạy chương trình:
-Gõ đồng thời Alt-C để chọn COMPILE;
-Gõ đồng thời Alt-F9 để dịch chương trình
Kết dịch chương trình có EXE Ta ghi chương trình vào đĩa cách dùng phím F2 cho thực chương trình cách gõ đồng thời hai phím Ctrl+F9
TÓM TẮT
1 Dạng đơn giản chương trình Pascal
program tên chương trình ; begin
Những lệnh (ngăn cách dấu chấm phẩy)
end.
(15)Hoạt động 5: Viết chương trình để máy in lên hình thơng báo trang trí như
sau: ********************************* & TRUNG TAM MAY TÍNH &
& xin gui loi &
& CHAO CAC BAN & *********************************
Ghi chương trình vào đóa
cho chạy chương trình
Hoạt động 6: Dặn dò.
Xem kiểu liệu chuẩn bị cho tiết học
Tuần Ngày soạn:
Tieát Ngày dạy:
Tên bài: KIỂU DỮ LIỆU VÀ CÁC KHAI BÁO. I) Mục tiêu:
- Nắm khái niệm kiểu liệu ngơn ngữ lập trình Pascal
- Nắm kiểu liệu sở như: kiểu số nguyên, kiểu số thực, kiểu kí tự, kiểu logic
II) Chuẩn bị:
- Giáo án, sách giáo khoa - Máy vi tính
- Hs: xem trước nội dung III) Các hoạt động dạy học:
Hoạt động GV Hoạt động Hs Nội dung
Hoạt động 1: Ổn định lớp, kiểm tra cũ. Ổn định lớp: Kt sĩ số.
Kiểm tra cuõ:
(16)Pascal ?
Hoạt động 2: Hướng dẫn kiểu liệu Pascal.
Một cách chung nhất, thông tin xử lý máy tính gọi liệu Ơû mức ngơn ngữ máy, liệu biểu diễn dãy phần tử nhị phân, cịn gọi bít Các ngơn ngữ bậc cao trừu tượng hóa khái niệm liệu bỏ qua chi tiết biểu diễn bên xây dựng khái niệm liệu
Một kiểu liệu xác định tập hợp giá trị mà biến thuộc kiểu nhận, biến xuất chương trình dều phải gán kiểu Các kiểu liệu Pascal phức tạp, tạo từ kiểu đơn giản, không cấu trúc Các kiểu đơn giản người lập trình định nghĩa gọi kiểu vô hướng, bốn kiểu chuẩn: nguyên (interger), thực (real), logic (boolean) kí tự (char)
Một kiểu vô hướng đặc trưng tập hợp các giá trị với quan hệ thứ tự tuyến tính trong tập hợp Các giá trị được mô tả tên liệt kê định nghĩa kiểu.
Một giá trị kiểu nguyên phần tử tập hợp số nguyên biểu diễn máy cụ thể
chú ý: abs sqr cho kết nguyên đối số thuộc kiểu ngun
Nếu I biến kiểu nguyên thì:
Succ(i) cho số nguyên ( i+1)
Pred(i) cho số nguyên đằng trước ( i-1)
Tên chuẩn maxint (phụ thuộc vào máy) ký hiệu số nguyên lớn biểu diễn máy cụ thể Nếu a b biểu thức nguyên op tốn tử phép tốn a op b cho kết abs(a op b)<= maxint
1) Kiểu liệu sở: a) Kiểu số nguyên:
(interger)
Các phép toán sau áp dụng cho toán hạng nguyên cho kết nguyên
abs(x) : giá trị tuyệt đối x
sqr(x) : bình phương x
trunc(x): x số thực, kết phần nguyên(phần thập phân bị bỏ qua), ví dụ trunc(3.7)=3, trunc(-3.7)= -3
(17)Một giá trị kiểu thực phần tử tập số thực biểu diễn máy cụ thể
Nếu các tốn hạng có kiểu thực,
Chú ý: định nghĩa kiểu vô hướng, kiểu thực sử dụng kiểu vô hướng khác; chẳng hạn hàm succ pred không chấp nhận tham số thực; số
vaø abs(a)<=maxint
abs(b)<=maxint
Một giá trị kiểu ký tự phần tử tập hợp hữu hạn thứ tự ký tự Mọi máy tính có tập ký tự mình, bao gồm
b) Kiểu thực (real)
các phép toán sau cho kết thực:
* nhaân
/ chia (kết thuộc kiểu thực, hai toán hạng thuộc kiểu nguyên)
+ cộng - trừ
nếu tham số số thực hàm chuẩn sau cho kết thuộc kiểu thực:
abs(x) giá trị tuyệt đối x
sqr(x) bình phương x cịn hàm sau cho kết thuộc kiểu thực trường hợp:
sin(x) cos(x) arctan(x)
ln(x) logarit số e x
exp(x) e muõ x
sprt(x) bậc x. c) Kiểu ký tự: (char) Kiểu kí tự bao gồm:
1 Các chữ cái, bảng chữ Latinh xếp thứ tự từ A->Z:
2 Các chữ số thập phân xếp thứ tự từ 0->9
(18)thực sử dụng làm số mảng, chu trình sở tập hợp
Một giá trị logic nhận giá trị “đúng” “sai”; Pascal chúng ký hiệu tên xác định sẵn true false
Các phép toán quan hệ =, < >, <=, <, >, >=, in; cho kết logic
khác, ví dụ: <, >, , , (, )…
d) Kieåu logic (boolean)
Các phép toán áp dụng tới giá trị logic cho kết logic là
and phép “và” logic or phép “hoặc” logic
Not phép “không” logic
Ngồi cịn có hàm logic chuẩn, hàm cho kết kiểu boolean:
odd(x) : true x lẻ, false x chẵn
eold(f) :ký hiệu xuống dòng
eof(f) : ký hiệu kết thúc tệp
Hoạt động 3: Dặn dị.
Xem phần khai báo chuẩn bị cho tiết học
Tuần Ngày soạn:
Tiết Ngày dạy:
Tên bài: KIỂU DỮ LIỆU VÀ CÁC KHAI BÁO ( Tiếp theo ) I) Mục tiêu:
- Nắm khái niệm kiểu liệu khai báo ngơn ngữ lập trình Pascal - Nắm khai báo nhãn, hằng, biến Pascal
II) Chuẩn bị:
- Giáo án, sách giáo khoa - Máy vi tính
(19)III) Các hoạt động dạy học:
Hoạt động GV Hoạt động Hs Nội dung
Hoạt động 1: Ổn định lớp, kiểm tra cũ.
Ổn định lớp: Kt sĩ số. Kiểm tra cũ:
- Nêu kiểu liệu chương trình Pascal ?
Hoạt động 2: Hướng dẫn khai báo Pascal.
Nhãn đặt trước tất câu lệnh dấu : , để thực câu lệnh có nhãn có hai cách : để thực theo trật tự tự nhiên chương trình sử dụng câu lệnh chuyển điều khiển goto Tất nhãn phải khai báo phần khai báo nhãn trước sử dụng
Nhãn số nguyên không dấu, không nhiều chữ số
Ví dụ: label 3, 18, 1977;
Hằng đại lượng khơng đổi q trình thực chương trình
Có loại chuẩn người lập trình định nghĩa
*Hằng chuẩn
Nhãn số ngun khơng dấu, khơng nhiều chữ số
Ví dụ: label 3, 18, 1977;
1)Khai báo nhãn: (label)
Có hai cách :
-Thực theo trật tự tự nhiên chương trình - sử dụng câu lệnh chuyển điều khiển goto
2)Khai báo hằng (constant);
Cú pháp khai báo là:
CONST<Tên hằng> = <Giá trị hằng>;
(20)do Pascal định sẵn Chẳng hạn số PI Hằng màu Red=4… Người lập trình khơng cần định nghĩa lại khơng cần thiết
*Hằng người lập trình định nghĩa thông qua việc khai báo hằng.
Biến ô nhớ nhớ máy, giá trị biến thay đổi q trình thực chương trình biến giải phóng (bộ nhớ thu hồi nhớ) chương trình kết thúc
Chương trình quản lý biến thơng qua tên biến và biến tương ứng với chương trình nhất định.
Như biết kiểu có loại kiểu kiểu chuẩn kiểu người lập trình tự định nghĩa
Kiểu người lập trình định nghĩa thơng qua việc khai báo kiểu.
ví dụ: CONST a=50; ch=’A’;
d=TRUE;
ví dụ: VAR a, b, c: interger;
r:Real;
Giá trị
3)Khai báo biến: (Varible)
Biến trước sử dụng phải khai báo kiểu theo cú pháp sau:
VAR < Tên biến> ,Tên biến : <kiểu biến>;
,Tên biến,Tên biến : <kiểu>
4) Mơ tả kiểu liệu mới:
Cú pháp khai báo là:
TYPE <Tên kiểu> = <kiểu>;
Tên kiểu kieåu ;
Hoạt động 3: Dặn dị.
Xem phép tốn biểu, thức, hàm chuẩn bị cho tiết học
Tuần Ngày soạn:
(21)Tên bài: PHÉP TỐN, BIỂU THỨC, HÀM I) Mục tiêu:
- Nắm khái niệm Phép toán, biểu thức, hàm Pascal - Aùp dụng giải tập
II) Chuẩn bị:
- Giáo án, sách giáo khoa - Máy vi tính
- Hs: xem trước nội dung III) Các hoạt động dạy học:
Hoạt động GV Hoạt động Hs Nội dung
Hoạt động 1: Ổn định lớp, kiểm tra cũ. Ổn định lớp: Kt sĩ số.
Kieåm tra cũ:
-Nêu cấu trúc chương trình Pascal ?
- Nêu thành phần Pascal ?
Hoạt động 2: Hướng dẫn sử dụng biểu thức số học biểu thức logic.
Là phần câu lệnh bao gồm hằng, biến, hàm liên kết với phép toán, dấu ( )
Các toán tử logic kiểu Boolean cho kết kiểu Boolean bao gồm:
Vídụ:
(b+SQRT(d) )/(2*a)
Là biểu thức số học
1) Biểu thức số học:
Là phần câu lệnh bao gồm hằng, biến, hàm liên kết với phép toán, dấu ( )
Ví dụ: (b+SQRT(d))/(2*a)
2) Biểu thức logic:
(22)AND (và ), OR (hoặc), XOR NOT (phủ định) Bảng giá trị toán tử định nghĩa sau:
Hoạt động 3: Dặn dị.
Xem biểu thức kí tự hàm chuẩn bị cho tiết học
Tuần Ngày soạn:
Tiết Ngày dạy:
Tên bài: PHÉP TỐN, BIỂU THỨC, HÀM ( Tiếp theo ) I) Mục tiêu:
- Nắm khái niệm Phép toán, biểu thức, hàm Pascal - Aùp dụng giải tập
II) Chuẩn bị:
- Giáo án, sách giáo khoa - Máy vi tính
- Hs: xem trước nội dung III) Các hoạt động dạy học:
Hoạt động GV Hoạt động Hs Nội dung
Hoạt động 1: Ổn định lớp, kiểm tra cũ. Ổn định lớp: Kt sĩ số.
Kieåm tra cũ:
-Nêu khái niệm biểu thức số học chương trình Pascal ?
- Nêu khái niệm biểu thức logic kết quả trong chương trình Pascal ?
X Y X AND Y X OR Y X XOR Y
FALSE FALSE FALSE FALSE FALSE
FALSE TRUE FALSE TRUE TRUE
TRUE FALSE FALSE TRUE TRUE
(23)Hoạt động 2: Hướng dẫn sử dụng biểu thức kí tự biểu thức số hàm bản.
Trong chương trình Pascal ta thường sử dụng số hàm thông dụng sau: a)Hàm cắt TRUNC(x) cho kết số nguyên phần nguyên x
b) Haøm laøm tròn ROUND(x) cho kết số nguyên cách quy tròn phần thập phân x Nói cách khác hàm Round(x) cho ta số nguyên gần x
c) Hàm CHR (n) cho kết là1 kí tự có mã ASCII số n Để cho gọn ta viết #n thay cho CHR (n)
d) Hàm ORD (ch) cho kết số nguyên mã số ASCII kí tự ch
e) Hàm ODD (n) cho kết TRUE n số lẻ cho kết FALSE n chẵn
Ngồi cịn hàm SIN,COS,…
ví dụ Trunc(35,12)=35, Trunc(-35,12)=-35
Vídụ
Round(56.596)=57, Round(56.215)=56, Round(-56.589)=-57, Round(-56.231)=-56
Các hàm bản:
a)Hàm cắt TRUNC(x) cho kết số nguyên phần nguyên x
b) Hàm làm tròn ROUND(x) cho kết số nguyên cách quy tròn phần thập phân x Nói cách khác hàm Round(x) cho ta số nguyên gần x
c) Hàm CHR (n) cho kết là1 kí tự có mã ASCII số n Để cho gọn ta viết #n thay cho CHR (n)
d) Hàm ORD (ch) cho kết số nguyên mã số ASCII kí tự ch
e) Hàm ODD (n) cho kết TRUE n số lẻ cho kết FALSE n chẵn
f) Hàm ABS (x) lấy giá trị tuyệt đối số x
g) Hàm SQR (x) lấy giá trị bình phương x
h) Hàm SQRT(x) lấy giá trị bậc hai x
i)EXP(x) Hàm số mũ số e x
Hoạt động 3: Dặn dị.
(24)Tuần Ngày soạn:
Tiết Ngày dạy:
Tên bài: CÂU LỆNH, LỆNH GÁN, NHẬP-XUẤT DỮ LIỆU I) Mục tiêu:
- Nắm khái niệm câu lệnh lời giả thích Pascal - Aùp dụng giải tập
II) Chuẩn bị:
- Giáo án, sách giáo khoa - Máy vi tính
- Hs: xem trước nội dung III) Các hoạt động dạy học:
Hoạt động GV Hoạt động Hs Nội dung
Hoạt động 1: Ổn định lớp, kiểm tra cũ. Ổn định lớp: Kt sĩ số.
Kiểm tra cũ:
-Nêu khái niệm biểu thức kí tự chương trình Pascal ?
- Nêu hàm cách sử dụng chương trình Pascal ?
Hoạt động 2: Hướng dẫn khái niệm câu lệnh Pascal.
Một câu lệnh xác định cơng việc mà chương trình phải thực để xử lý liệu mô tả khai báo Các câu lệnh ngăn cách dấu chấm phẩy “;” Dấu chấm phẩy “;” có
1-Khái niệm câu
lệnh:
Có hai loại câu lệnh : câu lệnh đơn câu lệnh có cấu trúc
(25)tác dụng ngăn cách câu lệnh kết thúc câu lệnh khơng thuộc vào câu lệnh
Trong chương trình nhiều lúc cần phải đưa vào lời giải thích nhằm diễn giải cơng việc mà đoạn chương trình thực làm cho chương trình dễ hiểu hiểu mà không ảnh hưởng đến kết chương trình Lời giải thích đặt chỗ chương trình phải để cặp dấu cặp dấu “ * *” Trong lúc hiệu đính chương trình ta dùng cặp dấu cặp dấu “ * *” để tạm thời bỏ đoạn chương trình
Ví dụ: Chương trình giải phương trình bậc hai
loại Procedure, lệnh nhảy không điều kiện Goto
Câu lệnh có cấu trúc: bao gồm cấu trúc điều kiện rẽ nhánh, cấu trúc điều kiện lựa chọn, cấu trúc lặp câu lệnh hợp thành Câu lệnh hợp thành bao gồm nhiều lệnh đơn, BEGIN kết thúc từ END
2-Lời giải thích
Trong chương trình nhiều lúc cần phải đưa vào lời giải thích nhằm diễn giải cơng việc mà đoạn chương trình thực làm cho chương trình dễ hiểu hiểu mà khơng ảnh hưởng đến kết chương trình Lời giải thích đặt chỗ chương trình phải để cặp dấu cặp dấu “ * *” Trong lúc hiệu đính chương trình ta dùng cặp dấu cặp dấu “ * *” để tạm thời bỏ đoạn chương trình
3-Một số lệnh đơn
(26)Đó lệnh gán Thực lệnh này, MTĐT tính giá trị biểu thức bên phải, sau gán giá trị biểu thức cho biến bên trái dấu gán, tức giá trị vào vùng nhớ có địa ký hiệu tên biến bên trái Sau lệnh gán, giá trị cũ biến bị biến nhận giá trị
Ta cho máy thực chương trình cách gõ đồng thời hai phím Ctrl-F9
Trong chương trình phần tựa đề thân chương trình cịn có phần khai báo, ví dụ var k1, k2, cv, dt : real Từ var từ khóa, viết tắt variable, có nghĩa biến Từ real nghĩa là số thực Dòng khai báo chương trình có nghĩa số thực Dịng khai báo chương trình có nghĩa khai báo biến mang tên k1, k2, cv, dt; biến nhận giá trị thực Về thực chất sử dụng bốn vùng nhớ có địa ký hiệu k1, k2, cv, dt để sẵn sàng chứa bốn số thực
Ví dụ:
Program chunhat; Var k1, k2, cv, dt : real; Begin Readln(k1,k2); cv:=2*(k1+k2); dt:=k1*k2; writeln(cv); write(dt); readln end
Chú ý: không nên lẫn dấu “:=” lệnh gán (có nghĩa thao tác đưa giá trị vào ô nhớ) với dấu “=” toán học(chỉ mệnh đề nhau)
(assignment statement) Lệnh gán dùng để gán giá trị biểu thức, vào biến
Cú pháp: <Tên biến>:=<biểu thức>
Nội dung thân chương trình có nghóa là:
- Nhập từ bàn phím hai giá trị gán cho biến k1, k2, tức đưa giá trị vào địa ký hiệu k1 k2
- Tính giá trị biểu thức 2*(k1+k2) bên phải dấu “:=” gán giá trị cho biến cv, tức đưa giá trị vào địa kí hiệu cv Lệnh cv:= 2*(k1+k2) gọi
lệnh gán.
- Tính giá trị biểu thức k1*k2 bên phải dấu “:=” gán giá trị cho biến dt, tức đưa giá trị vào địa kí hiệu dt
- Đưa giá trị địa cv hình
- Đưa giá trị địa dt hình
Chú ý: khơng nên lẫn dấu “:=” lệnh gán (có nghĩa thao tác đưa giá trị vào ô nhớ) với dấu “=” toán học(chỉ mệnh đề nhau)
Trong chương trình có lệnh mới:
readln(k1,k2);
(27)Ta ghi lại (dùng phím F2) cho thực chương trình CHUNHAT.PAS (gõ đồng thời Ctrl-F9) Khi thực chương trình, hình xuất tín hiệu mời (nhấp nháy) có nghĩa máy hỏi ta hai giá trị k1 k2
màn hình xuất hai giá trị:
1.8000000000E+01 2.0000000000E+01
Đó chu vi diện tích hình chữ nhật viết dạng dấu phẩy động Hai giá trị có nghĩa là:
1.8000000000 x 1001 tức 18
(nếu làm tròn tới đơn vị)
2.0000000000 x 1001 tức 20
(nếu làm tròn tới đơn vị)
Hai giá trị nạp vào phải cách hay nhiều dấu cách kết thúc phím Enter
Writeln(cv);
Cho hình giá trị biểu thức cv, sau xuống dịng
Write(dt);
Cho hình giá trị biểu thức dt
b/Thực hiện
chương trình
Ta ghi lại (dùng phím F2) cho thực chương trình CHUNHAT.PAS (gõ đồng thời Ctrl-F9) Khi thực chương trình, hình xuất tín hiệu mời (nhấp nháy) có nghĩa máy hỏi ta hai giá trị k1 k2 Đánh (cách dấu cách) gõ phím Enter, hình xuất hai giá trị:
1.8000000000E+01 2.0000000000E+01
Đó chu vi diện tích hình chữ nhật viết dạng dấu phẩy động Hai giá trị có nghĩa là:
1.8000000000 x 1001
tức 18 (nếu làm tròn tới đơn vị)
2.0000000000 x 1001
tức 20 (nếu làm tròn tới đơn vị)
Hoạt động 3: Dặn dò.
(28)Tuần Ngày soạn:
Tiết Ngày dạy:
Tên bài: CÂU LỆNH, LỆNH GÁN, NHẬP-XUẤT DỮ LIỆU I) Mục tiêu:
- Nắm khái niệm câu lệnh nhập xuất liệu Pascal - Aùp dụng giải tập
II) Chuẩn bị:
- Giáo án, sách giáo khoa - Máy vi tính
- Hs: xem trước nội dung III) Các hoạt động dạy học:
Hoạt động GV Hoạt động Hs Nội dung
Hoạt động 1: Ổn định lớp, kiểm tra cũ.
Ổn định lớp: Kt sĩ số. Kiểm tra cũ:
-Nêu khái niệm câu lệnh chương trình
Pascal ?
- Nêu khái niệm lời giải thích chương trình Pascal ?
Hoạt động 2: Hướng dẫn lệnh nhập liệu xuất liệu Pascal.
Read vaø
Readln khác chỗ: Readln sau gõ Enter trỏ dời xuống dịng cịn read khơng Nên dùng Readln đọc liệu để dễ phân biệt hình
Bài tốn Tính chu vi và diện tích hình chữ nhật biết hai cạnh
Lệnh nhập-xuất liệu
a)Thủ tục đọc liệu từ bàn phím
(29)Readln (khơng có biến ) khơng đọc mà chờ ta gõ Enter Người ta thường dùng read cuối chương trình (trước end.) để chương trình chạy xong hình kết cịn dừng lại để ta xem, gõ Enter để trở chế độ soạn thảo Cũng có người ta dùng readln chỗ chương trình để chạy tới chương trình tam dừng lại cho ta kiểm tra, gõ Enter để chương trình tiếp tục chạy
Trong chương trình có lệnh:
readln(k1,k2);
Đó u cầu nạp liệu từ bàn phím để đưa vào địa ký hiệu k1,k2 Hai giá trị nạp vào phải cách hay nhiều dấu cách kết thúc phím Enter
của nó.
Ta nghĩ tính chu vi diện tích hình chữ nhật khơng có khó khăn Tuy nhiên điều lại nằm ý đồ muốn chuyển từ lãnh vực quen thuộc (tính tốn) sang lãnh vực chưa biết (lập trình)
Thuật giải
Thuật giải chữ
nhaät;
Biến k1,k2,cv,dt: thực;
Bắt đầu
Nhận vào k1, k2; Cv:=2*(k1+k2); Dt:=k1*k2; Hiển thị cv dt
Kết thúc.
read(muïc1,muïc2,………,muïcN); readln(muïc1,muïc2,………,muïcN); readln;
Các cụm liệu gõ từ bàn phím cho biến phân biệt với cách gõ Space Bar lần Kết thúc việc gán trị phím Enter
Chương trình Program chunhat1; Var k1, k2, cv, dt : real; Begin Readln(k1,k2); cv:=2*(k1+k2); dt:=k1*k2; writeln(cv); write(dt); readln end
Trong chương trình có lệnh:
readln(k1,k2);
(30)Hoạt động 3: Hướng dẫn thủ tục xuất hình Pascal. *Để viết liệu hình
Pascal có mẫu viết sau:
write(muïc1,muïc2, ………,muïcN);
writeln(muïc1,muïc2,………,muïcN); writeln;
Thủ tục writeln(mục1,mục2, ………,mụcN) khác thủ tục write(mục1,mục2,………,mụcN) chỗ viết xong xuống hàng
Thủ tục writeln(mục1,mục2, ………,mụcN) khác thủ tục write(mục1,mục2,………,mụcN) chỗ viết xong xuống hàng
Thủ tục writeln(mục1,mục2, ………,mụcN) khác thủ tục write(mục1,mục2,………,mụcN) chỗ viết xong xuống hàng
Thủ tục writeln(mục1,mục2, ………,mụcN) khác thủ tục write(mục1,mục2,………,mụcN) chỗ viết xong xuống hàng
b)Thủ tục viết liệu ra
màn hình WRITE và WRITELN
*Để viết liệu hình Pascal có mẫu viết sau:
write(mục1,mục2, ………,mụcN);
writeln(mục1,mục2, ………,mụcN); writeln;
Trongđó mục1,mục2, ………,mụcN mục cần viết loại sau:
-Biến chẳng hạn write(i,j)
-Biểu thức
chẳng hạn write(2*a+b) -Hằng chẳng hạn write(Pi)
-Giá trị kiểu vô hướng chuẩn chẳng hạn write(230,23.56,TRUE,’a’)
-Một chuỗi ký tự
chẳng hạn
write(‘Chào bạn!!’)
Thủ tục
writeln(mục1,mục2,
………,mụcN) khác thủ tục write(muïc1,muïc2,
………,mụcN) chỗ viết xong xuống hàng
(31)Nếu sau Write(mục1, ……,mụcN) có writeln dịng trống in
Nếu sau Write(mục1, ……,mụcN) có writeln dịng trống in
một việc làm việc đơn giản đặt trỏ xuống dịng lệnh writeln(mục1,mục2,
………,mụcN) tương đương với
Begin Write(muïc1, ……,muïcN);
Writeln; End
Nếu sau Write(mục1, ……,mụcN) có writeln dịng trống in
Hoạt động 4: Hướng dẫn qui định dạng thập phân Pascal. Với chương trình hình
chữ nhật viết mục giá trị chu vi diện tích hình chữ nhật xuất dạng mà ta chưa biết, dạng dấu phẩy động; cách viết
không quy cách Muốn
cho số thực xuất dạng thập phân thông thường (gọi dạng dấu phẩy tỉnh) ta phải viết quy cách.
Ta sửa đổi chương trình sau:
Program chunhat; Var k1, k2, cv, dt : real; Begin
Readln(k1,k2); cv:=2*(k1+k2); dt:=k1*k2; writeln(cv :6 :2);
Ví dụ:
write(biểuthứcthực :m :n) writeln(biểuthứcthực :m :n)
b)Quy định dạng xuất
hiện số thập phân
Cách viết quy cách: ta bố trí số chỗ cố định cách thêm dấu hai chấm“:” theo sau số chỗ để viết “:m:n” Máy bố trí số nguyên từ phải qua trái, thừa chỗ để trống bên trái
Hiển thị giá trị biểu thức thực vào khu vực có độ dài m ký tự với n chữ số phần thập phân Nếu dùng writeln sau in xong, máy chuyển chạy xuống dịng
Ta ghi chương trình vào đĩa với tệp mang tên khác (chunhat2.pas) để chương trình trước khỏi bị xóa Muốn ta gõ đồng thời Alt-F để chọn FILE chọn SAVE AS
(32)write(dt :6 :2); readln
end
Dạng lệnh WRITELN WRITE có nghĩa là:
WRITELN(cv :6 :2); Cho hình giá trị biểu thức cv vào vùng ghi ký tự với chữ số thập phân, sau xuống dịng
WRITE(dt :6 :2); Cho hình giá trị biểu thức dt vào vùng ghi ký tự với chữ số thập phân
chunhat2, ta cho xuất số thực dạng dấu phẩy tỉnh Ngay dạng dấu phẩy động, ta quy định dạng trình bày nhờ lệnh WRITELN viết dạng chương trình tính chu vi, diện tích đường chéo hình chữ nhật cho hai kích thước sau:
Program chunhat;
Var k1, k2, cv, dt, dc : real;
Begin
Readln(k1,k2); cv:=2*(k1+k2);
dc:=sqrt(k1*k1+k2*k2); writeln(cv :9);
writeln(k1*k2 :9); write(dc :9); readln
end
Nghĩa dạng lệnh WRITELN chương trình là:
WRITELN(cv :9); Hiển thị chỉnh phải giá trị biến thực cv lên hình dạng dấu phẩy động vào khu vực có
Hoạt động 5: Hướng dẫn thực chương trình Pascal.
c/Thực chương
trình
(33)Để tính chu vi diện tích hình chữ nhật ứng với giá trị khác k1 k2, trước hết ta lại gõ đồng thời Ctrl-F9 Sau ta nạp hai giá trị k1 k2 (cách dấu cách), gõ phím Enter, hình xuất hai giá trị chu vi diện tích hình chữ nhật
Qua việc thực chương trình trên, ta rút nhận xét sau: Nạp chương trình vào máy tức ta ghi máy cách giải toán mà
lớp toán với hai biến k1 và
k2 Sau đó, lần muốn giải tốn cụ thể lớp lớp đó, ta cần ấn phím Ctrl-F9 nạp hai giá trị k1 k2 không cần nạp lại chương trình Đó ưu điểm việc sử dụng MTĐT để giải toán Ngay máy tính bỏ túi (khơng lập trình), tính tốn nhanh khơng có ưu điểm
Chẳng hạn:
Với 3.17 51.26 máy cho kết quả: 108.86 162.49 Với 67.125 12.378 máy cho kết quả: 159.01 830.873
trị có dấu cách giữa, hình xuất kết dạng quen thuộc:
18.00 20.00
Dấu chấm nghĩa dấu phẩy cách biểu diễn số thập phân
Hoạt động 6: Dặn dò.
(34)(35)BAØI LỆNH LỰA CHỌN, LỆNH LẶP I-LỆNH CẤU TRÚC RẼ NHÁNH
1/Dạng không đầy đủ
Cú pháp: IF <Điều kiện> THEN <Công việc>
Ý nghĩa: Điều kiện Thì thực Cơng việc Lưu đồ cú pháp:
Ví dụ 1: Trong việc thực phép chia số a cho b, phải có điều kiện b < > Điều thể chương trình sau:
Var
a,b: interger; Begin
Write(‘Nhập số a:’);readln(a); Write(‘Nhập số b:’);readln(b);
IF b < > THEN writeln(‘Thương số là:’,a/b:5:2); Readln;
End
2/Dạng đầy đủ
Cú pháp: IF <Điều kiện> THEN <Công việc 1> ELSE<Công việc 2>
Ý nghĩa: Điều kiện Thì thực Cơng việc ngược lại thực Cơng việc 2 Lưu đồ cú pháp:
Ví dụ 2: Var
a,b: interger; Begin
Write(‘Nhập số a:’);readln(a); Write(‘Nhập soá b:’);readln(b);
(36)ELSE
Writeln(‘Soá chia 0, phép chia nghóa’); Readln;
End
Chú ý: - Trước từ khóa ELSE khơng có dấu chấm phẩy
- Cơng việc lệnh nhiều lệnh Trong trường hợp nhiều lệnh phải để chúng cặp BEGIN END (tạo nên lệnh hợp thành)
Ví dụ 3: Nhập vào hai số a b tìm giá trị lớn nhỏ hai số Var
a,b:real; begin
write(‘Nhập vào a:’);radln(a); write(‘Nhập vào b:’);radln(b); IF a>b THEN
Begin
Writeln(a:5:2,’là số lớn nhất’); Writeln(b:5:2,’là số nhỏnhất’); End;
ELSE Begin
Writeln(a:5:2,’là số nhỏ nhất’); Writeln(b:5:2,’là số lớn nhất’); End;
End
II-LỆNH CẤU TRÚC LỰA CHỌN 1/Dạng không đầy đủ
Cú pháp
CASE <Biến> OF
Hằng1a,hằng1b,………….,hằng1x: <Công việc 1>; Hằng2a,hằng2b,………….,hằng1x: <Công việc 2>; ……… HằngNa,hằngNb,………….,hằngNx: <Công việc N>; END;
Ý nghĩa: Trước hết kiểm tra xem giá trị <Biến> có phải Hằng1a,hằng1b,………….,hằng1x hay khơng Nếu thực <cơng việc 1> kết thúc lệnh(thực lệnh sau END;), sai kiểm tra xem giá trị <Biến> có phải Hằng2a,hằng2b,………….,hằng1x hay khơng Nếu thực <Cơng việc 2> kết thúc lệnh, sai tiếp tục kiểm tra… Cứ tiếp tục vậy, giá trị <Biến> không thuộc tập hợp từ 1a đến Nx lệnh kết thúc mà không thực cơng việc
Ví dụ 4: viết chương trình nhập điểm học sinh theo thang điểm 10 tiến hành xếp loại văn hóa theo điểm sau:
9,10 : Loại giỏi
7,8 : Loại
(37)3,4 : Loại yếu
0,1,2 : Loại
Program xeploại1; Var
Diem:integer; Begin
Write (‘Bai dat bao nhieu diem:’);readln(diem); CASE diem OF
9,10: Writeln(‘Loai gioi’); 7,8: Writeln(‘Loai kha’); 5,6: Writeln(‘Loai trung binh’); 3,4: Writeln(‘Loai yeu’); 0,1,2: Writeln(‘Loai kem’); END;
Readln End 2/Dạng đầy đủ
Cú pháp
CASE <Biến> OF
Hằng1a,hằng1b,………….,hằng1x: <Công việc 1>; Hằng2a,hằng2b,………….,hằng1x: <Công việc 2>; ……… HằngNa,hằngNb,………….,hằngNx: <Công việc N> ELSE
<Công việc N+1>; END;
Ýù nghĩa: Khác dạng khơng đầy đủ chỗ: giá trị <Biến> không thuộc tập hợp các
hằng từ 1a đến Nx thực <Công việc N+1>; (các lệnh sau từ khóa ELSE) kết thúc lệnh
ví dụ 5: ví dụ yêu cầu thêmlà số điểm nhập vào không nằm số từ đến 10 in câu: nhập điểm sai
Program xeploại2; Var
Diem:integer; Begin
Write (‘Bai dat bao nhieu diem:’);readln(diem); CASE diem OF
(38)Write (‘nhap diem sai:’); END;
Readln End
Chú ý: Biến sau từ khóa CASE phải biến kiểu đếm được.
III-CÁC LỆNH VÒNG LẶP
1/Lệnh lặp với số lần lặp xác định a)Dạng 1:
Cú pháp: FOR <Biến>:= <Giá trị đầu> TO <Giá trị cuối> DO <Công việc> Ý nghĩa: Các bước thực lệnh sau:
Bước 1: Kiểm tra xem giá trị đầu <= giá trị cuối Nếu gán giá trị đầu cho biến và thực công việc.
Bước 2: Kiểm tra xem giá trị biến < > giá trị cuối Nếu tăng thêm cho biến một “đơn vị” (tức biến:=SUCC(biến)) thực công việc.
Lặp lại bước giá trị biến giá trị cuối kết thúc lệnh. Chú ý:
-Biến sau từ khóa FOR gọi biến đếm, biến đếm phải có kiểu đếm giá trị đầu <=
giaù trị cuối.
-Trong lệnh cơng việc khơng có lệnh làm thay đổi giá trị biến đếm. -Như sau vòng lặp kết thúc giá trị biến giá trị cuối
Ví dụ 6: Var
i: integer; begin
for i:= to
writeln(‘day la vong lap thu ‘,i); writeln(‘den day het vong lap’); readln;
end
Ví dụ 7: viết chương trình tính tổng n số, số n số hạng nhập từ bàn phím chạy chương trình
Var
N,I,s,so:integer; Begin
Write(‘Dãy có số?’);readln(n); s:=0;
FOR i:=1 TO n DO Begin
Write(‘Nhập số thứ ’, i ,’:’); readln(so); s:=s+so;
end;
writeln(‘Tổng dãy số S=’, s); readln;
(39)b)Dạng cú pháp:
FOR <Biến>:= <giá trị đầu> DOWNTO <giá trị cuối> TO <công việc>
Ý nghĩa: tương tự dạng sau lần lặp biến bị giảm “đơn vị” (Biến := PRED(biến))
Trong chương trình có nhiều vịng lặp FOR…TO… DO FOR… DOWNTO… DO lồng Lúc ứng với giá trị biến vịng ngồi máy lặp lại cơng việc vịng
Ví dụ 8: tìm số nguyên dương ước n Program uocso;
Var
i,n:integer; begin
write(‘nhap so n:’);readln(n); for I:=n downto
if n mod i:=0 then write(i:8); readln;
end
2/Lệnh lặp với số lần lặp khơng xác định a)Dạng
Cú pháp: WHILE <Điều kiện> DO <Công việc>
nghĩa: Vào lệnh kiểm tra <Điều kiện> Nếu <Điều kiện> thực <Cơng việc> sau quay lại kiểm tra <Điều kiện> Cứ tiếp tục <Điều kiện> sai kết thúc lệnh
Lưu đồ cú pháp:
ví dụ 9: Tính tổng S=1+2+….+n cho S>1000 Hỏi S bao nhiêu? Var
i,s:integer; Begin
s:= 0; i:= 1;
(40)s:= s + 1; i:= i + 1; end;
writeln(‘Khi tong S=’,S); readln;
End
Ví dụ 10: Để tìm USCLN số a b ta làm sau: Đầu tiên ta cho UCLN số nhỏ số a b sau ta kiểm tra điều kiện: Nếu hai số a b không chia hết cho UCLN xuống đơn vị lặp lại điều số a b chia hết cho UCLN UCLN số cần tìm
Program USCLN; Var
a,b,ucln: integer; begin
write(‘nhap so a :’);readln(a); write(‘nhap so b :’);readln(b); if a < b then
ucln:= a else
ucln:= b;
while (a mod ucln < > 0) or (b mod ucln < > 0) ucln := ucln – 1;
writeln(‘USCLN hai số ‘,a,’và’,b,’la:’,ucln); readln;
end
Chú ý: Trong vòng lặp phải có lệnh có khả làm thay đổi điều kiện sau từ khoá WHILE để đến lúc điều kiện khơng cịn vịng lặp kết thúc Trong ví dụ lệnh S:=S+1 cịn ví vụ 10 lệnh ucln := ucln –
b)Dạng
Cú pháp: REPEAT <Công việc> UNTIL <Điều kiện>
Ý nghĩa: Vào lệnh thực <cơng việc> sau kiểm tra <Điều kiện> Nếu <Điều kiện> sai tiếp tục thực <cơng việc>, sau lại kiểm tra <Điều kiện> Quá trình tiếp tục <Điều kiện> kết thúc lệnh
Ví dụ:Viết chương trình nhập vào số nguyên dương n xác định xem có phải số nguyên tố không?
(41)n,i: integer; begin
write(‘Hay nhap vao so n:’);readln(n); i:=1;
REPEAT i:= i+1;
UNTIL (n mod I = 0) or (i*i>n); If i*i>n then
Write(n,’la so nguyen to’) Else
Write(n,’la hop so ’); Readln;
End
c) Sự khác WHILE…DO REPEAD… UNTIL Giữa hai loại lệnh có khác sau:
Trong lệnh WHILE…DO <Điều kiện> kiểm tra trước, <Điều kiện> thực <Cơng việc> Cịn lệnh REPEAD… UNTIL ngược lại <Cơng việc> làm trước kiểm tra <Điều kiện>, <Điều kiện> vịng lặp kết thúc Như tùy hoàn cảnh khác mà ta lựa chọn sử dụng lệnh thích hợp Nếu dùng loại lệnh để giải loại toán với giải thuật <Điều kiện> sau WHILE <Điều kiện> sau UNTIL phủ định
Chúng ta thường sử dụng lệnh lặp với số lần lặp khơng xác định để quay vịng cơng việc ta khơng muốn thực Như lần muốn tìm UCLS số ta phải chạy chương trình USCLN lần Điều làm bực phải đánh Ctrl-F9 hồi Có cách khắc phục điều khơng? Có đấy! Lệnh REPEAD… UNTIL giúp Hãy sửa đổi chương trình USCLS chút sau:
Program USCLN; Var
a,b,ucln: integer; traloi:char; begin
REPEAD
write(‘nhap so a :’);readln(a); write(‘nhap so b :’);readln(b); if a < b then
ucln:= a else
ucln:= b;
while (a mod ucln < > 0) or (b mod ucln < > 0) ucln := ucln – 1;
writeln(‘USCLN cuûa hai số ‘,a,’và’,b,’la:’,ucln); readln;
(42)2/Làm việc với môi trường turbo pascal
Trong 1, ta viết chương trình Pascal đơn giản, hồn tồn giúp ta làm quen với thao tác chương trình Pascal Ta cho thực chương trình này, sửa chữa nó, ghi vào đĩa thành tệp, gọi vào nhớ v.v… Điều quan trọng tất thao tác áp dụng cho chương trình Pascal bất kì, dù phức tạp đến Vì ta tập làm việc với chương trình, với tệp, thơng qua chương trình đơn giản nói
1 Môi trường Turbo Pascal
Khởi Turbo Pascal ta vào môi trường hệ thống Mơi trường thể màn hình dạng bảng chọn sau:
Sau khởi động Turbo Pascal, hình có sẵn cửa sổ tệp tên NONAME00.PAS Tệp mang chương trình để máy làm số cơng việc ban đầu đó, chứa đoạn văn Nếu khơng cần thiết tệp này, ta đóng nó, đồng thời đóng cửa sổ có ghi NONAME00.PAS cách ấn đồng thời hai phím Alt – F3
Môi trường giúp ta làm việc với Turbo Pascal: soạn thảo chương trình (Edit), thực chương trình (Run), ghi chương trình vào đĩa, gọi chương trình từ đĩa (File) v.v…
2 Cách làm việc với bảng chọn
Với bảng chọn (MENU) trên, muốn chọn công việc nào, ta dùng cách sau: - Gõ đồng thời thời phím Alt chữ có độ sáng cao tên từ cần chọn Ví dụ gõ Alt – E để gõ chương trình
- Nhấn phím F10, di chuyển vệt sáng đến từ cần chọn gõ Enter
-Nhiều công việc ghi menu cịn thực cách gõ số phím chức cho nhanh Ví dụ F3 để mở tệp, Alt – F3 để đóng tệp, Ctrl – F9 để thực chương trình, Alt – X để kết thúc làm việc với Turbo Pascal
(43)Trở lại công việc nay, sau soạn ghi chương trình CHAO.PAS lên đĩa, muốn kiểm tra việc ghi này, ta gõ phím F3 để mở tệp Trên hình cửa sổ, có ghi danh mục tệp đĩa ổ hoạt động Ta thấy danh mục có tên tệp CHAO.PAS Vì ta muốn xem danh mục tệp đĩa không muốn mở tệp khác nên ta gõ phím ESC để huỷ bỏ lệnh mở tệp quay hình soạn thảo
Hoạt động 1: Hãy sửa đổi chương trình “chào” xuất nhiều văn hơn
nữa hình, cụ thể ngồi văn cũ cịn có thêm dịng “ Chung ta bat dau lam viec”
Giải đáp: Muốn ta bổ sung vào chương trình cũ dịng lệnh sau:
Program chao; begin
write(‘Chao cac ban !’);
write(‘Chung ta bat dau lam viec !’); readln;
end
Một kiến thức cần ghi nhớ ta dùng dấu (“;”) để ngăn cách hai lệnh
Hoạt động 2: Hãy cho chạy chương trình vừa sửa đổi.
Giải đáp: Gõ đồng thời Ctrl – F9, ta thấy xuất hình:
Chao cac ban ! Chung ta bat dau lam viec ! Những lệnh hiển thị
Đối với chương trình mục 2, điều ngồi ý ta khơng có xuống dịng ngắt câu thứ Như write không gây việc xuống dịng kết thúc văn Muốn có xuống dịng, ta dùng lệnh writeln.
Hoạt động 3: Hãy sửa chương trình trở thành sau:
Program chao; begin
writeln(‘Chao’); writeln(‘ cac’); writeln(‘ ban !’); writeln;
writeln(‘CHUNG TA BAT DAU LAM VIEC !’);
writeln(‘ ******** ’);readln; end
Cho chạy chương trình này, ta thấy xuất hình: chao
cac ban
CHUNG TA BAT DAU LAM VIEC ! ********
Qua chương trình chương trình mục 2, ta nêu lại lệnh hiển thị sau đây: -write(‘dãy kí tự’);
Dãy kí tự dấu nháy đơn đưa lên hình ngun văn -writeln(‘dãy kí tự’);
Lệnh có tác dụng giống write có xuống dòng kết thúc văn bản. -writeln;
(44)Hoạt động 4: Hãy sửa chương trình trở thành sau:
Program chao; Begin
writeln(‘Chao’); writeln(‘ cac’); writeln(‘ ban !’); writeln;
writeln(‘CHUNG TA BAT DAU LAM VIEC !’);
writeln(‘ ******** ’);readln; end
Cho chạy chương trình này, ta thấy kết Như điều lí thú là, chương trình Pascal, chỗ đã có kí tự trống (trừ trường hợp bên văn bản) ta thay số tuỳ ý kí tự trống số tuỳ ý lần xuống dịng mà khơng làm thay đổi tác dụng chương trình Đặc điểm cho phép ta linh hoạt cách trình bày chương trình Pascal (viết lùi vào, xuống dịng, trình bày thành khối v.v…) để chương trình sáng sủa, dễ đọc dễ hiểu
Để khỏi Pascal trở hệ thống, ta gõ đồng thời hai phím Alt – X lúc máy hỏi có ghi chương trình có nhớ lên đĩa hay khơng Nếu muốn ghi ta ấn phím chữ Y (viết tắt Yes), khơng ấn phím N (viết tắt No)
TÓM TẮT
4 p dụng
C Dịch chương trình
D Chạy thử kiểm tra kết quả
1 Những lệnh
writeln(‘dãy kí tự’);
Dãy kí tự hai dấu nháy đơn đưa lên hình ngun văn, sau xuống dịng
Writeln;
Bỏ trống dòng
2 Môi trường làm việc Turbo Pascal
Trong ta làm việc với phím sau:
F3 mở tệp Alt-F3 đóng tệp F2 ghi tệp lên đĩa
Ctrl-F9 thực chương trình