Bài giảng môn Phương pháp lập Trình
MÔN HỌC
MÔN HỌCPHƯƠNG PHÁP
PHƯƠNG PHÁPLẬP TRÌNH
LẬP TRÌNH
Trang 2
Giới thiệu
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.
–
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ể.
Một số khái niệm cơ bản về
–
Máy tính & chương trình máy tính
–
Ngôn ngữ lập trình ,translator,
Giải thuật và 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
Trang 5
Máy tính - Computer
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 được
–
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 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
–
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
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ện
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ô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ệ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
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ỗi
Dữ 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ễn
Flow chart – lưu đồ
Trang 15
Flow chart
Flow chart
Start
•
Start /Begin bắt đầu giải thuật. Chỉ có 1 và chỉ 1 điểm START.
–
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
Flow chart
Start
Nhập a, b
a=0 ?
Yes
No
b=0 ?
Yes
No
X=-b/a
Không có nghiệm
Vô số nghiệm
Stop
Algorithms
Giải phương trình ax + b = 0
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
Trang 20
Một số ngôn ngữ lập trình
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à tên của các đối tượng khác nhau trong lập trình, dùng
để phân biệt giữa đối tượng này với đối tượng khác.
–
Các đối tượng thường được đặt tên bằng danh hiệu: biến,
hằng, chương trình con, ……
Qui tắc ngữ pháp của danh hiệu:
–
Bắt đầu bằng chữ cái (A-Z, a-z) hay dấu gạch dưới ( _ )
–
Theo sau là chữ cái, dấu gạch dưới hay chữ số.
–
Với Pascal không phân biệt CHỮ HOA hay chữ thường
–
Một số ngôn ngữ có phân biệt như Java,…
Ví dụ: X , BienDem, Bien_dem, X1 , X2 , X3 , x1,x2,x3
Ví dụ sai: 101X3, (X1), Bien Dem
Trang 23
Danh hiệu (tt)
Danh hiệu (tt)
Danh hiệu gồm 2 loại:
–
Danh hiệu thuộc ngôn ngữ (Pre-defined)
Do ngôn ngữ quy định trước ý nghĩa của nó.
Được dùng cho các đối tượng có sẵn trong ngôn ngữ
Nên sử dụng các tên gợi nhớ
Tên gợi nhớ?
–
Tên mà khi đọc đến sẽ giúp ta biết được ý nghĩa của đối
tượng mang tên đó.
–
Lợi ích của tên gợi nhớ: giúp chương trình dễ đọc, dễ hiểu
& dể kiểm tra.
if (ABC < 0) cout<<“ Phuong trinh vo nghiem”; ABC không gợi nhớ
if (Delta < 0) cout<<“ Phuong trinh vo nghiem”) Delta là tên gợi nhớ
Trang 25
Kiểu dữ liệu (data type)
Kiểu dữ liệu (data type)
Kiểu dữ liệu là gì?
–
Một kiểu dữ liệu là một qui định về hình dạng, cấu trúc, miền giá trị,
cách biểu diễn và cách xử lý một loại dữ liệu thực tế nào đó trong máy
tính.
Kiểu int biểu diễn số nguyên từ -32767 đến 32768 và thực hiện được các phép toán
cộng, trừ, nhân, chia, div, mod
Kiểu char biểu diễn các ký tự và biểu diễn giữa cắp dấu nháy đơn. ‘A’
Có thể thực hiện phép so sánh, không thể cộng, trừ, nhân, chia
Mọi dữ liệu muốn được xử lý bằng máy tính thì phải quy về
một kiểu dự liệu nào đó mà ngôn ngữ lập trình đó hiểu được.
Số kiểu dữ liệu là một yếu tố so sánh ngôn ngữ lập trình.
Càng nhiều kiểu thì càng thuận lợi cho xử lý.