S t chc ca cng ti Hong Long

  • Slides: 20
Download presentation

Sơ đồ tổ chức của công ti Hoàng Long

Sơ đồ tổ chức của công ti Hoàng Long

Xét bài toán: Tính tổng của 4 lũy thừa Tong_luy_thua=an+bm +cp+dq Trong đó: -

Xét bài toán: Tính tổng của 4 lũy thừa Tong_luy_thua=an+bm +cp+dq Trong đó: - a, b, c, d là các số thực - n, m, p, q là các số nguyên dương

-S= an+bm+cp+dq S 1 S 2 S 3 S 4 - Bài toán trên

-S= an+bm+cp+dq S 1 S 2 S 3 S 4 - Bài toán trên có thể phân tích thành những n, bm, cp, dq bài toán nhỏ hơn là: Tính a -Mỗi bài toán nhỏ trên được xây dựng thành 1 chương trình con -Việc chia bài toán thành 4 bài toán nhỏ ở trên ta thì công việc tính toán sẽ nhẹ nhàng hơn.

1. Khái niệm chương trình con. - Chương trình con là một dãy lệnh

1. Khái niệm chương trình con. - Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện(được gọi) từ nhiều vị trí trong chương trình. Việc A Việc B Lớp trưởng

Viết chương trình tính tổng: s= an+bm+cp+dq s 1, s 2, s 3, s

Viết chương trình tính tổng: s= an+bm+cp+dq s 1, s 2, s 3, s 4 Cho biết các biến được khai báo trong chương trình Phần khai báo Phần nhập dữ liệu

s 1: =1. 0; For i: =1 to n do s 1: =s 1*a;

s 1: =1. 0; For i: =1 to n do s 1: =s 1*a; s 2: =1. 0; For i: =1 to m do s 2: =s 2*b; s 3: =1. 0; For i: =1 to p do s 3: =s 3*c; Ví dụ trang 92 Phần tính toán tổng S s 4: =1. 0; For i: =1 to q do s 4: =s 4*d; s=: =s 1+s 2+s 3+s 4; Write(‘Tong luy thua = ’, s: 8: 4); Readln; End. In kết quả ra màn hình

Em có nhận xét về cách tính 4 lũy thừa trên luythua 1: =1.

Em có nhận xét về cách tính 4 lũy thừa trên luythua 1: =1. 0; For i: =1 to n do luythua 1: =luythua 1*a; luythua 2: =1. 0; For i: =1 to m do luythua 2: =luythua 2*b; luythua 3: =1. 0; For i: =1 to p do luythua 3: =luythua 3*c; luythua 4: =1. 0; For i: =1 to q do luythua 4: =luythua 4*d; Var j: integer; luythua: =1. 0; For j: =1 to n luythhua: =luythua*a;

Phương pháp dùng chương trình con Program Tinh_tong; Var Phần Tong_luy_thua: real; đầu a,

Phương pháp dùng chương trình con Program Tinh_tong; Var Phần Tong_luy_thua: real; đầu a, b, c, d: real; n, m, p, q: integer; Function luythua(x: real; k: integer): real; Var Tich: real; Phần khai báo j: integer; chương trình Begin con Tich: =1. 0; For j: =1 to k do Tich: =Tich*x; Ví dụ trang Luythua: =Tich; 92_a End; Begin write('hay nhap du lieu theo thu tu a, b, c, d, n, m, p, q'); readln(a, b, c, d, n, m, p, q); Tong_luy_thua: =luythua(a, n)+luythua(b, m)+luythua(c, p)+luythua(d, q); Phần thân writeln('Tong luy thua: =', Tong_luy_thua: 8: 2); readln; end.

Lợi ích của việc sử dụng chương trình con: ü Tránh được sự lập

Lợi ích của việc sử dụng chương trình con: ü Tránh được sự lập lại cùng một dãy lệnh. ü Hỗ trợ việc thực hiện các chương trình lớn và phức tạp ü Phục vụ quá trình trừu tượng hoá. ü Mở rộng khả năng ngôn ngữ lập trình thành thư viện cho nhiều ngừơi dùng. üThuận tiện cho phát triển và nâng cấp chương trình.

2. Phân loại và cấu trúc của chương trình con. a. Phân loại -

2. Phân loại và cấu trúc của chương trình con. a. Phân loại - Chương trình con thường gồm hai loại - Hàm (Function): Là chương trình con thực hiện một số thao tác nào đó và trả về một giá trị qua tên của nó VD: Sin(90 o)=1, Cos(900)=0, Sqrt(9)=3, Length(x), sqr(4)=16 - Thủ tục (Procedure): Là chương trình con thực hiện một số thao tác nhất định nhưng không trả về giá trị qua tên của nó … - VD: Writeln, Readln, Delete, Insert

