Giới thiệu lập trình cấu trúc Nội dung ©NIIT Định nghĩa lập trình hướng cấu trúc Khai báo, thực gọi thủ tục Khai báo gọi thủ tục có tham số Khai báo, thực gọi hàm Khai báo gọi hàm có tham số Giới thiệu tầm vực biến Tầm vực tham số Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Lập trình hướng cấu trúc Trong giai đoạn ngơn ngữ lập trình, chương trình chấp nhận thực công việc Người ta không ý đến phương pháp thiết kế thực chương trình Vào khoảng thập niên 60, mà cơng việc máy tính thực trở nên phức tạp, chương trình địi hỏi phải viết hiệu để tiện cho việc dùng lại phân chia cơng việc theo nhóm Điều dẫn đến đời phương pháp lập trình lập trình hướng cấu trúc Lập trình hướng cấu trúc chia chương trình thành phân hệ (module) nhỏ để giải chức ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Lập trình hướng cấu trúc (tiếp theo) Một ứng dụng thường hình thành từ tập hợp module tương tác với Sự kết hợp module điều khiển module Main Main Program Module1 ©NIIT Module2 Module3 Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Lập trình hướng cấu trúc (tiếp theo) Lưu đồ sau minh họa lập trình hướng cấu trúc ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Lập trình hướng cấu trúc (tiếp theo) Các module lập trình hướng cấu trúc • Thủ tục (procedure) • Hàm (function) ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Thủ tục (Procedure) Thủ tục tập hợp câu lệnh thực cơng việc định Trong lập trình hướng cấu trúc, thủ tục cách thực module Cách làm việc thủ tục thực theo chế gọi thủ tục trả giá trị về: • Thủ tục gọi • Các câu lệnh bên thủ tục thực thi • Dịng điều khiển chuyển chương trình gọi thủ tục ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Khai báo, thực gọi thủ tục Thủ tục cần phải khai báo trước gọi thực thi Thủ tục khai báo cú pháp sau: procedure Thủ tục thực sau: procedure begin //Các câu lệnh thủ tục end Gọi thủ tục: call ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Thủ tục có tham số (parameter) Tham số xem cầu nối thủ tục chương trình gọi Tham số bao gồm liệu dùng (dữ liệu vào) liệu xử lý (dữ liệu ra) thủ tục Tham số biến kiểu số kiểu chuỗi Tham số dùng cho hai việc chính: • Gởi liệu qua thủ tục • Nhận kết trả từ thủ tục ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Thủ tục có tham số (Tiếp theo) Thủ tục có tham số khai báo theo cú pháp sau: procedure (input , output ) Ví dụ minh họa: Viết thủ tục tính điểm trung bình mơn học Sau viết chương trình nhập vào họ tên học viên điểm môn học Hãy cho biết điểm trung bình học viên // Khai báo thủ tục procedure AverageScore (input numeric, input numeric, input numeric, output numeric) ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc //Chương trình begin character cStudentName numeric nTest1, nTest2, nTest3, nAverage display “Enter Student Name” accept cStudentName display “Enter scores of Test1” accept nTest1 display “Enter scores of Test2 accept nTest2 display “Enter scores of Test3 accept nTest3 call AverageScore (nTest1, nTest2, nTest3, nAverage) display cStudentName, nAverage end ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Khai báo, thực gọi hàm Hàm phải khai báo trước gọi Cú pháp khai báo hàm sau: function Hàm thực giống thủ tục, có khác biệt câu lệnh cuối hàm câu lệnh trả giá trị cho chương trình gọi Cú pháp thực hàm sau: function begin //the function statements return // The function returns some value End ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Khai báo, thực gọi hàm (tiếp theo) Hàm sau khai báo thực sử dụng chương trình Để dùng hàm ta dùng câu lệnh gọi hàm câu lệnh có cú pháp sau: call ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Tham số hàm Tham số hàm đóng vai trị cầu nối hàm chương trình gọi Hàm nhận liệu từ chương trình gọi thơng qua tham số Nếu hàm có nhiều tham số tham số phân cách dấu phảy Không giống thủ tục, tham số hàm thường dùng để nhận liệu vào hàm Dữ liệu thường trả qua câu lệnh return Ví dụ minh họa: Viết hàm nhân số Sau viết chương trình nhập vào số cho biết tích số ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc // Hàm nhân số function ProductOfNumbers(numeric nNum1, nNum2) begin numeric nNumber3 nNumber3= nNum1*nNum2 return nNumber3 end //Chương trình begin numeric nNumber1, nNnumber2, nResult display “Enter the first number” accept nNumber1 display “Enter the second number” accept nNumber2 result = call ProductOfNumbers(nNumber1, nNumber2) display result end ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Tầm vực biến Biến định nghĩa bên hay bên ngịai khối begin end chương trình chính, thủ tục hàm Tùy vào nơi biến khai báo mà biến có tầm vực sử dụng khác Biến có tầm vực sử dụng: • Tầm vực cục (local scope) • Tầm vực tồn cục (global scope) ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Tầm vực cục Biến định nghĩa bên khối begin … end chương trình thủ tục hàm có tầm vực cục Biến có tầm vực cục gọi biến cục Khi chương trình chạy: • Biến cục tạo khối begin … end chương trình thủ tục hàm chạy • Biến cục bị hủy thực thi xong khối begin … end ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Ví dụ tầm vực cục ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Tầm vực tồn cục Biến có tầm vực tịan cục sử dụng nơi đâu chương trình Biến có tầm vực tịan cục gọi biến tồn cục Biến tòan cục khai báo bên ngòai khối begin … end chương trình bên ngịai hàm, thủ tục ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Ví dụ tầm vực toàn cục numeric nScore //Global variable nScore is declared character cGrade //Global variable cGrade is declared begin display “enter your score” accept nScore call AssignGrade end procedure AssignGrade begin if nScore > 80 begin cGrade = “A” //Grade is assigned a value “A” display cGrade //Value of Grade is displayed end end ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Tầm vực tham số Tham số thủ tục hàm truy xuất thủ tục hàm Điều ngầm định tham số biến cục hàm thủ tục Tầm vực tham số có đặt điểm sau: • Tham số tồn bên hàm thủ tục mà định nghĩa Tham số khơng truy xuất từ bên ngịai hàm thủ tục • Giá trị tham số lưu giữ trình hàm thủ tục thực thi • Giá trị tham số khởi động lại lần hàm thủ tục gọi ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Ví dụ tầm vực tham số begin call FindGreater(20,30) display number1 //Lỗi khơng truy xuất number1 end procedure FindGreater (numeric number1, numeric number2) begin if number1>number2 display “number1 is greater” if number2>number1 display “number2 is greater” else display “both numbers are equal” end ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Tóm tắt Trong bạn học: Lập trình hướng cấu trúc chia chương trình thành module nhỏ gọi hàm thủ tục Thủ tục tập hợp câu lệnh để thực thi cơng việc cụ thể Tham số nhập tham số xuất dùng dùng thủ tục để nhận giá trị truyền vào giá trị trả thủ tục Hàm tập hợp câu lệnh để thực thi cơng việc cụ thể ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Tóm tắt (Tiếp theo) Thủ tục khơng trả giá trị cho chương trình gọi, hàm có trả giá trị cho chương trình gọi Sự truy xuất đến biến mã giã gọi tầm vực biến Biến phân thành hai loại biến toàn cục biến cục Biến cục tạo hàm thủ tục gọi tự động hủy hàm thủ tục thực xong Biến toàn cục sử dụng nơi chương trình ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Tóm tắt (Tiếp theo) Tham số hàm thủ tục truy xuất bên hàm thủ tục Tham số hàm thủ tục khởi động trị lần hàm thủ tục gọi ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Bài tập Bài 1: Viết hàm cho biết số lớn số Sau viết chương trình nhập vào số xuất số lớn số Bài 2: Viết thủ tục chấp nhận điểm trung bình họ tên học viên xuất hình cho biết học viên có kết học tập đạt loại gì? Bài 3: Viết hàm tính n giai thừa Sau viết chương trình cho nhập vào số n tính n giai thừa sử dụng hàm viết ©NIIT Thế giới lập trình Bài / Slide ... Thế giới lập trình Bài / Slide Giới thiệu lập trình cấu trúc Lập trình hướng cấu trúc (tiếp theo) Lưu đồ sau minh họa lập trình hướng cấu trúc ©NIIT Thế giới lập trình Bài / Slide Giới thiệu lập. .. lập trình cấu trúc Lập trình hướng cấu trúc (tiếp theo) Các module lập trình hướng cấu trúc • Th tc (procedure) ã Hm (function) âNIIT Th gii lp trình Bài / Slide Giới thiệu lập trình cấu trúc. . .Giới thiệu lập trình cấu trúc Lập trình hướng cấu trúc Trong giai đoạn ngôn ngữ lập trình, chương trình chấp nhận thực cơng việc Người ta khơng ý đến phương pháp thiết kế thực chương trình