Ví dụ về lợi ích của chương trình con

Giải Bài Tập Tin Học 11 – Bài 18: Ví dụ về cách viết và sử dụng chương trình con giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

  • Sách Giáo Viên Tin Học Lớp 11

1. Cách viết và sử dụng thủ tục

a) Cấu trúc của thủ tục

procedure [(danh sách tham số)]; [] Begin [] End;

Phần đầu thủ tục: Gồm tên dành riêng procedure, tiếp theo là tên thủ tục. Danh sách tham số có thể có hoặc không có.

Phần khai báo : Dùng để xác định các hằng, kiểu, biến và cũng có thể xác định các chương trình con khác được sử dụng trong thủ tục.

Dãy câu lệnh : Đực viết giữa cặp tên dành riêng begin và end tạo thành thân của thủ tục.

b) Ví dụ về thủ tục

Ví dụ 1: Viết thủ tục vẽ hình chữ nhật có dạng như sau

******* * * *******

Chiều dài là 7 chiều rộng là 3.

Procedure Ve_Hcn; Begin Writeln(‘*******’); Writeln(‘* *’); Writeln(‘*******’); End;

Để sử dụng thủ tục này ta gọi Ve_Hcn;

Ví dụ 2: Viết thủ tục vẻ hình chữ nhật với chiều dài và chiều rộng được tùy chỉnh.

Procedure Ve_Hcn(chdai,chrong:integer); Var I,j:integer; Begin For i:=1 to chdai do write(‘*’); Writeln; For j:=1 to chrong-2 do Begin Write(‘*’); For i:=1 to chdai-2 do write(‘ ’); Writeln(‘*’); End; For i:=1 to chdai do write(‘*’); End;

Để sử dụng thủ tục này ta gọi Ve_Hcn(a,b);

Khi gọi thủ tục, các tham số hình thức được thay bằng các tham số thực sự tương ứng là các giá trị cụ thể gọi là các tham số giá trị (tham trị) (Ví dụ: chdai,chrong được gọi là tham trị).

Khi gọi thủ tục Ve_Hcn(a,b) tham số chdai được thay bằng giá trị hiện thời của biến a,tham số chrong được thay bởi giá trị hiện thời của biến b. Trong lệnh gọi thủ tục, các tham số hình thức được thay bằng các tham số thực sự tương ứng là tên biến chứa dữ liệu ra được gọi là tham số biến (hay tham biến).

Để phân biệt tham biến và tham trị, Pascal sử dụng từ khóa var để khai báo những tham biến.

Ví dụ :

Nếu không sử dụng tham biến:

program dientro; uses crt; var a,b:integer; procedure hoandoi(x,y:integer); var TG:integer; begin TG:=x; x:=y; y:=TG; end; begin clrscr; a:=5; b:=10; writeln(a:6,b:6); hoandoi(a,b); writeln(a:6,b:6); readkey; end.

Kết quả:

Hai số không hề hoán đổi cho nhau

Ví dụ về lợi ích của chương trình con

Sử dụng tham biến :

program dientro; uses crt; var a,b:integer; procedure hoandoi(var x,y:integer); var TG:integer; begin TG:=x; x:=y; y:=TG; end; begin clrscr; a:=5; b:=10; writeln(a:6,b:6); hoandoi(a,b); writeln(a:6,b:6); readkey; end.

Kết quả:

Ví dụ về lợi ích của chương trình con

Khi nào dùng tham biến: Khi ta muốn thay đổi giá trị các tham số truyền vào thì tra sẽ sử dụng tham biến.

2. Cách viết và sử dụng hàm

Điểm khác nhau cơ bản giữa thủ tục và hàm là việc thực hiện luôn trả về giá trị kết quả thuộc kiểu xác định và giá trị đó được gán cho tên hàm.

Hàm có cấu trúc tương tự như thủ tục, tuy nhiên chỉ khác nhau phần đầu.

Function []:;

Trong đó kiểu dữ liệu chỉ có thể là integer, real, char, Boolean, string.

Khác với thủ tục, trong thân hàm phải có lệnh gán giá trị cho tên hàm:

:=;

Ví dụ 1:

Viết chưng tình thực hiện việc rút gọn một phân số , trong đó có sử dụng hàm tính ước chung lớn nhất của hai số nguyên.

program rutgon; uses crt; var TuSo,MauSo,a:integer; function UCLN(x,y:integer):integer; var sodu:integer; begin while y<>0 do begin sodu:=x mod y; x:=y; y:=sodu; end; UCLN:=x; end; begin clrscr; write('Nhap vao tu so va mau so '); readln(TuSo,MauSo); a:=UCLN(TuSo,MauSo); if a>1 then begin TuSo:=TuSo div a; MauSo:=MauSo div a; end; writeln(TuSo:5,MauSo:5); readkey; end.

Kết quả:

Ví dụ về lợi ích của chương trình con

Trong chương trình này, các biến TuSo, MauSo và a là các biến toàn cục, còn biến sodu là biến cục bộ.

Sử dụng hàm

Việc sử dụng hàm tương tự với việc sử dụng các hàm chuẩn, khi viết lệnh gọi gồm tên hàm và tham số thực sự tương ứng với các tham số hình thức.

Lệnh gọi hàm có thể tham gia vào biểu thức như một toán hạng và thậm chí là tham số của lời gọi hàm, thủ tục khác.

Ví dụ:

A:=6*UCLN(TuSo,MauSo)+1;