b. Cấu trúc chương trình con <phần đầu> [<phần khai báo>] <phần thân> Phần

b. Cấu trúc chương trình con <phần đầu> [<phần khai báo>] <phần thân> Phần khai báo: có thể khai báo cho dữ liệu vào, ra, các hằng được sử dụng trong chương trình con. - Phần khai báo bắt đầu bằng hàm ( function) hoặc thủ tục( procedure), kết thúc là end; Phần thân: Begin [< dãy các lệnh>] End.

Ví dụ về cấu trúc của chương trình con Program Tinh_tong; Var Phần Tong_luy_thua:

Ví dụ về cấu trúc của chương trình con Program Tinh_tong; Var Phần Tong_luy_thua: real; đầu a, b, c, d: real; n, m, p, q: integer; Function luythua(x: real; k: integer): real; Var Tich: real; Phần khai báo j: integer; chương trình Begin con Tich: =1. 0; For j: =1 to k do Tich: =Tich*x; Luythua: =Tich; End; Begin write('hay nhap du lieu theo thu tu a, b, c, d, n, m, p, q'); readln(a, b, c, d, n, m, p, q); Tong_luy_thua: =luythua(a, n)+luythua(b, m)+luythua(c, p)+luythua(d, q); Phần thân writeln('Tong luy thua: =', Tong_luy_thua); readln; end.

Cấu trúc của thủ tục Procedure <tên thủ tục>[<ds tham số>] <phần khai báo>

Cấu trúc của thủ tục Procedure <tên thủ tục>[<ds tham số>] <phần khai báo> Begin <dãy các lệnh> End;

Cho biết tên thủ tục, phần khai báo , phần thân và chương trình

Cho biết tên thủ tục, phần khai báo , phần thân và chương trình thực hiện công việc gì? Program trang 96; Tên thủ tục procedure Ve_Hcn; begin writeln('**********'); Phần khai writeln('* *'); báo chương writeln('**********'); trình con end; Begin Ve_Hcn; Phần writeln; thân của Ve_Hcn; chương writeln; trình con Ve_Hcn; Vi dụ trang 96 readln; end.

Cho biết + Tên thủ tục, + Danh sách tham số, + Phần khai

Cho biết + Tên thủ tục, + Danh sách tham số, + Phần khai báo, + phần thân + Chương trình thực hiện công việc gì? Ví dụ trang 98 program Trang 98; uses crt; var a, b, i: integer; procedure Ve_Hcn(chieudai, chieurong: integer); var i, j: integer; begin { Ve canh tren cua hinh chu nhat } for i: =1 to chieudai do write('*'); writeln; for j: =1 to chieurong do { ve 2 canh ben } begin write('*'); for i: =1 to chieudai-2 do write('*'); writeln('*'); end; { Ve canh duoi } for i: =1 to chieudai do write('*'); writeln; end; Begin clrscr; Ve_Hcn(25, 10); writeln; Ve_Hcn(5, 10); readln; a: =4; b: =2; for i: =1 to 4 do begin Ve_hcn(a, b); readln; a: =a*2; b: =b*2; end; readln; end. Phần khai báo chương trình con Phần thân của chương trình con

Function luythua(x: real; k: integer): real; Cho biết + Tên hàm, + Danh sách

Function luythua(x: real; k: integer): real; Cho biết + Tên hàm, + Danh sách tham số, + Danh sách các biến. Var Tich: real; j: integer; Begin Tich: =1. 0; For j: =1 to k do Tich: =Tich*x; Luythua: =Tich; End;

c. Thực hiện chương trình con - Để thực hiện gọi một chương trình

c. Thực hiện chương trình con - Để thực hiện gọi một chương trình con, ta cần phải có lệnh gọi hàm hoặc thủ tục VD 1: Tong_luy_thua: =luythua(a, n)+luythua(b, m)+ luythua(c, p)+luythua(d, q); VD 2: Ve_HCN(25, 10);

Bài tập về nhà • Bài 1 : Dùng thủ tục giải phương trình

Bài tập về nhà • Bài 1 : Dùng thủ tục giải phương trình bậc hai ax 2 + bx + c = 0. • Bài 2 : Dùng thủ tục giải phương trình x + y + z = 12 trong phạm vi số nguyên không âm với điều kiện x < 4 • Bài 3 : Cho trước các số N , a , b , c tự nhiên. Giải phương trình sau trong phạm vi số nguyên không âm x + y + z = N với điều kiện x < a , y < b , z < c.