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

Giáo trình nhập môn tin học - Phần III Ngôn ngữ lập trình Pascal - 1

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

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

<b>TRƯỜNG ĐẠI HỌC XÂY DỰNG</b>


<b>KHOA CÔNG NGHỆ THƠNG TIN</b>


------


<b>GIÁO TRÌNH</b>



<b>MƠN H</b>

<b>ỌC:</b>

<b>NH</b>

<b>ẬP MƠN TIN HỌC</b>



<b>PHẦN III – NGƠN NGỮ LẬP TRÌNH PASCAL -1 </b>


<b>Giảng viên:ĐÀO TĂNG KIỆM</b>


<b>Bộ môn : TIN HỌC XÂY DỰNG</b>


<b>Hà nội 2011</b>


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

<b>Giáo trình Nhập mơn Tin học: Phần III – Ngơn ngữ lập trình Pascal- 1 GVC: Đào Tăng Kiệm</b>


<b>PHẦN 3 </b>


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


<b>Chương 1 CÁC KHÁI NIỆM CƠ BẢN</b>
<b>I. Ngơn ngữ lập trình Pascal: </b>


<b>1. Giới thiệu chung về ngơn ngữ lập trình: </b>


Từ trước tới nay đã có hàng nghìn ngơn ngữ lập trình khác nhau được thiết kế và sử dụng.
Hàng năm lại có nhiều ngơn ngữ mới ra đời. Các ngơn ngữđược dùng phổ biến có thể kể


đến : Ngôn gữ Ada, Angol, APL, Asembly Basic, C, C++,Cobol, Fortran, Delphi, Java,
Lisp,Pascal,Perl,PHP,Prolog, Python, Ruby …Sự phát triển của ngôn ngữ gắn liền với sự
phát triển của tin học và phần cứng. Mỗi loại ngôn ngữ thích hợp với một lĩnh vực và một
số dạng bài tốn nhấtđịnh. Ví dụ, trong khối kỹ thuật, các ngôn ngữ được sử dụng nhiều là
Algol, Fortran, C++, Basic, Visual Basic, Java, Pascal …


Các ngôn ngữ lập trình có thể xây dựng dựa trên “ Lập trình tuyến tính”, “ Lập trình có cấu
trúc” : Pascal; “Lập trình hướngđối tượng” : Java, Delphi,Visual Basic; “Lập trình trên nền
Web”: HTML.


<b>2. Các ưu điểm của Pascal và yêu cầu hệ thống:</b>


- Pascal là do Niklaus Wirth phát triển dựa trên Algol năm 1970, nó là ngơn ngữ lập trình có
cấu trúc. Pascal phù hợp với các dạng bài toán kỹ thuật và dễ diễn tả các sơ đồ thuật toán,
phù hợp cho việc giảng dạy trong các trường phổ thông và đại học.


- Với các phiên bản khác nhau của Pascal nó có thể dùng trong các hệ điều hành DOS,
Window cà cũng có một số hệđiều hành dùng Pascal để viết (như Macintosh).


- Pascal là ngơn ngữ lập trình định kiểu và có trình biên dịch mạnh, có thể giảiđược các bài
tốn đệ qui.


- Tuỳ theo từng phiên bản của Pascal mà có thể chạy trên mơi trường DOS hoặc Window
<b>3.Khởi động và giao diện Turbo Pascal:</b>


 Từ DOS : C:\ > CD TP 
C:\ TP > CD BIN 
C:\ TP \ BIN > TURBO 


Trên màn hình xuất hiện màn hình soạn thảo của Turbo Pascal. Bạn có thể bắt đầu gõ


chương trình .


 Từ WINDOWS có thể bằng nhiều cách :


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

<b>Giáo trình Nhập mơn Tin học: Phần III – Ngơn ngữ lập trình Pascal- 1 GVC: Đào Tăng Kiệm</b>


 Nhấn Start  Run  Browse mở hộp hội thoại, từ Look in tìm thư mục và tệp chứa
Turbo Pascal ( Turbo.exe )  nhấn OPEN sẽ hiện màn hình Pascal (nền xanh):


<b>II. Các thành phần cơ bản của ngôn ngữ:</b>


<b>1. Ký hiệu cơ sở của Pascal</b>
 Bộ ký tự :


- Các chữ : 26 chữ cái từ A-W không phân biệt chữ hoa và chữ thường.
- Số từ 0-9


