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

giao an thi 8 hay co PPCT

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 (7.75 MB, 344 trang )

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

<b>Giáo án điện tử Tin Học 8</b>


<b>Giáo án điện tử Tin Học 8</b>


<b>Lý thuyết</b>


<b>Lý thuyết</b> <b>Thực hànhThực hành</b> <b>PMHT<sub>PMHT</sub></b>


Phân phối chương trình


Phân phối chương trình


Mục tiêu CT&SGK Tin 8



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

<b>Bài 2</b>



<b>Bài 1</b>

<b>Bài 3</b>

<b>Bài 4</b>



<b>Bài 6</b>



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

<b>Bài TH 2</b>


<b>Bài TH1</b>



<b>Bài TH4</b>



<b>Bài TH 3</b>


<b>Bài TH6</b>


<b>Bài TH5</b>



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

<b>LUYỆN GÕ PHÍM NHANH VỚI FINGER BREAK OUT</b>
<b>TÌM HIỂU THỜI GIAN VỚI PHẦN MỀM SUN TIMES</b>



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

<b>Bài 1</b>



<b>MÁY TÍNH VÀ </b>



<b>MÁY TÍNH VÀ </b>



<b>CHƯƠNG TRÌNH MÁY TÍNH</b>



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

CON NGƯỜI RA LỆNH CHO MÁY TÍNH NHƯ THẾ NÀO?


CON NGƯỜI RA LỆNH CHO MÁY TÍNH NHƯ THẾ NÀO?


* Khi nháy đúp chuột lên biểu tượng của một phần mềm trên màn
hình  phần mềm sẽ khởi động


* Khi nháy đúp chuột lên biểu tượng của một phần mềm trên màn
hình  phần mềm sẽ khởi động


* Trong soạn thảo văn bản, khi ta gõ một phím chữ thì chữ tương
ứng sẽ xuất hiện trên màn hình  ta đã ra lệnh cho máy tính in chữ


lên màn hình.


* Trong soạn thảo văn bản, khi ta gõ một phím chữ thì chữ tương
ứng sẽ xuất hiện trên màn hình  ta đã ra lệnh cho máy tính in chữ


lên màn hình.


•Khi thực hiện lệnh sao chép văn bản từ vị trí này sang vị trí khác 



ta đã yêu cầu máy tính thực hiện liên tiếp nhiều lệnh:
* Lệnh sao chép văn bản vào bộ nhớ của máy tính.


* Lệnh sao chép văn bản có trong bộ nhớ vào vị trí mới.


•Khi thực hiện lệnh sao chép văn bản từ vị trí này sang vị trí khác 


ta đã yêu cầu máy tính thực hiện liên tiếp nhiều lệnh:
* Lệnh sao chép văn bản vào bộ nhớ của máy tính.


* Lệnh sao chép văn bản có trong bộ nhớ vào vị trí mới.


Để chỉ dẫn máy tính thực hiện cơng việc nào đó, con người
đưa cho máy tính một hay nhiều lệnh, máy tính sẽ lần lượt
thực hiện các lệnh đó.


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

<i>Quan sát hình 1_sách giáo khoa. </i>
<i>Để cho robot hồn thành tốt cơng </i>
<i>việc, ta cần phải ra các lệnh nào?</i>


1. Tiến hai bước.


2. Quay trái, tiến một bước.
3. Nhặt rác.


4. Quay phải, tiến ba bước.
5. Quay trái, tiến hai bước.
6. Bỏ vào thùng rác.



1. Tiến hai bước.


2. Quay trái, tiến một bước.
3. Nhặt rác.


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

VIẾT CHƯƠNG TRÌNH _ RA LỆNH CHO MÁY TÍNH LÀM VIỆC


VIẾT CHƯƠNG TRÌNH _ RA LỆNH CHO MÁY TÍNH LÀM VIỆC


<i>Viết chương trình là gì?</i>


Là viết các lệnh một cách tuần tự để điều khiển máy tính
làm việc


Là viết các lệnh một cách tuần tự để điều khiển máy tính
làm việc


<i>Chương trình máy tính là gì?</i>


Chương trình máy tính là một dãy các lệnh mà máy tính
có thể hiểu và thực hiện được


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

<i>Khi thực hiện chương trình ,máy </i>
<i>tính hoạt động như thế nào?</i>


Máy tính sẽ thực hiện các lệnh có trong chương trình
một cách tuần tự. Thực hiện xong một lệnh sẽ thực hiện
lệnh tiếp theo, từ lệnh đầu tiên đến lệnh cuối.


Máy tính sẽ thực hiện các lệnh có trong chương trình


một cách tuần tự. Thực hiện xong một lệnh sẽ thực hiện
lệnh tiếp theo, từ lệnh đầu tiên đến lệnh cuối.


<b>Hãy nhặt rác;</b>


Bắt đầu


Tiến 2 bước,


Quay trái, tiến 1 bước;
Nhặt rác;


Quay phải, tiến 3 bước;
Quay trái, tiến 2 bước;
Bỏ rác vào thùng;


Kết thúc.


<b>Hãy nhặt rác;</b>
Bắt đầu


Tiến 2 bước,


Quay trái, tiến 1 bước;
Nhặt rác;


Quay phải, tiến 3 bước;
Quay trái, tiến 2 bước;
Bỏ rác vào thùng;



Kết thúc.


Ví dụ về chương trình


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

<i>Tại sao cần viết chương trình?</i>


Việc viết nhiều lệnh và tập hợp lại trong một chương
trình, giúp con người điều khiển máy tính một cách đơn
giản và hiệu quả hơn.


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

CHƯƠNG TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH



CHƯƠNG TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH



Thơng tin đưa vào máy tính phải được chuyển đổi thành
dạng các dãy số 0 và 1: dãy Bit


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

<i>Ngôn ngữ máy là gì?</i>


Ngơn ngữ máy là ngơn ngữ duy nhất dành cho máy tính.
Máy tính có thể trực tiếp hiểu và thực hiện.


Ngôn ngữ máy là ngôn ngữ duy nhất dành cho máy tính.
Máy tính có thể trực tiếp hiểu và thực hiện.


<i>Ngơn ngữ lập trình là gì?</i>


Ngơn ngữ lập trình là ngơn ngữ dùng để viết các
chương trình máy tính.



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

<i>Chương trình dịch là gì?</i>


Là chương trình dịch từ các ngơn ngữ khác nhau ra
ngơn ngữ máy.


Là chương trình dịch từ các ngơn ngữ khác nhau ra
ngơn ngữ máy.


Tuy nhiên máy tính vẫn chưa thể hiểu được các chương trình
được viết bằng ngơn ngữ lập trình. Chương trình này cần được
chuyển sang ngơn ngữ máy bằng một chương trình dịch.


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

<i>Mơi trường lập trình là gì?</i>


Chương trình soạn thảo và chương trình dịch cùng với
các cơng cụ trợ giúp tìm kiếm, sửa lỗi hoặc thực hiện
chương trình được kết hợp vào một phần mềm: mơi
trường lập trình


Chương trình soạn thảo và chương trình dịch cùng với
các cơng cụ trợ giúp tìm kiếm, sửa lỗi hoặc thực hiện
chương trình được kết hợp vào một phần mềm: mơi
trường lập trình


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

MEMORIZE



MEMORIZE



1. Con người chỉ dẫn cho máy tính thực hiện cơng


việc thơng qua các lệnh.




2. Viết chương trình là hướng dẫn máy tính thực


hiện các cơng việc hay giải một bài tốn cụ thể.


3. Ngơn ngữ dùng để viết các chương trình máy



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

DẶN DỊ



DẶN DÒ



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

<b>Bài 2</b>



Thời gian 1 tiết


<b>LÀM QUEN </b>



<b>LÀM QUEN </b>



<b>VỚI CHƯƠNG TRÌNH </b>



<b>VỚI CHƯƠNG TRÌNH </b>



<b>VÀ NGƠN NGỮ LẬP TRÌNH</b>



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

<i>Quan sát chương trình sau?</i>


VÍ DỤ VỀ CHƯƠNG TRÌNH



VÍ DỤ VỀ CHƯƠNG TRÌNH



Lệnh khai báo tên


chương trình


Lệnh khai báo tên
chương trình


Lệnh in ra màn hình dịng
chữ ‘Chao cac ban’


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

a. BẢNG CHỮ CÁI


a. BẢNG CHỮ CÁI


<b>Loại kí tự</b> <b>Biểu diễn của kí tự</b> <b>Mã </b>


<b>ASCII</b>


Kí tự chữ cái in hoa ‘A’..’Z’ 65..90
Kí tự chữ cái in thường ‘a’..’z’ 97..122
Kí tự chữ số ‘0’..’9’ 48..57


Kí tự dấu cách ‘ ’ 32


Kí tự gạch dưới ‘_’


Kí tự các phép tốn ‘+’, ‘-’, ‘*’, ‘/’, ‘=‘, ‘<‘, ‘>’
Kí tự dấu ngoặc ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[‘, ‘]’


Kí tự khác Dấu chấm ‘.’ dấu phẩy ‘,’


Dấu hai chấm ‘:’ dấu chấm phẩy ‘;’,


‘’’, ‘@’, ‘^’, ‘$’, ‘#’, ‘&’


NGÔN NGỮ LẬP TRÌNH



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

Bảng chữ cái của các ngơn ngữ lập trình khơng
khác nhau nhiều.


Bảng chữ cái của các ngơn ngữ lập trình khơng
khác nhau nhiều.


<i>Thế nào là bảng chữ cái?</i>


Bảng chữ cái là tập các kí tự <i>(qui định trong bảng chữ </i>
<i>cái) </i>được dùng để viết chương trình.


Bảng chữ cái là tập các kí tự <i>(qui định trong bảng chữ </i>
<i>cái) </i>được dùng để viết chương trình.


Mỗi câu lệnh trong chương trình gồm các từ và các kí
hiệu được viết theo một quy tắc nhất định.


Mỗi câu lệnh trong chương trình gồm các từ và các kí
hiệu được viết theo một quy tắc nhất định.


b. QUY TẮC


b. QUY TẮC


Các quy tắc này quy định cách viết các từ và thứ tự của
chúng



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

TỪ KHĨA



TỪ KHĨA



<i>Từ khóa của một ngơn ngữ lập </i>
<i>trình là gì?</i>


• Là từ dành riêng.



• Được ngơn ngữ lập trình quy định dùng với ý


nghĩa riêng xác định, người lập trình khơng



được dùng với ý nghĩa khác.



• Là từ dành riêng.



• Được ngơn ngữ lập trình quy định dùng với ý


nghĩa riêng xác định, người lập trình khơng



được dùng với ý nghĩa khác.



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

<i>Trong ngơn ngữ lập trình, </i>
<i>có bao nhiêu loại tên?</i>


Tên chuẩn
Tên chuẩn


Tên do người
lập trình đặt


Tên do người
lập trình đặt


Được ngơn ngữ lập trình quy định dùng với ý
nghĩa nhất định, người lập trình có thể định
nghĩa lại để dùng với ý nghĩa khác.


Được ngơn ngữ lập trình quy định dùng với ý
nghĩa nhất định, người lập trình có thể định
nghĩa lại để dùng với ý nghĩa khác.


• Được dùng với ý nghĩa riêng của người lập
trình.


• Được khai báo trước khi sử dụng.


• Khơng được trùng với tên dành riêng.


• Được dùng với ý nghĩa riêng của người lập
trình.


• Được khai báo trước khi sử dụng.


• Khơng được trùng với tên dành riêng.


<i>Ví dụ: Trong Pascal: abs, sqr, sqrt, interger, real, byte.</i>


<i>Ví dụ: Delta, CT_Vidu, …</i>


TÊN




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

Mọi đối tượng trong chương trình đều phải đặt tên theo quy
tắc của ngơn ngữ lập trình và từng chương trình dịch cụ thể.


Mọi đối tượng trong chương trình đều phải đặt tên theo quy
tắc của ngơn ngữ lập trình và từng chương trình dịch cụ thể.


<i>Quy tắc đặt tên trong Turbo </i>
<i>Pascal như thế nào?</i>


Quy tắc đặt tên:


• Gồm chữ số, chữ cái hoặc dấu gạch dưới.
• Bắt đầu bằng chữ cái hoặc dấu gạch dưới.
• Một dãy liên tiếp khơng q 127 kí tự.


• Khơng phân biệt chữ hoa, chữ thường trong tên.
• Khơng được trùng với từ khóa.


Quy tắc đặt tên:


• Gồm chữ số, chữ cái hoặc dấu gạch dưới.
• Bắt đầu bằng chữ cái hoặc dấu gạch dưới.
• Một dãy liên tiếp khơng q 127 kí tự.


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

<i>Em hãy cho biết cấu trúc chung của </i>
<i>chương trình?</i>


Một chương trình được viết bằng ngơn ngữ lập trình có cấu trúc :
Một chương trình được viết bằng ngơn ngữ lập trình có cấu trúc :



[<phần khai báo>]



<phần thân chương trình>



CẤU TRÚC CHUNG CỦA CHƯƠNG TRÌNH



CẤU TRÚC CHUNG CỦA CHƯƠNG TRÌNH



Khai báo tên chương trình;
Khai báo các thư viện;


Khai báo biến;


Gồm các câu lệnh mà máy tính cần thực
hiện


Gồm các câu lệnh mà máy tính cần thực
hiện


Begin


[<<i>dãy lệnh</i>>]
End.


Begin


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

Phần khai báo


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

KHỞI ĐỘNG CHƯƠNG TRÌNH TURBO PASCAL



KHỞI ĐỘNG CHƯƠNG TRÌNH TURBO PASCAL


1. Chạy chương trình Turbo Pascal trên mơi trường MS_DOS


Trên màn hình desktop, chọn My Computer, chọn ổ đĩa C:, chọn
thư mục TP, chọn thư mục BIN, double click vào biểu tượng


Trên màn hình desktop, double click vào biểu tượng


2. Chạy chương trình Turbo Pascal trên mơi trường WINDOWS


Trên màn hình desktop, chọn My Computer, chọn ổ đĩa C:, chọn
thư mục TP, chọn thư mục BIN, double click vào biểu tượng


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

MÀN HÌNH LÀM VIỆC CỦA TURBO PASCAL


MÀN HÌNH LÀM VIỆC CỦA TURBO PASCAL


Tên File chương trình
Con trỏ soạn thảo


Dịng menu


Dịng hướng dẫn các phím chức năng
Dịng <sub>Cột</sub>


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

Dùng bàn phím để soạn thảo chương trình


VÍ DỤ VỀ NGƠN NGỮ LẬP TRÌNH




</div>
<span class='text_page_counter'>(30)</span><div class='page_container' data-page=30></div>
<span class='text_page_counter'>(31)</span><div class='page_container' data-page=31></div>
<span class='text_page_counter'>(32)</span><div class='page_container' data-page=32>

MEMORIZE



MEMORIZE



1. Ngơn ngữ lập trình là tập hợp các kí hiệu và quy tắc


viết các lệnh tạo thành một chương trình hồn chỉnh và
thực hiện được trên máy tính.


2. Nhiều ngơn ngữ lập trình có tập hợp các từ khóa dành
riêng cho những mục đích sử dụng nhất định.


3. Một chương trình thường có hai phần: Phần khai báo
và phần thân chương trình.


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

DẶN DÒ



DẶN DÒ



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

<b>Bài 3 </b>



Thời gian 1 tiết


<b>CHƯƠNG TRÌNH MÁY TÍNH</b>



<b>CHƯƠNG TRÌNH MÁY TÍNH</b>



<b>VÀ DỮ LIỆU</b>




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

• Các ngơn ngữ lập trình định nghĩa sẵn một số kiểu dữ liệu
cơ bản.


• Kiểu dữ liệu xác định các giá trị của dữ liệu và các phép
tốn thực hiện trên giá trị đó


• Các ngơn ngữ lập trình định nghĩa sẵn một số kiểu dữ liệu
cơ bản.


• Kiểu dữ liệu xác định các giá trị của dữ liệu và các phép
toán thực hiện trên giá trị đó


<i>Hãy trình bày các kiểu dữ liệu cơ bản </i>
<i>trong ngơn ngữ lập trình?</i>


Kiểu số nguyên.
Kiểu số thực.
Kiểu xâu kí tự.


DỮ LIỆU VÀ KIỂU DỮ LIỆU



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

Tên kiểu Phạm vi giá trị


integer Số nguyên trong khoảng -215<sub> đến 2</sub>15<sub> – 1</sub>


real Số thực có giá trị tuyệt đối trong khoảng
2,9x10-39<sub> đến 1,7x10</sub>38<sub> và số 0</sub>


Char Một kí tự trong bảng chữ cái



String Xâu kí tự, tối đa gồm 255 kí tự


Kiểu dữ liệu cơ bản trong ngơn ngữ lập trình Pascal


Trong Pascal, để cho chương trình dịch hiểu dãy chữ số là
kiểu xâu. Ta phải đặt dãy số đó trong cặp dấu nháy đơn


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

CÁC PHÉP TOÁN VỚI DỮ LIỆU KiỂU SỐ



CÁC PHÉP TỐN VỚI DỮ LIỆU KiỂU SỐ



Kí hiệu Phép toán Kiểu dữ liệu


+ Cộng <sub>Số nguyên, số thực</sub>


- Trừ <sub>Số nguyên, số thực</sub>


* Nhân <sub>Số nguyên, số thực</sub>


/ Chia <sub>Số nguyên, số thực</sub>


div Chia lấy phần


nguyên Số nguyên


mod Chia lấy phần dư <sub>Số nguyên</sub>


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

• Các phép tốn trong ngoặc được thực hiện trước tiên.
• Trong dãy các phép tốn khơng có dấu ngoặc, các
phép nhân, phép chia lấy phần nguyên <i>(div)</i> và phép


chia lấy phần dư <i>(mod) </i>được thực hiện trước.


• Phép cộng và phép trừ được thực hiện theo thứ tự từ
trái sang phải.


• Trong ngơn ngữ lập trình chỉ được sử dụng dấu ngoặc
trịn


• Các phép tốn trong ngoặc được thực hiện trước tiên.
• Trong dãy các phép tốn khơng có dấu ngoặc, các
phép nhân, phép chia lấy phần nguyên <i>(div)</i> và phép
chia lấy phần dư <i>(mod) </i>được thực hiện trước.


• Phép cộng và phép trừ được thực hiện theo thứ tự từ
trái sang phải.


• Trong ngơn ngữ lập trình chỉ được sử dụng dấu ngoặc
tròn


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

a x b – c + d <sub>a*b – c + d</sub>


15+5*(a/2)


15 + 5 x


2


a


(x+5)/(a+3)-y(b+5)*(x+2)(x+2)





x 2

2


5
b
y
3
a
5
x





((a+b)*(c-d)+)/3-a





<sub>a</sub>


3
6
d
c
b
a






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

CÁC PHÉP SO SÁNH



CÁC PHÉP SO SÁNH



Kí hiệu Phép so sánh Ví dụ


= Bằng <sub>5 = 5</sub>


< Nhỏ hơn <sub>3 < 5</sub>


> Lớn hơn <sub>9 > 6</sub>


≠ Khác <sub>6 ≠ 5</sub>


≤ Nhỏ hơn hoặc


bằng 5 ≤ 6


≥ Lớn hơn hoặc


bằng 9 ≥ 6


Kết quả của phép so sánh chỉ có thể là ĐÚNG hoặc SAI


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

Khi viết chương trình, để so sánh dữ liệu <i>(số, biểu thức, …)</i> ta
sử dụng các kí hiệu do ngơn ngữ lập trình quy định.



Khi viết chương trình, để so sánh dữ liệu <i>(số, biểu thức, …)</i> ta
sử dụng các kí hiệu do ngơn ngữ lập trình quy định.


Kí hiệu trong


Pascal Phép so sánh Kí hiệu trong tốn học


= Bằng <sub>=</sub>


< Nhỏ hơn <sub><</sub>


> Lớn hơn <sub>></sub>


<> Khác <sub>≠</sub>


<= Nhỏ hơn hoặc


bằng ≤


>= Lớn hơn hoặc


bằng ≥


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

GIAO TIẾP NGƯỜI – MÁY TÍNH



GIAO TIẾP NGƯỜI – MÁY TÍNH



a. Thơng báo kết quả tính tốn
a. Thơng báo kết quả tính tốn



<i>Thơng báo kết quả tính tốn là </i>
<i>gì?</i>


• Là yêu cầu đầu tiên đối với mọi chương trình



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

b. Nhập dữ liệu
b. Nhập dữ liệu


<i>Nhập dữ liệu là gì?</i>


• Là một trong những tương tác thường gặp là


chương trình yêu cầu nhập dữ liệu.



• Chương trình sẽ tạm ngừng để chờ người


dùng “ nhập dữ liệu “ từ bàn phím.



• Chương trình hoạt động tiếp theo tùy thuộc


vào dữ liệu được nhập vào.



• Là một trong những tương tác thường gặp là


chương trình yêu cầu nhập dữ liệu.



• Chương trình sẽ tạm ngừng để chờ người


dùng “ nhập dữ liệu “ từ bàn phím.



• Chương trình hoạt động tiếp theo tùy thuộc


vào dữ liệu được nhập vào.



GIAO TIẾP NGƯỜI – MÁY TÍNH




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

c. Tạm dừng chương trình
c. Tạm dừng chương trình


GIAO TIẾP NGƯỜI – MÁY TÍNH



GIAO TIẾP NGƯỜI – MÁY TÍNH



<i>Tạm ngừng chương trình có bao </i>
<i>nhiêu chế độ? Kể ra?</i>


• Tạm ngừng trong một khoảng thời gian nhất định.



• Tạm ngừng trong một khoảng thời gian nhất định.



•Tạm ngừng cho đến khi người dùng nhấn phím.



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

d. Hộp thoại
d. Hộp thoại


GIAO TIẾP NGƯỜI – MÁY TÍNH



GIAO TIẾP NGƯỜI – MÁY TÍNH



<i>Chức năng của hộp thoại như thế </i>
<i>nào?</i>


• Hộp thọai được sử dụng như một cơng cho việc giao


tiếp người-máy tính trong khi chạy chương trình




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

MEMORIZE



MEMORIZE



1. Các ngơn ngữ lập trình thường phân chia dữ liệu cần
xử lí theo các kiểu khác nhau, với các phép tốn có thể
thực hiện trên từng kiểu dữ liệu đó.


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

DẶN DÒ



DẶN DÒ



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

<b>Bài 4</b>



Thời gian 2 tiết


<b>SỬ DỤNG BIẾN TRONG </b>



<b>SỬ DỤNG BIẾN TRONG </b>



<b>CHƯƠNG TRÌNH</b>



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

<i>Trong ngơn ngữ lập trình Pascal, hãy </i>
<i>cho biết phần khai báo của chương </i>


<i>trình gồm những khai báo nào?</i>


Phần khai
báo



<b>Program</b> <tên chương trình>;


<b>Uses</b> <tên các thư viện>;


<b>Const</b> <tên hằng> = <giá trị của hằng>;


<b>Var</b> <danh sách tên biến>: <kiểu dữ
liệu>;


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

BIẾN LÀ CƠNG CỤ TRONG LẬP TRÌNH



BIẾN LÀ CƠNG CỤ TRONG LẬP TRÌNH



<i>Thế nào là Biến?</i>


Biến <i>(biến nhớ): </i>là đại lượng được đặt tên. Dùng để lưu trữ
dữ liệu và dữ liệu của biến lưu trữ có thể được thay đổi trong
quá trình thực hiện chương trình.


Biến <i>(biến nhớ): </i>là đại lượng được đặt tên. Dùng để lưu trữ
dữ liệu và dữ liệu của biến lưu trữ có thể được thay đổi trong
q trình thực hiện chương trình.


<i>Giá trị của biến là gì?</i>


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

Ví dụ: giả sử cần in kết quả của phép cộng 15+5 ra màn hình


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

Ví dụ: giả sử cần in kết quả của phép cộng ra màn hình khi hai số được
nhập từ bàn phím



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

Ví dụ: giả sử cần in kết quả của phép cộng 15+5 ra màn hình


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

<i>Biến có cần phải khai báo </i>
<i>trước?</i>


Các biến dùng trong chương trình đều phải được khai
báo tên của biến.


Các biến dùng trong chương trình đều phải được khai
báo tên của biến.


KHAI BÁO BIẾN



KHAI BÁO BIẾN



<i>Trong ngơn ngữ lập trình Pascal, hãy </i>
<i>cho biết các thao tác khi khai báo biến </i>


<i>của chương trình?</i>


Khai báo <b>tên biến;</b>


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

KHAI BÁO BIẾN



KHAI BÁO BIẾN



<i><b>Trong ngơn ngữ lập trình Pascal, </b></i>
<i><b>việc khai báo biến có dạng như thế </b></i>


<i><b>nào?</b></i>



<b>Var</b>

<danh sách tên biến>

<b>:</b>

<kiểu dữ liệu>;



<b>Var </b>

<i><</i>

<i>danh sách tên biến</i>

>:<

<i>kiểu dữ liệu</i>

>;



<b>Var</b>: là từ khố dùng để khai báo biến. Có thể
khai báo nhiều danh sách tên biến có những
kiểu dữ liệu khác nhau.


<b>Danh sách tên biến</b>: tên các biến được viết
cách nhau bởi dấu phẩy “,”.


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

Ví dụ


Từ khóa của ngơn
ngữ lập trình dùng
để khai báo biến


Các biến có kiểu nguyên (integer)


Các biến có kiểu thực (real)


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

SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH



SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH



<i>Trong ngơn ngữ lập trình Pascal, hãy </i>
<i>cho biết các thao tác khi thực hiện với </i>


<i>các biến như thế nào?</i>



<b>Gán </b>

giá trị cho biến;



<b>Tính tốn </b>

với giá trị của biến



<i>Trong ngơn ngữ lập trình Pascal, kiểu </i>
<i>dữ liệu của giá trị được gán cho biến </i>


<i>biến như thế nào?</i>


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

<i>Trong ngôn ngữ lập trình Pascal, câu </i>
<i>lệnh gán giá trị có dạng như thế nào?</i>


<b>Tên biến </b>

<b>←</b>

Biểu thức cần gán giá trị cho biến



<b>Tên biến </b>

<b>←</b>

Biểu thức cần gán giá trị cho biến


SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH



SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH



Trong đó dấu

<b>← </b>

biểu thị phép gán


Ví dụ


x← -c/b <i>(biến x nhận giá trị bằng –c/b)</i>


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

Lệnh trong Pascal Ý nghĩa


x:=12; Gán giá trị số 12 vào biến nhớ x



x:=y; Gán giá trị đã lưu trong biến nhớ y vào
biến nhớ x


x:=(a+b)/2; Thực hiện phép tốn tính trung bình cộng hai giá trị nằm trong hai biến nhớ a và b.
kết quả gán vào biến nhớ x


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

HẰNG



HẰNG



<i>Thế nào là Hằng?</i>


Hằng là đại lượng có giá trị khơng thay đổi trong quá trình
thực hiện chương trình .


Hằng là đại lượng có giá trị khơng thay đổi trong q trình
thực hiện chương trình .


<i>Hằng có cần phải khai báo </i>
<i>trước?</i>


• Các hằng dùng trong chương trình đều phải được khai báo
tên của hằng.


• Hằng phải được gán giá trị ngay sau khi khai báo.


• Các hằng dùng trong chương trình đều phải được khai báo
tên của hằng.


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

Ví dụ



Từ khóa của ngơn
ngữ lập trình dùng
để khai báo hằng


Hằng pi được gán giá trị tương ứng
là 3.14


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

CHÚ Ý


1.Khi cần thay đổi giá trị của hằng, ta


chỉ cần chỉnh sửa một lần tại nơi khai


báo mà khơng phải tìm sửa trong cả


chương trình.



2.Khơng thể dùng câu lệnh để thay đổi


giá trị của hằng ở bất kì vị trí nào



trong chương trình.



1.Khi cần thay đổi giá trị của hằng, ta


chỉ cần chỉnh sửa một lần tại nơi khai


báo mà khơng phải tìm sửa trong cả


chương trình.



2.Khơng thể dùng câu lệnh để thay đổi


giá trị của hằng ở bất kì vị trí nào



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

MEMORIZE




MEMORIZE



1. Biến và hằng là các đại lượng được đặt tên dùng để
lưu trữ dữ liệu. Giá trị của biến có thể thay đổi, cịn giá
trị của hằng được giữ nguyên trong suốt quá trình thực
hiện chương trình.


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

DẶN DỊ



DẶN DỊ



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

<b>Bài 5 </b>



Thời gian 4 tiết


<b>TỪ BÀI TỐN ĐẾN</b>



<b>TỪ BÀI TỐN ĐẾN</b>



<b>CHƯƠNG TRÌNH</b>



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

<i>Bài tốn là gì?</i>


BÀI TỐN VÀ XÁC ĐỊNH BÀI TỐN



BÀI TỐN VÀ XÁC ĐỊNH BÀI TỐN



Là cơng việc hay một nhiệm vụ cần phải giải quyết


Là công việc hay một nhiệm vụ cần phải giải quyết



<i>Để giải quyết được một bài toán cụ thể, </i>
<i>ta cần phải xác định rõ điều gì̀?</i>


* Xác định các điều kiện cho trước.


* Xác định các điều kiện cho trước.


* Kết quả thu được


* Kết quả thu được


Xác định bài tốn


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

<i>Ví dụ 1: Xét bài tốn “Tính diện tích </i>
<i>hình tam giác”.</i>


Điều kiện cho trước


Điều kiện cho trước


Kết quả cần thu được


Kết quả cần thu được


Một cạnh và đường cao
tương ứng


Một cạnh và đường cao
tương ứng



Diện tích hình tam giác


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

<i>Ví dụ 2: Xét bài tốn “Tìm đường đi </i>
<i>tránh các điểm nghẽn giao thông”.</i>


Điều kiện cho trước


Điều kiện cho trước


Kết quả cần thu được


Kết quả cần thu được


• Vị trí điểm nghẽn giao thơng.
• Các con đường có thể đi từ vị
trí hiện tại tới vị trí cần tới


• Vị trí điểm nghẽn giao thơng.
• Các con đường có thể đi từ vị
trí hiện tại tới vị trí cần tới


Đường đi từ vị trí hiện tại tới
vị trí cần tới mà khơng qua
điểm nghẽn giao thơng.


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

Q TRÌNH GIẢI BÀI TỐN TRÊN MÁY TÍNH



Q TRÌNH GIẢI BÀI TỐN TRÊN MÁY TÍNH




<i><b>Thế nào là giải bài tốn trên máy </b></i>
<i><b>tính?</b></i>


Là việc nào đó ta muốn máy tính thực hiện để từ các
điều kiện cho trước ta nhận được kết quả cần thu được


Là việc nào đó ta muốn máy tính thực hiện để từ các


điều kiện cho trước ta nhận được kết quả cần thu được


<i>Ví dụ: Tìm ước số chung lớn nhất của hai số nguyên dương M và N </i>
<i>Điều kiện cho trước: hai số nguyên dương M và N.</i>


<i>Kết quả cần thu được: Ước số chung lớn nhất của M và N.</i>
<i><b>Em hiểu như thế nào là thuận toáǹ?</b></i>


* Các bước để giải một bài toán


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

<i>Q trình giải bài tốn trên máy tính </i>
<i>như thế nào?</i>


1. Xác định bài tốn


1. Xác định bài tốn


2. Mơ tả thuật tốn


2. Mơ tả thuật tốn


3. Viết chương trình



3. Viết chương trình


• Xác định thơng tin đã cho (INPUT).
• Tìm được thơng tin cần tìm (OUTPUT)


• Xác định thơng tin đã cho (INPUT).
• Tìm được thơng tin cần tìm (OUTPUT)


• Tìm cách giải bài tốn


• Diễn tả bằng các lệnh cần phải thực
hiện


• Tìm cách giải bài tốn


• Diễn tả bằng các lệnh cần phải thực
hiện


• Dựa vào mơ tả thuật tốn, ta viết
chương trình bằng một ngơn ngữ lập
trình


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

THUẬT TỐN VÀ MƠ TẢ THUẬT TỐN



THUẬT TỐN VÀ MƠ TẢ THUẬT TỐN



<i>Xét bài tốṇ : Giải phương trình bậc </i>
<i>nhất dạng tởng quát ax + b = 0</i>



1. Xác định bài toán


1. Xác định bài tốn


• INPUT


• INPUT


• OUTPUT


• OUTPUT


Các hệ số a và b


Các hệ số a và b


Nghiệm của phương trình bậc nhất


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

2. Mơ tả thuật tốn


2. Mơ tả thuật tốn


Bước1 : xác định hệ số a, b;


Bước 2 : nếu a = 0 và b = 0  phương trình vơ số nghiệm  B5;


Bước 3 : nếu a = 0 và b ≠ 0  phương trình vơ nghiệm  B5;


Bước 4 : nếu a ≠ 0  phương trình có nghiệm x = -b/a  B5;



Bước 5 : Kết thúc.


<i>Thuận tốn là gì?</i>


* Dãy hữu hạn các thao tác cần thực hiện theo một trình
tự xác định để từ INPUT của bài tốn ta nhận được


OUTPUT cần tìm.


* Dãy hữu hạn các thao tác cần thực hiện theo một trình
tự xác định để từ INPUT của bài toán ta nhận được


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

MỘT SỐ VÍ DỤ VỀ THUẬT TỐN



MỘT SỐ VÍ DỤ VỀ THUẬT TỐN



<i><b>Ví dụ 1: Mợt hình A được ghép từ </b></i>
<i><b>mợt hình chữ nhật với chiều rợng là </b></i>


<i><b>2a, chiều dài là b và mợt hình bán </b></i>
<i><b>nguyệt bán kính a như hình</b></i>


b


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

1. Xác định bài tốn


1. Xác định bài tốn


• INPUT



• INPUT


• OUTPUT


• OUTPUT


Các hệ số b và a


Các hệ số b và a


Diện tích S của hình A


Diện tích S của hình A


2. Mơ tả thuật tốn


2. Mơ tả thuật tốn


Bước1 : xác định hệ số b, a;
Bước 2 : Tính S1 ← 2ab;


Bước 4 : S ← S1 + S2
Bước 5 : Kết thúc.


Bước 3 : Tính S2 ← ;


2


2

a




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

<i>Ví dụ 2: Tính tởng của 100 số tự nhiên </i>
<i>đầu tiên</i>


1. Xác định bài tốn


1. Xác định bài tốn


• INPUT


• INPUT


• OUTPUT


• OUTPUT


Dãy 100 số tự nhiên đầu tiên: 1, 2, …, 100


Dãy 100 số tự nhiên đầu tiên: 1, 2, …, 100


Giá trị của tổng 1+2+…+100


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

2. Mơ tả thuật tốn


2. Mơ tả thuật tốn


<b>Bước1 : SUM ← 0; i ← 0;</b>
<b>Bước 2 : i ← i + 1;</b>


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

<i>Ví dụ 3: Đổi giá trị của hai biến x và y</i>



1. Xác định bài tốn


1. Xác định bài tốn


• INPUT


• INPUT


• OUTPUT


• OUTPUT


Hai biến x và y có giá trị tương ứng là a và b


Hai biến x và y có giá trị tương ứng là a và b


Hai biến x và y có giá trị tương ứng là b và a


Hai biến x và y có giá trị tương ứng là b và a


2. Mơ tả thuật tốn


2. Mơ tả thuật tốn


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

<i>Ví dụ 4: Cho hai số thực a và b. Hãy </i>
<i>cho biết kết quả so sánh hai số đó dưới </i>


<i>dạng “a lớn hơn b”, “a nhỏ hơn b”, “a </i>
<i>bằng b”, </i>



1. Xác định bài tốn


1. Xác định bài tốn


• INPUT


• INPUT


• OUTPUT


• OUTPUT


Hai số thực a và b


Hai số thực a và b


Kết quả so sánh


Kết quả so sánh


2. Mô tả thuật tốn


2. Mơ tả thuật tốn


Bước1 : Nếu a > b, kết quả là “a lớn hơn b”;


Bước 2 : Nếu a < b, kết quả là “a nhỏ hơn b”; ngược lại là
“a bằng b”;


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

Quả này


lớn nhất


Quả này
mới lớn


nhất ?


Ồ ! Quả
này lớn


hơn


Tìm ra quả
lớn nhất rồi


<b>MAX</b>


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

1. Xác định bài toán


1. Xác định bài tốn


• INPUT


• INPUT


• OUTPUT


• OUTPUT


dãy số A các số a1, a2, …,an (n≥1)



dãy số A các số a1, a2, …,an (n≥1)


Giá trị MAX = max{a1, a2, …,an}


Giá trị MAX = max{a1, a2, …,an}


2. Mô tả thuật tốn


2. Mơ tả thuật tốn


Bước1 : MAX ← a1; i ← 1;
Bước 2 : i ← i + 1;


Bước 3 : Nếu i > n, thì chuyển đến bước 5;


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

MEMORIZE



MEMORIZE



1. Xác định bài toán là việc xác định các điều kiện ban
đầu <i>(thông tin vào – INPUT) </i>và các kết quả cần thu
được <i>(thơng tin ra – OUTPUT).</i>


2. Giải bài tốn trên máy tính là đưa cho máy tính dãy
hữu hạn các thao tác đơn giản (thuật tốn) mà nó có
thể thực hiện được để cho ta kết quả.


3. Quá trính giải một bài tốn trên máy tính gồm các



bước: xác định bài tốn; mơ tả thuật tốn; viết chương
trình.


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

DẶN DỊ



DẶN DỊ



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

<b>Bài 6 </b>



Thời gian 2 tiết


<b>CÂU LỆNH ĐIỀU KIỆN</b>



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

HOẠT ĐỘNG PHỤ THUỘC VÀO ĐIỀU KIỆN



HOẠT ĐỘNG PHỤ THUỘC VÀO ĐIỀU KIỆN



<i>Sách giáo khoa trang 46_phần 1, em </i>
<i>hãy đọc các ví dụ và cho biết “Những </i>
<i>hoạt động chỉ được thực hiện khi nào?</i>


• Những hoạt động chỉ được thực hiện khi một điều
kiện cụ thể được xảy ra.


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

TÍNH ĐÚNG HOẶC SAI CỦA CÁC ĐIỀU KIỆN



TÍNH ĐÚNG HOẶC SAI CỦA CÁC ĐIỀU KIỆN



Điều kiện Kiểm tra Kết quả Hoạt động tiếp
theo



Trời mưa? Long nhìn ra ngồi
trời và thấy trời


mưa


Đúng Long ở nhà


<i>(khơng đi đá </i>
<i>bóng)</i>


Em bị ốm? Buổi sáng thức
dậy, em thấy mình


hồn tồn khoẻ
mạnh


Sai Em tập thể dục
buổi sáng như


thường lệ


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

ĐIỀU KIỆN VÀ PHÉP SO SÁNH



ĐIỀU KIỆN VÀ PHÉP SO SÁNH



<i>Phép so sánh thường được sử dụng </i>
<i>như thế nào?</i>


* Dùng để biểu diễn các điều kiện



<i>Phép so sánh cho kết quả như thế nào?</i>


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

<i>Ví dụ 1: Chương trình in ra màn hình </i>
<i>có giá trị lớn hơn trong số hai giá trị </i>
<i>của các biến a và b. Khi đó giá trị của </i>


<i>biến a hoặc b được in ra phụ thuộc </i>
<i>vào phép so sánh a > b là đúng hay </i>


<i>sai.</i>


Nếu a>b, in giá trị của biến a ra màn hình;


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

CẤU TRÚC RẼ NHÁNH



CẤU TRÚC RẼ NHÁNH



<i>Trong ngơn ngữ lập trình, cấu trúc rẽ </i>
<i>nhánh được thể hiện bằng bao nhiêu </i>


<i>dạng̀? Kể ra?</i>


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

SƠ ĐỒ KHỐI CẤU TRÚC RẼ NHÁNH DẠNG THIẾU


Điều kiện Câu lệnh
Đúng


Sai



Lưu ý: sau <b>then</b> chỉ có 1 lệnh chương trình.


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

<i>Ví dụ 2: Một hiệu sách thực hiện đợt </i>
<i>khuyến mãi lớn với nội dung như sau: </i>


<i>nếu mua sách với tởng số tiền ít nhất </i>
<i>là 100.000 đồng, khách hàng sẽ được </i>


<i>giảm 30% tổng số tiền phải thanh </i>
<i>tốn. Hãy mơ tả hoạt động tính tiền </i>


<i>cho khách. </i>


thuật tốn


thuật tốn • Bước 1: Tính tổng số tiền T khách hàng đã <sub>mua sách.</sub>


• Bước 2: nếu T>100000, số tiền phải thanh
toán là 70% x T.


• Bước 3: in hố đơn


• Bước 1: Tính tổng số tiền T khách hàng đã
mua sách.


• Bước 2: nếu T>100000, số tiền phải thanh
toán là 70% x T.


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

SƠ ĐỒ KHỐI CẤU TRÚC RẼ NHÁNH DẠNG ĐỦ



Lưu ý: sau <b>then</b> và sau <b>else </b>chỉ có 1 lệnh chương trình.


Lưu ý: sau then và sau else chỉ có 1 lệnh chương trình.


Điều kiện


Câu lệnh 1
Đúng


Sai


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

<i>Ví dụ 3: Một hiệu sách thực hiện đợt </i>
<i>khuyến mãi lớn với nội dung như sau: </i>


<i>nếu mua sách với tởng số tiền ít nhất </i>
<i>là 100.000 đồng, khách hàng sẽ được </i>


<i>giảm 30% tổng số tiền phải thanh </i>
<i>tốn. Nếu mua sách với tởng số tiền </i>


<i>khơng đến 100.000 đồng. , khách </i>
<i>hàng sẽ được giảm 10% tởng số tiền </i>
<i>phải thanh tốn. Hãy mơ tả hoạt động </i>


<i>tính tiền cho khách.</i>


thuật tốn


thuật tốn • Bước 1: Tính tổng số tiền T khách hàng đã <sub>mua sách.</sub>



• Bước 2: nếu T>100000, số tiền phải thanh
toán là 70% x T; Ngược lại, số tiền phải thanh
toán là 30% x T.


• Bước 3: in hố đơn


• Bước 1: Tính tổng số tiền T khách hàng đã
mua sách.


• Bước 2: nếu T>100000, số tiền phải thanh
tốn là 70% x T; Ngược lại, số tiền phải thanh
toán là 30% x T.


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

CÂU LỆNH ĐIỀU KIỆN



CÂU LỆNH ĐIỀU KIỆN



<i><b>Trong ngơn ngữ lập trình, các cấu </b></i>
<i><b>trúc rẽ nhánh được thể hiện bằng </b></i>


<i><b>câu lệnh gì?</b></i>


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

CÂU LỆNH IF – THEN (DẠNG THIẾU)


CÂU LỆNH IF – THEN (DẠNG THIẾU)


<i>Hãy nêu dạng câu lệnh của cấu trúc rẽ nhánh </i>
<i>dạng thiếu?</i>


<b>If</b> <i><điều kiện</i>> <b>then </b><<i>câu lệnh</i>>;



<b>If </b><i><điều kiện</i>> then <<i>câu lệnh</i>>;


<i>Hãy trình bày ý nghĩa các câu lệnh của cấu </i>
<i>trúc dạng thiếu?</i>


• Khi gặp <b>câu lệnh điều kiện</b> này, chương trình sẽ kiểm tra <b>điều </b>
<b>kiện</b>. Nếu <b>điều kiện</b> được thoả mãn, chương trình sẽ thực hiện


<b>câu lệnh</b> sau từ khoá <b>then</b>. Ngược lại, <b>câu lệnh</b> đó bị bỏ qua


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

<i>Ví dụ 4: giả sử cần in số a ra màn hình </i>
<i>nếu a > b</i>


If a > b then write (a);


<i>Ví dụ 5: Chương trình u cầu người </i>
<i>dùng nhập một số hợp lệ, chẳng hạn </i>


<i>không lớn hơn 5, từ bàn phím. </i>


<i>Chương trình đọc số, kiểm tra tính hợp </i>
<i>lệ và thông báo nếu không hợp lệ. </i>


readln(a);


If a > 5 then write(‘So da nhap khong hop le.’);


thuật tốn



thuật tốn • Bước 1: Nhập số a;


• Bước 2: nếu a > 5 thì thơng báo lỗi


• Bước 1: Nhập số a;


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

CÂU LỆNH IF – THEN – ELSE (DẠNG ĐỦ)


CÂU LỆNH IF – THEN – ELSE (DẠNG ĐỦ)


<i>Hãy nêu dạng câu lệnh của cấu trúc rẽ nhánh </i>
<i>dạng đủ?</i>


<b>If</b> <i><điều kiện</i>> <b>then </b><<i>câu lệnh 1</i>> <b>else </b><<i>câu lệnh 2</i>>;


<b>If </b><i><điều kiện</i>> then <<i>câu lệnh 1</i>> else <<i>câu lệnh 2</i>>;


<i>Hãy trình bày ý nghĩa các câu lệnh của cấu </i>
<i>trúc dạng đủ?</i>


• Khi gặp <b>câu lệnh điều kiện</b> này, chương trình sẽ kiểm tra <b>điều </b>
<b>kiện</b>. Nếu <b>điều kiện</b> được thoả mãn, chương trình sẽ thực hiện


<b>câu lệnh 1</b> sau từ khố <b>then</b>.


• Trong trường hợp ngược lại, <b>câu lệnh 2</b> sẽ thực hiện


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

<i>Ví dụ 6: Chương trình viết kết quả của </i>
<i>a chia cho b, với a và b là hai số bất </i>
<i>kì. Phép tính chỉ thực hiện được khi b </i>



<i>≠ 0. Chương trình cần kiểm tra giá trị </i>
<i>của b. Nếu b ≠ 0 thì thực hiện phép </i>


<i>chia. Nếu b = 0 sẽ thông báo lỗi.</i>


If b<>0 then x:=a/b


else write(‘mau so bang 0, khong chia duoc’);


thuật toán


thuật toán Nếu b ≠ 0 thì tính kết quả


ngược lại thì thơng báo lỗi


Nếu b ≠ 0 thì tính kết quả


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

MEMORIZE



MEMORIZE



1. Cấu trúc rẽ nhánh được sử dụng để chỉ thị cho máy
tính thực hiện các hoạt động khác nhau tuỳ theo một
điều kiện cụ thể có được thoả mãn hay khơng.


2. Cấu trúc rẽ nhánh có hai dạng: dạng thiếu và dạng đủ.
3. Trong lập trình, điều kiện trong cấu trúc rẽ nhánh


thường được biểu diễn bằng các phép so sánh.



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

DẶN DÒ



DẶN DÒ



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

<b>CÂU LỆNH LẶP</b>



<b>CÂU LỆNH LẶP</b>


Thời gian 2 tiết


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

CÁC CÔNG VIỆC PHẢI THỰC HIỆN NHIỀU LẦN



CÁC CÔNG VIỆC PHẢI THỰC HIỆN NHIỀU LẦN



Hãy quan sát các ảnh sau


<i><b> Đánh răng mỗi ngày hai lần</b></i> <i><b>l</b><b>à </b><b>công việc l</b><b>ặp lại </b><b>với </b></i>
<i><b>số lần nh</b><b>ất định và biết trước</b><b>.</b></i>


<i><b> Mỗi </b><b>ngày t</b><b>ắm</b><b> m</b><b>ột</b><b> lần</b></i> <i><b>l</b><b>à </b><b>công việc l</b><b>ặp lại </b><b>với số </b></i>
<i><b>lần nh</b><b>ất định và biết trước</b><b>.</b></i>


<i><b> Đi h</b><b>ọc mỗi ngày một lần </b><b>l</b><b>à </b><b>công việc l</b><b>ặp lại </b><b>với </b></i>
<i><b>số lần nh</b><b>ất định và biết trước</b><b>.</b></i>


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

CÁC CÔNG VIỆC PHẢI THỰC HIỆN NHIỀU LẦN



CÁC CÔNG VIỆC PHẢI THỰC HIỆN NHIỀU LẦN



<i><b>Trong cuộc sống hằng ngày, nhiều hoạt động được lặp đi </b></i>


<i><b>lặp lại nhiều lần.</b></i>


<i><b> Có những hoạt đợng mà chúng ta thường thực hiện lặp lại </b></i>
<i><b>với một số lần nhất định và biết trước, chẳng hạn đánh răng </b></i>
<i><b>mỗi ngày hai lần, mỗi ngày tắm mợt lần,…Chúng ta cịn lặp lại </b></i>
<i><b>công việc với số lần không thể xác định được: học cho đến khi </b></i>
<i><b>thuộc bài,nhặt từng cọng rau cho đến khi xong,…</b></i>


<i><b> Khi viết chương trình máy tính cũng vậy. Để chỉ dẫn cho </b></i>
<i><b>máy thực hiện đúng công việc, trong nhiều trường hợp ta cũng </b></i>
<i><b>cần phải viết lặp lại nhiều câu lệnh thực hiện một phép tính </b></i>
<i><b>nhất định.</b></i>


<i><b>Trong cuộc sống hằng ngày, nhiều hoạt động được lặp đi </b></i>
<i><b>lặp lại nhiều lần.</b></i>


<i><b> Có những hoạt đợng mà chúng ta thường thực hiện lặp lại </b></i>
<i><b>với một số lần nhất định và biết trước, chẳng hạn đánh răng </b></i>
<i><b>mỗi ngày hai lần, mỗi ngày tắm mợt lần,…Chúng ta cịn lặp lại </b></i>
<i><b>công việc với số lần không thể xác định được: học cho đến khi </b></i>
<i><b>thuộc bài,nhặt từng cọng rau cho đến khi xong,…</b></i>


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

CÂU LỆNH LẶP_MỘT LỆNH THAY CHO NHIỀU LỆNH



CÂU LỆNH LẶP_MỘT LỆNH THAY CHO NHIỀU LỆNH



<i><b>Ví dụ 1</b></i>. <i><b>Giả sử ta cần vẽ ba hình vng có </b></i>
<i><b>cạnh 1 đơn vị như hình 33. Mỗi hình vng là </b></i>
<i><b>ảnh dịch chuyển của hình bên trái nó mợt </b></i>
<i><b>khoảng cách 2 đơn vị. Do đó, ta chỉ cần lặp lại </b></i>


<i><b>thao tác vẽ hình vng ba lần.</b></i>


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

•<i><b>Việc vẽ hình có thể thực hiện được bằng thuật toán sau đây:</b></i>


<i><b> Bước 1. Vẽ hình vng ( vẽ liên tiếp bốn cạnh và trở về đỉnh </b></i>
<i><b>ban đầu).</b></i>


<i><b> Bước 2. Nếu số hình vng đã vẻ được ít hơn 3, di chủn </b></i>
<i><b>bút vẻ về bên phải hai đơn vị và trở lại bước 1; ngược lại kết thúc </b></i>
<i><b>thuật toán.</b></i>


1


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

<b>...</b>


<i><b>Riêng bài tốn vẽ mợt hình vng (hình 34), </b></i>
<i><b>thao tác chính là vẽ bốn cạnh bằng nhau, hãy </b></i>
<i><b>lập lại bốn lần thao tác vẽ một đoạn thẳng. Sau </b></i>
<i><b>mỗi lần vẽ đoạn thẳng, thước kẻ được quay </b></i>
<i><b>mợt góc </b></i><b>90 </b> <i><b> sang phải tại vị trí của bút vẽ.</b></i>


CÂU LỆNH LẶP_MỘT LỆNH THAY CHO NHIỀU LỆNH



CÂU LỆNH LẶP_MỘT LỆNH THAY CHO NHIỀU LỆNH



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

<i><b>Thuật tốn sau đây sẽ mơ tả các bước để vẽ hình vng:</b></i>


<b>...</b>


<i>Bước1. K 0 ( là số đoạn thẳng đã </i>


<i>vẽ được)</i>


<i>Bước2. K K+1. Vẽ đoạn thẳng 1 </i>
<i>đơn vị độ dài và quay thước </i>


<i>sang phải.</i>


<i>Bước3. Nếu K < 4 thì trở lại bước2; </i>
<i>Ngược lại, kết thúc thuật toán.</i>


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

CÂU LỆNH LẶP_MỘT LỆNH THAY CHO NHIỀU LỆNH



CÂU LỆNH LẶP_MỘT LỆNH THAY CHO NHIỀU LỆNH



<i><b>Ví dụ 2</b></i>. <i><b>Giả sử cần tính tổng của 100 số tự </b></i>
<i><b>nhiên đầu tiên, tức là tính:</b></i>


<i><b>S= 1+2+3+…+100.</b></i>


<i>Thuật tốn sau đây sẽ mơ tả việc thực hiện lặp lại phép cộng 100</i>
<i>lần:</i>


<i><b>Bước1. SUM 0; i 0.</b></i>
<i><b>Bước2. I i+1. </b></i>


<i><b>Bước3. Nếu i ≤ 100, thì SUM SUM + i và quay lại </b></i>
<i><b>bước 2.</b></i>


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

CẤU TRÚC DẠNG LẶP TIẾN




CẤU TRÚC DẠNG LẶP TIẾN



<i>Hãy nêu cấu trúc dạng lặp tiến?</i>


<i>Biến đếm: biến kiểu nguyên, kí tự </i>


<i>Giá trị đầu, giá trị cuối là biểu thức cùng kiểu với biến đếm.</i>
<i>Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối.</i>


For <<i>biến đếm</i>><b>:= </b><<i>giá trị đầu</i>> to <<i>giá trị cuối</i>> do <<i>câu lệnh</i>>;


For <<i>biến đếm</i>>:= <<i>giá trị đầu</i>> to <<i>giá trị cuối</i>> do <<i>câu lệnh</i>>;


<i>Ví dụ S:=1;</i>


FOR i:=2 TO 100 DO S:=S+1/i;


<i>Câu lệnh: Không được làm thay đổi giá trị biến đếm, </i>


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

SƠ ĐỒ KHỐI
Biến đếm:=giá trị đầu


Biến đếm<=giá trị cuối


Lệnh cần lặp biến đếm tăng 1
Đúng


Sai


<i>Quan sát sơ </i>


<i>đồ khối, hãy </i>
<i>cho biết sự </i>
<i>thực hiện của </i>


<i>máy?</i>


• Bước 1: tính giá trị đầu, gán cho biến đếm.
• Bước 2: Nếu biến đếm <= giá trị cuối thì:


• thực hiện lệnh cần lặp.


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

<i><b>Chương trình sau sẽ in ra màn hình số lần </b></i>
<i><b>lặp</b></i>


<i><b>Program lap;</b></i>
<i><b> Uses crt;</b></i>


<i><b> Var i: integer;</b></i>
<i><b>Begin</b></i>


<i><b> For</b><b> i:= 1 </b><b>to</b><b> 10 </b><b>do</b></i>


<i><b> Writeln (‘Day la lan lap thu ’,i);</b></i>
<i><b> Readln</b></i>


<i><b>end.</b></i>


CẤU TRÚC DẠNG LẶP TIẾN



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

<i><b>Để in mợt chữ “O” trên màn hình, ta có thể </b></i>


<i><b>sử dụng lệnh</b></i>


<i><b>Program lap;</b></i>
<i><b> Uses crt;</b></i>


<i><b> Var i: integer;</b></i>
<i><b>Begin</b></i>


<i><b> For</b><b> i:= 1 </b><b>to</b><b> 20 </b><b>do</b></i>


<i><b> begin </b></i>
<i><b> Writeln (‘O’);</b></i>
<i><b> delay(100)</b></i>
<i><b> end;</b></i>
<i><b> Readln</b></i>
<i><b>end.</b></i>


CẤU TRÚC DẠNG LẶP TIẾN



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

CẤU TRÚC DẠNG LẶP LÙI



CẤU TRÚC DẠNG LẶP LÙI



<i>Hãy nêu cấu trúc dạng lặp lùi?</i>


<i>Biến đếm: biến kiểu nguyên, kí tự </i>


<i>Giá trị đầu, giá trị cuối là biểu thức cùng kiểu với biến đếm.</i>
<i>Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối.</i>



for <<i>biến đếm</i>><b>:= </b><<i>giá trị cuối</i>> downto <<i>giá trị đầu</i>> do <<i>câu lệnh</i>>;
for <<i>biến đếm</i>><b>:= </b><<i>giá trị cuối</i>> downto <<i>giá trị đầu</i>> do <<i>câu lệnh</i>>;


<i>Ví dụ S:=1;</i>


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

SƠ ĐỒ KHỐI
Biến đếm:=giá trị đầu


Biến đếm>=giá trị cuối


Lệnh cần lặp biến đếm giảm 1
Đúng


Sai


<i>Quan sát sơ đồ </i>
<i>khối, hãy cho </i>
<i>biết sự thực hiện </i>


<i>của máy?</i>


• Bước 1: tính giá trị đầu, gán cho biến đếm.
• Bước 2: Nếu biến đếm >= giá trị cuối thì:


• thực hiện lệnh cần lặp.


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

Lưu ý:


+ Biến đếm là biến đơn, có kiểu ngun hoặc kí tự.



+ Giá trị đầu, giá trị cuối là các biểu thức có cùng kiểu với
biến đếm. Giá trị đầu phải nhỏ hơn giá trị cuối.


+ Giá trị của biến đếm được điều chỉnh tự động, vì vậy câu
lệnh viết sau DO khơng được thay đổi giá trị biến đếm


For i:=1 to 10 do write(i);
For i:=‘a’ to ‘z’ do write(i);


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

TÍNH TỞNG BẰNG CÂU LỆNH LẶP



TÍNH TỞNG BẰNG CÂU LỆNH LẶP



<i><b>Viết chương trình tính tổng </b></i>


<i><b>S=1+2+3+4+5</b></i>


<i><b>Program Tinh_tong;</b></i>
<i><b> Uses crt;</b></i>


<i><b> Var i: integer;</b></i>
<i><b> S: longint;</b></i>
<i><b> Begin</b></i>


<i><b> S:=0;</b></i>


<i><b> </b><b>For</b><b> i:= 1 </b><b>to</b><b> 5 </b><b>do</b><b> S:= S + 1;</b></i>
<i><b> Writeln (‘Tong cua S = ’,s);</b></i>
<i><b> Readln</b></i>



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

TÍNH TỞNG BẰNG CÂU LỆNH LẶP



TÍNH TỞNG BẰNG CÂU LỆNH LẶP



<i><b>Viết chương trình tính tổng của N số tự </b></i>
<i><b>nhiên đầu tiên, với N là số tự nhiên được </b></i>
<i><b>nhập vào từ bàn phím </b></i>


<i><b>Program Tinh_tong;</b></i>
<i><b> Uses crt;</b></i>


<i><b> Var N, i: integer;</b></i>
<i><b> S: longint;</b></i>
<i><b> Begin</b></i>


<i><b> write(‘Nhap so N = ‘); readln(N);</b></i>
<i><b> S:=0;</b></i>


<i><b> </b><b>For</b><b> i:= 1 </b><b>to</b><b> N </b><b>do</b><b> S:= S + i;</b></i>


<i><b> Writeln (‘Tong cua S = ’,N,’ So tu nhien dau tien S = ‘,S);</b></i>
<i><b> Readln</b></i>


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

TÍNH TÍCH BẰNG CÂU LỆNH LẶP



TÍNH TÍCH BẰNG CÂU LỆNH LẶP



<i><b>Ta kí hiệu N! là tích N số tự nhiên đầu tiên:</b></i>
<i><b>N! = 1.2.3…N</b></i>



<i><b> - Viết chương trình tính N! với N là số </b></i>
<i><b>tự nhiên được nhập vào từ bàn </b></i>


<i><b>phím.</b></i>


<i><b>Program Tính_Giai_thua;</b></i>
<i><b> Uses crt;</b></i>


<i><b> Var i, N: integer;</b></i>
<i><b> P: longint;</b></i>
<i><b> Begin</b></i>


