Bài 5. Ngôn ngữ lập trình tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả các lĩnh vực ki...
Kiểm tra bài cũ * Câu hỏi: Xác định Input, Output và viết thuật toán của bài toán tìm số nhỏ nhất trong 2 số nguyên A, B ? * Trả lời: Input: A, B là các số nguyên. Output: Đưa ra Min là số nhỏ nhất trong 2 số A, B. Thuật toán: (theo cách liệt kê) B1: Nhập A, B; B2: Nếu A< = B Thì Min A; B3: Nếu B < A thì Min B; B4: Kết luận Min là số cần tìm; § S NhËp A, B; A < = B ? Min ← B; KÕt thóc Min ← A; S¬ ®å khèi Bài 5. Ngôn ngữ lập trình Bài 5. Ngôn ngữ lập trình Làm thế nào để máy tính hiểu và trực tiếp thực hiện được thuật toán? Cần diễn tả thuật toán bằng một ngôn ngữ mà máy tính hiểu và thực hiện được. Ngôn ngữ đó gọi là ngôn ngữ lập trình. Cã ba lo¹i ng«n ng÷ lËp tr×nh: 1. Ng«n ng÷ m¸y 2. Hîp ng÷ 3. Ng«n ng÷ bËc cao 1. Ngôn ngữ máy Ưu điểm: Là ngôn ngữ duy nhất máy tính có thể trực tiếp hiểu và thực hiện, cho phép khai thác triệt để và tối ưu khả năng của máy. Nhược điểm: Ngôn ngữ phức tạp, phụ thuộc nhiều vào phần cứng, chương trình viết mất nhiều công sức, cồng kềnh và khó hiệu chỉnh. Theo em ngôn ngữ này có thích hợp với số đông người lập trình không? Ngôn ngữ này không thích hợp với số đông người lập trình. 2. Hợp ngữ Ưu điểm: Là ngôn ngữ kết hợp ngôn ngữ máy với ngôn ngữ tự nhiên của con người (thường là tiếng Anh) để thể hiện các lệnh. Nhược điểm: Còn phức tạp. Vì vậy ngôn ngữ này chỉ thích hợp với các nhà lập trình chuyên nghiệp. Để chương trình viết bằng hợp ngữ thực hiện được trên máy tính, nó cần được dịch ra ngôn ngữ máy bằng chư ơng trình hợp dịch. Để chương trình viết bằng hợp ngữ thực hiện được trên máy tính, nó cần được dịch ra ngôn ngữ máy bằng chư ơng trình hợp dịch. 3. Ngôn ngữ bậc cao Ưu điểm: Là ngôn ngữ ít phụ thuộc vào loại máy, chương trình viết ngắn gọn, dễ hiểu, dễ nâng cấp. Một số ngôn ngữ bậc cao: Turbo Pascal, Visual Basic, Java, Delphi, C ++ . Vì vậy ngôn ngữ này thích hợp với phần đông người lập trình. Ví dụ Ví dụ Ngôn ngữ máy 01100001 : a 01100010 : b 01000001 : A 01000010 : B 00101011 : + Dạng hợp ngữ Tính : e = ( a+b ) Input a: ;Nạp giá trị cho a Input b: ;Nạp giá trị cho b LOAD a:; đọc giá trị a vào A thanh ghi tổng. ADD b: ;Cộng nội dung A với giá trị b, kq giữ ở A thanh ghi tổng; MOVE e:; Ghi từ A vào e; PRINT e:; Hiển thị giá trị e ra màn hình; HALT : ;Dừng chương trình; Ngôn ngữ bậc cao Program Tinh; Var a,b: longint; Begin Readln(a, b); Writeln(a+b =, a+b); Readln; End. Từ ví dụ trên em rút ra kết luận gì? Từ ví dụ trên em rút ra kết luận gì? Củng cố Củng cố - Nắm được ba loại ngôn ngữ lập trình: Ngôn ngữ máy Hợp ngữ Ngôn ngữ lập trình bậc cao - Nắm được ưu điểm, nhược điểm cơ bản Của các loại Bài 5: LOGO www.themegallery.com I Khái niệm Ngôn ngữ dùng để viết chương trình mà máy tính thực gọi ngôn ngữ lập trình COMPANY LOGO www.themegalle ry.com www.themegallery.com II CÁC LOẠI NGÔN NGỮ LẬP TRÌNH NGÔN NGỮ MÁY HỢP NGỮ NGÔN NGỮ BẬC CAO COMPANY LOGO www.themegallery.com II CÁC LOẠI NGÔN NGỮ LẬP TRÌNH NGÔN NGỮ MÁY - Là ngôn ngữ mà máy tính hiểu thực được, lệnh viết dạng mã nhị phân mã Hexa COMPANY LOGO www.themegallery.com II CÁC LOẠI NGÔN NGỮ LẬP TRÌNH NGÔN NGỮ MÁY Ví dụ: xâu kí tự “TIN” chuyển sang mã nhị phân 01010100 01001001 01001110 COMPANY LOGO www.themegallery.com Bảng mã ASCII COMPANY LOGO www.themegallery.com II CÁC LOẠI NGÔN NGỮ LẬP TRÌNH NGÔN NGỮ MÁY Bảng mã ASCII COMPANY LOGO www.themegallery.com II CÁC LOẠI NGÔN NGỮ LẬP TRÌNH NGÔN NGỮ MÁY Ưu điểm: + Máy tính hiểu thực ngay, cho phép ta khai thác triệt để tối ưu khả máy tính ƯU ĐIỂM NHƯỢC ĐIỂM Nhược điểm: + Ngôn ngữ phức tạp, cồng kềnh khó hiệu chỉnh COMPANY LOGO www.themegallery.com II CÁC LOẠI NGÔN NGỮ LẬP TRÌNH Hợp ngữ - Các lệnh thường viết tắt từ Tiếng Anh Ví dụ: ADD AX, BX (Nghĩa là: Cộng số ghi AX với số ghi BX lưu kết vào ghi AX.) - Có phần bản: + Tên câu lệnh + Quy tắc để viết câu lệnh - Cấu trúc câu lệnh gồm phần: + Phần đầu: Là tên mã lệnh + Phần sau: Là địa ghi để lưu trữ giá trị COMPANY LOGO www.themegallery.com II CÁC LOẠI NGÔN NGỮ LẬP TRÌNH Hợp ngữ • Một số lệnh: + INPUT: Nhập giá trị + ADD: Phép cộng + SUB: Phép trừ + DIV: Phép chia COMPANY LOGO www.themegallery.com II CÁC LOẠI NGÔN NGỮ LẬP TRÌNH ` Hợp ngữ • Ví dụ: Đoạn code hợp ngữ Quản lý thiết bị trường học COMPANY LOGO www.themegallery.com II CÁC LOẠI NGÔN NGỮ LẬP TRÌNH Hợp ngữ Ưu điểm: ƯU ĐIỂM NHƯỢC ĐIỂM + Hợp ngữ ngôn ngữ mạnh, kết hợp ngôn ngữ máy ngôn ngữ tự nhiên người (thường tiếng anh) + Ngôn ngữ phức tạp, Chương trình viết tốn nhiều công sức, Nhược điểm: cồng kềnh khó hiệu chỉnh, cần chuyển sang ngôn ngữ máy COMPANY LOGO www.themegallery.com II CÁC LOẠI NGÔN NGỮ LẬP TRÌNH NGÔN NGỮ BẬC CAO Là ngôn ngữ gần với ngôn ngữ tự nhiên, có tính độc lập cao, phụ thuộc vào loại máy tính Mỗi ngôn ngữ bậc cao cần có chương trình dịch sang ngôn ngữ máy •Một số ngôn ngữ lập trình bậc cao: Fortran, Pascal, C…: dễ minh họa, diễn tả thuật toán VBA ,V.Studio …: Viết phần mềm ứng dụng Java, Asp, PHP, DotNet : Thiết kế Website, Pm ứng dụng … COMPANY LOGO www.themegallery.com II CÁC LOẠI NGÔN NGỮ LẬP TRÌNH NGÔN NGỮ BẬC CAO Fortran - ngôn ngữ mở đường cho phần mềm đại COMPANY LOGO www.themegallery.com II CÁC LOẠI NGÔN NGỮ LẬP TRÌNH NGÔN NGỮ BẬC CAO Visual Basic COMPANY LOGO www.themegallery.com II CÁC LOẠI NGÔN NGỮ LẬP TRÌNH NGÔN NGỮ BẬC CAO Ngôn ngữ lập trình Pascal COMPANY LOGO www.themegallery.com BÀI TẬP Ngôn ngữ máy Suy nghĩ chọn đáp án đúng! Có trợ giúp chương trình hợp dịch thí máy tính hiểu Hợp ngữ Sử dụng chương trình dịch để dịch sang ngôn ngữ máy Ngôn ngữ bậc cao Lệnh dạng mã nhị phân COMPANY LOGO www.themegallery.com BÀI TẬP Suy nghĩ chọn đáp án đúng! Ngôn ngữ lập trình Pascal ngôn ngữ lập trình sau đây? a Ngôn ngữ máy b Hợp ngữ C Ngôn ngữ bậc cao Ngôn ngữ sử dụng số từ ngữ tiếng anh để viết câu lệnh? a Ngôn ngữ máy b Hợp ngữ C Ngôn ngữ bậc cao Ngôn ngữ máy tính trực tiếp hiểu được? a Ngôn ngữ máy b Hợp ngữ C Ngôn ngữ bậc cao COMPANY LOGO www.themegallery.com Trở COMPANY LOGO www.themegallery.com Trở COMPANY LOGO www.themegallery.com CỦNG CỐ Mã nhị phân hecxa Ngôn ngữ máy Ngôn ngữ máy tính hiểu Phức tạp, nhiều câu lệnh NGÔN NGỮ LẬP TRÌNH Hợp ngữ Phức tạp, sử dụng từ tiếng anh Cần dịch sang ngôn ngữ máy Ngôn ngữ bậc cao Gần gũi với ngôn ngữ tự nhiên Cần dịch sang ngôn ngữ máy COMPANY LOGO LOGO Sở GD& ĐT Lâm Đồng Trường THPT Tân Hà Ngày soạn: 4/ 10/ 2010 Ngày dạy 5/ 10/ 2010 Tiết 17. §5 Ngôn ngữ lập trình I. Mục đích - Yêu cầu: - Học sinh biết khái niệm bài ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao. II. Trọng tâm: Ngôn ngữ máy, hợp ngữ, chương trình dịch. III. Tiến trình thực hiện: 1. Ổn định lớp: Kiểm tra sĩ số. 2. Bài cũ: Không 3. Bài mới: Để giải 1 bài toán máy tính không thể chạy trực tiếp thuật toán mà phải thực hiện theo chương trình. Vậy ta cần chuyển 1 thuật toán sang chương trình như chương trình Giải phương trình bậc 2 ở tiết trước. Một chương trình có thể viết từ nhiều ngôn ngữ khác nhau gọi là ngôn ngữ lập trình. Vậy có nhữnh loại ngôn ngữ lập trình nào? Vào bài mới. 3. Bài mới: Hoạt động của GV và HS Nội dung GV: Con người ở mỗi đất nước trên thế giới đều có một ngôn ngữ riêng. Máy tính cũng vậy, mỗi loại máy đều có một ngữ riêng, đây là ngôn ngữ duy nhất mà máy tính có thể trực tiếp hiểu và thực hiện. HS: Hiểu được Ngôn ngữ máy tính. GV: Mặc dù đây là ngôn ngữ máy tính có thể trực tiếp hiểu nhưng không phải ai cũng có thể viết chương trình bằng ngôn ngữ máy bởi nó rất phức tạp và khó nhớ, bởi vậy có nhiều loại ngôn ngữ xuất hiện để giúp đỡ cho người viết chương trình. Song để máy hiểu được thì phải dịch ra ngôn ngữ máy. HS: Hiểu được Khái niệm Hợp ngữ và chương trình dịch. GV: Hợp ngữ là ngôn ngữ mạnh nhưng nó không thích hợp với nhiều người sử dụng bởi nó sử dụng địa chỉ của các thanh ghi trong máy tính nên cũng phức tạp Xuất hiện ngôn ngữ khác đó là ngôn ngữ bậc cao. HS: Tìm hiểu Ngôn ngữ lập trình bậc cao. GV: Để chuyển giữa các ngôn ngữ ra ngôn ngữ máy ta cần phải nhờ đến chương trình dịch. 1. Ngôn ngữ máy: - Là ngôn ngữ duy nhất máy tính có thể hiểu và thực hiện. - Các loại ngôn ngữ khác, máy muốn hiểu được và thực hiện phải được dịch ra ngôn ngữ máy thông qua chương trình dịch. 2. Hợp ngữ: - Sử dụng một số từ để thực hiện lệnh trên các thanh ghi - Ví dụ: ADD AX, BX (nghĩa là cộng 2 thanh ghi AX và BX) - Muốn máy hiểu được ngôn ngữ này cần phải chuyển sang ngôn ngữ máy. 3. Ngôn ngữ bậc cao: - Là ngôn ngữ gần với ngôn ngữ tự nhiên, có tính độc lập cao, ít phụ thuộc vào loại máy. - Ví dụ: Pascal, C, C ++ , … - Muốn máy hiểu được ngôn ngữ này cần phải chuyển sang ngôn ngữ máy. 4.Chương trình dịch: - Là chương trình dịch từ các ngôn ngữ khác nhau ra ngôn ngữ máy. 4. Củng cố: Ngôn ngữ máy? Hợp ngữ? Ngôn ngữ bậc cao? Chương trình dịch? 5. Dặn dò: Về nhà xem trước: Giải bài toán trên máy tính. IV. Rút kinh nghiệm: . Bài 5. Ngôn ngữ lập trình Bài 5. Ngôn ngữ lập trình Làm thế nào để máy tính hiểu và trực tiếp thực hiện đ ợc thuật toán? Cần diễn tả thuật toán bằng một ngôn ngữ mà máy tính hiểu và thực hiện đ ợc. Ngôn ngữ đó gọi là ngôn ngữ lập trình. Có ba loại ngôn ngữ lập trình: A. Ngôn ngữ máy Ưu điểm: Là ngôn ngữ duy nhất máy tính có thể trực tiếp hiểu và thực hiện, cho phép khai thác triệt để và tối u khả năng của máy. Nh ợc điểm: Ngôn ngữ phức tạp, phụ thuộc nhiều vào phần cứng, ch ơng trình viết mất nhiều công sức, cồng kềnh và khó hiệu chỉnh. Vì vậy ngôn ngữ này không thích hợp với số đông ng ời lập trình. B. Hợp ngữ Ưu điểm: Là ngôn ngữ kết hợp ngôn ngữ máy với ngôn ngữ tự nhiên của con ng ời (th ờng là tiếng Anh) để thể hiện các lệnh. Nh ợc điểm: Còn phức tạp. Vì vậy ngôn ngữ này chỉ thích hợp với các nhà lập trình chuyên nghiệp. Để ch ơng trình viết bằng hợp ngữ thực hiện đ ợc trên máy tính, nó cần đ ợc dịch ra ngôn ngữ máy bằng ch ơng trình hợp dịch. Để ch ơng trình viết bằng hợp ngữ thực hiện đ ợc trên máy tính, nó cần đ ợc dịch ra ngôn ngữ máy bằng ch ơng trình hợp dịch. C. Ngôn ngữ bậc cao Ưu điểm: Là ngôn ngữ ít phụ thuộc vào loại máy, ch ơng trình viết ngắn gọn, dễ hiểu, dễ nâng cấp. Một số ngôn ngữ bậc cao: Turbo Pascal, Visual Basic, Java, Delphi, C ++ Vì vậy ngôn ngữ này thích hợp với phần đông ng ời lập trình. Bài 5: NGÔN NGỮ LẬP TRÌNH I. Mục tiêu bài học 1. Kiến thức Giúp học sinh nắm được khái niệm ngôn ngữ lập trình. Ưu nhược điểm của các ngôn ngữ. 2. Kỹ năng Học sinh nắm được khái niệm lập trình, ưu nhược điểm của các ngôn ngữ. II. Phương pháp Phương pháp hỏi đáp tìm tòi bộ phận. Thuyết trình Ơrixtic. III. Hoạt động dạy - học 1. Ổn định tổ chức Kiểm tra sĩ số. 2. Kiểm tra bài cũ. 3. Bài mới Nội dung cần đạt Hoạt động của thầy và trò Sau khi chúng ta đã diễn tả thuật toán dưới dạng liệt kê hoặc sơ đồ khối máy tính vẫn chưa thể trực tiếp thực hiện thuật toán? Vì vậy chúng ta cần phải Nội dung cần đạt Hoạt động của thầy và trò Vậy: Ngôn ngữ lập trình là ngôn ngữ dùng để viết chương trình máy tính. Ngôn ngữ lập trình được chia thành: Ngôn ngữ máy, hợp ngữ, ngôn ngữ bậc cao. 1. Ngôn ngữ máy Ưu điểm: Là ngôn ngữ duy nhất máy tính có thể hiểu trực tiếp và thực hiện, cho phép khai thác triệt để và tối ưu hoá khả năng của máy Nhược điểm: Ngôn ngữ phức tạp, phụ thuộc nhiều vào phần cứng, chương trình viết mất nhiều công sức, cồng kềnh và khó hiệu chỉnh Ngôn ngữ này không thích hợp với số đông người lập trình 2. Hợp ngữ đi diễn tả thuật toán bằng một ngôn ngữ để máy tính hiểu và thực hiện được. Ngôn ngữ đó gọi là ngôn ngữ lập trình. HS ghi bài. Vậy theo các em thì ngôn ngữ này có được dùng phổ biến không? HS trả lời Nội dung cần đạt Hoạt động của thầy và trò Ưu điểm: là ngôn ngữ kết hợp ngôn ngữ máy với ngôn ngữ tự nhiên (thường là từ viết tắt của tiếng Anh) để thực hiện các lệnh. Nhược điểm: vẫn còn phức tạp. Ngôn ngữ này chỉ thích hợp với những nhà lập trình chuyên nghiệp 3. Ngôn ngữ bậc cao Ưu điểm: - Các câu lệnh của chương trình gần gũi với ngôn ngữ tự nhiên - Là ngôn ngữ ít phụ thuộc vào loại máy, chương trình viết ngắn gọn, dễ hiểu, dễ hiệu chỉnh, nâng cấp. Ngôn ngữ này thích hợp với phần Để máy tính có thể thực hiện được một chương trình viết bằng hợp ngữ thì chương trình đó phải dịch ra ngôn ngữ máy nhờ chương trình hợp dịch. Chương trình hợp dịch: MASM, TASM. HS ghi bài. Và cũng như chương trình được viết Nội dung cần đạt Hoạt động của thầy và trò đông người lập trình Một số ngôn ngữ bậc cao: Pascal, C, C ++ , Visual Basic, bằng hợp ngữ, chương trình được viết bằng ngôn ngữ bậc cao cũng cần phải dịch sang ngôn ngữ máy nhờ chương trình dịch 4. Củng cố Trọng tâm: Khái niệm ngôn ngữ lập trình, các loại ngôn ngữ lập trình, chương trình hợp dịch và chương trình dịch. 5.Dặn dò Đọc trước bài 6: giải bài toán trên máy tính Bài giảng Tin học 10 Bài 5: Ngôn ngữ lập trình Tình huống La… là… la… Hôm nay tự nhiên bố mẹ đưa mình sang Pháp chơi… lá là la 04306806106F 06206106E 021 Hơ… hơ! Không hiểu gì cả! Mình đâu bít tiếng Pháp! Liệu máy tính có thực hiện được thuật toán đó không? Bài 5: NGÔN NGỮ LẬP TRÌNH Khái niệm Ngôn ngữ dùng để mô tả thuật toán giúp máy tính hiểu và thực hiện được. Ngôn ngữ đó được gọi là “Ngôn ngữ lập trình” Có mấy loại ngôn ngữ lập trình? Có 3 loại: + Ngôn ngữ máy + Hợp ngữ + Ngôn ngữ bậc cao 1. Ngôn ngữ máy - Là ngôn ngữ duy nhất mà máy tính có thể trực tiếp hiểu và thực hiện được. - Các lệnh viết bằng ngôn ngữ máy viết bằng mã nhị phân và mã Hexa. Ví dụ: “Chao 10A1” chuyển sang mã nhị phân 01000011 1001000 01000001 01001111 00000001 0000000 01000001 00000001 1. Ngôn ngữ máy - Ưu điểm: + Máy tính hiểu và thực hiện được ngay cho phép ta khai thác triệt để và tối ưu khả năng của máy tính. - Nhược điểm: + Ngôn ngữ phức tạp, phụ thuộc nhiều vào phần cứng. Chương trình viết tốn nhiều công sức, cồng kềnh và khó hiệu chỉnh. 2. Hợp ngữ • Các lệnh thường là viết tắt các từ Tiếng Anh Ví dụ: ADD AX, BX Nghĩa là: Cộng số ở thanh ghi AX với số ở thanh ghi BX rồi lưu kết quả vào thanh ghi AX. • Hợp ngữ bao gồm 2 phần cơ bản: + Tên các câu lệnh + Quy tắc để viết các câu lệnh • Cấu trúc câu lệnh gồm 2 phần: + Phần đầu: Là tên mã lệnh + Phần sau: Là địa chỉ các thanh ghi để lưu trữ giá trị 2. Hợp ngữ • Một số lệnh: + INPUT: Nhập giá trị + ADD: Phép cộng + SUB: Phép trừ + DIV: Phép chia [...]...2 Hợp ngữ Ưu điểm: Hợp ngữ là một ngôn ngữ mạnh, kết hợp giữa ngôn ngữ máy và ngôn ngữ tự nhiên của con người (Thường là tiếng anh) Nhược điểm: Không thích hợp với số đông người lập trình vì để lập trình bằng hợp ngữ thì người lập trình phải có hiểu biết nhất định về máy tính 2 Hợp ngữ Chú ý: Để chương trình viết bằng hợp ngữ thực hiện được trên máy tính,có thực chuyển sang ngôn ngữ máy bằng... được ngay các chương trình hợp dịch chương trình viết bằng hợp ngữ không? 3 Ngôn ngữ bậc cao Là ngôn ngữ gần với ngôn ngữ tự nhiên, có tính độc lập cao, ít phụ thuộc vào loại máy tính • Một số ngôn ngữ lập trình bậc cao: + Fortran + Cobol + Basic + Pascal + FoxPro + + Java, C, C+,C++… 3 Ngôn ngữ bậc cao Thuật toán tính tổng 2 số Nhập a, b, c S ←a+b Đưa ra S; kết thúc Ngôn ngữ lập trình Pascal: Read(a,b);... viết bằng ngôn ngữ bậc cao hoặc hợp ngữ sang ngôn ngữ máy 0101 0100 00111 1100 ADD AX,BX Write(‘Xin Chao cac ban’) Có 3 loại ngôn ngữ lập trình: + Ngôn ngữ máy: Máy tính hiểu nhưng rất phức tạp nên ít người dùng + Hợp ngữ: Sử dụng các câu lệnh bằng Tiếng Anh nhưng vẫn còn phức tạp nên ít người dùng + Ngôn ngữ bậc cao: Sử dụng ngôn ngữ tự nhiên, dễ hiểu, có tính độc lập cao nên thích hợp với đa số người... Write(S); 3 Ngôn ngữ bậc cao Ưu điểm: Ít phụ thuộc vào máy tính, chương trình viết ngắn gọn, dễ hiểu, dễ chỉnh sửa nên thích hợp với số đông người lập trình Chú ý: Muốn máy tình hiểu được ngôn ngữ bâc cao cần phải chuyển đổi nó sang ngôn ngữ máy Chương trình thực hiện công việc này gọi là Chương trình dịch 4 Chương trình dịch Chương trình ... Pascal ngôn ngữ lập trình sau đây? a Ngôn ngữ máy b Hợp ngữ C Ngôn ngữ bậc cao Ngôn ngữ sử dụng số từ ngữ tiếng anh để viết câu lệnh? a Ngôn ngữ máy b Hợp ngữ C Ngôn ngữ bậc cao Ngôn ngữ máy tính... niệm Ngôn ngữ dùng để viết chương trình mà máy tính thực gọi ngôn ngữ lập trình COMPANY LOGO www.themegalle ry.com www.themegallery.com II CÁC LOẠI NGÔN NGỮ LẬP TRÌNH NGÔN NGỮ MÁY HỢP NGỮ NGÔN NGỮ... NGÔN NGỮ BẬC CAO Là ngôn ngữ gần với ngôn ngữ tự nhiên, có tính độc lập cao, phụ thuộc vào loại máy tính Mỗi ngôn ngữ bậc cao cần có chương trình dịch sang ngôn ngữ máy •Một số ngôn ngữ lập trình