Ví dụ 2. Viết chương trình tìm giá trị nhỏ nhất trong ba số có sử dụng hàm tìm số nhỏ nhất trong hai số.

Phân tích:

Do chỉ được sử dụng hàm tìm giá trị nhỏ nhất trong hai số. Nên ta sẽ làm như sau:

Đầu tiên sẽ tìm giá trị nhỏ nhất trong 2 số, Sau đó dùng kết quả này làm tham số cho hàm tìm giá trị nhỏ nhất với giá trị này và số còn lại.

program vdu2; uses crt; var a,b,c:real; function Min(a,b:real):real; begin if a

by Van Anh Ha Thi, Hcmup

Giới thiệu

 

Ví dụ về lợi ích của chương trình con

Chương 6: Chương trình con và lập trình có cấu trúc - Tin học 11

Bài 17: Chương trình con và phân loại.

Bài 18: Ví dụ về cách viết và sử dụng chương trình con.

Bài 19: Thư viện chương trình con chuẩn

Trong chương này, các em cần nắm vững

1. Mục tiêu chính của chương:

- Hiểu được khái niệm chương trình con, lợi ích của việc sử dụng chương trình con.

- Nhớ được cấu trúc của 1 chương trình con.

- Phân biệt được 2 loại chương trình con (thủ tục & hàm) và có 1 số kỹ năng ban đầu về việc sử dụng chương trình con trong lập trình.

2. Nội dung trọng tâm:

- Khái niệm chương trình con, phân loại chương trình con.

- Cấu trúc của chương trình con.

- Sử dụng tham số giá trị, tham số biến và hoạt động của biến toàn cục, biến cục bộ.

- Giới thiệu sơ lược 1 số thư viện trong chương trình con chuẩn của Pascal (chủ yếu là crt, graph)

BÀI 18. VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON

1. Cách viết và sử dụng thủ tục

a. Cấu trúc của thủ tục

Procedure [];

[]

Begin

[]

End;

* Trong đó:

  • Phần đầu gồm tên dành riêng và tên thủ tục, danh sách tham số (có thể có hoặc không);
  • Phần khai báo: dùng để xác định các hằng, kiểu, biến và cũng có thể xác định các chương trình con khác được sử dụng trong thủ tục.
  • Dãy câu lệnh được viết giữa cặp tên dành riêng Begin và End tạo thành thân thủ tục.

b. Ví dụ về thủ tục

- Ví dụ 1:

Program VD_thutuc2; Uses crt; Var a, b, i: integer; Procedure Ve_HCN(chdai, chrong: integer); Var i,j: integer; Begin {Ve canh tren cua hinh chu nhat}

     For i:=1 to chdai do write(‘*’);


     Writeln;
     For j:=1 to chrong-2 do write(‘ ’);
     Begin
          Write(‘*’);
          For i:=1 to chdai-2 do write(‘ ’);
          Writeln(‘*’);
     End;
     For i:=1 to chdai do write(‘*’);
     Writeln;
End;

BEGIN {Bat dau chuong trinh chinh}
     Clrscr;
     Ve_HCN(25,10);
     Writeln;
     Writeln;
     Ve_HCN(5,10);
     Readln;
     Clrscr;
     a:=4;
     b:=2;
     For i:=1 to 4 do
     Begin
          Ve_HCN(a,b);
          Readln;
          clrscr;
          a:=a*2;
          b:=b*2;
     end;
     Readln;
END.

* Tham số giá trị: có hai chức năng

  • Đưa dữ liệu vào cho chương trình con;
  • Đưa dữ liệu chương trình con tìm được ra.

* Tham số biến: trong lệnh gọi thủ tục, các tham số hình thức được thay bằng các tham số thực sự tương ứng là tên các biến chứa dữ liệu ra được gọi là các tham số biến.

- Ví dụ 2: 

Program VD_thambien1; Uses crt; Var a, b: integer; Procedure Hoan_doi (var x, y: integer); Var TG: integer; Begin      TG:=x;      x:=y;      y:=TG;

End;

BEGIN
     Clrscr;
     a:=5;
     b:=10;
     Writeln(a:6, b:6);
     Hoan_doi(a,b);
     Writeln(a:6,b:6);
END.

2. Cách viết và sử dụng hàm

a. Cấu trúc của hàm

Function []: ;

[]

Begin

[]

:= ;

End;

b. Ví dụ về hàm

- Ví dụ 3:

Program Rutgon_Phanso; Uses crt; Var a, tuso, mauso: integer; Function UCLN(x,y: integer):integer; Var sodu: integer; Begin

     While y<>0 do


     Begin
          Sodu:= x mod y;
          x:= y;
          y:= sodu;
     End;
     UCLN:=x; End;

BEGIN {Bat dau chuong trinh chinh}


     Clrscr;
     Write(‘Nhap tu so va mau so: ‘);
     readln(tuso,mauso);
     A:=UCLN(tuso, mauso);
     If a>1 then
     Begin
          Tuso:= tuso div a;
          Mauso:= mauso div a;
     end;
     Writeln(tuso:5, ‘/’,mauso:5);
     Readln;
END.

- Ví dụ 4:

Program Minbaso; Uses crt;

Var a, b, c: real;


Function Min(a,b: real):real;
Begin      If a      Else min:=b;


End;
BEGIN {Bat dau chuong trinh chinh}
     Clrscr;
     Write(‘Nhap vao ba so: ‘);
     readln(a,b,c);
     Writeln(‘So nho nhat trong ba so la: ‘,min(a,b,c);
     Readln;
END.