<i><b> write (‘Nhap N = ‘); readln (N);</b></i>
<i><b> P:= 1;</b></i>


<i><b> </b><b>For</b><b> i:= 1 </b><b>to</b><b> N </b><b>do</b><b> P:= P*i;</b></i>
<i><b> Writeln (N,’! = ’,P);</b></i>


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

<i><b>Em hãy viết chương trình tính tổng các số </b></i>
<i><b>nguyên liên tiếp từ n đến m với n,m là các số </b></i>
<i><b>nguyên dương nhập vào từ bàn phím</b></i>


<i><b>Program tinh_tong;</b></i>
<i><b> Uses crt;</b></i>


<i><b> Var m, n, i: integer;</b></i>
<i><b> S: longint;</b></i>


<i><b> Begin</b></i>



<i><b> write (‘Nhap n = ‘); readln ( n);</b></i>
<i><b> write (‘Nhap m=‘); readln ( m);</b></i>
<i><b> S:=0;</b></i>


<i><b> For i:= n to m do S:= S + n; </b></i>


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

MEMORIZE



MEMORIZE



1. Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực
hiện lặp lại một vài hoạt động nào đó cho đến khi một
điều kiện nào đó được thoả mãn.


2. Mọi ngơn ngữ lập trình đều có các câu lệnh lặp để thể
hiện cấu trúc lặp.


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

<b>LẶP VỚI SỐ LẦN </b>



<b>LẶP VỚI SỐ LẦN </b>



<b>CHƯA BIẾT TRƯỚC</b>



<b>CHƯA BIẾT TRƯỚC</b>



Thời gian 2 tiết


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

<b>...</b>


<i>Hãy đọc ví dụ 1 _ sách giáo khoa _ </i>


<i>trang 67</i>


CÁC HOẠT ĐỘNG LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC



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

<i>Nếu cộng lần lượt n số tự nhiên đầu tiên (n= 1, 2, </i>
<i>3,…), ta sẽ được các kết quả T<sub>1</sub>=1, T<sub>2</sub>=1 + 2, T<sub>3</sub>=1 </i>
<i>+ 2 + 3, … tăng dần.</i>


<i>Cần cộng bao nhiêu số tự nhiên đầu tiên để ta </i>
<i>nhận được tổng T<sub>n </sub>nhỏ nhất lớn hơn 1000?</i>


CÁC HOẠT ĐỘNG LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC



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

<b>THUẬT TỐN</b>


<i>Nhận xét thuật tốn.</i>


* Bước 4: In kết quả: S và n là số tự nhiên nhỏ nhất sao cho
S > 1000. kết thúc thuật toán


* Bước 1: S ← 0; n ← 0; {Khởi tạo S và n}


* Bước 2: Nếu S ≤ 1000, n ← n + 1; ngược lại, chuyển đến bước 4;


* Bước 3: S ← S + n và quay lại bước 2;


Từ bước 2 đến bước 3 được lặp lại nhiều lần
nếu điều kiện S ≤ 1000 chưa được thoả mãn
và chỉ dừng khi điều kiện đó sai.



CÁC HOẠT ĐỘNG LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC



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

CÂU LỆNH WHILE - DO



CÂU LỆNH WHILE - DO



<i>Hãy nêu cấu trúc lặp với câu lệnh while - do?</i>


<i>Điều kiện: biểu thức quan hệ hoặc biểu thức logic</i>
<i>Câu lệnh: là môt câu lệnh trong Pascal</i>


While <điều kiện> do <câu lệnh >;



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

<i>Quan sát sơ </i>
<i>đồ khối, hãy </i>
<i>cho biết sự </i>
<i>thực hiện của </i>


<i>máy?</i>


• Bước 1: tính giá trị của <điều kiện>.


• Bước 2: Nếu <điều kiện> có giá trị đúng thì:
• thực hiện lệnh cần lặp.


• quay lại bước 1.


SƠ ĐỒ KHỐI


Điều kiện



Câu lệnh
Đúng


Sai


<i>Chừng nào điều kiện cịn đúng thì câu lệnh còn thực hiện.</i>


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

<i>Với giá trị nào của n thì 1/n < 0.003?</i>
<i>Viết chương trình tính số n nhỏ nhất để 1/n </i>


<i>nhỏ hơn một sai số cho trước.</i>


EXAMPLE 1



EXAMPLE 1



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

Quan sát chương trình


<b>* Lần lượt thay điều kiện sai_so bằng các </b>
<b>giá trị 0.005; 0.002; 0.001, ta nhận các kết </b>


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

<i>Viết chương trình tính tởng T.</i>
<i>S=1 + 2 + 3 + … + n</i>


•<i> Cần cộng bao nhiêu số tự nhiên để ta </i>
<i>nhận được tổng Tn nhỏ nhất lớn hơn 1000.</i>
•<i> Tính tởng S</i>


EXAMPLE 2




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

EXAMPLE 3



EXAMPLE 3



<i>Viết chương trình tính tởng T.</i>


100
1
...
3
1
2
1


1   


<i>T</i>


<i>Yêu cầu:</i>


<i>Viết chương trình theo hai dạng cấu trúc: </i>


</div>
<span class='text_page_counter'>(139)</span><div class='page_container' data-page=139></div>
<span class='text_page_counter'>(140)</span><div class='page_container' data-page=140></div>
<span class='text_page_counter'>(141)</span><div class='page_container' data-page=141>

LẶP VƠ HẠN LẦN _ LỖI LẬP TRÌNH CẦN TRÁNH



LẶP VƠ HẠN LẦN _ LỖI LẬP TRÌNH CẦN TRÁNH



<i>Quan sát đoạn chương trình sau:</i>



<i>Yêu cầu:</i>


<i>* Hãy cho biết chương trình trên sẽ lặp lại như thế </i>
<i>nào? </i>


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

MEMORIZE



MEMORIZE



1. Cấu trúc lặp với số lần chưa biết trước.


While <<i>điều kiện</i>> do <<i>câu lệnh</i> >;


2. Khi thực hiện vòng lặp, <i>điều kiện</i> trong câu lệnh phải
được thay đổi để sớm hay muộn giá trị của <i>điều kiện</i>


được chuyển từ <i>đúng</i> sang <i>sai, </i>thì chương trình sẽ


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

<b>LÀM VIỆC VỚI DÃY SỐ</b>



<b>LÀM VIỆC VỚI DÃY SỚ</b>


Thời gian 2 tiết


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

<i>Ví dụ 1: giả sử chúng ta cần viết </i>
<i>chương trình nhập điểm kiểm tra của </i>
<i>các học sinh trong một lớp và sau đó </i>


<i>in ra màn hình điểm số cao nhất.</i>


DÃY SỐ VÀ BIẾN MẢNG




DÃY SỐ VÀ BIẾN MẢNG



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

<i>1. Xác định Input, Output </i>


<i>2. Viết chương trình bài tốn trên?</i>


• Input: t1, t2, t3, t4, t5, t6, t7.
• Output: tb, dem.


<i>Ví dụ 2</i>:


Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần,
1. Tính và đưa ra màn hình nhiệt độ trung bình của tuần.
2. Số lượng ngày trong tuần có nhiệt độ cao hơn nhiệt độ


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

<i><b>Khi N lớn thì chương </b></i>
<i><b>trình có những hạn </b></i>


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

Những hạn chế:



<sub> Phải khai báo quá nhiều biến.</sub>



<sub> Chương trình tính tốn phải viết khá dài</sub>



Khắc phục những hạn chế:



<sub> Ghép chung 7 biến trên thành một dãy.</sub>



<sub> Đặt chung 1 tên và đặt cho một phần tử một chỉ số.</sub>




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

KHÁI NIỆM DỮ LIỆU KIỂU MẢNG


KHÁI NIỆM DỮ LIỆU KIỂU MẢNG


<i>Em hiểu như thế nào là dữ liệu kiểu mảng ?</i>


<sub> Là một tập hợp hữu hạn các phần tử </sub>



có thứ tự, có cùng kiểu dữ liệu.



<sub> Mảng được đặt tên và mỗi phần tử </sub>



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

17

20

24

10

16

22

18



A



1 2 3 4 5 6 7



Trong đó


 <sub>Khi tham chiếu đến phần tử thứ i - ta viết</sub><sub> A[i].</sub>


A[6] = 22.


 <sub>Tên mảng : </sub>

A



 <sub>Số phần tử của mảng: </sub>

7

<sub>. </sub>



Ví dụ:


 <sub>Kiểu dữ liệu của các phần tử: </sub><sub>Kiểu nguyên</sub>


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

KHAI BÁO MẢNG TRONG PASCAL


KHAI BÁO MẢNG TRONG PASCAL


<i>Cấu trúc khai báo kiểu mảng trong Pascal?</i>


<b>Var</b> <i><tên biến mảng</i>><b>:</b> <b>array</b>[<<i>chỉ số đầu</i>><b>..</b><<i>chỉ số cuối</i>>] <b>of </b>


<<i>kiểu dữ liệu</i>>;


<b>Var </b><i><tên biến mảng</i>>: array[<<i>chỉ số đầu</i>>..<<i>chỉ số cuối</i>>] of
<<i>kiểu dữ liệu</i>>;


<i>Chỉ số đầu, chỉ số cuối: </i>là các hằng hoặc biểu thức nguyên.


<i>Chỉ số đầu ≤ chỉ số cuối</i>
<i>Giữa hai chỉ số là dấu <b>..</b></i>


Ví dụ: Var nhietdo : array[1..366] of integer;


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

<i>Ví dụ 1: giả sử chúng ta cần viết </i>
<i>chương trình nhập điểm kiểm tra của </i>
<i>các học sinh trong một lớp và sau đó </i>


<i>in ra màn hình điểm số cao nhất.</i>
<i>(khai báo biến mảng)</i>



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

<i>Ví dụ 2</i>:


Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần,
1. Tính và đưa ra màn hình nhiệt độ trung bình của tuần.
2. Số lượng ngày trong tuần có nhiệt độ cao hơn nhiệt độ


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

<i>Khai báo dữ liệu kiểu mảng</i>


<i>Nhập dữ liệu kiểu mảng</i>
<i>Tính tởng</i>


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

