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

bµi 5 ng«n ng÷ lëp tr×nh kiểm tra bài cũ hãy mô tả thuật toán sau bằng sơ đồ khối cho n và dãy số a1 an hãy cho biết có bao nhiêu số hạng trong dãy có giá trị bằng 0 input n và dãy số a1 an out

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

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

<b>Kiểm tra bài cũ</b>



<b>Kiểm tra bài cũ</b>



<sub>Hãy mơ tả thuật tốn sau bằng sơ đồ khối</sub>

<sub>Hãy mơ tả thuật tốn sau bằng sơ đồ khối</sub>





Cho N và dãy số a

Cho N và dãy số a

1<sub>1</sub>

, …, a

, …, a

NN

, Hãy cho biết có bao

, Hãy cho biết có bao



nhiêu số hạng trong dãy có giá trị bằng 0.



nhiêu số hạng trong dãy có giá trị bằng 0.


Input: N và dãy số a

<sub>Input: N và dãy số a</sub>

<sub>1</sub><sub>1</sub>

, , a

<sub>, , a</sub>

<sub>N</sub><sub>N</sub>


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

<b>Đ</b>
<b>S</b>


<b>Đ</b>
<b>S</b>


<b>Nhập N và a<sub>1</sub>,,a<sub>N</sub></b>


<b>i  1; Dem 0</b>
<b>i > N</b>


<b>a<sub>i</sub>=0</b>


<b>Dem Dem+1</b>


<b>i  i + 1</b>



<b>Đ a ra Dem, kết thúc</b>


<b> B1: Nhập N và d·y a<sub>1</sub>,</b>…<b>,a<sub>N</sub>;</b>


<b> B2: i  1; Dem  0;</b>


<b>B3: NÕu i > N thì đ a ra số </b>
<b>Dem rồi kÕt thóc;</b>


<b>B4 :</b>


<b> 4.1: NÕu a<sub>i</sub> >0 th× DemDem+1;</b>
<b>4.2: i  i + 1 råi quay l¹i B3.</b>


<b>Cách 2: Sơ khi</b>



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

<b>Đ</b>
<b>S</b>


<b>Đ</b>
<b>S</b>


<b>Nhập N và a<sub>1</sub>,,a<sub>N</sub></b>


<b>i 1; Dem 0</b>
<b>i > N</b>


<b>a<sub>i </sub>= 0</b>



<b>Dem Dem+1</b>
<b>i  i + 1</b>


<b>§ a ra Dem, kÕt thóc</b>

<b>1</b>


<b>1</b>


<b>Dem</b>
<b>Dem</b>

i


i


<b>A</b>



<b>A</b>

<b>0</b>

<b>0</b>

<b>1</b>

<b>1</b>

<b>0</b>

<b>0</b>

<b>0</b>

<b>0</b>

<b>-6</b>

<b>-6</b>



<i><b>Víi N = 5</b></i>
<b>N=5 ; A [ 0 1 0 0 -6 ]</b>


<b>i  1; Dem  0</b>
<b>1 > 5</b>


<b>0 = 0</b>


<b>Dem 0+1</b>
<b>i  1 + 1</b>


<b>2</b>



<b>2</b>



<b>2 > 5</b>


<b>1 = 0</b>


<b>i  2+1</b>
<b>3 > 5</b>
<b>0 = 0</b>


<b>Dem  1+1</b>
<b>i  3+1</b>


<b>3</b>



<b>3</b>

<b>4</b>

<b>4</b>



<b>4 > 5</b>
<b>0 = 0</b>


<b>Dem  2+1</b>
<b>i  4+1</b>


<b>5</b>



<b>5</b>



<b>5 > 5</b>
<b>-6 = 0</b>


<b>i  5+1</b>


<b>6 > 5</b> <b>Dem = 3, kÕt thóc.</b>



<b>6</b>



<b>6</b>



<b>1</b>



<b>1</b>

<b>2</b>

<b>2</b>

<b>3</b>

<b>3</b>

<b>3</b>

<b>3</b>



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

<b>Bµi 5. Ngôn ngữ lập trình </b>


<b>Bài 5. Ngôn ngữ lập trình </b>



<b>Làm thế nào để máy </b>
<b>tính hiểu và thực hiện </b>


<b>đ ợc thuật toán?</b>


<b> Cn din t thuật tốn bằng một ngơn ngữ mà </b>
<b>máy tính hiểu và thực hiện đ ợc. Ngôn ng ú gi </b>


<b>là </b><i><b>ngôn ngữ lập trình.</b></i>


<i><b><sub>Có 3 loại ngôn ngữ lập trình:</sub></b></i>


ã <b><sub>Ngôn ngữ máy</sub></b>
ã <b><sub>Hợp ngữ</sub></b>


ã <b><sub>Ngôn ngữ lập trình bậc cao</sub></b>


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

<b>1. Ngôn ngữ máy</b>




<b>1. Ngôn ngữ máy</b>

<b>(</b>

<b>(</b>

<i><b>machine language</b></i>

<i><b>machine language</b></i>

<b>)</b>

<b>)</b>



<b>Vỡ vậy ngôn ngữ này không thích hợp với số đơng </b>


<b>ng ời lập trình.</b>



<b> </b>


<b> Mỗi loại MT đều có ngơn ngữ máy của nó. Đó là ngơn ngữ duy nhất để viết </b>
<b>ch ơng trình mà MT trực tip hiu v thc hin c.</b>


<b>Các lệnh đ ợc viết bằng ngôn ngữ máy ở dạng mà nhị phân hoặc ở dạng mà </b>
<b>hecxa</b>


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


<b>Ưu điểm</b> <b>Nh ợc điểmNh ợc điểm</b>


<b>Là ngôn ngữ duy nhất máy tính </b>
<b>có thể trùc tiÕp hiĨu vµ thùc </b>


<b>hiện, cho phép khai thác trit </b>
<b>cỏc c im phn cng ca </b>


<b>máy.</b>


<b>Ngôn ngữ phức tạp, phụ thuộc </b>
<b>nhiều vào phần cứng, ch ơng </b>
<b>trình viết mất nhiều công sức, </b>
<b>cồng kềnh và khó hiƯu chØnh.</b>



<b>Phân tích ưu </b>
<b>nhược, điểm của </b>


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

<b>2. Hợp ngữ</b>



<b>2. Hợp ngữ</b>

<b>(</b>

<b>(</b>

<i><b>assembly language</b></i>

<i><b>assembly language</b></i>

<b>)</b>

<b>)</b>



<b>- L ngôn ngữ kết hợp ngôn ngữ máy với ngôn ngữ tự </b>
<b>nhiên của con ng ời (tiếng Anh) để th hin cỏc lnh.</b>


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


<b>Ưu điểm</b> <b>Nh ợc điểmNh ợc ®iĨm</b>


<b>Khơng cịn phụ thuộc nhiều vào </b>
<b>phần cứng của máy tính. Ngơn </b>
<b>ngữ đã gần hơn với tự nhiên.</b>
<b>Thích hợp cho những nhà lập </b>
<b>trình chun nghiệp.</b>


<b>Ngơn ngữ vẫn cịn phức tạp. </b>
<b>Vẫn ch a phù hợp với phần </b>
<b>đông những ng ời lập trình.</b>


<b>MT kh«ng thĨ hiĨu, thùc hiƯn </b>
<b>trùc tiÕp CT.</b>


<b>- Hợp ngữ bao gồm tên các câu lệnh và các quy tắc viết </b>
<b>các câu lệnh để máy tính hiểu đ ợc. </b>



<b>- Gåm hai phÇn: </b>


<b> + phần đầu: là tên mã lệnh chỉ phép toán cần thực hiện.</b>
<b> + phần sau: là phần địa chỉ cho biết địa chỉ chứa tốn </b>
<b>hạng của phép tốn đó.</b>


<b>Phân tích ưu </b>
<b>nhược, điểm của </b>


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

<b> Ví dụ: Ch ơng trình tính e = (a+b)*(c+d)</b>
<b>input a;</b>
<b>input b;</b>
<b>input c;</b>
<b>input d;</b>
<b>load a;</b>
<b>add b;</b>
<b>move e;</b>
<b>load c; </b>
<b>add d;</b>
<b>mult e;</b>
<b>move e;</b>
<b>print e;</b>
<b>halt;</b>
<b>a;</b>
<b>b;</b>
<b>c;</b>
<b>d;</b>
<b>e;</b>
<b>end</b>



<b>- Dịch ch ơng trình hợp ngữ</b>


<b> sang ngôn ngữ máy</b>


<b>- Thc hin ch ng trỡnh ó dịch</b>


<b>-VÝ dô:</b>


<b>Load a; 0000 00100000</b>
<b>a: ; 00100000</b>


<b>b: ; 00100010</b>


<b> </b>

<b>Để ch ơng trình viết bằng hợp </b>



<b>ngữ thực hiện đ ợc trên máy tính, </b>


<b>nó cần đ ợc dịch ra ngôn ngữ máy </b>


<b>bằng ch ơng trình hợp dịch.</b>



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

<b>3. Ngôn ngữ bậc cao </b>



<b>3. Ngôn ng÷ bËc cao </b>

<i><b>(High level language)</b></i>

<i><b>(High level language)</b></i>



<b> - Là ngôn ngữ đ ợc tạo ra và phát triển nhằm phản ánh </b>
<b>cách thức ng ời lập trình nghĩ và làm. Ngôn ngữ bậc cao rất </b>
<b>gần với ngôn ngữ con ng êi (T.Anh), nh ng chÝnh xác nh </b>
<b>ngôn ngữ Toán học.</b>


<b> - Là ngôn ngữ ít phụ thuộc vào loại máy, ch ơng trình viết </b>
<b>ngắn gọn, dễ hiểu, dễ nâng cấp.</b>



<b>Một số ngôn ngữ bậc cao: </b>


<b>+ Fortran (FORmular TRANslator): của hãng IBM, ra đời năm 1954</b>
<b>+ COBOL(1959), Algol(1960), Basic</b>


<b>+ Turbo Pascal, Visual Basic, Java, Delphi, C, C++<sub>...</sub></b>




 <i><b>Vì vậy ngơn ngữ này thích hợp với phần đông ng ời lập </b><b>Vì vậy ngơn ngữ này thích hợp với phần đơng ng ời lập </b></i>
<i><b>trình.</b></i>


<i><b>tr×nh.</b></i>


<b>Vì sao ngơn ngữ </b>
<b>lp trỡnh bc cao </b>


<b>ra i?</b>


<b>- Để máy tính có thể thực hiện đ ợc ch ơng trình viết bằng </b>
<b>ngôn ngữ lập trình bậc cao thì cũng cần một ch ơng trình </b>
<b>chuyển từ ngôn ngữ lập trình bậc cao sang ngôn ngữ </b>


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

Câu hỏi thảo luận:



Câu hỏi thảo luận:



Câu 1: Em hiểu ngơn ngữ lập trình là gì ?




Câu 1: Em hiểu ngơn ngữ lập trình là gì ?



Câu 2: Hợp dịch và chương trình dịch dùng



Câu 2: Hợp dịch và chương trình dịch dùng



để làm gì ?



để làm gì ?



Câu 3: Vì sao phải phát triển các ngơn ngữ



Câu 3: Vì sao phải phát triển các ngơn ngữ



lập trình bậc cao ?



lập trình bậc cao ?



Đó chính là ph ơng thức để con ng ời diễn đạt


thuật tốn cho máy tính hiểu và thực hiện đ ợc.



Hợp dịch và ch ơng trình dịch dùng để dịch ch ơng trình


đ ợc viết bằng hợp ngữ, NNLT bậc cao thnh



ch ơng trình có thể thực hiện đ ợc trên máy.



NNLT bc cao c phỏt trin nhm tho mãn nhu cầu


của phần đông đa số những ng ời dùng máy tính



</div>


<!--links-->

×