Bài giảng Nhập môn tin học - Chương 1: Giới thiệu ngôn ngữ lập trình - Ngô Quang Thạch

pptx 36 trang Hùng Dũng 05/01/2024 210
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn tin học - Chương 1: Giới thiệu ngôn ngữ lập trình - Ngô Quang Thạch", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptxbai_giang_nhap_mon_tin_hoc_chuong_1_gioi_thieu_ngon_ngu_lap.pptx

Nội dung text: Bài giảng Nhập môn tin học - Chương 1: Giới thiệu ngôn ngữ lập trình - Ngô Quang Thạch

  1. NHẬP MÔN TIN HỌC NGÔNGÔ QUANGQUANG THẠCHTHẠCH ngoquangthach@yahoo.com 1/9/2024 1
  2. MỤC TIÊU vSố đơn vị học trình : 02 (30 tiết) § Lý thuyết : 20 tiết § Bài tập + thực hành môn học: 10 tiết vMục tiêu của học phần: § Sinh viên nắm vững cấu trúc của các lệnh trong Pascal để vận dụng vào các bài tập cụ thể. § Sinh viên hiểu và nắm vững các thuật ngữ, quy trình sử dụng trong Internet. 1/9/2024 2
  3. KIỂM TRA vĐề thi kết thúc học phần gồm 03 câu thuộc các chương khác nhau: § 01 câu lý thuyết (2 điểm) § 02 câu bài tập (8 điểm) vCách tính Điểm: § Điểm chuyên cần § Điểm kiểm tra giữa kỳ § Điểm kiểm tra cuối kỳ 1/9/2024 3
  4. NỘI DUNG 1 Các lệnh có cấu trúc trong Pascal 2 Chương trình con 3 Dữ liệu có cấu trúc kiểu mảng 4 Dữ liệu có cấu trúc kiểu chuỗi 5 Giới thiệu Internet 6 Thực hành tìm kiếm 1/9/2024 4
  5. CHƯƠNG 1 GiỚI THIỆU NGÔN NGỮ LẬP TRÌNH MỘT SỐ CẤU TRÚC CÂU LỆNH 1/9/2024 5
  6. GIỚI THIỆU v Chươ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. v Có thể nói một chương trình 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. v Các bước cơ bản khi lập một chương trình Pascal § Bướ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). 1/9/2024 6
  7. MỘT SỐ LƯU ĐỒ CƠ BẢN A Thực hiện công việc A Ra vào dữ liệu Sai Begin B Đúng End Một phép kiểm tra B, tùy thuộc vào Bắt đầu hay kết thúc một trạng thái của B là đúng hay sai để thuật toán rẻ nhánh thích hợp 1/9/2024 7
  8. Lưu đồ thuật toán mẫu vGiải phương trình bậc nhất ax + b = 0. Begin Nhập a,b Sai a=0 Đúng Sai b=0 Đúng Nghiệm: -b/a Vô số nghiệm Vô nghiệm End 1/9/2024 8
  9. Bài tập vViết lưu đồ thuật giải tìm số lớn nhất trong ba số a, b, c. vGợi ý: § Nếu a>b đúng • Nếu a>c đúng ->Max =a • Ngược lại Max=c § Sai (b>=a) • Nếu b>c đúng ->Max=b • Ngược lại Max=c 1/9/2024 9
  10. GIỚI THIỆU vCấu Trúc Của Một Chương Trình Pascal Ví dụ một chương trình: § Phần khaiProgram báo CT_dau_tien; • PROGRAMUses ; • USES [, ]; Integer; • LABEL [, ]; CLRSCR; {Xóa màn hình} • CONST Writeln(‘Nhap vao day mot so nguyen:’); • TYPE {Thông báo nhập liệu} • VAR Readln(SoNguyen); {Chờ nhập liệu} Writeln(‘Binh phuong cua no la:’, § Phần thân chưSoNguyen*SoNguyenơng trình ); {Kết xuất} • BEGIN End. • END. (end và dấu chấm). 1/9/2024 10
  11. GIỚI THIỆU vvCácCác thànhthành phầnphần cơcơ bảnbản củacủa Pascal: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; X, Y: Real; I, J: NguyenDuong; {Đã định nghĩa trước} 1/9/2024 11
  12. Các kiểu dữ liệu cơ bản v Stt 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 1/9/2024 12
  13. Một số lệnh đơn v Lệnh gán v Cú pháp: := Program LenhGan; Var x, y, z: Integer; Begin x := 1; y := 2; y:=y+x; z := x + y; End. v Lệnh viết dữ liệu ra màn hình Write(‘How are you!’ ); Writeln(x); Write(y); v Lệnh đọc dữ liệu từ bàn phím Read(Biến1, Biến2, , BiếnN); Readln(Biến1, Biến2, , BiếnN); Readln; 1/9/2024 13
  14. Một số phép tính v + (cộng) – (trừ) * (nhân) v / (chia, kết quả có kiểu thực) Ví dụ: § 5 / 2 = 2.50 § 10 / 2 = 5.00 v DIV (chia lấy phần nguyên) Ví dụ: § 5 DIV 2 = 2 § 3 DIV 4 = 0 v MOD (chia lấy phần dư) Ví dụ: § 5 MOD 2 = 1 § 10 MOD 4 = 2 1/9/2024 14
  15. vPhép toán số học: + - * / DIV MOD vPhép toán logic: AND OR NOT XOR vPhép toán quan hệ: = = < vPhép toán ghép dãy ký tự: + 1/9/2024 15
  16. CẤU TRÚC LỰA CHỌN CẤU Câu lệnh IF TRÚC LỰA Câu lệnh CASE CHỌN 1/9/2024 16
  17. CẤU TRÚC LỰA CHỌN Sai vCâu lệnh IF DK Dạng Không Đầy Đủ Đúng IF THEN CV ; v Ví du: 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. 1/9/2024 17
  18. CẤU TRÚC LỰA CHỌN v Dạng Đầy Đủ Sai DK § Cú pháp: IF THEN Đúng CV1 CV2 ELSE ; v Ví 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. 1/9/2024 18
  19. Kí hiệu Phép so sánh = bằng lớn hơn ≠ khác ≤ nhỏ hơn hoặc bằng ≥ lớn hơn hoặc bằng 1/9/2024 19
  20. CÁC HÀM SỐ HỌC CƠ BẢN SQR(x) Bình phương ABS(x) Trị tuyệt đối SQRT(x) Căn bậc hai TRUNC(x) Lấy phần nguyên (nguyên) ROUND(x) Làm tròn ODD(x) Cho giá True nếu x lẻ, cho False nếu x chẵn 1/9/2024 20
  21. Bài tập vViết chương trình Giải phương trình bậc nhất ax + b = 0 Begin Nhập a,b Sai a=0 Đúng Sai b=0 Đúng Nghiệm: -b/a Vô số nghiệm Vô nghiệm 1/9/2024 End 21
  22. CẤU TRÚC LỰA CHỌN Giá trị kiểu Có thể nguyên, kiểu là một logic, hay kiểu kí hoặc tự, nhưng không nhiều thể là kiểu số thực giá trị CASE Giá trị chọn OF Nếu không có giá trị nào thỏa thì thực hiện GT1 GT2 GTi GTn ELSE CôngViệc1 CôngViệc2 CôngViệci CôngViệcn CôngViệc0 END 1/9/2024 22
  23. CẤU TRÚC LỰA CHỌN Cú pháp: CASE OF Hằng 1a, 1b, , 1x: ; Hằng 2a, 2b, , 2x: ; Hằng na, nb, , nx: ; ELSE END; 1/9/2024 23
  24. v 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. 1/9/2024 24
  25. Bài tập vViế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 ra § phòng loại A : 300000/ngày § phòng loại B : 250000/ngày § phòng loại C : 200000/ngày 1/9/2024 25
  26. CẤU TRÚC LẶP CẤU TRÚC LẶP Câu Câu Câu lệnh lệnh lệnh FOR WHILE REPEAT 1/9/2024 26
  27. Câu lệnh FOR vCấu trúc FOR cho phép lặp lại nhiều lần một công việc: vLệnh Lặp Với Số Lần Xác Định Cú pháp1: § FOR := TO DO Cú pháp2: § FOR := DOWNTO DO v 1/9/2024 27
  28. Sai Trị đầu<=Trị cuối Đúng Biến đếm:=Trị đầu Công việc {Lặp} Sai Biến đếm<=Trịcuối Đúng Kết thúc Tăng biến đếm lên 1 1/9/2024 28
  29. v Ví dụ: Để in lên màn hình dãy số từ 1, 2, 3, , n ta có thể làm như sau: Program LenhFOR; Var i, n: Integer; Begin Write( ‘Nhập vào một số: ’); Readln(n); Wrtieln( ‘Dưới đây là dãy số từ 1 đến số bạn vừa nhập’ ); For i := 1 To n Do Write(‘ ’ , i); Readln; End. v Bài tập: Viết chương trình tính tổng n số nguyên (n nhập từ bàn phím) S=1+2+ +n Viết chương trình tính tổng n số lẻ S=1+3+5+ +(2*n+1) 1/9/2024 29
  30. Câu lệnh WHILE vLệnh Lặp Với Số Lần Lặp Không Xác Định Cú pháp: § WHILE DO v Sai DK Đúng CV 1/9/2024 30
  31. vVí dụ: Tính tiền gởi ngân hàng. Lãi suất hàng tháng là 2%, người đó gởi vào ngân hàng vốn ban đầu là 1000000 (1 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? 1/9/2024 31
  32. 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<Mm) do begin tien := tien + Ls*tam; sothang := sothang + 1; end; Writeln('So thang = ' ,sothang); Writeln('Tien von cong lai la: ',tien:12:2); readln; End. 1/9/2024 32
  33. Câu lệnh REPEAT vLệnh Lặp Với Số Lần Lặp Không Xác Định Cú pháp: § REPEAT • CV § UNTIL Sai DK Đúng 1/9/2024 33
  34. Ví dụ v 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 v 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'); Readln End. 1/9/2024 34
  35. Bài tập vViết chương trình giải phương trình bậc hai: ax2 + bx + c = 0, a≠0. vGợi ý: § Tính Delta=b*b-4*a*c. § Biện luận: § Delta 0: Phương trình có 2 nghiệm phân biệt: x1,2 = (-b±SQRT(Delta))/(2*a). 1/9/2024 35
  36. 1/9/2024 36