<sub>Nhập mảng tính tổng:</sub>


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

TÌM GIÁ TRỊ LỚN NHẤT CỦA DÃY SỐ



TÌM GIÁ TRỊ LỚN NHẤT CỦA DÃY SỐ



<i>Viết chương trình nhập N số nguyên từ </i>
<i>bàn phím và in ra màn hình số lớn nhất. N </i>


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

TÌM GIÁ TRỊ NHỎ NHẤT CỦA DÃY SỐ



TÌM GIÁ TRỊ NHỎ NHẤT CỦA DÃY SỐ



<i>Viết chương trình nhập N số nguyên từ </i>
<i>bàn phím và in ra màn hình số nhỏ nhất. N </i>


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

Lưu ý




Kích thức của mảng phải
được khai báo bằng một con


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

MEMORIZE



MEMORIZE



1. Dữ liệu kiểu mảng là tập hợp hữu hạn các phần tử có
thứ tự và mọi phần tử đều có cùng một kiểu dữ liệu.
2. Việc gán giá trị, nhập giá trị và tính tốn với các giá trị


của một phần tử trong biến mảng được thực hiện thông
qua chỉ số tương ứng của phần tử đó.


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

<b>Bài thực hành</b>


<b>Bài thực hành 1 </b>



Thời gian 1 tiết


<b>LÀM QUEN </b>



<b>LÀM QUEN </b>



<b>VỚI TURBO PASCAL</b>



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

EXERCISE 1



EXERCISE 1



<i>Làm quen với việc khởi động và </i>


<i>thoát khỏi Turbo Pascal. Em hãy </i>


<i>thực hiện các nội dung sau:</i>


• Khởi động Turbo Pascal.


• Quan sát màn hình của Turbo Pascal.


• Nhận biết các thành phần trên màn hình Turbo Pascal.
• Thao tác với thanh bảng chọn.


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

KHỞI ĐỘNG CHƯƠNG TRÌNH


KHỞI ĐỘNG CHƯƠNG TRÌNH


TURBO PASCAL


TURBO PASCAL


1. Chạy chương trình Turbo Pascal trên mơi trường MS_DOS


Trên màn hình desktop, chọn My Computer, chọn ổ đĩa C:, chọn
thư mục TP, chọn thư mục BIN, double click vào biểu tượng


Trên màn hình desktop, double click vào biểu tượng


2. Chạy chương trình Turbo Pascal trên mơi trường WINDOWS


Trên màn hình desktop, chọn My Computer, chọn ổ đĩa C:, chọn
thư mục TP, chọn thư mục BIN, double click vào biểu tượng



Trên màn hình desktop, double click vào biểu tượng


SUPPLEMENT KNOWLEDGE



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

MÀN HÌNH LÀM VIỆC CỦA


MÀN HÌNH LÀM VIỆC CỦA


TURBO PASCAL


TURBO PASCAL


Tên File chương trình
Con trỏ soạn thảo


Thanh menu <i>(thanh bảng chọn)</i>


Dịng hướng dẫn các phím chức năng
Dịng <sub>Cột</sub>


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

MENU BAR


MENU BAR


* Nhấn phím <b>F10 </b>để mở bảng chọn


* Sử dụng các phím


Di chuyển sang trái giữa


các bảng chọn


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

MENU BAR


MENU BAR


* Nhấn <b>ENTER </b>để mở bảng chọn


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

* Nhấn tổ hợp phím <b>Alt+E </b>để mở bảng chọn


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

* Nhấn tổ hợp phím <b>Alt+R </b>để mở bảng chọn


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

* Nhấn tổ hợp phím <b>Alt+D </b>để mở bảng chọn


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

* Nhấn tổ hợp phím <b>Alt+O </b>để mở bảng chọn


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

* Nhấn tổ hợp phím <b>Alt+H </b>để mở bảng chọn


* Sử dụng các phím


Di chuyển lên giữa các
lệnh trong một bảng chọn


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

THOÁT KHỎI TURBO PASCAL


THOÁT KHỎI TURBO PASCAL


* Nhấn tổ hợp phím <b>Alt+F </b>để mở bảng chọn


Click chọn



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

EXERCISE 2



EXERCISE 2



<i>Soạn thảo, lưu, dịch và chạy một </i>
<i>chương trình đơn giản. Em hãy </i>


<i>thực hiện các nội dung sau:</i>


• Khởi động Turbo Pascal.


• Gõ các dịng lệnh vào màn hình soạn thảocủa Turbo
Pascal.


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

SUPPLEMENT KNOWLEDGE



SUPPLEMENT KNOWLEDGE



* Nội dung chương trình


• Gõ đúng và khơng để sót dấu nháy đơn, dấu chấm phẩy và dấu chấm.
• Nhấn <b>ENTER </b>để xuống dịng mới.


• Nhấn phím <b>DELETE </b>hoặc <b>BACKSPACE </b>để xóa.


• <b>uses crt </b>: khai báo thư viện <b>crt</b>.


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

LƯU CHƯƠNG TRÌNH



LƯU CHƯƠNG TRÌNH


Nhập tên chương trình


<b>Click chọn </b>


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

DỊCH CHƯƠNG TRÌNH


DỊCH CHƯƠNG TRÌNH
* Nhấn tổ hợp phím <b>ALT+F9</b>


* Hoặc nhấn tổ hợp phím <b>ALT+C, </b>chọn lệnh <b>Compile</b>


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

CHẠY CHƯƠNG TRÌNH


CHẠY CHƯƠNG TRÌNH
* Nhấn tổ hợp phím <b>Crt+F9</b>


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

EXERCISE 3



EXERCISE 3



<i>Chỉnh sửa chương trình và nhận </i>
<i>biết một số lỡi. Em hãy thực hiện </i>


<i>các nội dung sau:</i>


• Xóa lệnh <b>begin</b>


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

* Xóa dịng lệnh <b>begin</b>



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

MEMORIZE



MEMORIZE



• Lệnh

<b>writeln </b>

in thơng tin ra màn hình và


đưa con trỏ xuống đầu dịng tiếp theo.



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

DẶN DÒ



DẶN DÒ



1. Đọc phần đọc thêm _ trang 19 _ sách


giáo khoa .



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

<b>Bài thực hành</b>



<b>Bài thực hành 2 </b>



Thời gian 1 tiết


<b>VIẾT CHƯƠNG TRÌNH ĐỂ </b>



<b>VIẾT CHƯƠNG TRÌNH ĐỂ </b>



<b>TÍNH TỐN</b>



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

EXERCISE 1A



EXERCISE 1A




<i>Viết các biểu thức toán học sau </i>
<i>đây dưới dạng biểu thức trong </i>


<i>Pascal</i>

12


30



-15x4


1


5


18






1


3


5


10




3

1



2


10





2




3

1



2


10







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

EXERCISE 1B



EXERCISE 1B



<i>Quan sát hình , hãy thực hiện các </i>
<i>cơng việc sau:</i>


Thực hiện:


1. Khởi động Turbo Pascal và gõ chương trình sau để tính các biểu
thức như trong hình.


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

EXERCISE 2



EXERCISE 2



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

Thực hiện:



1. Mở file mới với tên <b>CT3.pas</b>


2. Gõ chương trình như theo hình.


3. Dịch và chạy chương trình. Quan sát các kết quả nhận được và
cho nhận xét về các kết quả đó.


4. Thêm các câu lệnh <b>delay(5000) </b>vào sau mỗi câu lệnh <b>writeln </b>trong
chương trình trên. Dịch và chạy chương trình. Quan sát chương
trình tạm dừng 5 giây sau khi in từng kết quả trên màn hình.


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

EXERCISE 3



EXERCISE 3



<i>Quan sát hình , hãy thực hiện các </i>
<i>công việc sau:</i>


Thực hiện:


1. Mở file <b>CT2.pas</b>


2. Sửa ba lệnh cuối trước từ khóa end thành như hình.
3. Dịch và chạy lại chương trình.


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

MEMORIZE



MEMORIZE



<b>Delay(x) </b>

tạm ngừng chương trình trong vịng x phần




nghìn giây, sau đó tự động tiếp tục chạy.



<b>Read </b>

hoặc

<b> Readln </b>

tạm ngừng chương trình cho đến



khi người dùng nhấn phím

<b>Enter.</b>



<sub>Câu lệnh </sub>

<b><sub>writeln(<giá trị thực>:n:m) </sub></b>

<sub>được dùng để </sub>


điều khiển cách in các số thực trên màn hình, trong đó



<b>giá trị thực </b>

là số hay biểu thức số thực;

<b>n </b>

là số tự



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

DẶN DÒ



DẶN DÒ



1. Đọc phần đọc thêm _ trang 19 _ sách


giáo khoa .



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

<b>Bài thực hành</b>



<b>Bài thực hành 3 </b>



Thời gian 2 tiết


<b>KHAI BÁO </b>



<b>KHAI BÁO </b>



<b>VÀ SỬ DỤNG BIẾN</b>




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

EXERCISE 1



EXERCISE 1



<i>Một cửa hàng cung cấp dịch vụ bán hàng </i>
<i>thanh toán tại nhà. Khách hàng chỉ cần </i>
<i>đăng kí số lượng mặt hàng cần mua, nhân </i>


<i>viên của hàng sẽ trả hàng và nhận tiến </i>
<i>thanh toán tại nhà khách hàng. Ngồi trị </i>


<i>giá hàng hóa, khách hàng cịn phải trả </i>
<i>thêm phí dịch vụ. Hãy viết chương trình </i>
<i>Pascal để tính tiền thanh tốn trong trường </i>


<i>hợp khách hàng chỉ mua một mặt hàng </i>
<i>duy nhất.</i>


Công thức gợi ý


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

Thực hiện:


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

Thực hiện:


1. Lưu chương trình với tên <b>TINHTIEN.PAS.</b>


2. Dịch và chỉnh sửa các lỗi gõ, nếu có.


3. Chạy chương trình với các bộ dữ liệu <i>(đơn giá và số lượng) </i>như


sau (1000, 20), (3500, 200), (18500, 123). Kiểm tra tính đúng các
kết quả in ra.


</div>

<!--links-->

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

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