1. Trang chủ
  2. » Trung học cơ sở - phổ thông

DE CUONG ON THI HSG TIN 11

23 296 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 166 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BIẾN MẢNG VÀ DÃY SỐCú pháp:TYPE = ARRAY chỉ số OF ; VAR :;hoặc khai báo trực tiếp:VAR : ARRAY chỉ số OF ; Ví dụ: TYPEMangnguyen = Array1..100 of Integer;VARA: Mangnguyen;hoặc:VARA: Array1..100 of Integer; Để truy cập đến phần tử thứ k trong mảng một chiều A, ta sử dụng cú pháp: Ak.Bài tập 5.1: Viết chương trình cho phép nhập n số và in ra theo thứ tự ngược lại. Ví dụ nhập 3, 5, 7 thì in ra 7, 5, 3.Mã chương trình:Program mang_1;uses crt;var n, i: integer; M: array1..100 of real;Begin write(Nhap so n: ); readln(n); for i:=1 to n do Begin write(M,i,=); readln(Mi); end; for i:= n downto 1 do write(mi,’ ,’); readlnend.

Trang 1

BÀI TẬP TURBO PASCAL LÀM QUEN VỚI TURBO PASCAL

Bài tập 1.1: Viết chương trình tính chu vi và diện tích của hình chữ nhật có chiều dài hai

Bài tập 1.5: Viết chương trình cho phép tính trung bình cộng của bốn số.

Bài tập 1.6: Viết chương trình cho phép tính trung bình cộng của bốn số với điều kiện chỉ

được sử dụng hai biến

Bài tập 1.7: Viết chương trình cho phép tính trung bình nhân của bốn số với điều kiện chỉ

được sử dụng hai biến

Bài tập 1.8: Viết chương trình nhập hai số, đổi giá trị hai số rồi in ra hai số.

Bài tập 1.9: Giải bài tập 1.8 mà chỉ được sử dụng hai biến (Tức không được dùng thêm

biến tạm)

Bài tập 1.10: Viết chương trình cho biết chữ số hàng trăm, hàng chục, hàng đơn vị của

một số có ba chữ số Ví dụ khi nhập số 357 thì máy in ra:

- Chữ số hàng trăm: 3

- Chữ số hàng chục: 5

- Chữ số hàng đơn vị: 7

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

Bài tập 2.1:Viết chương trình in ra số lớn hơn trong hai số được nhập từ bàn phím.

Bài tập 2.2:Viết chương trình in ra số lớn nhất trong bốn số nhập từ bàn phím.

Bài tập 2.3:Viết chương trình in ra số lớn nhất trong bốn số nhập từ bàn phím với điều

kiện chỉ được dùng hai biến

Bài tập 2.4: Viết chương trình xét xem một tam giác có là tam giác đều hay không khi biết

ba cạnh của tam giác

Bài tập 2.5: Viết chương trình xét xem một tam giác có là tam giác cân hay không khi biết

ba cạnh của tam giác

Bài tập 2.6:Viết chương trình xét xem một tam giác có là tam giác vuông hay không khi

biết ba cạnh của tam giác

Bài tập 2.7:Viết chương trình giải phương trình ax + b = 0 Các hệ số a, b được nhập từ

Monday Tuesday Wednesday Thursday Friday Saturday Sunday

Bài tập 2.10: Viết chương trình cho phép tính diện tích các hình: Hình vuông; Hình chữ

nhật; Hình tròn; Tam giác; Hình thang Người dùng chọn hình cần tính diện tích từ bảng chọn, sau đó khai báo các thông số liên quan và nhận được diện tích của hình:

Trang 2

LẶP VỚI SỐ LẦN BIẾT TRƯỚC

- Đây là vòng lặp căn bản và được sử dụng nhiều nhất trong kiến thức phổ thông Vòng lặpfor dùng để lặp với số lần định trước, có cấu trúc như sau:

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

