Tải bản đầy đủ (.pdf) (10 trang)

Bài giảng Cơ sở lập trình: Chương 1 - Phạm Thanh An

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 (466.85 KB, 10 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

4/10/2012



<b>Chương 1</b>



<b>Tổng quan về lập trình cho MTĐT</b>



Giảng viên:

<b>ThS.</b>

<b>Phạm Thanh An</b>



Khoa côngnghệ thông tin


Đại học Ngân hàng TP. Hồ Chí Minh


<b>Nội dung trình bày</b>



 Khái niệm về chương trình, ngơn ngữ lập


trình, giải thuật


 Giới thiệu về Top down Design


 Mơ hình phát triển phần mềm


 Các cách tiếp cận trong lập trình


 Tổng quan về lập trình hướng đối tượng


 Kiến trúc .NET Framework và C#


 Viết các chương trình đơn giản


<b>Chương trình</b>




Computer program -

Là tập hợp các câu



lệnh (chỉ dẫn) được liệt kê theo một trình


tự nhất định nhằm giải quyết một vấn đề.



Chương trình máy tính được viết trên



một ngơn ngữ lập trình.



Theo Niklaus Wirth



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

4/10/2012



Giải thuật - Algorithm



Giải thuật (Thuật toán - Thuật giải)



Là dãy các câulệnh (chĩ dẫn) chặt chẽ và


rõ ràng, xácđịnh một trình tự các thao tác


trênmột số đối tượng nào đó sao cho sau


một số hữu hạn bước thực hiện ta đạt được
kết quả mong muốn


<b>Câu lệnh, chương trình, phần mềm</b>



<b>Software</b>



<b>Program 2</b>
<b>Program 1</b>


<b>Commands</b> <b>Commands</b> <b>Commands</b>


Ngơn ngữ lập trình



Programming language -

Ngơn ngữ lập



trình là ngơn ngữ để viết chương trình.



Ngơn

ngữ lập trình bao gồm hệ thống



các ký

hiệu, các qui ước về ngữ pháp và



ngữ nghĩa, dùng để xây dựng thành các


chương trình cho máy tính.



</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

4/10/2012



<b>Các lớp Ngơn ngữ lập trình</b>



<b>MACHINE CODE</b>
<b>ASSEMBLER LANGUAGES</b>


<b>HIGH-LEVEL </b>
<b>LANGUAGES</b>


<b>ForTran, COBOL, C, C++,</b>


<b>LISP, Pascal, Java, ...</b>
<b>4GLs</b> <b>ORACLE, SEQUEL, INGRES, ...</b>


<b>5GLs</b> <b>Artificial intelligence</b>


<b>Hợp ngữ - Assembler</b>


<b>Nguyên lý </b>

Von Neumann



Bao gồm 3 bước: Input –Process -Output


<b>Các bước lập trình</b>


<b>Xác định u cầu </b>


<b>bài tốn</b>


<b>Phân tích bài tốn</b>
<b>Thiết kế Giải thuật</b>


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

4/10/2012



<b>Mô tả giải thuật</b>



Ngôn ngữ tự nhiên



Sơ đồ khối (flow chart)



Mã giả (Pseudocode)



<b>Mô tả bằng ngôn ngữ tự nhiên</b>




Input: Vào a, b thuộc tập R


Ra: Nghiệm phương trình ax + b =0


1. Nhập 2 số thực a và b
2. Nếu a =0 thì


2.1. Nếu b = 0,


2.1.1. Phương trinh vô số nghiệm
2.1.2. Kết thúc giải thuật
2.2. Ngược lại


2.2.1. Phương trình vơ nghiệm
2.2.2. Kết thúc giải thuật
3. Ngược lại


3.1. Phương trình có nghiệm
3.2. Giátrị nghiệm đó là x = -b/a
3.3. Kết thúc giải thuật


<b>Bằng Sơ đồ khối (Flow Chart)</b>



<b>Condition expression: Lựa chọn, kiểm tra điều </b>
<b>kiện</b>


<b>Process : Xử lý</b>


<b>Data input/ out put : Vào ra dữ liệu</b>



</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

4/10/2012



Ví dụ: Cộng hai số



Ví dụ:



S T A R T


I N P U T n u m


r = n u m M O D 2


r = 0


D I S P L A Y "N u m b e r i s E v e n "


S T O P


Ví dụ:



S TA R T


IN P UT n um


r = num M O D 2


r = 0


DI SP L AY "N u mb er is E ve n" D IS PL A Y " N um ber is O d d"



</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

4/10/2012



Bằng mã giả



Input: Vào a, b thuộc tập R


Ra: Nghiệm phương trình ax + b =0
If a = 0 then


Begin
If b = 0 then


Xuất “Phương trình vơ số nghiệm”
Else


Xuất “Phương trình vơ nghiệm”
End


Else


Xuất “Phương trình có nghiệm x = -b/a”


3 cấu trúc điều khiển cơ bản



Trong lập trình có 3 cấu trúc cơ bản



Tuần tự: các bước thực hiện tuần tự, từ


trên xuống, mỗi bước thực hiện đúng 1 lần



Lựa chọn: chọn 1 trong 2 hay nhiều thao tác


để thực hiện


Lặp: Một hay nhiều thao tác được lặp lại 1


hay nhiều lần.


Top-down Design



Top-Down Design là kỹ thuật trong chiến lược


chia để trị


Các vấn đề phức tạp có thể được giải quyết


bằng kỹ thuật <i><b>top-down design </b></i>hay <i><b>stepwise </b></i>


<i><b>refinement </b>, </i>với qui tắc


Chia bai toán lớn thành các bài tốn con
Tiếp tục chia các bài tốn con đó thành các bài


toán con nhỏ


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

4/10/2012



Các phase phát triển phần mềm




Tìm hiểu và phân tích u cầu



Thiết kế



Cài đặt



Kiểm thử



Triển khai và Bảo trì hệ thống



Mơ hình WaterFall



Mơ hình WaterFall (tt)



<i>Ưu điểm: </i>



Thích hợp cho những dự án lớn.


Quản lý dự án sẽ dễ dàng và thuận tiện.


<i>Nhược điểm:</i>



Thiếu sự trao đổi giữa người sử dụng và


nhóm phát triển.


Khơng cho phép thay đổi nhiều theo các


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

4/10/2012




Mơ hình xoắn ốc



Mơ hình xoắn ốc (tt)



<i>Pháttriển hệ thống nhanh, sửa lỗi đến khi hoàn thiện.</i>


<i>Ưu điểm: </i>


Linhhoạt trong việc thay đổi yêu cầu.


<i>Nhược điểm:</i>


Các phabị lặp lại quá nhiều lần.


Tạo nguyên mẫu (prototype)



<i>Tạo các nguyên mẫu cho người sử dụng dùng rồi tạo ra</i>
<i>hoànthiện hệ thống</i>


<i>Ưu điểm: </i>


Linhhoạt trong việc thay đổi yêu cầu.


Rútngắn thời gian phát triển.


<i>Nhược điểm:</i>


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

4/10/2012



Các phương pháp lập trình




Lập trình tuần tự: Assembler (hợp ngữ)


Chương trình q dài, khó nhớ
Khó kiểm sốt lỗi


Lập trình cấu trúc (thủ tục/hướng chức năng)


Chương trình chính được chia nhỏ thành các
chương trình con


Mỗi chương trình con thực hiện một cơng việc xác
định


Lập trình hướng đối tượng


Lập trình cấu trúc



Hàm_1 Hàm_2 Hàm_3


Hàm_4 Hàm_5 Hàm_6


Hàm_7 Hàm_8 Hàm_9


Chương trình chính
main()


So sánh HĐT và hướng chức năng



Cách tiếp cận hướng đối tượng




Hệ thống được xem là một tập hợp các đối


tượng cùng làm việc với nhau để
Các đối tượng thực hiện hành động khi được


yêu cầu


Mỗi đối tượng duy trì dữ liệu riêng của nó


Tiếp cận thủ tục (Procedural approach)



Hệ thống được xem là một tập hợp các thủ


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

4/10/2012



So sánh HĐT và hướng chức năng



 Tiếp cận hướng chức năng và tiếp cận hướng đối tượng


Khái niệm về hướng đối tượng



Lớp (Classes)



Đối tượng (Objects)



 Attributes


 Methods



Trừu tượng hóa dữ liệu



Bao gói và che dấu thơng tin



Kế thừa



Đa hình



Đối tượng



Đối tượng = Dữ liệu + Hành vi



Hành vi
-Tăng giây
-Tăng phút
-Tăng giờ
Dữ liệu


</div>

<!--links-->

×