KỸ THUẬT LẬP TRÌNH ĐỀ CƯƠNG ÔN TẬP

9 183 2
KỸ THUẬT LẬP TRÌNH  ĐỀ CƯƠNG ÔN TẬP

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

Thông tin tài liệu

1. Mô tả cách cấp phát bộ nhớ của biến cục bộ, tham số, thuộc tính nonstatic, static. Nên sử dụng các thành phần nào trong chương trình khi muốn tối ưu hiệu năng, khi muốn tối ưu bộ nhớ. 2. Trình bày cách cấp phát và tổ chức của một mảng các đối tượng trong bộ nhớ. Cho ví dụ minh họa. tạo 1 đối tượng bình thường 3. Trình bày về đơn kế thừa, đa kế thừa trong lập trình hướng đối tượng; cho ví dụ minh họa. So sánh giữa lớp trừu tượng (abstract class) và giao diện (interface); cho ví dụ minh họa. 4. Với cùng chức năng và thuật toán, so sánh tốc độ thực hiện của chương trình được viết bằng C và viết bằng Java. Giải thích. 5. Mô tả quá trình xử lý (clientserver) khi truy xuất và thực hiện các chức năng trong một trang web. 6. Phân biệt sự khác nhau khi gửi dữ liệu từ client lên server theo phương thức POST và GET.

