Nói dung giang dạy chương 4: Lập trình cho MTĐT 1 Thời lượng: § tiết (4 tiết lý thuyết; 4 tiết bài tập/thảo luận/thực hành) 2 Noi dung:
- Tong quan về lập trình cho máy tính điện tử ($0 phút)
Giới thiệu về thuật toán: khả niệm, cách biểu diễn thuật toán, một số thuật toán cơ bản:
tính tông, tìm maz (min), sắp xép, ; Giới thiệu về ngôn ngữ lập trình; Giới thiệu ngôn ! ngữ lập trinh Pascal
- _ Sử dụng cơ bản ngôn ngữ lập trinh Pascal (30 phut) Hướng dẫn sử dụng cơ bản ngôn ngữ lập trình Pascal,
- _ Lập trình tuân tự (20 phút)
Giới thiệu v dạng thức chương trình đơn giản nhật cho may tính điện tử Cho ví dụ
Trang 3- Lap trinh phan nhanh (20 phut)
Giới thiéu vé lénh r# nhanh If trong Pascal, cho vi du minh hoa - Lap trinh chu trinh (30 phut)
Giới thiệu về các lệnh chu trình: For, While; Repeat trong Pascal, cho vi du minh hoa - Dit lieu mang (20 phut)
Gidi thiéu vé mang trong Pascal; cho vi du minh hoa về mảng một chiêu
- Thirc hanh (200 phút)
Huong dan SV thuc hanh trên máy các bải về: lập trình tuân tự, lập trình phân nhánh; lập
trinh chu trình vả mảng một chiêu
3 Cac van đề đề sinh viên tự nghiên cứu:
- Cac ham thương sử dụng trong Pascal - Lénh ré nhanh CASE OF
Trang 44.1 TONG QUAN VE LAP TRINH CHO
MAY TINH DIEN TU’
¢ 4.1.1 Giới thiệu về thuật toán
¢ a Khai niem
Thuật tốn là một bảng hướng dẫn gôm hữu
hạn các mệnh lệnh, quy định chính xác các
thao tác hay phép toán mà máy tính điện tử cân
thực hiện một cách máy móc theo frinh tự vạch
Trang 5¢ Vi du đề giải bài toán ax2 + bx + c = Ö Dù a,b, c nhận giá trị như thê nào, có thê là các hang SỐ, biéu thức hay đa thức thì người giải chỉ cân thực
hiện theo 3 bước sau:
1/ Tính giá trị delta
2/ Xét giá trị delta : nêu delta âm thì kết luận bài toán
võ nghiệm ngược lại bài toán có 02 nghiệm
3/_ Tính nghiệm của bài tốn theo cơng thức
Với 3 bước thao tác trên, người ta gọi đó là thuật
Trang 6‹ồ b Tính chất của thuật toán
Thuật toán có nhiều tính chât nhưng dé
xây dựng một thuật toán cân phải tuân thủ
Trang 7- Tinh chinh xac: Mot thao tac cua thuật
toán phải rõ ràng, không gây nhằm lẫn
làm hiéu theo nhiêu nghĩa khác nhau Hay nói cách khác là trong cùng một điêu kiện
nêu thực hiện cùng một thao tác thì phải
Trang 8- Tinh pho dung: Thuat toán được xây
dung dam bao dung dé giải quyết
một lớp bài toán chứ không xây dựng
Trang 9Tính kết thúc: Các thao tác của thuật
toán phải đảm bảo dừng lại và cho ra
kêt quả sau một sô hữu hạn các bước
Trang 10c Biéu diễn thuật toán bằng sơ đô
khối
Sơ đồ khôi là công cụ đề biểu diễn
Trang 11Dé biéu dién thuat toan bang sơ đồ khôi người ta sử dụng các ký pháp
sau:
- Duong mui ten: Đề chỉ hướng tiễn trình của thuật toán
- Khoi bat đậu hay kêt thúc: Chỉ ra
Trang 12
Mơi thuật tốn chỉ có một khôi bát đầu duy nhất Bên trong khối
e6 thé ghi chit B (Begin hay Bat dau) Con khói kết thúc, mỗi
_ Huột tín có th có nhiều khi trơn ng vis Kh "
thúc khác nhau , nên trong khối được ghi E (End) hoge K i
thúc)
- _ Khôi nhập đữ liệu: Ghi danh sách các đại lượng cần
Trang 14- Khoi kiêm tra điêu kiện: Ghi biêu thức logic, mà kết quả
của nó sẽ xác định hướng tiên trình tiép theo
Trang 15
- - Khôi kết xuât thông tin: Ghi danh sách các đại lượng đã
được tính toán xử lý và cân được đưa ra
X1, X2
- _ Khối nối tiếp: Ghi cặp ký hiệu, được dùng khi các đường
tiền trình chông chéo nhau hoặc sơ đô khối được biêu
Trang 16Ví dụ vê lập sơ đô khôi thuật toán
Bài toán : Cho dãy sô a.,a-, ,a
Hãy lập sơ đồ khối thuật toán tìm và in ra giá
trị Max và Min trong dãy
Trang bên là sơ đồ khơi thuật tốn tìm và in
Trang 18/„ÔÔÔÔlLÃTẽ cc cc rc rc rc rc rc cc rc rr cc Cc eee 1.” 7 a | = 7) oA `^` ^ ~ ^ ` a _ 4.1.2 Giol thieu ve ngon ngu lap trinh a i: ae eer ee ———_—===x=
Độ ctưettseeiecshetcileteeerseerseertietreroiersspreeeroitrtptrierroereessottrstertoeeroeerieteoittperreeersteroetcietepttsgeroserstetbtttrierenersieroogttiporoettiecriecstetrgterteeergeetoitietshercteerseereesroetiptsnetrteeosesgterittrtiitriecrieroiirtgeerMteroeroetietoitttgarreeerstetotiereherotprosttipetret eT OCCT ENTE L TL LTCC ETI ETC CCN TLIO TELL LT IOC CTT TLL CT OCC TCL CAT LOL ONL CL TL OCA OCC TLL TLL
P*Yugwi! rw ự &Ằñ ïñN EùN ủ VA fr iwt RNNXZ %1 ủEđâ ï ' AM NT Ww m>5/
hiệu hóa đề miêu tả những tính toán (qua
máy tính) trong một dang mà cả con người
Trang 19¢ Theo khai niém o trén thi mét ngén
ngữ lập trình phải thỏa mãn được hai điêu kiện cơ bản là:
- phai dé hiéu va dé SU dung đôi VỚI người lập trinh, đề con người có thê
dùng nó giải quyết các bài toán khác nhau
- phải miêu tả một cách đây đủ và rõ
ràng các tiên trình (tiếng Anh: process),
dé có thê chạy được trên các máy tính khác nhau
Trang 20° Một tập hợp các chỉ thị được biểu thị nhờ ngôn ngữ lập trình dé thực hiện các thao tác máy tính nào đó thông qua một
chương trinh
° Như vậy, theo khái niệm, môi ngồn ngữ
lập trình cũng chính là một chương trinh,
nhưng có thê được dùng đê tạo nên các chương trình khác Một chương trình máy tính được việt bằng một ngôn ngữ lập
trình thì những chỉ thị (của riêng ngồn ngữ ây) góp phân tạo nên chương trình
được, gọi là mã nguôn của chương
Trang 21Thao tác chuyền dạng từ mã nguồn sang
thành chuỗi các chỉ thị máy tính được thực
hiện hoàn toàn tương tự như là việc
chuyền dịch giữa các ngôn ngữ tự nhiên
của con người Các thao tác này gọi là
Trang 22Người ta còn phân việc biên dich làm hai
loại tùy theo quá trình dịch xảy ra trước
quá trình thực thi các tính toán hay nó xảy
Trang 23* + Thong dich: M6t phan mém théng dich là một phân mêm có khả năng đọc, chuyên dịch mã nguôn của một ngôn ngữ và ra
lệnh cho máy tính tiên hành các tính toán
Trang 24¢ + Bién dich: M6t phan mém bién dich hay
ngắn gọn hơn trình dịch là phần mêm có khả năng chuyên dịch mã nguôn của một
Trang 25° Ngôn ngữ cấp thập nhất là một chuỗi các
chỉ thị máy tính mà có thê được thực hiện
trực tiếp bởi chính máy tính (thông qua
Trang 26¢ Trudéc day, hau hét cac trinh dịch cũ thường phải thông dịch từ mã nguôn sang bộ mã phụ
(các tệp có dang *.obj), rồi sau đó, mới biên dịch tiêp sang các tập tin thi hành Ngày nay, hâu hết các trình dịch đều có khả năng biên dịch mã
Trang 27° Điễm khác nhau giữa thông dịch và biên dịch là:
Trình thông dịch sẽ dịch từng câu lệnh một và
chương trình đích sẽ không được lưu lại Còn
trình biên dịch sẽ dịch toàn bộ chương trình, cho
ra chương trình đích được lưu lại trong máy tính
rồi mới thực hiện chương trình Một chương
trình máy tính có thê được thực thi bằng cách tổ
Trang 28mm ốc cơ cơcớcơcợẠậặậậ ener ee ie eee er ã ã § § Tà ec § § ã =.ẳắ—É ai 5h75 ợợnẬẬảốaốốốốốốốốốốốốốốaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa nngỚƠỚỚI OO eee — — — — ————————————————————————————————_—-—-=_—=~=~=E=EEEEEEEE=== a ee Thi oe a z ^ ^ ~ ^ ` ni oe a oe 2 a a enews renee rere eee ee ốơổốỐốốốốẽốốốốẽ i Se ee ma s4
ESSE SSSA ESS SS es GS Sr SOE Ss SSD eS SEES DES OSU CSE CSO SSS SSS OSES CRSEES CDOS OSS CMS ECS SONE SET OSS NOSES RSE CE DED OSS TS EONS SONE SSE OHSS CHỜ QHỜ ĐH CHỢ LG DỤ CHỜ Hạ KHỌI DI SIRT OSS CHỜ Cho TRỤ CHỊ Ụ DỤ THỌ SSO CS RS SSO SSS OSES RTOS SSSTS Or SSDS EMSS: SSO OSSD OSSD UTES RSS SSS CMS SSO SSO OSS URTES SRST ESOS CSOT SOOT SSO OSSD CHỢ CD DỤ CHỜ TẠO DỤ
Niklaus Wirth & trường Đại học Zurich, Thụy Sỹ phát minh ra vào những năm 70 của thê ky 20 Ơng đặt tên ngơn ngữ này là PASCAL đề 'tưởng nhớ nhà toán học người Pháp ở
Trang 29¢ Ngôn ngữ PASCAL được hình thành với mục
đích ban đầu nhằm hướng dẫn sinh viên
trong các trường đại học một thói quen
việt chương trình có câu trúc sáng sủa, rõ ràng, dễ đọc và dễ hiễu cho những người
Trang 30Trong qua trinh phat trién, nó đã hình thành các
nhánh ngôn ngữ khác nhau nhưng phô biên hơn cả
là:
- _ lSO PASCAL được gọi là PASCAL chuẩn
(International Standard Organization)
- ANSI PASCAL (Amerrican National
satandard Institute)
- TURBO PASCAL
- IBM PASCAL
Trang 31Trong khuôn khổ của môn hoc, bai giảng đề cập đến TURBO PASCAL voi phiên ban 7.0 Dé sử dụng được
ngôn ngữ lập trình này, người sử dụng cân tôi thiêu 02 tệp tin là ïUEBO.EXE và TURBO.TPL, được lưu trong
cùng một thư mục Trong đó tập tin TURBO.EXE chứa
hệ soạn thảo cho phép người sử dụng biên tập chương
trình dưới dạng một tệp văn bản PAS, và tệp
Trang 32Ngoai ra dé dich chuong trinh viét bang
ngơn ngữ thuật tốn PASCAL sang thành
tệp chương trình viễt bằng ngôn ngữ máy người sử dụng cân phải có thêm tệp
Trang 33bí Các yêu tô cơ sở của ngôn ngữ Pascal
+ Bộ ký tự
„ Bộ ký tự trong TURBO PASCAL bao gồm
° Các chữ cái: Là các chữ cái trong bảng chữ cái
tiêng Anh từ A đên Z và từ a đên Z
„ - Các chữ số: Là các chữ sô hệ thập phân từ 0
đên 9
Trang 34° + lên: La một dãy các ký tự, gồm các chữ cái, chữ số và dâu gạch nỗi Tên bắt đâu
bởi chữ cai và không chứa các ký tự toán tử hay dâu khoảng trông
‹ Tên dùng đề chỉ một đôi tượng được sử
dụng trong chương trình, do người sử
Trang 35¢ Tén phai la duy nhất, dãy ky tự đã dùng đặt cho đôi tượng này thì không đặt được cho đôi tượng khác Trong Pascal, các ký tự trong dãy được dùng đặt tên không phân biệt chữ hoa hay chữ thường
-_ Dãy ký tự được dùng đặt tên chỉ có 63 ký tự đâu
là có ÿ nghĩa Nêu day qua dài thì từ ký tự thứ 64 tro’ di, Pascal sé tu loai bo
‹ Tên đặt cho đối tượng phải khác với từ khóa
Trang 37¢ Trong s6 cac day trén thi day b là không
sử dụng đề đạt được tên vì chứa các dâu
Trang 38° Ngoài ra, Pascal có những tên chuẩn
dùng đề chỉ các đôi tượng đã được Pascal định nghĩa sẵn (kiểu dữ liệu, như thủ tục
xuất one dữ liệu, như các hàm có
Trang 39Boolean, Char, Integer, Word, Byte, Real,
Text
False, True, Maxint
Abs, Arctan, Chr, Cos, Sin, Eof, Eoln, Exp,
Ln, Odd, Ord, Round, Trunc, Sar, Sart, Pred, Succ
Dispose, New, Get, Put, Read, Readin,
Trang 40se + Lời giải thích: là các dòng văn bản hoặc
đoạn chương trình không được thị hành khi
Trang 41¢ Nhw dé ghi chú cho công việc của một dòng lệnh
hoặc một đoạn chương trình, người sử dụng có thê diễn tả bằng ngôn ngữ tự nhiên nhưng phải
đảm bảo dé may tinh nhận biết và không thi hành nó bằng cách đặt vào trong Cặp '{ } hoặc cặp “(7 ”) Lúc này trong cửa sô soạn thảo
chương trình cua Pascal, dong chu thích sẽ bị mờ
đi và chúng ta hiểu rằng đó là phân mà máy tính
Trang 42° + Dấu “;”: Được dùng làm dâu ngăn cách giữa
các câu lệnh trong ngôn ngữ Pascal Không hiểu theo nghĩa là dau kết thúc lệnh
»° Có những ngôn ngữ lập trình quy định mỗi câu
lệnh phải viết trên một dòng, nhựng với ngôn ngữ Pascal trên một dòng có thê việt nhiêu cau lệnh và một câu lệnh có thê viết trên nhiều dòng Vậy để máy tính có thể phân biệt câu th này với câu lệnh khac, Pascal ste dung dau “;” dé
Trang 43° cí Câu trúc chương trình Pascal
+ Phân tên chương trình: Bắt đầu bởi từ
khoa Program theo quy cach
Vi du:
Frogram <tên chương trình>;
Trang 44¢ + Phan khai bao: cac dai luong, cac déi tượng được sử dụng trong chương trình đều phải
được khai báo trước tại phân này Trừ các đại lượng chuẩn đã được Pascal định nghĩa sẵn ° Phân khai báo trong Pascal thường có các khai
báo sau:
User : Khai báo các đơn vị chương trình
Trang 45Type : Định nghĩa các kiểu dữ liệu
Var : Khai báo các biên
Label Khai báo các nhãn chương trình Procedure : Khai báo các chương trình con
Function Khai báo các hàm do người lập trình định nghĩa
Khi khai báo người sử dụng khai báo hết các đại lượng
cùng nhóm, loại rôi mới chuyên sang nhóm, loại mới Chứ không khai báo một nhóm các đôi tượng cùng loại
Trang 46¢ Vi du: Const M=5:
¢ N= 10; Var
Trang 47° Phân thân chương trình: được bắt đầu bằng từ khóa “Begin” và kết thúc bởi từ
khóa “End." Giữa cặp từ khóa này là các
lệnh tương ứng với các thao tác của
Trang 48° Mỗi chương trình Pascal chỉ có duy nhất
một từ khóa “End., từ khóa này báo cho
máy tính biết rằng mọi công việc giao cho chương trình đã hoàn tất, các lệnh ghi sau
Trang 49¢ Vi du: BEGIN
¢ Write (‘| like Pascal ');
Trang 50¢ d/ Soan thao va chay thu nghiém
chương trinh Pascal
° Đề đưa một chương trình vào máy tính điện tử qua hệ thông các quy tắc của ngôn ngữ
lập trình Pascal, người sử dụng thực hiện
tệp tin TURBO.EXE Trên cửa số soạn thảo
của Pascal, ngưởi sử dụng nhập các lệnh
vào theo đúng quy tắc của ngôn ngữ lập
Trang 51¢ Truoc khi dich chương trình đã được soạn thảo thành một tệp thị hành (tệp chương trình có
phân mở rộng EXE), người sử dụng cân thử
nghiệm đề kiểm tra các kết quả đạt được bằng
cách ân tổ hợp phím CTRL +F9 tại cửa số soạn
thảo chương trình (hoặc vào thực đơn thanh
ngang — chon Run, trong thực đơn đồ xuông
Trang 53Ee ee ce a ee ee ne ee er ie re er ne Pe ree eee ree ee § § a ee nec ce ie ne § cir § TH = a ere ue eee ee eer eer ee Pe
PEERS RO RS EER ERR RR EEE RS EE RR ER RR ER ER ER EER RS ER RS EE ER RO RE EE
ee NCCCGCaCƠỒỢƠƠAớớớớơcCCcCcCƠỢƠơƠAƠAƠƠAƠƠỚƠAƠỚGỢƠớCACớ_C¬Ca¬aơớCGớCớaCaơớaCaCaaaACCGCGC5G5CaCaCaCaaaCaaNƠAC.a.CaC.CaaacCcơcCsC5C5CaCốC.aốaCCốếC.aC.a.a CC CƠ CC CÔ CÔ CÔ CC c
chương trinh thực hiện Các hăng phải
được khai báo trước khi sử dụng, trừ các hăng chuẩn đã được Pascal định nghĩa sẵn
° Trong Pascal, có các hằng được định
Trang 54TT | Ténhang Kiéu hang Giá trị hằng PI Số thực 3.1415926336
2 True Logic True