Tải bản đầy đủ (.ppt) (62 trang)

PHƯƠNG PHÁP LẬP TRÌNH doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (450.66 KB, 62 trang )

MƠN HỌC
PHƯƠNG PHÁP LẬP TRÌNH

Bài giảng mơn 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.
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 2




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

Trang 3


Chương 1


Khái niệm cơ bản
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

Bài giảng môn Phương pháp lập Trình


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
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 tốn
Khả năng thực hiện các phép tốn logic
Tốc độ tính tốn cao
Làm theo chỉ thị
Trang 5


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 6


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 7


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 8


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 9


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
 Chuyển đỗi nhanh chóng
 Dễ đọc và dễ hiểu hơn
 Vẫ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 10


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
Trang 11


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



Hạn chế và khó khăn của sử dụng ngơn ngữ lập trình.
Trang 12


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 13


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ỗi



Dữ liệu, kiểu dữ liệu
– Các kiểu dữ liệu cơ bản







Số ngun, 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 14


Flow chart
• Start /Begin bắt đầu giải thuật. Chỉ có 1 và chỉ 1 điểm START.

Start
• Dịng xử lý

• Input / Output dữ liệu

xuất/nhập
• Đặc tả thao tác xử lý hay tính tố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

Khác

• 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 15


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 16


Flow chart
Algorithms
Giải phương trình ax + b = 0

Start
Nhập a, b
a=0 ?
No

X=-b/a

Yes

b=0 ?

Yes

No


Khơng có nghiệm Vơ số nghiệm

Stop

Trang 17


Cấu trúc lệnh cơ bản





if (condition) Statement;
if (condition) Statement 1;
else Statement 2;
switch(BiểuThứcChọn)

{
case hằng 1: S1;break;
case hằng 2: S2;break;
…….
case hằng n: Sn;break;
default: S0;
}
 while (condition) Statement;
 do{ Statement }while (condition);
 for (BT1; ĐK ; BT2) Statement;
Trang 18



Chu kỳ sống của 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 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 19


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#

Trang 20


Chương 2

Dữ liệu & cấu trúc chương trình
Các

khái niệm cơ bản về dữ liệu và biểu diễn
dữ liệu trong máy tính
Khai báo dữ liệu trong chương trình
Một số phép tốn cơ bản
Cấu trúc cơ bản một chương trình C/C++


Bài giảng mơn Phương pháp lập Trình


Danh hiệu


Khái niệm “Danh hiệu”
– 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ụ:
 Ví dụ sai:


X , BienDem, Bien_dem, X1 , X2 , X3 , x1,x2,x3
101X3, (X1), Bien Dem
Trang 22


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ữ
– Ví dụ: int, cin, cout,…

– Danh hiệu do người sử dụng đặt ra (user defined)


Do người sử dụng tự qui ước và qui định ý nghĩa của nó trong chương
trình nguồn (source code)
– Ví dụ: abc, xyz1, xyz2, delta, namsinh, tinh_giai_thua



Từ dành riêng:

Là những từ do ngôn ngữ quy định sẵn như là một bộ phận
cấu thành ngôn ngữ đó.

– Ví dụ: if, else, do, while



Ký hiệu đặc biệt:
ngữ.

là những ký tự có ý nghĩa được quy định trước trong ngơn

– Ví dụ: + - * / > >= := <> ; , ( ) @ [ ]

Trang 23


Qui ước đặt tên danh hiệu


Qui tắc đặt tên danh hiệu
– Tuân thủ quy tắc ngữ pháp của danh hiệu
– Không được trùng lắp với danh hiệu thuộc ngôn ngữ hoặc
đã được định nghĩa.
– 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 24


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ý.

Bao nhiêu kiểu dữ liệu thì đủ?
Trang 25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×