I CÁC CÂU HỎI VỀ LẬP TRÌNH CẤU TRÚC, ĐỆ QUY Thiết kế lưu đồ thuật toán cho chức chương trình C Bản chất biến chương trình C Phân biệt biến toàn cục, biến cục biến mơi trường Cho ví dụ minh họa - Bản chất Biến: vùng nhớ dùng để lưu trữ giá trị chương trình Mỗi biến gắn liền với kiểu liệu định danh gọi tên biến - Biến toàn cục: Biến khai báo bên phạm vi hàm, biến dùng chung cho hàm(dùng cho chương trình) - Biến cục bộ: biến dùng khai báo hàm dùng hàm khai báo - Biến mơi trường: mơi trường để chạy ngơn ngữ lập trình Ví dụ để chạy java cần có JDK Phân biệt biên dịch thơng dịch; cho ví dụ minh họa Mơ tả q trình biên dịch chương trình C; rõ file trung gian tạo biên dịch IDE CodeBlock Biên dịch: chuyển câu lệnh gõ ngơn ngữ lập trình(mã nguồn) sang chương trình tương đương ngơn ngữ máy tính (chương trình đích) Lần sau muốn chạy lại chương trình, cần chạy lại chương trình dịch Ví dụ: soạn xong chương trình C, sau biên dịch bạn chương trình dạng mã máy (.exe) - Thơng dịch: sau soạn thảo chương trình q trình thơng dịch trình xảy lúc runtime (khi thực hiện), trình thơng dịch dịch lệnh chương trình thực thi Lần sau muốn chạy lại chương trình phải thơng dịch lại Ví dụ: php asp Mỗi bạn chạy website, trình thơng dịch dịch lại từ đầu mã nguồn thực thi File trung gian tạo biên dịch IDE CodeBlock: -File.exe: -File.o Mơ tả q trình cấp phát nhớ trình thực chương trình C Khi ta viết chương trình hay khai báo biến chương trình chúng có giá trị địa chúng Khi chương trình khởi chạy, hệ điều hành phân thành vùng nhớ RAM Biến mã nguồn lưu trữ vùng nhớ Các vùng nhớ: Code Segment: Mã nguồn sau hoàn tất trình Build chuyển thành đoạn mã máy Khi chương trình khởi chạy, đoạn mã máy nạp vào Code Segment Cách để truy xuất vào vùng nhớ sử dụng Con trỏ hàm Code Segmentcó kích thước cố định Data Segment: Khi chương trình khởi chạy, tồn biến toàn cục static lưu trữ đây, đoạn chuỗi cố định lưu trữ Data Segment Data Segment có kích thước cố định Stack Segment: Đây vùng nhớ mà cần quan tâm Khi hàm gọi, hàm đưa vào vùng nhớ Stack, biến khai báo hàm đưa vào vùng nhớ Stack Khi hàm kết thúc, toàn biến hàm với thân hàm tự động giải phóng để hàm sau sử dụng Stack Segment có kích thước cố định Heap Segment: Đây vùng nhớ khác mà cần quan tâm, vùng nhớ phải hồn tồn kiểm sốt Khi sử dụng trỏ cấp phát động vùng nhớ cho trỏ quản lý, vùng nhớ nằm Heap Segment Heap Segment có kích thước khơng cố địn Mơ tả q trình thực tổ chức thành phần bên nhớ hàm đệ quy Bản chất q trình chuyển điều khiển chương trình chương trình Tại chương trình sử dụng nhiều chương trình lại làm tăng thời gian thực Giải thích cách tính miền giá trị kiểu liệu Mô tả cách tổ chức mảng nhớ Trong C mảng có tối đa phần tử 8 Bản chất biến gì; địa nhớ gì; trỏ gì; trỏ hàm Ý nghĩa sử dụng trỏ hàm; cho ví dụ minh họa - Bản chất Biến: vùng nhớ dùng để lưu trữ giá trị chương trình Mỗi biến gắn liền với kiểu liệu định danh gọi tên biến Con trỏ đơn giản biến kiểu số nguyên dùng để chứa địa Trong chương trình C, chất biến gì; địa nhớ Mơ tả trình thực chương trình II CÁC CÂU HỎI VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 10 Thiết kế biểu đồ lớp mô tả ảnh nhớ (memory image) thực chương trình Java 11 Trình bày nạp chồng ghi đè, rõ ý nghĩa sử dụng - Nạp chồng – Overloading: + phương thức có tên, kiểu liệu truyền vào khác Ghi đè – Overriding: + Là phương thức xuất lớp cha xuất tiếp lớp + Là phương thức có tên đối số phải có kiểu liệu giống 12 Phân biệt thuộc tính static non-static về: thời gian tồn tại, ý nghĩa cách sử dụng, tổ chức nhớ - - Biến static: + phụ thuộc vào class, không phụ thuộc đối tượng + thời gian tồn tại: từ lúc chương trình bắt đầu đến kết thúc + Ý nghĩa: Mọi đối tượng sử dụng chung biến static + cách sử dung: teeclass.tenbienstatic + gọi lại biến static khơng phải cấp phát nhớ Non-static: + phụ thuộc vào đối tượng + ý nghĩa: đối tượng truy cập sử dụng + gọi biến non-static đối tượng khác cấp phát nhớ khác 13 Trình bày tính đa hình, ý nghĩa sử dụng, cho ví dụ minh họa Đa hình có nghĩa biến supertype tham chiếu đến đối tượng subtype Ý nghĩa: thường sử dụng để gọi phương thức nạp chồng đối tượng Ví dụ: Class Nguoi{ String hoten; } Class SV extends Nguoi{ } Class NV extends Nguoi{ } Public static void showHoten(Nguoi ng){ System.out.println(“hoten: ” + ng.hoten); } - 14 Phân biệt lập trình hướng đối tượng hướng cấu trúc Phân biệt lớp đối tượng; lớp trừu tượng lớp thông thường Phân biệt lớp đối tượng; lớp trừu tượng lớp thông thường Lớp định nghĩa thực thể, đối tượng trường hợp thực thể Đối tượng mơ hình thực , lớp mơ hình khái niệm Tất đối tượng lớp có thuộc tính phương thức Lớp trừu tượng bắt buộc phải có từ khóa abstract, chứa phương thức trừu tượng Lớp trừu tượng giống lớp thông thường tạo đối tượng từ lớp trừu tượng Lớp trừu tượng kế thừa từ lớp thông thường , class kế thừa bắt buộc phải có phương thức trừu tượng 15 Mô tả cách cấp phát nhớ biến cục bộ, tham số, thuộc tính non-static, static Nên sử dụng thành phần chương trình muốn tối ưu hiệu năng, muốn tối ưu nhớ - Cấp phát biến tồn cục: khai báo biến khơng nằm hàm (kể hàm main()) có phạm vi suốt tồn chương trình - Tham số biến truyền vào hàm thực lời gọi hàm từ hàm main() - Non-static = biến cục bộ: khai báo hàm main() or hàm có phạm vi hàm, khỏi hàm giải phóng - static: biến dùng chung cho tất đối tượng, tức gọi lại biến với đối tượng khác vùng nhớ khơng cần phải cấp phát ví dụ : static int n; - Muốn tối ưu hiệu năng: sử dụng biến toàn cục, biến static - Muốn tối ưu nhớ : sử dụng biến cục bộ, biến non-static 16 Trình bày cách cấp phát tổ chức mảng đối tượng nhớ Cho ví dụ minh họa Ví dụ có class SV{} SV array = new SV[20];(khởi tạo khai báo mảng đối tượng SV) For(int i = ; i < n ; i++) Array[i] = new SV(); (khởi tạo đối tượng mảng đối tượng SV) Mảng đối tượng tức giống mảng số nguyên, phần tử mảng đối tượng đối tượng class đó, đối tượng mảng đối tượng cần khởi tạo khởi tạo đối tượng bình thường 17 Trình bày đơn kế thừa, đa kế thừa lập trình hướng đối tượng; cho ví dụ minh họa So sánh lớp trừu tượng (abstract class) giao diện (interface); cho ví dụ minh họa - đơn kế thừa tức class kế thừa từ class - đa kế thừa tức class kế thừa nhiều interface or interface kế thừa interface so sánh abstract and interface + abstract mang tính class bình thường (ngoại trừ việc tạo đối tượng) Còn interface chứa final static, abstract method + tính kế thừa: với abstract class kế thừa abstract class Còn với interface, class kế thừa nhiều interface 18 Bản chất ý nghĩa sử dụng của: lớp trừu tượng, giao diện tính đa hình - nhiều class kế thừa abstract class tất class có chất giống với abstract class Ví dụ: abstract class Nguoi{ String hoten; Abstract void nhapTen(); } Class NhanVien extends Nguoi{ Void nhapTen(){ System.out.println(“Nhap ten Nhan vien: “); Hoten = input.nextLine(); } } Class Sinhvien extends Nguoi{ Void nhapTen(); System.out.println(“Nhap ten Sinh vien: “); Hoten = input.nextLine(); } } - class kế thừa Interface : tức thêm bổ sung đầy đủ thức hoạt động Ví dụ: Public interface Sound { Public abstract String whatSound(); } Public abstract class Eat { Public abstract String whatEat(); } Public class Dog extends Eat implements Sound { Public String whatSound() { Return “gâu gâu”; } Public String whatEat() { Return “gặm xương”; } } Public class Chicken extends Eat { Public String whatEat(){ Return “ăn thóc”; } } Đa hình: - Đa hình có nghĩa biến supertype tham chiếu đến đối tượng subtype - Ý nghĩa: thường sử dụng để gọi phương thức nạp chồng đối tượng - Ví dụ: Class Nguoi{ String hoten; } Class SV extends Nguoi{ } Class NV extends Nguoi{ } Public static void showHoten(Nguoi ng){ System.out.println(“hoten: ” + ng.hoten); } 19 Với chức thuật toán, so sánh tốc độ thực chương trình viết C viết Java Giải thích Lý do: C: biên dịch - tức dịch toàn chương trình sang mã máy thực thi Khi thực lại chạy file thực thi Java: vừa biên dịch vừa thơng dịch: biên dịch chương trình nguồn sang thành bytecode, bytecode môi trường thực thi thực III Các câu hỏi lập trình phân tán 20 Mơ tả q trình xử lý (client-server) truy xuất thực chức trang web 21 Phân biệt khác gửi liệu từ client lên server theo phương thức POST GET Phương thức GET: Client Gửi Lên: Phương thức GET phương thức gửi liệu thông qua đường dẫn URL nằm địa Browser Server nhận đường dẫn phân tích trả kết cho bạn Server phân tích tất thông tin đằng sau dấu hỏi (?) phần liệu mà Client gửi lên Ví dụ: Với URL freetuts.net?id=12 Server nhận giá trị id = 12 Phương thức POST: Client Gửi Lên: Với phương thức GET liệu thấy URL phương thức POST hồn tồn ngược lại, POST gửi liệu qua form HTML giá trị định nghĩa input gồm kiểu (textbox, radio, checkbox, password, textarea)và nhận dang thơng qua tên (name) input So Sánh Giữa POST GET Giống nhau: Đều gửi liệu lên Server Khác nhau: Phương thức POST bảo mật GET liệu gửi ngầm mắt thường khơng thể nhìn thấy Phương thức GET liệu gửi tường minh, thấy URL nên khơng bảo mật Phương thức GET ln ln nhanh POST liệu gửi Browser giữ lại cache, thực thi với POST Server ln thực thi lệnh trả cho Client, với GET Browser kiểm tra cache có chưa, có trả không cần gửi lên Server Khi dùng GET, POST Khi liệu bạn muốn SEO phải sử dụng phương thức GET Khi liệu bạn không cần bảo mật dùng phương thức GET, ngược lại liệu bảo mật dùng phương thức POST Ví dụ đăng nhập, Comment, đăng tin dùng phương thức POST Còn lấy tin dùng phương thức GET… 22 Phân tích hoạt động khác chọn nút nhấn kiểu reset nút nhấn kiểu submit - Nút Submit trường hợp đặc biệt button, nút Reset Nút đưa thông tin từ trường form tới địa URL thuộc tính ACTION thẻ form sử dụng cách thức METHOD thẻ FORM Giống đối tượng button reset, đối tượng submit có sẵn thuộc tính name value, cách thức click() thẻ kiện onClick - Sử dụng đối tượng reset, bạn tác động ngược lại để click vào nút Reset Cũng giống đối tượng button, đối tượng reset có hai thuộc tính name value, cách thức click(), thẻ kiện onClick Hầu hết người lập trình khong sử dụng thẻ kiện onClick nút reset để kiểm tra giá trị nút này, đối tượng reset thường dùng để xố form 23 Phân tích điểm khác biệt lập trình hệ lập hệ phân tán ...-File.o Mơ tả q trình cấp phát nhớ trình thực chương trình C Khi ta viết chương trình hay khai báo biến chương trình chúng có giá trị địa chúng Khi chương trình khởi chạy, hệ điều hành... khơng cố địn Mơ tả q trình thực tổ chức thành phần bên nhớ hàm đệ quy Bản chất q trình chuyển điều khiển chương trình chương trình Tại chương trình sử dụng nhiều chương trình lại làm tăng thời... onClick Hầu hết người lập trình khong sử dụng thẻ kiện onClick nút reset để kiểm tra giá trị nút này, đối tượng reset thường dùng để xố form 23 Phân tích điểm khác biệt lập trình hệ lập hệ phân tán

Ngày đăng: 28/09/2019, 10:56

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan