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

slide 1 chương 3 lập trình cơ bản dùng ngôn ngữ pascal minh họa chương 3 lập trình cơ bản 3 1 thuật toán 3 2 giới thiệu ngôn ngữ lập trình pascal 3 3 các thành phần của ngôn ngữ 3 4 các kiểu dữ liệu

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 (346.93 KB, 50 trang )

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

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



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



<b>LẬP TRÌNH CƠ BẢN</b>



<b>LẬP TRÌNH CƠ BẢN</b>



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

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



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



<b>LẬP TRÌNH CƠ BẢN</b>



<b>LẬP TRÌNH CƠ BẢN</b>


3.1. Thuật tốn



3.2. Giới thiệu ngơn ngữ lập trình Pascal


3.3. Các thành phần của ngơn ngữ



3.4. Các kiểu dữ liệu cơ bản



3.5. Các cấu trúc điều khiển trong Pascal


3.8. Chương trình con



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

3.2. Giới thiệu ngơn ngữ lập trình Pascal



3.2. Giới thiệu ngơn ngữ lập trình Pascal



3.2.1. Đặc điểm của ngơn ngữ Pascal




Pascal là ngơn ngữ lập trình có ngữ pháp, ngữ



nghĩa đơn giản có tính logic, cấu trúc chương trình


rõ ràng, dễ hiểu, dễ sửa chữa cải tiến



Pascal là ngôn ngữ đầu tiên đưa ra và thể hiện



được khái niệm

<b>lập trình có cấu trúc.</b>



Pascal là một ngôn ngữ không chỉ chặt chẽ về mặt



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

3.2. Giới thiệu ngôn ngữ lập trình Pascal



3.2. Giới thiệu ngơn ngữ lập trình Pascal



3.2.2. Mơi trường TP



<b>TURBO PASCAL</b>

là sản phẩm của hãng Borland



được dùng rất phổ biến vì: tốc độ nhanh, các cải


tiến so với Pascal chẩn phù hợp với yêu cầu người


dùng.



Các tập tin chính của TP



Turbo.exe: Chương trình dịch và soạn thảo, liên kết CT
Turbo.tpl: Tập tin thư viện lưu các đơn vị chuẩn để chạy


Turbo.exe



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

3.2. Giới thiệu ngơn ngữ lập trình Pascal



3.2. Giới thiệu ngơn ngữ lập trình Pascal



Khởi động TP



Chạy tập tin Tubor.exe hoặc BP.exe


Các phím chức năng chính của TP



<b>F2</b>: Lưu chương trình trong khi soạn thảo.
<b>F3</b>: Tạo một file mới hoặc mở một file cũ.
<b>F9</b>: Dịch thử chương trình để kiểm tra lỗi.
<b>Ctrl - F9</b>: Chạy chương trình.


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

3.2. Giới thiệu ngơn ngữ lập trình Pascal



3.2. Giới thiệu ngơn ngữ lập trình Pascal



3.2.3 Các vấn đề cơ bản



Các bước cơ bản khi viết chương trình



B1: Soạn thảo chương trình


B2: Dịch và kết nối chương trình
Biên dịch (Compiler)


Thông dịch (Interpreter)



B3: Chạy thử và sửa lỗi chương trình


Cấu trúc chương trình Pascal đơn giản nhất phải



có hai từ khoá

Begin

End

như sau:



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

Begin


Dùng ch ơng trình
soạn thảo văn bản


(EDITOR)
vit v sa li
ch ng trỡnh


Gọi ch ơng trình dịch
COMPILER
và ch ơng trình kết nối LINKER


Có lỗi cú pháp


Chạy thử ch ơng trình
vừa đ ợc dịch xong


Cú li thut gii ?
Cú mun sa lại cho đẹp ?


End






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

3.2. Giới thiệu ngôn ngữ lập trình Pascal



3.2. Giới thiệu ngơn ngữ lập trình Pascal



Phương pháp khai báo và tổ chức cấu trúc một



chương trình Pascal



<i>Program </i>

ProgName;



<i>Uses </i>

UnitName1, UnitName2, UnitNameN;



<i>Label </i>

LabelName1, LabelName2, LabelNameN;



<i>Const</i>

Const1 = n, Const2 = m, ConstN = k;



<i>Type </i>

Type1 = AnyType;



<i>Var </i>

Var1, Var2, VarN : Type;



<i>Begin </i>



{ Các lệnh của chương trình }



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

3.2. Giới thiệu ngơn ngữ lập trình Pascal



3.2. Giới thiệu ngơn ngữ lập trình Pascal


<b>Program</b>

<i>:</i>

Từ khố khai báo tên chương trình




 <b>ProgName: </b>Tên chương trình, tn theo quy tắc
Khơng có ký tự trống xen giữa


Không đặt số ở ký tự đầu tiên.


Trong phần tên không chứa các ký tự đặt biệt như: ‘!’, ‘@’,


<i>‘#’, ‘$’, ‘%’, ‘^’,‘&’, ‘* ’, ‘(‘, ‘)’, ‘-‘, ‘+’, ‘/’, ‘\’, ‘.’, ’,’,.v.v.</i>


Kết thúc phải có dấu ‘<b>;</b>’.
Phần này có thể khơng có.


 Ví dụ: Program TimUSCLN;


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

3.2. Giới thiệu ngơn ngữ lập trình Pascal



3.2. Giới thiệu ngơn ngữ lập trình Pascal



<b>Uses:</b>

Từ khố khai báo việc sử dụng

Unit (thư



viện)

cho chương trình.



Ex: Uses CRT, GRAPH;


<b>Label</b>

:

Khai báo các nhãn cho chương trình



Ex: Label TH1, N2;


<b>Const</b>

:

Khai báo các hằng số sử dụng trong




chương trình



Ex: Const k = 5, Max = 500, Ten = ‘Nam’;


<b>Type</b>

:

Khai báo các kiểu hằng dữ liệu sử dụng



cho chương trình



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

3.2. Giới thiệu ngơn ngữ lập trình Pascal



3.2. Giới thiệu ngơn ngữ lập trình Pascal



<b>Var:</b>

Từ khoá dùng để khai báo các biến số được



sử dụng trong chương trình.



Ex: Var HoDem, Ten : String;
N : Integer ;


Chú ý:



Thứ tự các khai báo trên là điều bắt buộc


Trong chương trình Pascal, để tạo lời chú thích,


ta sử dụng cặp dấu {...} hoặc (*...*) lồng các
câu chú thích vào bên trong nó.


Trên một dịng có thể viết một hoặc nhiều câu



lệnh.


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

3.2. Giới thiệu ngôn ngữ lập trình Pascal



3.2. Giới thiệu ngơn ngữ lập trình Pascal



Program DonXinPhep;
Uses CRT;


Begin


ClrScr;


Writeln ( ‘ ********************************** ’ );
Writeln ( ‘ * Cong hoa Xa hoi Chu nghia Viet Nam * ‘ );
Writeln ( ‘ * Doc Lap - Tu Do - Hanh Phuc * ‘ );
Writeln ( ‘ * DON XIN PHEP NGHI HOC * ‘ );
Writeln ( ‘ ********************************** ’ );
Writeln ( ‘... ‘ );


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

3.3. Các thành phần của ngôn n



3.3. Các thành phần của ngôn n

gữ

<sub>gữ</sub>


3.3.1 Các ký hiệu và từ khoá



Tập ký tự cơ bản



Các chữ cái la tinh: A, B, C,...,Z, a, b, c,..., z
Các chữ số :0, 1, 2, 3, 4, 5, 6, 7, 8, 9



Các ký hiệu đặc biệt: +, -, *, /, =, <, {, }, [, ], %, $, &,


#, ...


Ký tự gạch nối ‘_’ và ký tự trắng ‘ ‘ ( space)

Từ khóa (key word)



Các từ khoá là các từ dùng để khai báo, đặt tên cho đối


tượng trong Pascal, khi ta đặt tên cho đối tượng nào đó,
khơng được đặt trùng tên với các từ khoá


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

3.3.1



3.3.1

Các ký hiệu và từ khoá

Các ký hiệu và từ khoá



Tên – định danh (Identfier)



Định danh là tên các biến, hằng, hàm, thủ tục, ...



được sử dụng trong chương trình, khơng phân biệt


chữ hoa hay thường, khơng trùng với từ khóa, độ


dài lớn nhất 127 ký tự.



Ex1: Delta, X1, X2, i, j , Chuc_vu, Luong, So_luong,
Don_gia.


Ex2: 3ABC, In, Chu vi, Ma-so <b>???</b>



Trong Pascal có một số tên đã được đặt sẵn gọi là



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

3.3. Các thành phần của ngôn n



3.3. Các thành phần của ngôn n

gữ

<sub>gữ</sub>



3.3.2 Biến hằng và biểu thức



<b>Hằng số</b>



Hằng số là các giá trị không thay đổi trong quá trình chạy
chương trình


Khai báo hằng:
Const


Tên_hằng = giá_trị_hằng;


Ex: Const Pi = 3.1416, Max = 500;
<b>Chú ý:</b>


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

3.3.2 Biến hằng và biểu thức


3.3.2 Biến hằng và biểu thức



<b>Biến số:</b>



 Là đại lượng mà giá trị của nó có thể thay đổi trong q
trình thực hiện chương trình.


 Biến là tên của một vùng bộ nhớ lưu trữ dữ liệu.



 Biến được truy xuất trong chương trình thơng qua tên biến.
 Biến là một cấu trúc ghi nhớ dữ liệu vì vậy phải được quy


định theo một kiểu dữ liệu nào đó.
 Khai báo:


<b>VAR Tên_biến_1, Tên_biến_2, Tên_biến_n : </b>


<b>Kiểu_dữ_liệu_của_biến</b>;


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

3.3.2 Biến hằng và biểu thức


3.3.2 Biến hằng và biểu thức



<b>Biểu thức</b>



Một biểu thức được tạo bởi các

toán tử (phép toán)



và các

toán hạng

dùng để thể hiện một cơng thức



tốn học.

Tốn hạng

có thể là

hằng, hàm

hoặc



biến

.



Ex: Sau khi khai có báo:



Const Max = 120;
Var x: Integer;


Ta có biểu thức sau: 5 + Max * Exp(x);



Trong đó:

+

*

là hai toán tử, các hằng số

5

,

Max



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

3.3.2 Biến hằng và biểu thức


3.3.2 Biến hằng và biểu thức



Thứ tự thực hiện các phép toán



Ex: (4+5)*2 div 7 + sin(pi/6) = 9 * 2 div 7 + 0.5


= 18 div 7 + 0.5 = 2 + 0.5 = 2.5
<b>Cấp ưu tiên</b> <b>Phép toán</b>


1 Biểu thức trong ngoặc đơn (...)


2 Các hàm


3 NOT, - (phép lấy dấu âm)
4 * , /, DIV, MOD, AND


5 Shl, Shr


6 +, - (trừ), OR, XOR


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

3.3.2 Biến hằng và biểu thức



3.3.2 Biến hằng và biểu thức



Các phép toán so sánh




Ex: 5*2=10 :TRUE



6 div 2 > 10 div 3 : FALSE.



<b>Ký hiệu</b> <b>Ý nghĩa</b> <b>Ví dụ</b>


= bằng nhau x=y


<> khác nhau x<>y


< nhỏ hơn x<y


<= nhỏ hơn hoặc bằng x<=y


> lớn hơn x>y


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

3.3. Các thành phần của ngôn n



3.3. Các thành phần của ngôn n

gữ

<sub>gữ</sub>



3.3.3. Kiểu dữ liệu cơ bản



Một kiểu dữ liệu được xác định bởi 2 yếu tố



Một tập hợp các giá trị mà một biến thuộc kiểu đó có thể
nhận đc.


Định nghĩa các phép tốn trên tập giá trị đó


Các kiểu dữ liệu trong Pascal chia làm 2 loại




