Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 95 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
95
Dung lượng
3,59 MB
Nội dung
Lê Minh Hoàng 2 Nội dung bài học Cách giao tiếp với máy tính bằng “ngôn ngữ” Quá trình phát triển của ngôn ngữ lậptrình Ngôn ngữ bậc cao Trình dịch Một chương trình viết bằng ngôn ngữ bậc cao được xử lý như thế nào? Thuật toán là gì?, Kỹ thuật giải quyết các bài toán tin học như thế nào? 3 Kiến trúc máy tính Bộ xử lý trung tâm (CPU: Central Processing Unit) Bộ tính toán số học và logic ALU: Arithmetic-Logic Unit Bộ điều khiển CU: Control Unit Những t/p khác: Bộ đồng xử lý toán học, bộ tăng tốc đồ họa và video… Bộ nhớ trong (Main Memory) Secondary Storage Thiết bị vào (Input Device) Thiết bị ra (Output Device) 4 Mô hình xử lý thông tin Input Output Process Storage Input: Bàn phím (Keyboard), Con chuột (Mouse), Máy quét (Scanner), … Processing: Máy tính thực hiện chương trình. Output: Màn hình (Monitor), Máy in (Printer), Máy Fax … Storage: Đĩa cứng (Hard Disks), Đĩa mềm (Floppy Disks), Băng từ (Magnetic tape)… 5 Minh họa một hệ thống máy tính CPU Memory I/O Interface Floppy Disks CD/DVD Monitor Hard Disk Keyboard Mouse Scanner Printer Speakers Tape 6 Phần cứng và Phần mềm Phần cứng (Hardware) Xử lý dữ liệu bằng cách tiến hành các lệnh theo chỉ thị. Cung cấp đầu vào (Input) và đầu ra (Output) qua các cổng giao tiếp thiết bị ngoại vi. Phần mềm Chứa các chỉ thị lệnh giao cho phần cứng thực hiện. Là chương trình được viết để thực hiện một nhiệm vụ cụ thể nào đó. Phần mềm hệ thống (System Programs): Là chương trình viết ra để điều khiển máy tính, các thiết bị nối với máy tính, các chương trình khác chạy trên máy tính. Ví dụ: Hệ điều hành Windows, Linux, Mac OS. Phần mềm ứng dụng (Application Programs): Là chương trình viết ra để thực hiện một tác vụ chuyên biệt nào đó. Ví dụ: Phần mềm soạn thảo văn bản MS Office, Phần mềm gõ tiếng Việt Unikey v.v… 7 Ngôn ngữ của máy tính Nhắc lại: Phần cứng tiến hành các lệnh theo chỉ thị Phần mềm cung cấp các chỉ thị cho phần cứng thực hiện Vậy chỉ thị là? Ngôn ngữ của máy tính Chỉ thị được biểu diễn bằng một dãy các số 0 và 1. VD 100010011101. Cách mã hóa chỉ thị dưới dạng số nhị phân gọi là ngôn ngữ máy Số 0 và 1 được gọi là chữ số nhị phân (Binary Digit hoặc bit) Một dãy số nhị phân được gọi là mã nhị phân (Binary Code) 8 Ví dụ về ngôn ngữ máy Ví dụ Độ dài quãng đường = Vận tốc x Thời gian Cho biết vận tốc = 15 (km/h) Thời gian = 6 (h) Tính độ dài quãng đường Giả sử 1001 chỉ thị máy tính đọc giá trị ở 4 bit tiếp theo. 1011 chỉ thị máy tính nhân giá trị đang có với giá trị ở 4 bit tiếp theo và nhớ lại giá trị kết quả 1000 chỉ thị máy tính cho biết kết quả đang nhớ Lệnh 1001 1111 1011 0110 1000 9 Hợp ngữ (Assembly language) Đặc điểm Dùng lệnh hợp ngữ thay vì viết mã nhị phân của từng chỉ thị. Có một chương trình (Assembler) dịch lệnh hợp ngữ ra ngôn ngữ máy. Cho phép dùng biến số, chấp nhận biểu diễn thập phân và thập lục phân của số nguyên. Ví dụ Viết LOAD thay cho 1001, MULT thay cho 1011, STOR thay cho 1000. Chương trình trở thành LOAD 15 MULT 6 STOR Chương trình dễ đọc và khó bị lỗi hơn ngôn ngữ máy 10 Ngôn ngữ bậc cao (High level languages) Ngôn ngữ bậc cao: Basic, FORTRAN, COBOL, Pascal, C, Object Pascal, C++… Để tính quãng đường (L) cho biết vận tốc (V) và thời gian (T), có thể viết lệnh trong ngôn ngữ Pascal: L := V * T Trình dịch: Là chương trình dịch các lệnh viết trong ngôn ngữ bậc cao thành những chỉ thị tương đương trong ngôn ngữ máy. [...]... Nội dung bài học Những khái niệm cơ bản về lậptrình Lịch sử ngôn ngữ lập trìnhPascal Xuất phát từ ALGOL Trở thành chuẩn mực lậptrình Bị thay thế bởi C++ Sống lại bằng Object Pascal và Delphi Cuộc chiến giữa Delphi và Visual C# Làm quen với trình dịch Free Pascal Giao diện Hệ thống Menu Các phím soạn thảo Các phím tắt (Shortcut) 15 Lậptrình Một chương trình máy tính là một tập hợp các dòng lệnh... trình Nhưng so với C, Pascal vẫn là #1… Pascal chính thức bị thay thế bởi C++ Tư duy lậptrình thay đổi: Từ lập trình hướng cấu trúc (Structure-Oriented Programming) sang hướng đối tượng (Object-Oriented Programming) Vào đầu những năm 1980s, Bjarne Stroustrop tại phòng thí nghiệm Bell tích hợp những đặc tả cho lập trình hướng đối tượng vào ngôn ngữ C, tạo ra ngôn ngữ C++ Tất cả lậptrình viên đều nhận... kiến thức về sử dụng dụng cụ nấu ăn để làm theo công thức Lậptrình cũng giống như vậy… 16 Lậptrình (tiếp) Để viết một chương trình, chúng ta phải học các ký hiệu, các từ, và các luật cú pháp của ngôn ngữ lậptrình Luật cú pháp cho biết cách viết dòng lệnh nào là hợp lệ (được chấp nhận bởi ngôn ngữ lập trình) , cách viết nào là sai Ngôn ngữ lập trình: Là một tập các luật cú pháp, ký hiệu, và từ khoá... ngôn ngữ lậptrình bậc cao thường gợi nhớ nghĩa của dòng lệnh bằng tiếng Anh and: và or: hoặc If x > 0 then : Nếu x là số dương thì làm while a > b do : Thực hiện chừng nào vẫn thấy a > b 17 Pascal Programming Language Ngôn ngữ lập trìnhPascal được đặt tên theo tên nhà toán học Pháp Blaise Pascal Đặc điểm Dễ học Blaise Pascal 162 3-1 662 Thích hợp để mô phỏng thuật toán Viết chương trình. .. tả về một ngôn ngữ có cấu trúc chặt chẽ và đặt tên là PASCAL (Tên nhà toán học thế kỷ 17, người phát minh ra máy tính đầu tiên… Quan trọng hơn cả: Wirth viết luôn trình dịch PASCAL Một trình dịch độc lập phần cứng và hệ điều hành để dịch chương trìnhPASCAL ra mã đối tượng Khi chạy trên các máy tính và hệ điều hành khác nhau, chỉ cần một chương trình nhỏ chuyển mã đối tượng thành mã khả thi (Xem lại... ngữ C++ Tất cả lậptrình viên đều nhận ra nhiều ưu điểm của lậptrình OOP so với lậptrình cấu trúc, trong khi đó Pascal ra đời khi OOP chưa phổ biến… TP chấm dứt phát triển: Borland tuyên bố “Sẽ không có Borland (Turbo) Pascal 8 mà thay vào đó sẽ là Delphi” 22 Lịch sử: Object Pascal vs C# Nhược điểm của ngôn ngữ C++ Quá nhiều ký hiệu, chương trình C++ khác biệt rất nhiều ngôn ngữ tự nhiên nên khó đọc... những cú pháp tắt Điều này làm chương trình C++ ngắn bằng khoảng 60% so với Pascal, nhưng lại không hạn chế được lậptrình viên viết những mã nguy hiểm hoặc dễ gây nhầm lẫn Cơ quan kiểm tra giáo dục Mỹ khi đưa C++ vào các trường học đã phải bỏ bớt hoặc sửa đổi một số đặc điểm của C++ được coi là “nguy hiểm” đối với sinh viên - những người mới học lậptrình Đối lập với nhược điểm này của C++ lại là... với nhược điểm này của C++ lại là đặc tính dễ hiểu, chặt chẽ, định kiểu mạnh của Pascal Thế hệ ngôn ngữ mới Những người phát triển Pascal: Pascal chỉ kém C++ ở phần lập trình hướng đối tượng → Mượn tất cả đặc tả hướng đối tượng trong C++ đưa vào Pascal tạo ra ngôn ngữ mới Object Pascal Những người phát triển C++: C++ kém Pascal chủ yếu do tính dễ dãi và khó hiểu → Hạn chế bớt một số tính năng nguy hiểm... Release - Dịch ra phiên bản cuối cùng cho người sử dụng) Compiler…: Đặt các thiết lập cho trình dịch Memory sizes…: Đặt các ràng buộc về bộ nhớ Linker…: Đặt các thiết lập cho trình liên kết Debugger…: Đặt các thiết lập cho trình gỡ rối Directories…: Đặt các đường dẫn và thư mục Browser…: Đặt chế độ theo dõi phục vụ cho mục đích tìm kiếm Tools…: Thêm/bớt công cụ vào menu Tools Environments: Các thiết lập. .. (Computer Science) vào nội dung thi, và ngôn ngữ lậptrình được sử dụng là Pascal (Pascal trở thành ngôn ngữ chính thức tới năm 1999, sau đó chuyển sang C++ 2 năm, và hiện tại là Java) Một công ty là Borland International đưa ra thị trường Turbo Pascal (TP) một phần mềm dịch tích hợp Pascal TP là một cuộc cách mạng: TP có thay đổi một số thành phần trong Pascal chuẩn, làm cho ngôn ngữ tiện dụng hơn Tốc . cơ bản về lập trình Lịch sử ngôn ngữ lập trình Pascal Xuất phát từ ALGOL Trở thành chuẩn mực lập trình Bị thay thế bởi C++ Sống lại bằng Object Pascal và. thức Lập trình cũng giống như vậy… 17 Lập trình (tiếp) Để viết một chương trình, chúng ta phải học các ký hiệu, các từ, và các luật cú pháp của ngôn ngữ lập