- Dạng khác (giảm dần biến đếm của vòng lặp for):

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

VD:

For i:=1 to 10 do x:=x+1;

For i:=10 downto 1 do x:=x+1;

Bài tập 3.1:Viết chương trình in ra các số chẵn nhỏ hơn hoặc bằng n.Với n được nhập Bài tập 3.2:Viết chương trình in ra các số lẻ nhỏ hơn hoặc bằng n Với n được nhập Sao

cho 15 số lẻ được in trên một dòng

Bài tập 3.3:Viết chương trình in ra tổng các số lẻ nhỏ hơn hoặc bằng n Với n được nhập Bài tập 3.4:Viết chương trình in ra tất cả các ước của một số n.Với n được nhập từ bàn

- Biến S có giá trị ban đầu bằng 0

- Cho i chạy từ 1 đến n-1 nếu i là ước của n thì cộng thêm i vào S

- Nếu S = n thì S là số hoàn chỉnh

Bài tập 3.6:Viết chương trình tìm các số hoàn chỉnh nhỏ hơn n Với n được nhập từ bàn

phím

Hướng dẫn: Cho biến i chạy từ 1 đến n Xét i Nếu nó là số hoàn chỉnh thì in ra.

Bài tập 3.7: In bảng cửu chương n.Với n nhập từ bàn phím

Bài tập 3.8: Lần lượt in các bảng cửu chương.

Bài tập 3.10: Viết chương trình in ra tất cả các số nguyên tố bé hơn hoặc bằng n?

Bài tập 3.11: Một phép chia có tổng của số bị chia và số chia bằng 72 Biết rằng thương là

3 và số dư là 8 Tìm số chia và số bị chia

Bài tập 3.12: Một phép chia có thương bằng 82, số dư là 47 Số bị chia nhỏ hơn 4000 Tìm

số chia

Bài tập 3.13: Có bao nhiêu số tự nhiên có 3 chữ số chia hết cho 3.

Bài tập 3.14: Tính xy Với y là số nguyên (Xét trường hợp: y=0, y<0, y>0)

Bài tập 3.15: Tính A=n1+n2+…+nn

Trang 3

Bài tập 3.16: Tôi nghĩ 1 số có 3 chữ số Nếu bớt số đó đi 7 thì được số chia hết cho 7 Nếu

bớt số đó đi 8 thì được số chia hết cho 8 Nếu bớt số đó đi 9 thì được số chia hết cho 9 Tìm số đó

Bài tập 3.17: Một người gửi tiết kiệm với số tiền là a triệu, lãi suất mỗi tháng là k% Hãy

cho biết số tiền người đó rút ra được sau thời gian t tháng Biết rằng lãi suất sau mỗi tháng

sẽ được cộng vào gốc

Bài tập 3.18: Viết chương trình tìm các số Py_Ta_Go nhỏ hơn 32000

Bài tập 3.19: Viết chương trình tính biểu thức:        

n

x x

x  

Bài tập 3.20: Một cụ già đã hơn 100 tuổi, rất yêu môn toán Khi được phỏng vấn về tuổi

của mình, cụ cho biết: “Nếu thêm ngày sinh của tôi vào tổng các bình phương các chữ số tuổi tôi thì được kết quả là chính tuổi tôi” Tính xem cụ bao nhiêu tuổi và ngày sinh của

cụ

Bài tập 3.21: Tìm các số (Amstrong) có 3 chữ số thỏa mãn: abc=a3+b3+c3

Bài tập 3.22: Hai số tự nhiên M và N được gọi là 2 số bạn bè nếu tổng các ước của M

bằng N và ngược lại tổng các ước của N bằng M (Chú ý: Không tính ước là 1 và chính nó) Tìm các số M và N trong phạm vi <100000 vd: 284 và 220 là số bạn bè.