Các kiểu dữ liệu <b>đơn giản </b>: kiểu nguyên, kiểu thực, kiểu
lôgic, kiểu ký tự, kiểu liệt kê và kiểu đoạn con.


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

3.3.3. Kiểu dữ liệu cơ bản



3.3.3. Kiểu dữ liệu cơ bản



<b>Kiểu logic (Boolean)</b>



Có hai giá trị True (1), False (0)



Các phép toán: AND, OR, XOR, NOT



<b>X</b> <b>Y</b> <b>A AND Y</b> <b>X OR Y</b> <b>X XOR Y</b>
<b>FALSE</b> <b>FALSE</b> <b>FALSE</b> <b>FALSE</b> <b>FALSE</b>
<b>FALSE</b> <b>TRUE</b> <b>FALSE</b> <b>TRUE</b> <b>TRUE</b>


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

Tên kiểu Phạm vi giá giá trị Số byte <sub>Ví dụ</sub>


ShortInt -128 .. 127 1 <sub>112, -34</sub>


Byte 0..255 1 <sub>23, 255</sub>


Integer -32768 .. 32767 2 <sub>-32767, 432</sub>


Word 0 .. 65535 2 <sub>672</sub>


LongInt -2147483648 ..



2147483647


4 <sub>2222222222</sub>


3.3.3. Kiểu dữ liệu cơ bản



3.3.3. Kiểu dữ liệu cơ bản



Kiểu nguyên



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

Kiểu nguyên


Kiểu nguyên



<b>Các phép toán số học trên số nguyên</b>



Phép cộng và trừ : ký hiệu + và



-

Phép nhân : ký hiệu bằng dấu *



Ex: 4*2 = 8


Phép chia : ký hiệu bằng dấu /



 Ex: 6/4 = 1.5.


Phép chia lấy phần nguyên : ký hiệu

<b>DIV</b>



21 DIV 6 = 3.


Phép chia lấy phần dư: ký hiệu

<b>MOD</b>




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

Kiểu nguyên


Kiểu nguyên



Chú ý:



Chú ý: kết quả phép chia phải là kiểu thực



Các số nguyên hệ thập lục phân (hệ 16) được



biểu diễn bằng cách viết thêm dấu $ ở trước



 Ex : $A , $FF và $10 (10, 255, 16)


Số nguyên N là chẵn nếu N mod 2 = 0, là lẻ



nếu N mod 2 <> 0. (dấu <>: Khác).



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

Kiểu nguyên


Kiểu nguyên



Một số phép toán và hàm với số nguyên



<b>N SHR</b>

k :dịch phải k bit.



120 shr 4 = 7 (120 shr 4 = 120 div 24 = 120 div 16 = 7)


<b>N SHL</b>

k : dịch trái k bit.



120 shl 3 = 960 (120 shl 3 = 120 * 23 = 120 * 8 = 960)



Hàm

<b>PRED(k)</b>

:đối số k nguyên, trả về số nguyên



đứng ngay trước k, tức là k-1 .



Pred (5) = 4, Pred (-6) = -7.


Hàm

<b>SUCC(k)</b>

: đối số k nguyên, trả về số nguyên



đứng ngay sau k, tức là k+1 .



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

Kiểu nguyên


Kiểu nguyên



Hàm

<b>ODD(k)</b>

: đối số k nguyên, trả về giá trị



logic là TRUE nếu k lẻ, là FALSE nếu k chẵn.



Odd(15) = True , Odd(4) = False.


Thủ tục

<b>INC(k)</b>

: tăng k lên một đơn vị



Inc(5) = 6;


Thủ tục

<b>DEC(k)</b>

: giảm k đi một đơn vị



Dec(7) = 6;


Ví dụ:




Bài toán đổi tiền


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

3.3.3. Kiểu dữ liệu cơ bản



3.3.3. Kiểu dữ liệu cơ bản



Kiểu số thực



Khai báo: Var a, b: Real;



<b>Tên kiểu</b> <b>Phạm vi giá trị </b> <b>Số byte</b>


Real 2.9*10-39 .. 1.7*1038 6


Single 1.5*10-45 .. 3.4*1038 4


Double 5.0*10-324 .. 1.7*10308 8


Extended 3.4*10-4932 .. 1.1*104932 10


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

Số thực



Số thực



Có 2 cách viết



Cách 1: Viết bình thường, dấu phẩy thập phân được thay
bằng dấu chấm thập phân (dấu chấm thập phân cố định)


 Ex: 45.0 -256.45 122.08



Cách 2: Viết số dưới dạng khoa học, gồm 2 phần: trước E
là phần định trị, sau E phần bậc ( dấu chấm thập phân di
động)


 1.257E+01 (có giá trị = 1.257*101 = 12.57 )


 1257.0E-02 (có giá trị = 1257*10-2 = 12.57 )


Các phép tốn trên số thực



Khơng sử dụng phép MOD, DIV và phép toán logic


<b>Chú ý: Một số hạng của phép tốn là số thực thì kết quả </b>


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

Số thực



Số thực



<b>Các hàm có đối số nguyên hoặc thực</b>



Hàm <b>ABS(x)</b>: tính trị tuyệt đối của x :|x|. Kiểu dữ liệu
của kết quả cùng kiểu với đối số.


Abs(5 - 8) = 3


Hàm <b>SQR(x)</b>: tính bình phương của x: x2 . Kiểu dữ liệu


của kết quả cùng kiểu với đối số.
Sqr(4.0) = 16.0



 Sqr(7 div 3) = 4


 Các hàm dưới đây giá trị trả về luôn luôn là kiểu thực:
Hàm <b>SQRT(x):</b> tính , (x > 0)


Hàm <b>EXP(x) :</b> tính en


Hàm <b>LN(x):</b> tính lnx, (x > 0)


<i>xx</i>


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

Số thực



Số thực



 Các hàm <b>SIN(x), COS(x), và ARCTAN(x):</b> tính sinx, cosx
và arctgx.


 Hàm <b>INT(x) :</b> cho số thực bằng phần nguyên của x.
 Int(12.55) = 12.0


 Hàm <b>FRAC(x) :</b> cho số thực bằng phần lẻ của X
 Frac(12.55) = 0.55


 Hàm <b>TRUNC(x):</b> cho số nguyên là phần nguyên của x
Trunc(12.55) = 12


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

3.3.3. Kiểu dữ liệu cơ bản




3.3.3. Kiểu dữ liệu cơ bản



Kiểu ký tự (Char)



<b>KT</b>


<b>ASCII</b> <b>KT</b> <b>ASCII</b> <b>KT</b> <b><sub>ASCII</sub></b> <b>KT</b> <b><sub>ASCI</sub></b>


<b>I</b>


<b>KT</b>


<b>ASCII</b>


<b>32</b> <b>A</b> <b>65</b> <b>a</b> <b>97</b> <b>N</b> <b>78</b> <b>n</b> <b>110</b>


<b>0</b> <b>48</b> <b>B</b> <b>66</b> <b>b</b> <b>98</b> <b>O</b> <b>79</b> <b>o</b> <b>111</b>


<b>1</b> <b>49</b> <b>C</b> <b>67</b> <b>c</b> <b>99</b> <b>P</b> <b>80</b> <b>p</b> <b>112</b>


<b>2</b> <b>50</b> <b>D</b> <b>68</b> <b>d</b> <b>100</b> <b>Q</b> <b>81</b> <b>q</b> <b>113</b>


<b>3</b> <b>51</b> <b>E</b> <b>69</b> <b>f</b> <b>101</b> <b>R</b> <b>82</b> <b>r</b> <b>114</b>


<b>4</b> <b>52</b> <b>F</b> <b>70</b> <b>e</b> <b>102</b> <b>S</b> <b>83</b> <b>s</b> <b>115</b>


<b>5</b> <b>53</b> <b>G</b> <b>71</b> <b>g</b> <b>103</b> <b>T</b> <b>84</b> <b>t</b> <b>116</b>


<b>6</b> <b>54</b> <b>H</b> <b>72</b> <b>h</b> <b>104</b> <b>U</b> <b>85</b> <b>u</b> <b>117</b>