- Các dấu : <b>. , ’ ( ) /[, ], *, </b>…và một số ký tựđặc biệt. Không được sử dụng các ký hiệu
toán học và vật lý như Ω, ∆, ∂, ∑ … Trong đó: dấu phẩy (,) dùng để nhăn cách các
thành phần trong danh sách; Dấu chấm (.) ngăn phân nguyên- thập phân; dấu nhát
đơn (’ ..’) giới hạn hằng xâu ký tự; Dấu ngoặc tròn ( <b>( ..)</b> ) chứa các biểu thức, đối số
của hàm ; dấu bằng (=) phép so sánh; dấu chấm phẩy (;) dùng ngăn cách các câu; dấu
ngoặc vuông (<b>[ ]</b> ) giới hạn chỉ số của mảng.


- Dấu của phép tình số học : + - / * Div Mod


- Dấu của phép tình so sánh: > ,<, >= , <= , = , <>, IN
- Dấu của phép tính xâu : + và các phép so sánh
- Dấu các phép tính Logic : Not, And, Or, Xor



 Từ khóa (Keyword): do ngôn ngữ qui định, là các từ mà người sử dụng khơng được
dùng với mục đích khác. Pascal ưu tiên cao nhất là cho các từ này. Trong chương
trình nếu viếtđúng ngữ pháp từ khố có màu trắng. Từ khố chia thành 3 nhóm:
- Các từ chung: PROGRAM, BEGIN, END, PROCEDURE, FUNCTON


- Các từ khai báo: LABEL,CONST,TYPE,VAR, FILE, RECORD


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

<b>Giáo trình Nhập mơn Tin học: Phần III – Ngơn ngữ lập trình Pascal- 1 GVC: Đào Tăng Kiệm</b>


 Từ chuẩn: là các từ mà Pascal đặt tên sẵn nhưng người sử dụng có thể thay đổiđược,
như: READ, WRITE, INTEGER, REAL …


 Tên (Identifier): Mọiđại lượng sử dụng trong chương trình Pascal (hằng, biến, kiểu,
hàm, tên chương trình …) đều phảiđặt tên để chương trình có thể nhận dạng được.
Tên do người sử dụng tự đặt, tuỳ từng phiên bản của Pascal mà qui định về tên là
khác nhau.Với Turbo 7.0 trở lên, tên có độ dài tuỳ ý, có thểđến 127 ký tự, nhưng chỉ
có 40 ký tựđầu là có nghĩa (phân biệt sự khác nhau giữa các tên). Thông thường tên
đặt ngắn và viết tắt cho nghĩa của các hàm, biến, kiểu… cho dễ nhận dạng.


 Dấu chấm phẩy và lời giải thích:


- Kết thức mọi câu lệnh của Pascal là dấu

<b>;</b>

Có thể viết nhiều lệnh trên một dịng và ngăn
cách nhau bằng dấu

<b>;</b>

. Sau các từ khai báo như Var, Type, Const…Begin khơng có dấu ;
- Trong chương trình, người sử dụng có thể đưa vào một số dịng giải thích cho từng
phần của chương trình, hoặc giải thích cho các biến, q trình thực hiện …, những dịng
này chỉ hiện trong listing chương trình, khơng có tác dụng với trình dịch và quá trình
thực hiện. Những dòng này đượcđặt trong cặp ngoặc { …} hoặc {* …*} và sẽ hiện màu
ghi nhạt để nhận biết. Khi gặp những dịng này chương trình bỏ qua phần biên dịch và
thực hiện.



<b>2. Hằng và biến: </b>


 Hằng là một đại lượng có giá trị khơng đổi trong các lần thực hiện chương trình.
Hằng có thể sử dụng qua một tên và được gán giá trị cụ thể. Các tên của hằng tham
gia trong chương trình sẽ tự động được gán giá trịđã khai báo. Khi cần thay đổi giá
trị của hằng, chỉ cần thay trong phần khai báo, chương trình sẽ tựđộng cập nhật.
 Biến là một đại lượng có giá trị thay đổi trong mỗi lần thực hiện chương trình. Biến


có thể là biến đơn (m,i), biến mảng (A[i], B[i,j]), biến bản ghi (DS[i].HT)…Tất cả
các biến dùng trong chương trình đều phảiđặt tên (khác nhau) và phải khai báo. Tên
biến dùng để xác lập quan hệ giữa biến, địa chỉ bộ nhớ lưu giữ biến.


