Bài giảng Ngôn ngữ lập trình bậc cao
Ví dụ: Tính tiền gửi ngân hàng.
Lãi suất hàng năm là 8% người đó gửi vào ngân hàng vốn ban đầu là 100000000 đồng (100 triệu). Cứ sau mỗi tháng tiền lãi được gộp vào vốn và trở thành vốn mới để tính cho tháng sau.
Hỏi sau bao lâu người đó được 1 tỷ đồng?
Bạn đang xem trước 20 trang tài liệu Bài giảng Ngôn ngữ lập trình bậc cao, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Th.S Đoàn Thị Thu HuyềnKhoa Ngoại Ngữ - Tin học0976 678 142NGÔN NGỮ LẬP TRÌNH BẬC CAO**MỤC TIÊUSố đơn vị học trình: 04 (60 tiết)Lý thuyết: 30 tiếtBài tập + Thực hành: 30 tiếtMục tiêu của học phần:Nắm vững cấu trúc của các lệnh trong NNLT PascalLựa chọn giải thuật và dữ liệu phù hợp cho mỗi bài toán cụ thể, thực tế.** Tài liệu học tậpGiáo trình chính:Bài giảng Ngôn ngữ lập trình bậc cao - Bộ môn Tin học ĐH Hoa LưSGK Tin học lớp 11Giáo trình tham khảo:Ngôn ngữ lập trình Pascal (Quách Tuấn Ngọc, NXB Giáo dục)Bài tập Pascal, Quách Tuấn Ngọc, NXB Giáo dụcLập trình nâng cao trên ngôn ngữ Pascal, Nguyễn Tô Thành, Nhà xuất bản Đai học Quốc Gia Hà Nội.Lập trình, Dự án trung học cơ sởBài tập lập trình cơ sở Ngôn ngữ Pascal, Nguyễn Hữu Ngự, NXB Đại học Quốc Gia Hà Nội**KIỂM TRA – ĐÁNH GIÁCách tính Điểm:Điểm chuyên cần Điểm kiểm tra thường xuyên (hệ số 1 - lấy trung bình của 2 bài kiểm tra, điểm TX)Điểm kiểm tra giữa kỳ (1 bài - hệ số 2)Điểm kiểm tra cuối kỳ (1 bài - hệ số 5 – thi thực hành)**NỘI DUNGCác kiểu dữ liệu đơn giản, hằng, biến, biểu thứcCác câu lệnh có cấu trúcChương trình con và đơn vị chương trìnhDữ liệu kiểu tập hợp và kiểu mảngKiểu xâu kí tựCác thành phần cơ bản của NNLT234561**Dữ liệu kiểu bản ghiDữ liệu kiểu tệp78CHƯƠNG 1CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH **GIỚI THIỆU**1970Chương trình là tập hợp dãy các lệnh điều khiển máy tính thực hiện.Là một cách diễn tả thuật toán trong một ngôn ngữ chính xác để máy có thể hiểu được.**Các bước cơ bản khi lập một chương trình PascalBước 1: Soạn thảo chương trình.Bước 2: Dịch chương trình (nhấn phím F9), nếu có lỗi thì phải sửa lỗi.Bước 3: Chạy chương trình (nhấn phím Ctrl-F9).MỘT SỐ LƯU ĐỒ CƠ BẢN**AThực hiện công việc AMột phép kiểm tra B, tùy thuộc vàotrạng thái của B là đúng hay sai để rẻ nhánh thích hợpBSaiĐúngBeginEndBắt đầu hay kết thúc mộtthuật toánRa vào dữ liệuLưu đồ thuật toán mẫuGiải phương trình bậc nhất ax + b = 0.**Nhập a,bb=0SaiĐúngBeginEnda=0SaiĐúngNghiệm: -b/aVô số nghiệmVô nghiệmBài tậpViết lưu đồ thuật giải tìm số lớn nhất trong ba số a, b, c.Gợi ý:Nếu a>b đúngNếu a>c đúng ->Max =aNgược lại Max=cSai (b>=a)Nếu b>c đúng ->Max=bNgược lại Max=c**Cấu Trúc Của Một Chương Trình Pascal **CẤU TRÚC 1 BÀI THUYẾT TRÌNH?Mở đầuMở đầuThân bàiKết luậnThân bàiKết luậnPhần khai báo PROGRAM ; USES [,]; LABEL [,]; CONST TYPE VAR Phần thân chương trình BEGINEND.Ví dụ**Program CT_dau_tien;Uses Crt;Var SoNguyen: Integer;Begin CLRSCR; {Xóa màn hình} Writeln(‘Nhap vao day mot so nguyen:’); {Thông báo nhập liệu} Readln(SoNguyen); {Chờ nhập liệu} Writeln(‘Binh phuong cua no la:’, SoNguyen*SoNguyen); {Kết xuất} End.GIỚI THIỆUCác thành phần cơ bản của Pascal:Khai báo Hằng: CONST = ; Ví dụ: CONST pi = 3.14;Khai báo Kiểu: TYPE = ; Ví dụ: TYPE NguyenDuong = 1..MaxInt; Khai báo Biến: VAR []: ; Ví dụ: VAR x, y: Integer; a, b: Real; I, J: NguyenDuong; {Đã định nghĩa trước} **Các kiểu dữ liệu cơ bảnStt Kiểu Kích thước Miền xác định 1. Boolean 1 byte FALSE..TRUE 2. Char 1 byte 256 ký tự 3. Shortint 1 byte -128..127 4. Byte 1 byte 0..255 5. Integer 2 byte -32768..32767 6. Word 2 byte 0..65535 7. Longint 4 byte -2147483648..2147483647 8. Real 6 byte 2.9E-39..1.7E+38 9. Single 4 byte 1.5E-45..3.4E+38 10. Double 8 byte 5.0E-324..1.7E+308 11. Extended 10 byte 3.4E-4932..1.1E+4932 12. Comp 8 byte -9.2E-18..9.2E+18 **Một số lệnh đơnLệnh gán Cú pháp: := ; Ví dụ: x := 1; y := 2; y:= y + x; z := x + y; **NHẬP DỮ LiỆUReadln(biến1, biến2, ..., biếnk); Chú ý:Dữ liệu nhập phải phù hợp với kiểu của biến. Nếu không phù hợp thì chương trình sẽ dừng ngay và hiện thông báo lỗiReadln; Biến kiểu lôgic không nhập được từ bàn phím. Read (như Readln): Sau khi đã nhận đủ các giá trị cho các biến cần nhậpReadln sẽ xóa sạch các giá trị nhập thừaRead thì không. Các giá trị nhập thừa của lệnh Read sẽ được tự động gán cho các biến trong lệnh nhập tiếp theo.XUẤT DỮ LIỆUWriteln(bt1, bt2 , ... , btk ); VD: Writeln(3*2+9); i:=10 ; j:=15*2 ; Writeln(i, j+1, 678);Writen(‘ket qua x=‘ , 4+15); x:=100/4; y:=-123.4824;Writeln(‘ x=‘, x:6:2); Writeln(‘ y=‘, y:10:3); Write(x); Write(y); Write(j); Write(x,y,j); Writeln Một số phép tính+ (cộng) – (trừ) * (nhân)/ (chia, kết quả có kiểu thực) Ví dụ: 5 / 2 = 2.50 10 / 2 = 5.00DIV (chia lấy phần nguyên) Ví dụ: 5 DIV 2 = 2 3 DIV 4 = 0MOD (chia lấy phần dư) Ví dụ: 5 MOD 2 = 1 10 MOD 4 = 2**Phép toán số học: + - * / DIV MODPhép toán logic: AND OR NOT XORPhép toán quan hệ: = >= THEN ; **Điều kiệnĐúngCông ViệcSaiVí dụ:Program vidu1;Var a,b: Integer; Begin Write( ‘Nhập a: ’); Readln(a); Write( ‘Nhập b: ‘); Readln(b); If b 0 then Write( ‘Thương hai số vừa nhập: ’,a/b:5:2); Readln; End. CẤU TRÚC LỰA CHỌNDạng Đầy Đủ Cú pháp: IF THEN ELSE ; **DKĐúngCV1CV2SaiVí dụ:Program vidu1;Var a,b: Integer; Begin Write( ‘Nhập a: ’); Readln(a); Write( ‘Nhập b: ‘); Readln(b); If b 0 then Write( ‘Thương hai số vừa nhập: ’,a/b:5:2); Else Write( ‘Không thể chia cho 0’ ); Readln; End. Kí hiệuPhép so sánh=bằnglớn hơn≠khác≤nhỏ hơn hoặc bằng≥lớn hơn hoặc bằng**CÁC HÀM SỐ HỌC CƠ BẢNSQR(x)Bình phươngABS(x)Trị tuyệt đốiSQRT(x)Căn bậc haiTRUNC(x)Lấy phần nguyên (nguyên)ROUND(x)Làm trònODD(x)Cho giá True nếu x lẻ, choFalse nếu x chẵn**Bài tậpViết chương trình Giải phương trình bậc nhất ax + b = 0**Nhập a,bb=0SaiĐúngBeginEnda=0SaiĐúngNghiệm: -b/aVô số nghiệmVô nghiệmCẤU TRÚC LỰA CHỌN**GT1Giá trị chọnOFCôngViệc1GT2GTiGTnCôngViệcnCôngViệciCôngViệc2ELSECôngViệc0ENDCASEGiá trị kiểu nguyên, kiểu logic, hay kiểu kí tự, nhưng không thể là kiểu số thựcCó thể là một hoặc nhiều giá trịNếu không có giá trị nào thỏa thì thực hiệnCẤU TRÚC LỰA CHỌNCú pháp: CASE OF Hằng 1a, 1b,, 1x: ; Hằng 2a, 2b,, 2x: ; ................................. Hằng na, nb,, nx: ; ELSE END; **Ví dụ:Program Case_day_du;Var Thang: Integer; Begin Write( ‘Nhập vào một tháng: ’); Readln(Thang); CASE Thang OF 1, 3, 5, 7, 8, 10, 12 : Write( ‘Tháng có 31 ngày.’); 4, 6, 9, 11 : Write( ‘Tháng có 30 ngày.’); 2 : Write( ‘Tháng có 28 (nhuận 29) ngày.’); ELSE Write( ‘Tháng sai, phải nhập tháng từ 1 tới 12.’); End; Readln; End. **Bài tậpViết chương trình nhập vào số ngày thuê phòng khách sạn, nhập vào loại phòng (A, B, C). Tính tiền và xuất raphòng loại A : 300000/ngàyphòng loại B : 250000/ngàyphòng loại C : 200000/ngày**CẤU TRÚC LẶPCẤU TRÚC LẶP**Câu lệnh FORCâu lệnh WHILECâu lệnh REPEATCâu lệnh FORCấu trúc FOR cho phép lặp lại nhiều lần một công việc: Lệnh Lặp Với Số Lần Xác Định Cú pháp1: FOR := TO DO Cú pháp2: FOR := DOWNTO DO **Sơ đồ khối**Trị đầu DO **DKĐúngCVSaiVí dụ: Tính tiền gửi ngân hàng. Lãi suất hàng năm là 8% người đó gửi vào ngân hàng vốn ban đầu là 100000000 đồng (100 triệu). Cứ sau mỗi tháng tiền lãi được gộp vào vốn và trở thành vốn mới để tính cho tháng sau. Hỏi sau bao lâu người đó được 1 tỷ đồng?**Program TinhTienlai;var Ls, Vn, Mm, tien: real; sothang, i: integer; Begin Writeln('CHUONG TINH TINH TIEN GOI NGAN HANG'); Ls := 2/100; Vn := 1000000; {Số vốn ban đầu - 1 triệu} Mm := 1000000000; {Số tiền mong muốn - 1 tỷ} sothang := 0; tien := Vn; While (tien UNTIL **DKĐúngCVSaiVí dụViết chương trình nhập điểm môn tin học và in điểm trung bình của cả lớp.**Program Nhap_diem;Var tin,tong,dtb:Real;hs:Byte;tiep:Char;Begin Writeln('NHAP DIEM MON TIN VA TINH DIEM TRUNG BINH CUA LOP'); Writeln('--------------------------------------------------'); hs:=1; tong:=0; tiep:='C'; Repeat Writeln('-Hoc sinh thu: ',hs); Write('-Diem mon Tin : '); Readln(tin); tong:=tong+tin; hs:=hs+1; Write(' -Nhap nua khong (C/K) '); Readln(tiep); Until Upcase(tiep)='K'; hs:=hs-1; tb:=tong/hs; Writeln('+Tong so diem = ',tong:5:2,' diem'); Writeln('+Tong so ca lop co = ',hs,' hoc sinh'); Writeln('+Diem trung binh cua mon Tin= ',tb:5:2,' diem'); Writeln; Writeln(' Bam phim de ket thuc'); ReadlnEnd.Bài tập**Thank You !**
Các file đính kèm theo tài liệu này:
- pascalb1_7203.ppt