Slide bài giảng ngôn ngữ lập trình Pascal

125 284 0
Slide bài giảng ngôn ngữ lập trình Pascal

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tin học đại cương Kế hoạch thực hiện • 20 b̉i lý thút x tiết = 45 tiết • buổi thực hành x tiết = 15 tiết • Điểm quá trình = điểm chuyên cần + điểm làm bài – Điểm chuyên cần = b̉i ngẫu nhiên x 0.4 = điểm • Tập trung phần biểu diễn thuật toán và ngôn ngữ lập trinh Pascal TungPH@nuce.edu.vn THUậT TOáN Và BIểU DIễN THUậT TOáN Thuật toán Thuật toán (algorithm) tập hu hạn thao tác (các công việc, phép toán) đặt tên đuợc chúng đuợc thực theo trinh tự thích hợp số đối tợng để đạt đuợc mục đích mong muốn "Hu hạn" đợc hiểu mặt thời gian thực lẫn công cụ thực Chuơng trinh Là tập hợp dãy lệnh điều khiển máy tính thực Nh vậy, nói chơng trinh cách diễn tả thuật giải ngôn ng xác để máy tính hiểu đợc Thuật toán + Cấu trúc d liệu = Chơng trinh Các đặc trng thuật toán Thuật toán tin học phải có tính chất sau: + Tính dừng: Thuật toán phải kết thúc sau số hu hạn buớc + Tính xác định: Các thao tác buớc phải rõ ràng đuợc hiểu theo mét nghÜa nhÊt Trong cïng mét ®iỊu kiƯn hai máy khác hai lần thao tác khác ph¶i cho cïng mét kÕt qu¶ thùc hiƯn cïng thuật toán + Tính đầy đủ: Thuật toán phải vét đợc hết tinh huống, khả nang xảy ra, không bỏ sót Các đặc trng thuật toán Tính hàng loạt: Thuật toán có hiệu lực nhu toán loại (có miền áp dụng thuật toán) Tính khả thi: Thuật toán phải bao gồm thao tác mà máy thực đ uợc nghĩa bao gồm nhung phép toán số học, phÐp so s¸nh, c¸c phÐp logic, c¸c phÐp nhËp xuÊt thông tin tiêu chuẩn Các dạng diễn tả thuật toán Diễn đạt (ngôn ngon tự nhiên) Ví dụ1: Thuật giải nấu cơm đợc viết nhu sau: Bớc 1: lấy gạo theo định luợng cần thiết Bớc 2: vo gạo đổ nuớc vào nồi Bớc 3: đun sôi cạn nuớc Bớc 4: giu lửa nhỏ Bớc 5: cách phút nếm cơm xem chÝn chua NÕu cha chÝn quay vỊ bc NÕu ®· chÝn thi chun sang bc Bíc 6: t¾t lửa bắc nồi cơm Kết thúc Cách diễn đạt van đơn giản gÇn gòi víi tu cđa ngi nhng phơ thuộc nhiều vào cách diễn đạt nguời sử dụng Vi không tránh khỏi có nhung chỗ rờm rà khiến cho nguời đọc đợc nhin khái quát với toàn Diễn đạt ngôn ng lập trinh Ngôn ng lập trinh (language program) ngôn ng chuyên gia tin học tạo chuyên dùng để viết chơng trinh cho máy tính Nó đuợc xây dựng đơn giản tả ng pháp gần gũi với ngôn ng khoa học kỹ thuật, quản lý Diễn tả thuật toán lu đồ iểm bắt đầu chấm dứt thuật toán Thao t¸c nhËp hay xt dữ liƯu Khèi xư lý công việc Khối định lựa chọn iểm nối Chuẩn bị Khối chơng trinh Dờng chơng trinh Ví dụ 2: Thuật toán giải phơng trinh bậc ax + b = 0, gåm c¸c bưíc:  Bứíc 1: NhËp vµo hƯ sè a vµ b  Bứíc 2: XÐt ®iỊu kiƯn a = ? NÕu ®óng lµ a = 0, thì ®i ®Õn bưíc Nếu không, nghĩa a 0, thi đến bưíc  Bứíc 3: XÐt ®iỊu kiƯn b = ? Nếu b = 0, thi báo phơng trinh có vô số nghiệm Chuyển đến bớc Nếu b 0, thông báo phơng trinh vô nghiệm Chuyển đến bưíc  Bứíc 4: Ph¬ng trình cã mét nghiƯm nhÊt lµ x = b/a  Bứíc 5: KÕt thúc thuật toán Chơng 12: D liệu có cấu trúc: kiểu chuỗi (String) 12.1 Khái niệm: Chuỗi (xâu kí tự) kiểu d liệu có cấu trúc thông dụng Pascal Trong chơng trớc, định nghĩa chuỗi, dãy kí tự đợc bao hai dấu nháy đơn () ộ dài chuỗi số ký tự tạo thành chuỗi tính từ sau dấu nháy mở đến trớc dấu nháy đóng Ví dụ: Turbo Pascal 6.0 có ®é dµi lµ 16 ‘’ cã ®é dµi lµ Trờng hợp ta gọi chuỗi rỗng Chuỗi có ®é dµi tèi thiĨu lµ vµ tèi ®a lµ 255 12.2 Khai báo chuỗi: Ta định nghĩa kiểu chuỗi từ khóa TYPE nh sau: TYPE Kiểu chuỗi = String[độ dài cực đại chuỗi] độ dài cực đại nguyên khoảng từ đến 255 Ví dụ 12.1: TYPE Ho = String[18]; Ten=String[7]; Tinh=String[25]; VAR H1, H2, H3: HO; T: Ten; QQ: Tinh; Chú ý: Ngoài cách khai báo dùng Type Var kết hợp nh ví dụ trên, khai báo kiểu liệu String khai báo Var VAR Biến: String[độ dài cực đại] Ví dụ 12 2: TYPE Hanghoa=String[40]; VAR TenHang:HangHoa; tơng đơng với cách sau đây: Var TenHang: String[40]; 12.3 Các thao tác String 12.3.1 Phép gán: Các biến Srtring khai báo nhận giá trị chuỗi qua lệnh gán: tên biến chuỗi := chuõi VÝ dô 12.3: H1:=‘Nguyen Van’; H2:=‘Tran’; H3:=‘Le’; T:=‘Hoa’; QQ:=‘Ha Noi 1992; gán cho chuỗi có độ dài lớn độ dài khai báo thi ký tự d bên phải chuỗi bị bỏ qua Ví dơ 12.4: VAR SS: String[5]; BEGIN SS:=‘123456789’; END Khi ®ã biến SS nhận giá trị 12345; 12.3.2 Truy nhập vào phần tử chuỗi Ta truy nhập vào ký tự chuỗi cách viết tên chuỗi kèm thêm thứ tự ký tự chuỗi (chỉ số ký tự) Chỉ số chạy từ đến độ dài chuỗi Ví dụ: if SS[3]=3 then Write(Chữ thứ ba chuỗi SS 3); Ví dụ 12.5: Viết chơng trinh in dòng chữ hinh theo kiểu đánh máy chữ (hiÖn tõng ký tù mét) PROGRAM Danh_may; USES Crt; VAR i: integer; Cau: String[80]; BEGIN ClrScr; Write('Nhap cau can danh: '); Readln(Cau); FOR i:=1 TO length(Cau) DO BEGIN TextColor(14); Write(Cau[i]); Delay(150); END; Readln; END 12.3.3 Phép cộng chuỗi (ghép chuỗi) Chuỗi kí tự đợc sử dụng nh toán hạng biểu thức để ghÐp ký tù qua dÊu céng (+) VÝ dô 12.6: S1:=‘ Truong Cao dang KTKTCNn ‘; S2:= ‘Khoa Tin - Kinh te’; S:=S2+S1 NÕu viÕt S:=S1+S2 thì S sÏ cã giá trị Truong Cao dang KTKTCNn Khoa Tin - Kinh te 12.3.4 Phép so sánh Chuỗi đợc dùng biểu thức quan hệ để so sánh - Khi so sánh hai chuỗi, kí tự hai chuỗi đợc so sánh cặp từ trái qua phải theo giá trị bảng mã ASCII - Nếu hai chuỗi có độ dài khác song có số kí tự giống đến độ dài chuỗi ngắn thi chuỗi có độ dài ngắn đợc coi nhỏ FileName < FileNameA - Hai chuỗi đợc coi chúng giống hoàn toàn 12.4 Một số hàm thủ tục String Hàm Length Cú pháp: Length(ST) Công dụng: cho kết độ dài thực (không phải độ dài khai báo) chuỗi St Ví dụ: Hoten:='Vu Dinh Du'; d:=length(Hoten); thi D có giá trị 10 Ví dụ 12.8: Gõ vào câu từ bàn phím Hãy đếm xem câu có từ PROGRAM DEM_TU; USES Crt; TYPE Day=String[60]; CONST KT=‘’; VAR S: Day; Vitri, Ghi, Dai: nteger; BEGIN ClrScr; Gotoxy(5,10); Write (‘ Ban hay go vao mot cau ‘); Readln (S); Ghi:=0; REPEAT Dai:=Length(S); Vitri:=Pos(KT,S);   IF Vitri>0 THEN BEGIN Ghi:=Ghi+1; S:=Copy(S, Vitri+1, Dai-Vitri); END; UNTIL Vitri=0; Gotoxy(5,12); Writeln (‘ Cau da go vao co ‘, Ghi+1, tu); Readln; END Ví dụ 12.9: Gõ vào câu quảng cáo Hãy làm cho dòng quảng cáo chạy từ phải sang trái PROGRAM QuangCao; USES Crt; TYPE Day=String[60]; VAR d, c: Day; dai, i, rong: integer; BEGIN ClrScr; Gotoxy(5,10); Write (‘Hay go vao Dong quang cao’); Readln (d); d:=d+’ ‘; dai:=Length(d); FOR i:=1 TO dai DO BEGIN rong:=dai-i+1; c:=Copy(d,i,rong); Gotoxy(20,14); Write (c); Delay(200); END; END   Bµi tËp 12.1 Biết biến St1, St2, St3 đợc khai b¸o nh sau Var St1, St2, St3:String[12] TÝnh gi¸ trị ST3 sau thực lệnh sau: St1:=KIEM TRA; St2:=PASCAL; St3:=St1+St2 ; 12.2 Tính giá trị S (víi S cã kiĨu String) sau thùc hiƯn lệnh dới đây: S:=F la mot so nguyen to; Delete(S,3,5); 12.3 Viết chơng trinh nhập vào 10 chuỗi ký tự In chuỗi có chiều dài dài nhất, chuỗi có chiều dài ngắn 12.4 Viết chơng trinh nhập vào chuỗi in hinh chuỗi theo dạng sau: Ví dụ: Nhập vào chuỗi 'Toi di hoc' a In d¹ng b In d¹ng c In d¹ng T T T TO TO TO TOI TOI TOI TOI DI HOC TOI DI HOC TOI DI HOC   12.5 ViÕt chơng trinh nhập vào chuỗi gồm nhiều từ cách bëi dÊu c¸ch In tõng tõ mét cđa chuỗi đó, từ in dòng Ví dụ: NhËp vµo TOI DI HOC In mµn hình: TOI DI HOC 12.6 Viết chơng trinh nhập vào chuỗi sau in chuỗi theo chiều ngợc lại VÝ dô: NhËp: 123 456 789 In 987 654 321 12.7 Viết chơng trinh nhập vào câu gồm nhiều từ cách khoảng trắng In số từ câu 12.8 Viết chơng trinh nhập vào câu đếm số lần xuất ký tự câu Ví dụ: Nhập vào 'Troi mua to' In ra: Sè lÇn xt hiƯn cđa ký tự T Số lần xuất ký tự r Số lần xuất ký tự o 12.9 Viết chơng trinh nhập vào câu quảng cáo in hinh dòng quảng cáo đợc chạy từ trái sang phải đợc chạy từ trái sang phải 12.10 Tạo hàm xử lý chuỗi với tên chức nh sau: a Function Left(S:String; n:byte):String Chøc năng: cho kÕt chuỗi lấy n ký tự từ chuỗi S tính từ vị trí bên trái sang phải chuỗi b Function RIGHT(S:String;n:byte):String Chức nng: Cho kết chuỗi lấy n ký từ từ chuỗi S tính từ vị trí bên phải sang trái chuỗi c Fuction RTRIM(S:String):String Chức nng: loại bỏ ký tự trắng nằm phần cuối chuỗi S d Function LTRIM(S:String):String Chức nng: Loại bỏ ký tự trắng nằm đầu chuỗi S e Function IIF(a:boolean;S1,S2:String):String Chức nng: Trả chuỗi S1 nÕu a=TRUE, vỊ S2 nÕu a=False VÝ dơ: IIF(Tuoi

Ngày đăng: 12/03/2019, 14:07

Từ khóa liên quan

Mục lục

  • Slide 1

  • Kế hoạch thực hiện

  • Slide 3

  • Slide 4

  • C¸c ®Æc trƯng cña thuËt to¸n

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

  • Slide 19

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan