Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
18,59 MB
Nội dung
Dành cho sinh viên quy chuyên ngành Công Nghệ Thông Tin ThS Nguyễn Cao Trí caotri@dit.hcmut.edu.vn www.dit.hcmut.edu.vn/~caotri Giới thiệu Mục tiêu môn học Giới thiệu khái niệm lập trình máy tính Cung cấp sở lý thuyết kỹ lập trình cho môn học sau Nội dung Một số thuật ngữ liên quan đến máy tính lập trình Sơ lược ngôn ngữ lập trình Ngôn ngữ minh họa Pseudo code Pascal Các giải thuật Kỹ tư thực hành ngôn ngữ cụ thể Phương thức Phương thức học Giờ lý thuyết: giảng báo cáo Giờ thực hành phòng máy Kiểm tra thi Kiểm tra thực hành: kỹ lập trình Thi lý thuyết : trắc nghiệm khách quan Được tham khảo tài liệu Tài liệu tham khảo Slide giảng Lập Trình Căn Bản Giáo trình Lập trình – Khoa CNTT Tài liệu khác CDROM tập PASCAL thực hành www.dit.hcmut.edu.vn/~caotri Một số khái niệm Máy tính & chương trình máy tính Ngôn ngữ lập trình ,translator, Giải thuật flow chart Giải thuật & biểu diễn giải thuật Flowchart Công cụ phát triển Công cụ IDE, Compiler Error & debug Máy tính - Computer Máy tính Analog Máy tính số Hệ nhị phân Máy tính lập trình Mô hình máy Turing Von Newman Các hệ máy tính Đặc tính chung Khả tính toán Khả thực phép toán logic Tốc độ tính toán cao Làm theo thị Kiến trúc máy tính Máy tính (Computer system) Bao gồm nhiều thiết bị phần cứng (hardware devices) Keyboard Screen (monitor) Disks Memory Processing Units Hệ điều hành (Operating System – OS) Phần mềm (software) Công dụng: êệ thống, ứng dụng, sở liệu Môi trường hoạt động: OS, Network, WEB, Server, Chương trình máy tính Chương trình Danh mục trang thiết bị, tài nguyên sử dụng Tiến trình sử dụng tài nguyên thực công việc định trước Kết thực Chương trình máy tính Tập hợp lệnh liệt kê theo trình tự định Các liệu nhận Các tài nguyên cần sử dụng Các kết có Mục tiêu: xử lý liệu theo yêu cầu định trước Lập trình: viết chương trình cho máy tính Ngôn ngữ lập trình Ngôn ngữ lập trình Phương tiện để viết chương trình cho máy tính Hàng trăm ngôn ngữ lập trình khác Những quy định cú pháp (syntax) & ngữ nghĩa (semantic) Máy tính hiểu Phân chia làm nhóm Ngôn ngữ máy - Machine languages Ngôn ngữ máy tính - CPU Hợp ngữ - Assembly languages Ngôn ngữ cấp cao - High-level languages Ngôn ngữ duymáy máy tính (CPU) hiểu trực tiếp Ngôn ngữ - Machine languages Được xác định tập lệnh CPU Phụ thuộc vào máy tính cụ thể Dạng nhị phân {0,1}* Rất khó đọc hiểu Khó có khả viết chương trình trực tiếp Khó nhớ hàng chục ngàn lệnh dạng {0,1}* Rất khó xác định & sửa lỗi Không sử dụng thực tế để viết chương trình Nền tảng xây dựng hợp ngữ Hợp ngữ - Assembly Languages Sử dụng từ khóa tiếng Anh cho lệnh hay nhóm lệnh mã máy Được dịch sang mã máy thực Chuyển đỗi nhanh chóng Dễ đọc dễ hiểu Vẫn tương đối khó sử dụng Các lệnh đơn giản nên phải dùng nhiều lệnh Chưa có cấu trúc điều khiển thuận tiện Khả tìm sửa lỗi chưa thuận tiện Nền tảng xây dựng ngôn ngữ cấp cao Ngôn ngữ cấp cao Một câu lệnh diễn tả nhiều động thái Có cấu trúc ngày giống ngôn ngữ tự nhiên (tiếng Anh) Được dịch sang assembly hay mã máy chương trình dịch trước thực thi Source code & Executed code Được phân làm nhiều lớp Lập trình goto Lập trình cấu trúc – Structured Lập trình hướng đối tượng – Object Oriented Các dạng khác Học ngôn ngữ lập trình Học ngữ pháp Quy tắc ngữ pháp Từ vựng Cấu trúc câu Ngữ nghĩa lệnh Các “thành ngữ” Học ngôn ngữ lập trình VS Học ngôn ngữ tự nhiên Quy tắc ngữ pháp đơn giản Từ vựng ít, tự quy định Cấu trúc câu đơn giản Hạn chế khó khăn sử dụng ngôn ngữ lập trình Chương Dùng để dịch từtrình ngôndịch ngữ lập trình sang ngôn ngữ lập trình khác Mục tiêu cuối dịch sang mã máy để có executed code –> chương trình thực thi Phân loại: Intepreter – thông dịch Compiler – biên dịch Intepreter vs Compiler Công cụ phát triển – Integrated Development Environment (IDE) Soạn thảo Dịch sửa lỗi chương trình Chạy thử sửa lỗi Lỗi vàsố sửa lỗi Một khái niệm khác Syntax error – lỗi ngữ pháp Semantic error- lỗi ngữ nghĩa Runtime error - Lỗi thực thi Debug – Tìm sửa lỗi Dữ liệu, kiểu liệu Các kiểu liệu integer, long, character, byte, … Real (double, float) Kiểu khác: string Kiểu liệu có cấu trúc: array, string, record, Biến (Variable) & Hằng (Constant) Giải thuật: khái niệm, công cụ biểu diễn Flow chart – lưu đồ Flow chart Start • Start /Begin bắt đầu giải thuật Chỉ có điểm START • Dòng xử lý • Input / Output liệu xuất/nhập • Đặc tả thao tác xử lý hay tính toán liệu No Điều kiện • Điều khiển rẽ nhánh Yes Giá trị xét phân nhánh • Phát biểu rẽ nhánh khác Trường hợp Stop Trường hợp i • Stop/End kết thúc giải thuật Có thể có nhiều điểm STOP Khác Flow chart Ưu điểm Trình bày trực quan giải thuật Độc lập với ngôn ngữ tự nhiên Độc lập với ngôn ngữ lập trình Bảo đảm khả lập trình Cho phép dễ dàng kiểm tra giải thuật Nguyên tắc kiểm tra Đi từ START theo đường phải đến điểm dừng STOP Không có quay vòng vĩnh viễn Không có kết thúc lưng chừng Flow chart Algorithms Giải phương trình ax + b = Start Nhập a, b Yes a=0 ? No X=-b/a Stop Yes b=0 ? No Không có nghiệm Vô số nghiệm Cấu trúc điều khiển If then Statement; If then Statement else Statement 2; Case of value : Statement 1; ……… value n : Statement n; else : Statement end; While Statement; Repeat Statement until ; For counter=start value to end value Statement; For counter=start value downto end value Statement Chu kỳ sống phần mềm Thu thập yêu cầu Phân tích thiết kế Phát triển chương trình - codeing Xác định giải thuật Viết code dịch thử , hiệu chỉnh lỗi syntax Thử nghiệm - Testing Chạy thử với liệu mẫu để kiểm tra lỗi semantic runtime Vận hành bảo trì Phát triển theo yêu cầu Một số ngôn ngữ lập trình Lập trình goto Assembly Basic Lập trình cấu trúc Pascal, C Foxpro Lập trình hướng đối tượng Java, C++, Object Pascal,… Khác Prolog, LISP, Visual basic (VB), VC++, J++, Delphi, ASP, PHP, Visual studio NET: VB.NET, ASP.NET, C++.NET, C# [...]... lệnh Các “thành ngữ” Học ngôn ngữ lập trình VS Học ngôn ngữ tự nhiên Quy tắc ngữ pháp đơn giản Từ vựng ít, tự quy định Cấu trúc câu đơn giản Hạn chế và khó khăn của sử dụng ngôn ngữ lập trình Chương Dùng để dịch t trình một ngôndịch ngữ lập trình này sang ngôn ngữ lập trình khác Mục tiêu cuối cùng là dịch sang mã máy để có được executed code –> chương trình thực thi Phân loại: Intepreter...Ngôn ngữ cấp cao Một câu lệnh diễn tả nhiều động thái Có cấu trúc ngày càng giống ngôn ngữ tự nhiên (tiếng Anh) Được dịch sang assembly hay mã máy bằng các chương trình dịch trước khi thực thi Source code & Executed code Được phân làm nhiều lớp Lập trình goto Lập trình cấu trúc – Structured Lập trình hướng đối tượng – Object Oriented Các dạng khác Học ngôn ngữ lập trình Học ngữ... Phân tích thiết kế Phát triển chương trình - codeing Xác định giải thuật Viết code và dịch thử , hiệu chỉnh các lỗi syntax Thử nghiệm - Testing Chạy thử với các dữ liệu mẫu để kiểm tra lỗi semantic và runtime Vận hành và bảo trì Phát triển theo yêu cầu Một số ngôn ngữ lập trình Lập trình goto Assembly Basic Lập trình cấu trúc Pascal, C Foxpro Lập trình hướng đối tượng Java,... trực quan giải thuật Độc lập với ngôn ngữ tự nhiên Độc lập với ngôn ngữ lập trình Bảo đảm khả năng lập trình Cho phép dễ dàng kiểm tra giải thuật Nguyên tắc kiểm tra Đi từ START theo bất cứ đường nào cũng phải đến một điểm dừng STOP Không có sự quay vòng vĩnh viễn Không có sự kết thúc lưng chừng Flow chart Algorithms Giải phương trình ax + b = 0 Start Nhập a, b Yes a=0 ? No X=-b/a Stop... giải thuật Chỉ có 1 và chỉ 1 điểm START • Dòng xử lý • Input / Output dữ liệu xuất/nhập • Đặc tả thao tác xử lý hay tính toán dữ liệu No Điều kiện • Điều khiển rẽ nhánh Yes Giá trị xét phân nhánh • Phát biểu rẽ nhánh khác Trường hợp 1 Stop Trường hợp i • Stop/End kết thúc của giải thuật Có thể có một hoặc nhiều điểm STOP Khác Flow chart Ưu điểm Trình bày trực quan giải thuật Độc lập với ngôn ngữ... Giải phương trình ax + b = 0 Start Nhập a, b Yes a=0 ? No X=-b/a Stop Yes b=0 ? No Không có nghiệm Vô số nghiệm Cấu trúc điều khiển cơ bản If then Statement; If then Statement 1 else Statement 2; Case of value 1 : Statement 1; ……… value n : Statement n; else : Statement 0 end; While do Statement; Repeat Statement until ; For counter=start... phát triển – Integrated Development Environment (IDE) Soạn thảo Dịch và sửa lỗi chương trình Chạy thử và sửa lỗi Lỗi vàsố sửa lỗi Một khái niệm khác Syntax error – lỗi ngữ pháp Semantic error- lỗi ngữ nghĩa Runtime error - Lỗi thực thi Debug – Tìm và sửa lỗi Dữ liệu, kiểu dữ liệu Các kiểu dữ liệu cơ bản integer, long, character, byte, … Real (double, float) Kiểu khác: string ... giảng Lập Trình Căn Bản Giáo trình Lập trình – Khoa CNTT Tài liệu khác CDROM tập PASCAL thực hành www.dit.hcmut.edu.vn/~caotri Một số khái niệm Máy tính & chương trình máy tính Ngôn ngữ lập. .. Giới thiệu khái niệm lập trình máy tính Cung cấp sở lý thuyết kỹ lập trình cho môn học sau Nội dung Một số thuật ngữ liên quan đến máy tính lập trình Sơ lược ngôn ngữ lập trình Ngôn ngữ minh... code Được phân làm nhiều lớp Lập trình goto Lập trình cấu trúc – Structured Lập trình hướng đối tượng – Object Oriented Các dạng khác Học ngôn ngữ lập trình Học ngữ pháp Quy tắc ngữ