Bài tập 3.23: Nhập số nguyên dương N Tìm số nguyên k nhỏ nhất thỏa mãn điều kiện

3k>N Đưa ra màn hình số k và giá trị 3k

Bài tập 3.24: Nhập một số nguyên dương n bất kỳ và kiểm tra xem n có phải là số chính

phương không

Bài tập 3.25: Số siêu nguyên tố là số nguyên tố mà khi bỏ một số tuỳ ý các chữ số bên

phải của nó thì phần còn lại vẫn tạo thành một số nguyên tố

Ví dụ 7331 là một số siêu nguyên tố có 4 chữ số vì 733, 73, 7 cũng là các số nguyên tố.Nhiệm vụ của bạn là viết chương trình nhập dữ liệu vào là một số nguyên N (0< N <10) vàđưa ra kết quả là một số siêu nguyên tố có N chữ số cùng số lượng của chúng

Ví dụ khi chạy chương trình:

Nhap so N: 4

Cac so sieu nguyen to có 4 chu so la: 2333 2339 2393 2399 2939 3119 3137

3733 3739 3793 3797 5939 7193 7331 7333 7393

Tat ca co 16 so

Trang 4

LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

1 Vòng lặp while

- Cú pháp: while <điều kiện> do <câu lệnh>;

- Câu lệnh sẽ được lặp lại nhiều lần cho đến khi nào điều kiện còn đúng (nếu điều kiện sai thì các lệnh này sẽ không thực hiện nữa) Đối với lệnh này điều kiện sẽ được kiểm tra trước khi thực hiện lệnh nên nên điều kiện sai thì không có lệnh nào được thực hiện

until <điều kiện>;

- Câu lệnh giữa repeat và until sẽ được lặp lại nhiều lần khi nào điều kiện sai, nếu điều kiện đúng thì ngưng (ngược với vòng lặp while) Đối với lệnh này điều kiện sẽ được kiểm tra sau khi thực hiện các lệnh giữa repeat và until nên ít nhất các lệnh sẽ được thực hiện trước 1 lần rồi mới kiểm tra điều kiện đúng hay sai (nếu sai thì thực hiện tiếp vòng lặp, đúng thì ngưng)

- Sử dụng kiến thức số lẻ đầu tiên bằng 1 Số lẻ sau bằng số trước cộng với 2

- Cho biến i có giá trị ban đầu bằng 1

- Dùng vòng lặp while do với điều kiện i < n và công việc bên trong là in i và tăng ilên 2

Nhận xét:

Trang 5

- Mọi vòng lặp For to do đều có thể thay thế bằng vòng lặp while do.

- Trong vòng lặp while nhất thiết phải có một câu lệnh làm thay đổi điều kiện lặp Ởđây là i:=i+2 Nếu không có sẽ dẫn đến trường hợp lặp vô hạn Chương trình chạy mãi mà không có lối ra (Không thoát ra khỏi vòng lặp được)

Bài tập 4.2: Viết chương trình tính n! với n! được định nghĩa như sau:

- n! = 1 với n = 0

- n! = 1.2.3 n (Tích của n số từ 1 đến n)

Yêu cầu: Sử dụng vòng lặp với số lần chưa biết trước:

Bài tập 4.3: Viết chương trình tính n! với n! được định nghĩa như sau:

- n!! = 1 với n = 0

- n!! = 1.3.5 n với n lẻ

- n!! = 2.4.6 n với n chẵn

Yêu cầu: Sử dụng vòng lặp với số lần chưa biết trước:

Bài tập 4.4: Viết chương trình cho phép tính tổng của nhiều số (Chưa biết bao nhiêu số)

Nhập số 0 để kết thúc quá trình nhập

Bài tập 4.5: Viết chương trình tìm ước chung lớn nhất (UCLN) của hai số với yêu cầu sử

dụng thuật toán Euclid

Thuật toán Euclid: Nếu a chia hết cho b (a chia b dư 0) thì UCLN(a,b) bằng b

Nếu a chia b dư r thì UCLN(a,b) = UCLN(b,r)

Bài tập 4.6: Dãy Fibonacy có hai phần tử đầu là 1, 1 Các phần tử sau bằng tổng hai phần

tử đứng ngay trước nó: 1, 1, 2, 3, 5, 8, 13, 21,

Viết chương trình in ra dãy Fibonacy có phần tử lớn nhất nhỏ hơn n?

Bài tập 4.7: Viết chương trình nhập vào số nguyên dương N, in ra ước số lớn nhất của số

bằng tích của chúng VD: a+b+c = a*b*c

Bài tập 4.11: Viết chương trình nhập vào một 1 số nguyên , kiểm tra xem số nguyên đó

có phải là số đối xứng không?

VD: 12321 là số đối xứng

Bài tập 4.12: Viết chương trình tìm và in ra màn hình tất cả hoán vị của 12345

Bài tập 4.13: Số nguyên n được gọi là số may mắn nếu tổng các chữ số ở vị trí chẵn bằng

tổng các chữ số ở vị trí lẻ Viết chương trình kiểm tra xem n có là số may mắn không VD

1353 là số may mắn

Bài tập 4.14: Một số nguyên dương được gọi là số đẹp nếu tổng các chữ số của nó (trong

hệ thập phân) chia hết cho số chữ số Ví dụ, 15 là một số đẹp vì 1+5 chia hết cho 2

Yêu cầu: Cho số nguyên dương n(n<=10^6) Hãy tìm số đẹp thứ n

Dữ liệu: nhập từ bàn phím nguyên dương

Trang 6

BIẾN MẢNG VÀ DÃY SỐ

Cú pháp:

TYPE<Kiểu mảng> = ARRAY [chỉ số] OF <Kiểu dữ liệu>;

VAR <Biến mảng>:<Kiểu mảng>;

hoặc khai báo trực tiếp:

VAR <Biến mảng> : ARRAY [chỉ số] OF <Kiểu dữ liệu>;

Ví dụ:

TYPE Mangnguyen = Array[1 100] of Integer;

hoặc:

VAR A: Array[1 100] of Integer;

- Để truy cập đến phần tử thứ k trong mảng một chiều A, ta sử dụng cú pháp: A[k]

Bài tập 5.1: Viết chương trình cho phép nhập n số và in ra theo thứ tự ngược lại Ví dụ

Trang 7

Bài tập 5.3: Viết chương trình nhập n số, xoá số thứ k trong n số vừa nhập In ra n-1 số

Bài tập 5.4: Viết chương trình cho phép nhập nhập một dãy gồm n số nguyên Nhập thêm

một số và chèn thêm vào dãy sau phần tử k

Bài tập 5.5: Viết chương trình cho phép nhập n số và cho biết số nhỏ nhất trong các số

vừa nhập là số thứ mấy

Bài tập 5.6: Viết chương trình cho phép nhập n số sắp xếp và in ra các số đã nhập theo thứ

tự tăng dần

Bài tập 5.7: Viết chương trình in dãy n số fibonacy.

Dãy Fibonacci là dãy vô hạn các số tự nhiên bắt đầu bằng hai phần tử 0 và 1 hoặc 1 và 1, các

phần tử sau đó được thiết lập theo quy tắc mỗi phần tử luôn bằng tổng hai phần tử trước nó

A1=1; a2=1; a3=a1+a2; a4=a2+a3;…

Bài tập 5.8: Viết chương trình nhập vào một mảng A gồm N số nguyên và nhập thêm một

số nguyên X Kiểm tra xem x có thuộc mảng A không?

Bài tập 5.9: Nhập vào mảng A có n phần tử Tìm phần tử xuất hiện nhiều nhất trong mảng Bài tập 5.10: Nhập vào mảng A có n phần tử Hãy xóa các phần tử trùng nhau trong mảng

và in kết quả ra màn hình

Bài tập 5.11: Viết chương trình kiểm tra số chính phương trong mảng N phần tử In các

số đó ra màn hình và chỉ số của nó

Bài tập 5.12: Nhập vào mảng A có n phần tử sắp xếp các số chẵn chia hết cho 3 lên đầu,

sắp xếp các số lẻ chia hết cho 3 xuống cuối dãy và các số còn lại ở giữa in ra màn hình dãy trước và sau khi sắp xếp

Bài tập 5.13: Nhập vào số N (0<n<10) và n phần tử dãy A (1<a[i]<100) Có kiểm tra dữ

liệu khi nhập In ra phần tử là số nguyên tố

Bài tập 5.14: Viết chương trình nhập vào 2 mảng số nguyên A, B đại diện cho 2 tập hợp(không thể có 2 phần tử trùng nhau trong một tập hợp) Trong quá trình nhập, phải kiểmtra: nếu phần tử vừa nhập vào đã có trong mảng thì không bổ sung vào mảng In ra mànhình các phần tử là giao của 2 tập hợp A, B

Bài tập 5.15: Nhập vào một mảng các số nguyên

a/ Xếp lại mảng đó theo thứ tự giảm dần

b/ Nhập vào một số nguyên từ bàn phím Chèn số đó vào mảng sao cho mảng vẫn

có thứ tự giảm dần (không được xếp lại mảng)

Bài tập 5.16: Viết chương trình chuyển đổi số tự nhiên N cho trước sang hệ cơ số 2

Bài tập 5.17: Viết chương trình nhập vào một dãy số nguyên có n phần tử.

a Đưa những phần tử lẻ ra đầu danh sách, những phần tử chẵn về cuối danh sách và in kết quả ra màn hình

b Sắp xếp các phần tử lẻ đầu danh sách theo thứ tứ tăng dần, sắp xếp các phần tử chẵn cuối danh sách theo thứ tự giảm dần In danh sách ra màn hình

Bài tập 5.18: Nhập một số A có n chữ số Tạo ra số B lớn nhất trong n chữ số của A

VD: A =657546565 => B=766655554

Trang 8

CHƯƠNG TRÌNH CON

I KHÁI NIỆM VỀ CHƯƠNG TRÌNH CON

- Chương trình con (CTC) là một đoạn chương trình thực hiện trọn vẹn hay một chức năngnào đó Trong Turbo Pascal, có 2 dạng CTC:

- Thủ tục (PROCEDURE): Dùng để thực hiện một hay nhiều nhiệm vụ nào đó

- Hàm (FUNCTION): Trả về một giá trị nào đó (có kiểu vô hướng, kiểu string) Hàm cóthể sử dụng trong các biểu thức

- Ngoài ra, trong Pascal còn cho phép các CTC lồng vào nhau

1 Biến toàn cục (global variable): Còn được gọi là biến chung, là biến được khai báo ở

đầu chương trình, nó được sử dụng bên trong chương trình chính và cả bên trong chương trình con Biến toàn cục sẽ tồn tại trong suốt quá trình thực hiện chương trình

· 2 Biến cục bộ (local variable): Còn được gọi là biến riêng, là biến được khai báo ở đầu

chương trình con, và nó chỉ được sử dụng bên trong thân chương trình con hoặc bên trong thân chương trình con khác nằm bên trong nó (các chương trình con lồng nhau) Biến cục

bộ chỉ tồn tại khi chương trình con đang hoạt động, nghĩa là biến cục bộ sẽ được cấp phát

bộ nhớ khi chương trình con được gọi để thi hành, và nó sẽ được giải phóng ngay sau khi chương trình con kết thúc

· 3 Tham số thực (actual parameter) là một tham số mà nó có thể là một biến toàn cục,

một biểu thức hoặc một giá trị số (cũng có thể biến cục bộ khi sử dụng chương trình con lồng nhau) mà ta dùng chúng khi truyền giá trị cho các tham số hình thức tương ứng của chương trình con

· 4 Tham số hình thức (formal parameter) là các biến được khai báo ngay sau Tên chương trình con, nó dùng để nhận giá trị của các tham số thực truyền đến Tham số hình

thức cũng là một biến cục bộ, ta có thể xem nó như là các đối số của hàm toán học

II LỜI GỌI CHƯƠNG TRÌNH CON

Để chương rrình con được thi hành, ta phải có lời gọi đến chương trình con, lời gọi chươngtrình con thông qua tên chương trình con và danh sách các tham số tương ứng (nếu có) Các qui tắc của lời gọi chương trình con:

· Trong thân chương trình chính hoặc thân chương trình con, ta chỉ có thể gọi tới các chương trình con trực thuộc nó.

· Trong chương trình con, ta có thể gọi các chương trình con ngang cấp đã được thiết lập

trước đó

1 Thủ tục (Procedure):

Thủ tục là một đoạn cấu trúc chương trình được chứa bên trong chương trình Pascal như làmột chương trình con Thủ tục được đặt tên và có thể chứa danh sách tham số hình thức

(formal parameters) Các tham số này phải được đặt trong dấu ngoặc đơn ( ) Ta có thể

truy xuất thủ tục bằng cách gọi tên của thủ tục Chương trình sẽ tự động truy xuất thủ tục

đúng tên đã gọi và thực hiện các lệnh chứa trong thủ tục đó Sau khi thực hiện thủ tục

xong, chương trình sẽ trở lại ngay lập tức sau vị trí câu lệnh gọi thủ tục đó.

Trang 9

if a > b then max := a else max := b ;

if c > max then max := c ;

Writeln ( ‘ So lon nhat la ‘, max ) ;

b Cấu trúc của thủ tục có tham số

Khi viết một thủ tục, nếu có các tham số cần thiết, ta phải khai báo nó (kiểu, số lượng, tính

chất, ) Các tham số này gọi là tham số hình thức (formal parameters) Một thủ tục có thể

có 1 hoặc nhiều tham số hình thức Khi các tham số hình thức có cùng một kiểu thì ta viết chúng cách nhau bởi dấu phẩy (,) Trường hợp các kiểu của chúng khác nhau hoặc giữa khai báo tham số truyền bằng tham biến và truyền bằng tham trị (sẽ học ở phần sau ) thì ta phải viết cách nhau bằng dấu chấm phẩy (;)

Ví dụ : Tính giai thừa của một số

Program Tinh_Giai_thua ;

Var n : integer ; gt : real ;

Procedure giaithua (m : integer );

Trang 10

Else Writeln( ‘ khong tinh duoc giai thua!‘ ) ;

Readln;

END.

Trong chương trình trên m là các tham số hình thức của thủ tục giaithua Khi gọi thủ tục

giaithua(n) thì tham số thực n được truyền tương ứng cho tham số hình thức m

2 Hàm (Function) :

Hàm là một chương trình con cho ta 1 giá trị kiểu vô hướng Hàm tương tự như thủ tục

nhưng trả về một giá trị thông qua tên hàm và lời gọi hàm tham gia trong biểu thức.

- Tên hàm là tên tự đặt cần tuân thủ theo nguyên tắc đặt tên trong Pascal.

- Kiểu kết quả là một kiểu vô hướng, biểu diễn kết quả giá trị của hàm.

- Một hàm có thể có 1 hay nhiều tham số hình thức, khi có nhiều tham số hình thức cùng một kiểu giá trị thì ta có thể viết chúng cách nhau bằng dấu phẩy (,) Trường hợp các tham

số hình thức khác kiểu thì ta viết chúng cách nhau bằng dấu chấm phẩy (;)

- Trong hàm có thể sử dụng các hằng, kiểu, biến đã được khai báo trong chương trình chính nhưng ta có thể khai báo thêm các hằng, kiểu, biến dùng riêng trong nội bộ hàm

Chú ý là phải có một biến trung gian có cùng kiểu kết quả của hàm để lưu kết quả của hàm

trong quá trình tính toán để cuối cùng ta có 1 lệnh gán giá trị của biến trung gian cho tên hàm

Ví dụ : FUNCTION TINH (x, y : integer ; z : real ) : real ;

Đây là một hàm số có tên là TINH với 3 tham số hình thức x, y, z Kiểu của x và y là kiểu

số nguyên integer còn kiểu của z là kiểu số thực real Hàm TINH sẽ cho kết quả kiểu số thực real

Ví dụ : Bài toán tính giai thừa.

Write (‘ Nhap vao so nguyen duong x = ‘ ); Readln (x) ;

Writeln (‘ Voi x = ‘, x , ‘ thi giai thua se la : x ! = ‘, gt(x))

Trang 11

Ví dụ : Procedure Xuat1(hoten : string[25]);

Procedure Xuat2(mang: array[1 10] of integer);

Hai chương trình con Xuat1 và Xuat2 đều bị lỗi ở phần khai báo kiểu dữ liệu cho hai tham

số hình thức là hoten và mang Để khắc phục lỗi này, ta sẽ khai báo gián tiếp một kiểu dữ liệu str25 và M10 thông qua từ khóa TYPE như sau:

TYPE

Str25=string[25]; {Str25 là một kiểu chuỗi có độ dài 25}

M10=Array[1 10] of integer; {M10 là một kiểu dữ kiệu mảng có 10 phần tử nguyên}Tiếp đến, dùng 2 kiểu dữ liệu mới định nghĩa Str25 và M10 để định kiểu cho các tham số hình thức hoten và mang như sau:

Procedure Xuat1(hoten : Str25);

Procedure Xuat2(mang: M10);

III TRUYỀN THAM SỐ CHO CHƯƠNG TRÌNH CON

Khi truyền tham số trong Pascal, đòi hỏi phải có sự tương ứng về tên của kiểu dữ liệu của các tham số hình thức và tham số thực Một số định nghĩa và qui tắc về truyền tham số trong Pascal:

Những tham số hình thức nằm sau từ khóa VAR gọi là tham số biến (variable parameter)

Với tham số biến, các tham số thực bắt buộc phải là biến chứ không được là giá trị Khi

giá trị của tham số biến thay đổi thì nó sẽ làm thay đổi giá trị của tham số thực tương ứng

và khi ra khỏi chương trình con đó, tham số thực vẫn giữ giá trị đã được thay đổi đó

Những tham số hình thức không đứng sau từ khóa VAR gọi là tham số trị (value

parameter), khi đó các tham số thực có thể là một biến, một biểu thức, một hằng, hoặc một giá trị số Các tham số trị nhận giá trị từ tham số thực khi truyền như là giá trị ban đầu, khi

giá trị của tham số trị thay đổi thì nó sẽ không làm thay đổi giá trị của tham số thực, nghĩa

là giá trị của tham số thực sau khi thoát khỏi chương trình con vẫn luôn bằng với giá trị

của tham số thực trước khi truyền đến chương trình con đó Do vậy một tham trị không ao giờ là kết quả tính toán của chương trình con.

Ví dụ: Viết chương trình tính lập phương.

PROGRAM Parameter1;

VAR num: integer; {num là biến toàn cục}

PROCEDURE LapPhuong(var a:integer); {a là một tham số biến}

VAR a, b : integer ; {biến toàn cục }

PROCEDURE thamso (x : integer ; VAR y : integer ) ;

{ x: là tham số trị , còn y là tham số biến}

Ngày đăng: 14/04/2020, 09:13

TỪ KHÓA LIÊN QUAN

w