<b>7</b> <b>55</b> <b>I</b> <b>73</b> <b>i</b> <b>105</b> <b>V</b> <b>86</b> <b>v</b> <b>118</b>


<b>8</b> <b>56</b> <b>J</b> <b>74</b> <b>j</b> <b>106</b> <b>W</b> <b>87</b> <b>w</b> <b>119</b>


<b>9</b> <b>57</b> <b>K</b> <b>75</b> <b>k</b> <b>107</b> <b>X</b> <b>88</b> <b>x</b> <b>120</b>


<b>L</b> <b>76</b> <b>l</b> <b>108</b> <b>Y</b> <b>89</b> <b>y</b> <b>121</b>


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

Kiểu Char



Kiểu Char



<b>Khai báo</b>



Var ch, ch1: Char


<b>Các hàm liên quan đến ký tự </b>



Hàm <b>PRED(ch)</b>: cho ký tự đứng ngay trước ký tự ch
trong bảng mã


Pred(‘B’)=‘A’


Hàm <b>SUCC(ch): </b>cho ký tự đứng ngay sau ký tự ch trong
bảng mã.


Succ(‘A’)=‘B’.


Hàm <b>UpCase(ch):</b> đổi ký tự ch thành chữ hoa.



 Upcase( ‘a’ ) = ‘A’, Upcase( ‘b’ ) = ‘B’, Upcase( ‘A’ ) = ‘A’ .
Hàm <b>ORD(ch)</b> : cho mã của ký tự ch.


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

Kiểu Char



Kiểu Char



Hàm

<b>CHR(k) :</b>

đối số k nguyên, 0

<sub></sub>

k

<sub></sub>

255, cho



ký tự có mã bằng k



 Chr (65)= ‘A’ ,


 Chr(32) là ký tự trắng.


Có một số ký tự khơng có trên bàn phím, để viết



chúng lên màn hình ta phải dùng lệnh Write và hàm


CHR



Lệnh Writeln(Chr(201)) ; in ra ký tự : +


 Ký tự có mã là 7 gọi là ký tự BEL (chng), và lệnh:
