Upload
oki
View
70
Download
2
Embed Size (px)
DESCRIPTION
MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH. Giới thiệu. Mục tiêu môn học Cung cấp cho sinh viên kiến thức căn bản về kỹ thuật lập trình và lập trình theo tiếp cận hướng đối tượng, một phương pháp lập trình rất thông dụng hiện nay. Nội dung Một số thuật ngữ liên quan đến máy tính và lập trình. - PowerPoint PPT Presentation
Citation preview
Bài giảng môn Phương pháp lập Trình
MÔN HỌC
PHƯƠNG PHÁP LẬP TRÌNH
Trang 2
Giới thiệu
Mục tiêu môn họcCung cấp cho sinh viên kiến thức căn bản về kỹ thuật lập
trình và lập trình theo tiếp cận hướng đối tượng, một phương pháp lập trình rất thông dụng hiện nay.
Nội dung Một số thuật ngữ liên quan đến máy tính và lập trình. Sơ lược về ngôn ngữ lập trình Ngôn ngữ minh họa Pseudo code và C/C++ Các giải thuật cơ bản
Kỹ năng tư duy và thực hành trên ngôn ngữ cụ thể.
Trang 3
Phương thức
Phương thức học Giờ lý thuyết: giảng và báo cáo Giờ thực hành tại phòng máy
Kiểm tra và thi Kiểm tra thực hành: kỹ năng lập trình Thi lý thuyết : trắc nghiệm khách quan
Tài liệu tham khảo Slide bài giảng Lập Trình Căn Bản Giáo trình Phương Pháp Lập trình – Khoa CNTT
Tài liệu khác CDROM bài tập và thực hành
Bài giảng môn Phương pháp lập Trình
MỘT SỐ KHÁI NIỆM CƠ BẢN VỀMáy tính & chương trình máy tínhNgôn ngữ lập trình ,translator,..
GIẢI THUẬT VÀ FLOW CHARTGiải thuật & biểu diễn giải thuậtFlowchart
CÔNG CỤ PHÁT TRIỂNCông cụ IDE, CompilerError & debug
Chương 1
Khái niệm cơ bản
Trang 5
Máy tính - Computer
Máy tính AnalogMáy tính số
Hệ nhị phân Máy tính lập trình được Mô hình máy Turing và Von Newman Các thế hệ máy tính
Đặc tính chung Khả năng tính toán Khả năng thực hiện các phép toán logic Tốc độ tính toán cao Làm theo chỉ thị
Trang 6
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, cơ sở dữ liệu Môi trường hoạt động: OS, Network, WEB, Server,..
Trang 7
Chương trình máy tính
Chương trình Danh mục các trang thiết bị, tài nguyên sử dụng Tiến trình sử dụng các tài nguyên và thực hiện các công việc
định trước Kết quả thực hiện
Chương trình máy tính Tập hợp các lệnh được liệt kê theo một trình tự nhất định Các dữ liệu sẽ được nhận Các tài nguyên cần sử dụng Các kết quả sẽ có được Mục tiêu: xử lý dữ 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
Trang 8
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 nhau Những quy định về cú pháp (syntax) & ngữ nghĩa
(semantic) Máy tính có thể hiểu được
Phân chia làm 3 nhóm chính Ngôn ngữ máy - Machine languages
Ngôn ngữ duy nhất của máy tính - CPU Hợp ngữ - Assembly languages Ngôn ngữ cấp cao - High-level languages
Trang 9
Ngôn ngữ máy - Machine languages
Ngôn ngữ duy nhất được máy tính (CPU) hiểu trực tiếp.
Được xác định bởi tập lệnh của 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ả năng 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 được sử dụng trong thực tế để viết chương trình
Nền tảng xây dựng hợp ngữ
Trang 10
Hợp ngữ - Assembly Languages
Sử dụng các từ khóa tiếng Anh cho các lệnh hay nhóm lệnh của mã máy.
Được dịch sang mã máy khi thực hiệnChuyển đỗi nhanh chóngDễ đọc và dễ hiểu hơnVẫn tương đối khó sử dụng do
Các lệnh còn đơn giản nên phải dùng nhiều lệnh. Chưa có những cấu trúc điều khiển thuận tiện Khả năng tìm và sửa lỗi cũng chưa thuận tiện.
Nền tảng xây dựng các ngôn ngữ cấp cao
Trang 11
Ngôn ngữ cấp cao
Một câu lệnh diễn tả nhiều động tháiCó 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
Trang 12
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 của các lệnhCá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.
Trang 13
Chương trình dịch
Dùng để dịch từ một ngôn 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 – 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 và sửa lỗi chương trình Chạy thử và sửa lỗi
Trang 14
Một số khái niệm khác
Lỗi và sửa lỗi 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ỗiDữ liệu, kiểu dữ liệu
Các kiểu dữ liệu cơ bản Số nguyên, Số thực, Kí tự
Kiểu dữ liệu có cấu trúc: mảng, chuỗi, cấu trúc,..Biến (Variable) & Hằng (Constant)Giải thuật: khái niệm, công cụ biểu diễnFlow chart – lưu đồ
Trang 15
Flow chart
Start • Start /Begin bắt đầu giải thuật. Chỉ có 1 và chỉ 1 điểm START.
• Input / Output dữ liệu xuất/nhập
• Dòng xử lý
•xử lý hay tính toán dữ liệu
• Điều khiển rẽ nhánh- Điều kiện
Yes
NoGiá trị xét phân nhánh
Trường hợp 1 Trường hợp i Khác
Stop • Stop/End kết thúc của giải thuật. Có thể có một hoặc nhiều điểm STOP.
Trang 16
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ả 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
Trang 17
Flow chart
Start
Nhập a, b
a=0 ?Yes
No
b=0 ?Yes
No
X=-b/aKhông có nghiệm Vô số nghiệm
Stop
AlgorithmsGiải phương trình ax + b = 0
Xuất x