<b>3. Toán tử và biểu thức: </b>


 Tốn tử là dấu các phép tính của các phép toán số học, quan hệ, logic, xâu, dùng để
kết nối các hằng, biến, hàm thành các biểu thức phức tạp.


 Biểu thức là một thành phần hầu như có mặt trong mọi chương trình. Nó có thể là
một hằng, một biến, hoặc kết hợp giữa hằng, biến, hàm mẫu và các toán tử. Pascal có
4 loại biểu thức: biểu thức số học, biểu thúc so sánh (quan hệ), biểu thức xâu, biểu
thức logic. Tùy từng loại biểu thức mà kết quả của nó có thể là một giá trị số, xâu
hoặc nhận một trong hai giá trị logic đúng (True) và sai (False).


<b>4. Hàm mẫu và thủ tục: </b>


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

<b>Giáo trình Nhập mơn Tin học: Phần III – Ngơn ngữ lập trình Pascal- 1 GVC: Đào Tăng Kiệm</b>


tính tốn, chương trình trả lại kết quả tại vị trí của hàm mẫu. Hàm mẫu có thể được
gọi riêng hoặc là một thành phần trong biểu thức. Mỗi loại biểu thức lại có một số
hàm mẫu khác nhau.



 Thủ tục: cũng giống như hàm mẫu, nó cũng dùng để thực hiện một nhiệm vụ nào đó,
được Pascal viết sẵn hoặc người sử dụng tự tạo và sau đó có thể được sử dụng nhiều
lần qua tên và các tham số (không bắt buộc).


<b>5. Các lệnh: </b>


Lệnh là một trong các thành phần quan trọng tạo nên chương trình. Lệnh dùng để xác
định các công việc mà chương trình cần thực hiện. Lệnh trong Pascal phần thành 2 nhóm:
Lệnh đơn giản và lệnh có cấu trúc. Lệnh thực hiện và lệnh không thực hiện.


Lệnh đơn giản là lệnh không chứa lệnh khác : lệnh gán, các lệnh nhập, xuất dữ liệu, lời
gọi thủ tục, chương trình con.


Lệnh có cấu trúc là lệnh có chứa các lệnh khác trong đó: các lệnh điều khiển, chu
trình…


Lệnh khơng thực hiện: là các lệnh khai báo, không thực hiện gì, khơng có kết quả.
Lệnh thực hiện: là các lệnh thực hiện một hoặc nhiều thao tác nào đó theo yêu cầu của
chương trình.


<b>6. Cấu trúc chung của chương trình Pascal: </b>


Nói chung chương trình Pascal có 3 phần:


 Phần tiêu đề : khai báo tên của chương trình chính hoặc chương trình con (khơng bắt
buộc): PROGRAM Tên_CT_chính ; PROCEDURE Tên_CT_Con ; .


 Phần khai báo: tuỳ từng chương trình cụ thể mà có thể có phần này và số lượng
nhiều ít khác nhau, theo một trật tự nhấtđịnh (Label,Const, Type, Var, Procedure).


Mọi hàm, biến, kiểu sử dụng trong chương trình đều phải báo theo những qui định
của chương trình (xem chương 2).


 Phần thân chương trình: Mọi chương trình đều phải có phần thân, bắt đầu bằng
BEGIN và kết thúc bằng END. Trong thân chương trình thơng thường có 3 mảng
chính :


- Nhập các dữ liệu ban đầu


- Tính tốn, xử lý các yêu của bài toán


- Xuất, in kết quả ra màn hình, giấy in, ghi vào tệp trên đĩa.
Ngồi ra có thể thêm các dịng chú giải.


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


<b>Program Chuong_trinh_con_sap_xep_ma_tran; </b>


{ Phan khai bao }


Type k1=array[1..15,1..15] of real;
var n,m,i,j,k:integer;


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

<b>Giáo trình Nhập mơn Tin học: Phần III – Ngơn ngữ lập trình Pascal- 1 GVC: Đào Tăng Kiệm</b>


if n3<>0 then


begin


writeln('3. DS SINH VIEN CO DTB: 8-10:');



for i:=1 to n3 do writeln(ds3[i].ms:5,ds3[i].ht:15,ds3[i].dtb:10:1);
end;


writeln;
readln
END.


<b>4. Bài tập tự làm </b> <b>- Viết chương trình Pascal cho các bài tập sau:</b>


<b>4.1</b>. Nhập từ bàn phím 3 số ngun <b>a, b, c</b>. Tìm giá trị Max - Min của chúng.


<b>4.2.</b> Viết chương trình tính tổng của dãy số: 1+2+...+n (Với <b>n được nhập v</b>ào từ
bàn phím, n>=1). Viết bằng 3 lệnh chu trình khác nhau – So sánh – Nhận xét .


4<b>.3</b>. Viết chương trình tính tổng các số chẵn trong khoảng từ 1- n .


<b>4.4.</b> Viết chương trình tính tổng các số chẵn và chia hết cho 3 trong khoảng từ 1->n,
với nđược nhập từ bàn phím.


<b>4.5.</b> Viết chương trình tính tổng S = 1 + 1/2 + 1/3 + 1/4 +...+1/n. Với n là số nguyên
và chẵn.


<b>4.6.</b> Viết chương trình tính tổng S = 1 + 1/x + 1/x2 + 1/x3 +...+1/xn. Với n được nhập
từ bàn phím.


<b>4.7.</b> Cho một mảng X (nguyên) có <b>m</b> phần tử. Hãy tách mảng X thành 2 mảng Y chứa
các phần tử chẵn của X và mảng Z chứa các phần tử chia hết cho 2.


<b>4.8.</b> Cho dữ liệu của một lớp học sinh có m người. Biết các thông tin Họ tên, Mã số


sinh viên, điểm trung bình cả năm của mỗi người. Tìm số người có điểm trung bình >B. Lập
2 danh sách cho những người có điểm trung bình từ 5..7 và từ 8..10.


<b>4.9.</b> Cho một dãy số (mảng 1 chiều) các số thực. Tìm số lớn nhất, bé nhất trong dãy số
đó. Sắp xếp dãy số theo chiều tăng dần của các giá trị.


<b>4.10.</b> Cho một mảng X có m phần tử, một mảng Y có n phần tử. Hãy tạo ra mảng Z có
<b>m+n</b> phần tử được ghép từ 2 mảng X, Y. Tính tổng các phần tử >A của mảng Z và tích các
phần tử<B của Z. So sánh tổng và tích.


<b>4.11.</b> Cho dữ liệu của một lớp học sinh có m người. Biết các thông tin Họ tên, Mã số
sinh viên, điểm các môn của n môn mỗi người.


- Tìm điểm trung bình <b>n</b> mơn của mỗi người. In lên màn hình Tên, Mã số, Điểm trung bình
từng người cả lớp.


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

<b>Giáo trình Nhập mơn Tin học: Phần III – Ngơn ngữ lập trình Pascal- 1 GVC: Đào Tăng Kiệm</b>


- Sắp xếp lại danh sách lớp theo điểm trung bình giảm dần.


<b>4.12.</b> Cho một ma trận A vuông (mảng 2 chiều) có <b>m</b> hàng, <b>m</b> cột.
- Tính trung bình cộng của cả ma trận.


- Tính tổng các phần tử nằm phía trên đường chéo chính.


- Tìm giá trị lớn nhất của các phần tử nằm phía dưới đường chéo chính.


<b>4.13.</b> Cho dữ liệu của một phường dân cư có <b>m</b> người. Biết các thông tin Tên chủ hộ,
Địa chỉ, Tổng số nước tiêu thụ (m3) mỗi tháng của mỗi nhà trong 12 tháng.



- Nhập các thông tin của từng hộ và In lên màn hình (Tên CH., Địa chỉ ,Tháng 1 ..Tháng 12)
- Tìm số lượng nước tiêu thụ trung bình cả phường trong năm.


- Tìm tổng số nước tiêu thụ traong 12 tháng của từng hộ.
- Lập danh sách những hộ có lượng tiêu thu nước > X m3


<b>4.14.</b> Cho một ma trận B (mảng 2 chiều) có m hàng, <b>n</b> cột.
- Tìm giá trị nhỏ nhất của B


- Xoá đi hàng và cột chứa giá trị nhỏ nhất đầu tiên (Xét theo hàng) của ma trận (Ma trận chỉ
còn <b>m-1</b> hàng và <b>n-1</b> cột).


</div>

<!--links-->

×