Write( Chr(7) ) ; hay Write(#7) ; {có tác dụng phát ra một tiếng


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

Kiểu Char



Kiểu Char



<b>Ví dụ: </b>

Nhập một ký tự, nếu là chữ hoa thì đổi ra chữ




thường, nếu là chữ thường thì đổi ra chữ hoa.



 <b>PROGRAM VIDU;</b>


 { Ðổi chữ hoa ra thường và ngược lại}
 <b>Var ch, ch1 : Char;</b>


 <b>Begin</b>


 <b>Write(‘ Nhập một ký tự :’); Readln(ch);</b>


 <b>If (ch>=‘A’) and ( ch<=‘Z’) then ch1:=Chr( Ord (ch)</b>


<b>+32) </b>


 <b>Else ch1:= Upcase(ch);</b>


 <b>Writeln(ch, ‘ đã đổi ra: ‘ , ch1);</b>
 <b>Readln</b>


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

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



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



<b>LẬP TRÌNH CƠ BẢN</b>



<b>LẬP TRÌNH CƠ BẢN</b>


3.4 Lệnh và cấu tạo lệnh




3.4.1 Phân loại câu lệnh



 Câu lệnh là một dãy các ký tự cơ bản được xây dựng


theo một quy tắc nhất định (gọi là cú pháp) nhằm chỉ thị
cho máy thực hiện một công việc xác định. Các câu lệnh
được chia ra hai loại:


Câu lệnh đơn giản: Lệnh gán, lời gọi thủ tục


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

3.4 Lệnh và cấu tạo lệnh



3.4 Lệnh và cấu tạo lệnh



<b>Lệnh gán </b>



Cú pháp:

<b>TênBiến := Biểuthức ;</b>



Ý nghĩa : Tính tốn biểu thức bên phải, rồi



lưu kết qủa tính được vào tên biến ở vế trái.



 Ví dụ, cho khai báo :


<b>Var</b> A, B : Real; K : Integer;


Lệnh: K := 10 ; B := K* K+5.5; ?
K:= 3.5 ; ?


 Chú ý:



Sự tương thích kiểu, 1 số ngun có thể gán cho 1 biến thực


nhưng ngược lại không đúng.


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

3.4 Lệnh và cấu tạo lệnh



3.4 Lệnh và cấu tạo lệnh



3.4.2

Nhập dữ liệu, thủ tục Readln



Nhập dữ liệu kiểu số



<b>Cú pháp: Readln(biến1, biến2, ..., biếnk);</b>


Trong đó biến1, biến2,..., biếnk đã được khai báo và có
kiểu dữ liệu là nguyên hay thực.


 Khi gặp lệnh này, chương trình tạm dừng, chờ ta gõ đủ
k số từ bàn phím và kết thúc bằng Enter, rồi gán lần


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

3.4 Lệnh và cấu tạo lệnh



3.4 Lệnh và cấu tạo lệnh



<b>Var</b>


<b> I, J: integer;</b>
<b> XX, ZZZ: Real;</b>
<b>Begin</b>



<b> Readln(I, XX, ZZZ, </b>
<b>J);</b>


<b> ...</b>
<b>End.</b>


<b>Begin</b>



<b> Readln(I);</b>


<b> Readln(XX);</b>


<b> Readln(ZZZ);</b>


<b> Readln(J);</b>



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

3.4 Lệnh và cấu tạo lệnh



3.4 Lệnh và cấu tạo lệnh



Nhập dữ liệu kiểu ký tự hay kiểu chuỗi



Cú pháp:

<b>Readln( biến );</b>



Chú ý:



Sự tương thích kiểu


Lệnh Readln; lệnh dừng màn hình để xem kết


quả



Kiểu logic khơng nhập được từ bàn phím


Lệnh <b>Read</b>, có cơng dụng như lệnh Readln,


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

3.4 Lệnh và cấu tạo lệnh



3.4 Lệnh và cấu tạo lệnh


 Ví dụ, cho khai báo :


 <b>Var</b>


 Ho_ten: String[18];
 Phai: String[3];


 Khoi_thi : Char;


 Muốn nhập dữ liệu ta phải dùng ba lệnh
 <b> Readln(Ho_ten);</b>


 <b> Readln(Phai);</b>


 <b> Readln(Khoi_thi);</b>
 Khi nhập, ta gõ:


 <b> Tran Van Thanh </b>
 <b> nam </b>


 <b> A </b>


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

3.4 Lệnh và cấu tạo lệnh




3.4 Lệnh và cấu tạo lệnh


Xuất dữ liệu, thủ tục Write và Writeln



<b>Cú pháp: Writeln( bt1, bt2 , ... , btk ); </b>



<b>Write( bt1, bt2 , ... , btk );</b>



bt1, bt2, ..., btk là các biểu thức cần phải in giá trị



lên màn hình, có thể là biến, hằng, hàm…



Các biểu thức được in liên tiếp theo thứ tự.



Sự khác nhau giữa lệnh Writeln và Write sau khi in



xong giá trị của các biểu thức:



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

3.4 Lệnh và cấu tạo lệnh


3.4 Lệnh và cấu tạo lệnh



Ví dụ:



<b>Writeln</b>

(‘

<i>Lập trình </i>

‘);

<b>Writeln</b>

(‘P

<i>ascal</i>

’);



Kết qủa trên màn hình sẽ hiện hai dịng :



<i> Lập trình </i>


<i> Pascal</i>




Nếu dùng lệnh:



<b>Write</b>

(‘

<i>Lập trình </i>

‘);

<b>Writeln</b>

(‘P

<i>ascal</i>

’);



thì kết qủa trên màn hình sẽ hiện ra chỉ một



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

3.4 Lệnh và cấu tạo lệnh


3.4 Lệnh và cấu tạo lệnh



<b>In không định dạng</b>



Ðối với các biểu thức kiểu

nguyên

, kiểu

ký tự

, kiểu



logic h

ay kiểu

chuỗi

, thì lệnh :



<b> Writeln( biểuthức ) ;</b>



sẽ in nguyên văn giá trị của biểu thức.



Ví dụ:



Lệnh Writen(‘ket qủa x=‘ , 4+15); sẽ in ra: ket qua



x=19



Lệnh Writeln(‘A’ , ‘=‘ , 2*3<5); sẽ in ra: A=FALSE vì



biểu thức 2*3< 5 có kết qủa là FALSE.



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

3.4 Lệnh và cấu tạo lệnh



3.4 Lệnh và cấu tạo lệnh



Ðối với các biểu thức kiểu số thực thì lệnh:



<b>Writeln( biểuthức );</b>



sẽ in giá trị của biểu thức ra dưới dạng dấu


chấm thập phân di động có cả thảy 17 ký



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

3.4 Lệnh và cấu tạo lệnh


3.4 Lệnh và cấu tạo lệnh



<b>In số thực có định dạng:</b>



<b> Writeln( biểuthức : n : k );</b>



n và k là các số tự nhiên, ấn định dùng n cột để in



giá trị của biểu thức, trong đó có k cột dành cho


phần thập phân.



Nếu số cần in có ít hơn n chữ số thì nó sẽ được in



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

3.4 Lệnh và cấu tạo lệnh


3.4 Lệnh và cấu tạo lệnh



Ví dụ:



Cho x, y là các biến kiểu thực và: x:=100/4;
y:=-123.4824;



Hai lệnh sau : Writeln(‘ x=‘, x:6:2);


Writeln(‘ y=‘, y:10:3); sẽ in lên màn hình:
 x= 25.00 ( trước số 2 có 1 ký tự trắng)


 y= -123.482 (trước dấu - có 2 ký tự trắng)


Nếu n nhỏ hơn chiều dài của số cần in thì số sẽ



được in ra với đầy đủ các chữ số trong phần


nguyên.



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

3.4 Lệnh và cấu tạo lệnh


3.4 Lệnh và cấu tạo lệnh



In kiểu nguyên, ký tự, chuỗi và lôgic có định dạng :



<b>Writeln(biểuthức : n);</b>



<b>Ví dụ</b>



 Lệnh Write(5+40:4); in ra: 45 (có 2 ký tự trắng trước số
45)


 Lệnh Write(5+40:1); in ra:45 (in nguyên văn giá trị 45)


 Lệnh Write(‘Pascal’ :9); in ra: Pascal (có 3 ký tự trắng trước
chữ Pascal)



 Lệnh Write(‘Pascal’ :2); in ra:Pascal (in nguyên văn)


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

3.4 Lệnh và cấu tạo lệnh


3.4 Lệnh và cấu tạo lệnh



<b>Chú ý</b>



 Nhóm ba lệnh: Write(x); Write(y); Write(j); chỉ có tác dụng như


một lệnh: Write(x,y,j); (writeln tương tự)


 Lệnh: <b>Writeln;</b> khơng in gì cả, chỉ đưa con trỏ xuống dòng dưới
 Muốn in dữ liệu ra máy in ta dùng lệnh Write hoặc Writeln với


tham số LST vào trước. Biến LST được khai báo trong thư viện


Printer.


 <b>Ví dụ:</b>


Uses Printer;


Begin


Writeln(Lst,’ Welcome to Turbo Pascal Language ! ‘ );
End.


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

3.4 Lệnh và cấu tạo lệnh


3.4 Lệnh và cấu tạo lệnh




<b>Ví dụ:</b>

Viết chương trình tính diện tích

<i>S</i>

của hình thang với


đáy dài

<i>a</i>

, đáy ngắn

<i>b</i>

, chiều cao

<i>h</i>

, được nhập từ bàn phím.



Program DienTichHinhThang;
Uses CRT;


Var a, b, h, s : Real;
Begin


ClrScr;


Write( ‘ Nhap gia tri cua a, b, h :‘ );
Readln(a, b, h);


S := (a + b) * h / 2;


Write( ‘ Dien tich S = ‘,S:1:5);
Readln;


</div>

<!--links-->

×