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

Bài giảng Tin học đại cương: Bài 5 - TS. Đỗ Bá Lâm

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

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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI


VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG


TIN HỌC ĐẠI CƯƠNG



Bài 5. Một số thuật tốn thơng dụng



Đỗ Bá Lâm


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

Nội dung



5.1. Các cấu trúc cơ bản trong lập trình


5.2. Giả mã (pseudocode)



5.3. Thuật tốn số học


5.4. Thuật tốn về dãy


5.5. Thuật toán đệ quy



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

3

5.1. Các cấu trúc cơ bản trong lập trình



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

4


5.1.1. Cấu trúc tuần tự



• Các bước được thực hiện theo 1 trình tự tuyến
tính, hết bước này đến bước khác


Bước 1



Bước 2


Bước n


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

5


5.1.2. Cấu trúc rẽ nhánh



• Việc thực hiện bước nào phụ thuộc vào điều
kiện xác định.


• Ví dụ: Tìm max của 2 số a, b.


– Nếu a > b thì max là a, ngược lại max sẽ là b.
– Diễn giải:


• B1: Nhập 2 số a, b.


• B2: Nếu a > b thì Max = a và đi đến bước kết thúc (B4).
• B3: (a <= b) Max  b.


• B4: Kết thúc.


Max  a


a>b


Max  b


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

6


5.1.3. Cấu trúc lặp



• Một thao tác/ cơng việc
có thể được thực hiện
lặp nhiều lần.


• Lặp lại chừng nào điều
kiệu lặp cịn đúng.


• Số lần lặp có thể biết
trước hoặc không biết
trước.Tuy nhiên số lần
lặp phải hữu hạn.


Điều kiện


Thực hiện cơng việc
trong vịng lặp


Thực hiện cơng việc


khi thốt khỏi vịng lặp
Đ


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

5.1.3. Cấu trúc lặp (2)



7


Nhập N và
dãy số a<sub>1</sub>, a<sub>2</sub>,…,a<sub>N</sub>



i > N <sub>“Max là số lớn nhất”</sub>Hiển thị
Max  a<sub>1</sub>; i=2


a<sub>i</sub> > Max


i  i + 1


S
S


Đ


Max  a<sub>i</sub>


Đ
Ví dụ: Tìm số lớn nhất của


một dãy có n số


◼ Lần lượt phải so sánh số Max


tạm thời (lúc đầu Max được
gán bằng phần tử thứ nhất,
a1) với ai, với i từ 2, 3,…, n.


◼ Việc so sánh này được thực


hiện lặp nhiều lần giữa Max
và ai.



◼ Khi kết thúc quá trình lặp, ta


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

Nội dung



5.1. Các cấu trúc cơ bản trong lập trình


5.2. Giả mã (pseudocode)



5.3. Thuật tốn số học


5.4. Thuật tốn về dãy


5.5. Thuật toán đệ quy



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

5.2. Mã giả (pseudocode)



• Gán:

; :=



– i  i + 1
– a := b + c


• Cấu trúc chọn



<b>if</b>(điều kiện) <b>then</b> (hành động)


hoặc


<b>if</b>(điều kiện) <b>then </b>(hành động)
<b>else</b> (hành động)


• Cấu trúc nhảy goto:




– <b>goto</b> nhãn x;


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

5.2. Giả mã (2)



• Cấu trúc lặp:


<b>while </b>điều_kiện <b>do </b>hành_động


hoặc


<b>repeat</b>


hành_động


<b>until </b>điều_kiện


hoặc


<b>for</b> biến:= gtrị_đầu <b>to</b> gtrị_cuối <b>do</b> hành_động


hoặc


<b>for </b>biến:= gtrị_đầu <b>downto</b> gtrị_cuối <b>do </b>hành_động


</div>

<!--links-->

×