Tiểu luận môn phương pháp nghiên cứu khoa học VẤN ĐỀ KHOA HỌC VÀ CÁC PHƯƠNG PHÁP GIẢI QUYẾT

30 1.4K 1
Tiểu luận môn phương pháp nghiên cứu khoa học VẤN ĐỀ KHOA HỌC VÀ CÁC PHƯƠNG PHÁP GIẢI QUYẾT

Đ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

Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” LỜI NÓI ĐẦU Phương pháp luận sáng tạo khoa học kết trình khái quát lý thuyết thực tiễn nghiên cứu khoa học trở thành công cụ sắc bén để dẫn nhà khoa học, nhà quản lý công tác tổ chức, quản lý thực hành nghiên cứu khoa học cách sáng tạo Ngày nay, việc ứng dụng phương pháp sáng tạo để phát triển lĩnh vực tin học đời nhiều ngơn ngữ lập trình cấp cao dẫn đến bước tiến lớn phát triển mạnh mẽ công nghệ thông tin Mặc dù công nghệ thông tin ngành học phát triển thời gian gần đây, ảnh hưởng đến đời sống kinh tế xã hội địi hỏi người cần nhìn rõ tầm quan trọng Do việc áp dụng phương pháp sáng tạo trình giải vần đề tin học có ý nghĩa vơ to lớn Trong luận trình bày 40 nguyên tắc sáng tạo tiến hóa ngơn ngữ lập trình Qua em xin chân thành cảm ơn GS.TSKH Hồng Kiếm, giảng viên mơn học “Phương pháp nghiên cứu khoa học tư sáng tạo”, người truyền đạt cho chúng em kiến thức vô giá nguyên lý sáng tạo phương pháp nghiên cứu khoa học, giúp chúng em hiểu rõ cách giải vấn đề nhìn nhận khoa học cách sáng suốt Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” MỤC LỤC Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” I KHÁI NIỆM KHOA HỌC VÀ NGHIÊN CỨU KHOA HỌC Khoa học Khoa học trình nghiên cứu nhằm khám phá kiến thức mới, học thuyết tự nhiên xã hội mà thay dần cũ, khơng cịn phù hợp Do dó, khoa học bao gồm hệ thống tri thức qui luật vật chất vận động vật chất, qui luật tự nhiên, xã hội, tư Hệ thống tri thức hình thành lịch sử khơng ngừng phát triển sở thực tiễn xã hội Phân biệt hai hệ thống tri thức tri thức kinh nghiệm tri thức khoa học Nghiên cứu khoa học - Khái niệm Nghiên cứu khoa học họat động tìm kiếm, xem xét, điều tra, thử nghiệm Dựa số liệu, tài liệu, kiến thức đạt từ thí nghiệm NCKH để phát chất vật, giới tự nhiên xã hội, để sáng tạo phương pháp phương tiện kỹ thuật cao hơn, giá trị Con người muốn làm NCKH phải có kiến thức định lĩnh vực nghiên cứu phải rèn luyện cách làm việc tự lực, có phương pháp từ lúc ngồi ghế nhà trường - Các bước nghiên cứu Gồm bước:        Xác lập vấn đề nghiên cứu Giai đoạn chuẩn bị nghiên cứu Lựa chọn nghiên cứu thông tin Xây dựng giả thuyết, lựa chọn phương pháp lập kế hoạch Hoàn tất nghiên cứu Viết báo cáo hồn tất cơng trình Giai đoạn kết thúc Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” II VẤN ĐỀ KHOA HỌC VÀ CÁC PHƯƠNG PHÁP GIẢI QUYẾT Vấn đề khoa học Vấn đề khoa học gọi vấn đề nghiên cứu câu hỏi nghiên cứu câu hỏi đặt người nghiên cứu đứng trước mâu thuẫn tính hạn chế tri thức khoa học có với yêu cầu phát triển tri thức trình độ cao Phân loại Nghiên cứu khoa học tồn hai vấn đề : • Vấn đề chất vật tìm kiếm • Vấn đề phương pháp nghiên cứu để làm sáng tỏ lý thuyết thực tiễn vấn đề thuộc lớp thứ Các tình vấn đề Có vấn đề Có nghiên cứu Khơng có vấn đề Khơng có nghiên cứu Giả vấn đề Khơng có vấn đề Khơng có Nghiên cứu Nảy sinh vấn đề khác Nghiên cứu theo hướng khác Các phương pháp phát vấn đề khoa học Có phương pháp:  Tìm kẻ hở, phát vấn đề  Tìm bất đồng  Nghĩ ngược lại quan niệm thông thường Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo”  Quan sát vướng mắc thực tiễn  Lắng nghe lời kêu ca phàn nàn  Cảm hứng : câu hỏi xuất quan sát kiện III BỐN MƯƠI THỦ THUẬT Mở đầu Trong hầu hết lĩnh vực đời sống, việc giải thành công vấn đề rút nhiều kinh nghiệm, hay gọi bí quyết, mẹo Nhờ kinh nghiệm mà vấn đề phát sinh sau lĩnh vực chí ngồi lĩnh vực người giải nhanh hiệu Những kinh nghiệm, bí hay mẹo gọi thủ thuật sáng tạo Bốn mươi thủ thuật Dựa việc phân tích 40,000 mô tả sáng chế thuộc lĩnh vực kỹ thuật khác nhau, G.S Altshuller đúc kết bốn mươi thủ thuật sáng tạo trình bày sau: 2.1 Nguyên tắc phân nhỏ: Nội dung: - Chia đối tượng thành phần độc lập - Làm đối tượng trở nên tháo lắp - Tăng mức độ phân nhỏ đối tượng Ví dụ: - Cách tiếp cận top-down thiết kế hệ thống, chia hệ thống thành nhiều phần nhỏ Bằng cách đó, chia hệ thống phức tạp thành nhiều mơ-đun phức tạp Q trình thực lại cho mơ-đun mơ-đun khơng cịn phức tạp 2.2 Nguyên tắc “tách khỏi”: Nội dung: Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” - Tách phần gây “phiền phức” (tính chất “phiền phức”) hay ngược lại tách phần “cần thiết” (tính chất “cần thiết”) khỏi đối tượng Ví dụ: - Khi liệu ít, ta lưu trữ chúng vài máy tính phịng, cơng ty Nhưng liệu lớn khó khăn việc bảo trì, mở rộng, … Do đó, ta phải nhờ tới data center 2.3 Nguyên tắc phẩm chất cục bộ: Nội dung: - Chuyển đối tượng (hay mơi trường bên ngồi, tác động bên ngồi) có cấu trúc đồng thành không đồng - Các phần khác đối tượng phải có chức khác - Mỗi phần đối tượng phải điều kiện thích hợp cơng việc Ví dụ: - Sửa danh sách liên kết đối tượng xe máy thành danh sách liên kết đối tượng xe Việc trừu tượng hóa cao cho phép đối tượng không đồng (xe đạp, xe hơi, …) lưu trữ lớp chứa ngược lại 2.4 Nguyên tắc phản đối xứng: Nội dung: - Chuyển đối tượng có hình dạng đối xứng thành khơng đối xứng (nói chung giảm bật đối xứng) Ví dụ: - Chuẩn xếp nhanh thường lấy phần tử làm phần tử chốt Bằng cách sử dụng phần tử trung vị ba phần tử đứng đầu, đứng đứng cuối làm phần tử chốt thường đạt hiệu suất tốt Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” 2.5 Nguyên tắc kết hợp: Nội dung: - Kết hợp đối tượng đồng đối tượng dùng cho hoạt động kế cận - Kết hợp mặt thời gian hoạt động đồng kế cận Ví dụ: - Một trang web xây dựng từ nhiều khung (frame) Mỗi frame tải từ server khác Điều làm tăng tốc độ tải trang nhiều kết nối sử dụng đồng thời 2.6 Nguyên tắc vạn năng: Nội dung: - Đối tượng thực số chức khác nhau, khơng cần tham gia đối tượng khác Ví dụ: - Các phần mềm tăng tốc hệ thống “tuneup utilities” có chức 1-click dọn registry, loại bỏ shortcut bị phá hủy, xóa tập tin tạm, phân mảnh ổ đĩa, … 2.7 Nguyên tắc “chứa trong”: Nội dung: - Một đối tượng đặt bên đối tượng khác thân lại chứa đối tượng thứ ba - Một đối tượng chuyển động xuyên suốt bên đối tượng khác Ví dụ: - Cấu trúc liệu danh sách liên kết, Các thuật toán đệ quy như: xếp nhanh, backtracking, … 2.8 Nguyên tắc phản trọng lượng: Nội dung: - Bù trừ trọng lượng đối tượng cách gắn với đối tượng khác có lực nâng Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” - Bù trừ trọng lượng đối tượng tương tác với môi trường sử dụng lực thủy động, khí động Ví dụ: - Trong hàm băm, ta phân bổ đối tượng vào tập chứa giữ số lượng đối tượng chứa xấp xỉ 2.9 Nguyên tắc gây ứng suất sơ bộ: Nội dung: - Gây ứng suất trước với đối tượng để chống lại ứng suất không cho phép không mong muốn đối tượng làm việc (hoặc gây ứng suất trước để làm việc dùng ứng suất ngược lại) Ví dụ: - Khi ứng dụng bắt đầu đọc từ sở liệu, ta tải (load) bảng quan trọng hay mục trước 2.10 Nguyên tắc thực sơ bộ: Nội dung: - Thực trước thay đổi cần có, hồn tồn phần, đối tượng - Cần xếp đối tượng trước, cho chúng hoạt động từ vị trí thuận lợi nhất, khơng thời gian dịch chuyển Ví dụ: - Driver máy in kiểm thử tính sẵn sàng máy in trước người sử dụng hoàn tất thiết lập họ 2.11 Nguyên tắc dự phòng: Nội dung: - Bù đắp độ tin cậy không lớn đối tượng cách chuẩn bị trước phương tiện báo động, ứng cứu, an tồn Ví dụ: - Hệ điều hành lưu liệu tập tin quan trọng trước sử dụng Nếu xảy lỗi khơi phục lại mà cài lại Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” 2.12 Nguyên tắc đẳng thế: Nội dung: - Thay đổi điều kiện làm việc để nâng lên hay hạ xuống đối tượng Ví dụ: - Sắp xếp lại sở liệu hay tập tin thực cần thiết Thường liệu bị xóa cờ đánh dấu bị xóa Các ghi sở liệu khơng phải di chuyển chúng dường có vị trí sở liệu 2.13 Nguyên tắc đảo ngược: Nội dung: - Thay hành động u cầu tốn, hành động ngược lại (ví dụ, khơng làm nóng mà làm lạnh đối tượng) - Làm phần chuyển động đối tượng (hay môi trường bên ngoài) thành đứng yên ngược lại, phần đứng yên thành chuyển động Ví dụ: - Các hệ thống backtracking 2.14 Nguyên tắc cầu (tròn) hoá: Nội dung: - Chuyển phần thẳng đối tượng thành cong, mặt phẳng thành mặt cầu, kết cấu hình hộp thành kết cấu hình cầu - Sử dụng lăn, viên bi, vòng xoắn - Chuyển sang chuyển độg quay, sử dung lực ly tâm Ví dụ: - Thay tìm kiếm tuyến tính tìm kiếm phức tạp tìm kiếm nhị phân 2.15 Nguyên tắc linh động: Nội dung: Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” - Cần thay đổi đặt trưng đối tượng hay mơi trường bên ngồi cho chúng tối ưu giai đoạn làm việc - Phân chia đối tượng thành phần, có khả dịch chuyển với Ví dụ: - Thay đổi chế độ nhìn ứng dụng PowerPoint Chỉnh sửa văn chế độ outline dàng nhìn tổng quan chế độ trình bày 2.16 Nguyên tắc giải “thiếu” hoặc “thừa”: Nội dung: - Nếu khó nhận 100% hiệu cần thiết, nên nhận nhiều “một chút” Lúc tốn trở nên đơn giản dễ giải Ví dụ: - Để xếp mảng lớn thì thuật tốn xếp nhanh thường sử dụng Tuy nhiên mảng để xếp trở nên nhỏ, 10 phần tử, thuật toán khác sử dụng thực thi tốt 2.17 Nguyên tắc chuyển sang chiều khác: Nội dung: - Những khó khăn chuyển động (hay xếp) đối tượng theo đường (một chiều) khắc phục cho đối tượng khả di chuyển mặt phẳng (hai chiều) Tương tự, toán liên quan đến chuyển động (hay xếp) đối tượng mặt phẳng đơn giản hoá chuyển sang không gian (ba chiều) - Chuyển đối tượng có kết cấu tầng thành nhiều tầng - Đặt đối tượng nằm nghiêng - Sử dụng mặt sau diện tích cho trước - Sử dụng luồng ánh sáng tới diện tích bên cạnh tới mặt sau diện tích cho trước 10 Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” Ví dụ: - Sử dụng trình biên dịch để biên dịch - Một hàm mà nhận đối số lớp sở lớp xử lý 2.34 Nguyên tắc phân hủy hoặc tái sinh phần: Nội dung: - Phần đối tượng hoàn thành nhiệm vụ trở nên khơng càn thiết phải tự phân hủy (hồ tan, bay ) phải biến dạng - Các phần mát đối tượng phải phục hồi trực tiếp q trình làm việc Ví dụ: - Giải phóng nhớ không cần sử dụng thu gom rác Java 2.35 Thay đổi thông số hoá lý đối tượng: Nội dung: - Thay đổi trạng thái đối tượng - Thay đổi nồng độ hay độ đậm đặc - Thay đổi độ dẻo - Thay đổi nhiệt độ, thể tích Ví dụ: - Chạy chương trình với nhiều điều kiện tải khác nhau, chẳng hạn chạy hệ điều hành Windows hay Linux, hình 10’ hay 15’, … 2.36 Sử dụng chuyển pha: Nội dung: - Sử dụng tượng nảy sinh trình chuyển pha như: thay đổi thể tích, toả hay hấp thu nhiệt lượng Ví dụ: 16 Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” - Khi chuyển đổi từ loại thiết bị/OS/chương trình sang khác, giám sát chặt chẽ xảy chẳng hạn cách chuyển đổi có ích tương lai 2.37 Sử dụng nở nhiệt: Nội dung: - Sử dụng nở (hay co) nhiệt vật liệu - Nếu dùng nở nhiệt, sử dụng với vật liệu có hệ số nở nhiệt khác Ví dụ: - Khi liệu nén gửi nhanh qua mạng, tốn khơng gian lưu trữ Người ta phải giải nén để sử dụng 2.38 Sử dụng chất oxy hoá mạnh: Nội dung: - Thay khơng khí thường khơng khí giàu oxy - Thay khơng khí giàu oxy oxy - Dùng xạ ion hố tác động lên khơng khí oxy - Thay oxy giàu ozon (hoặc oxy bị ion hố) ozon Ví dụ: - Sử dụng định dạng nhị phân để gia tăng hiệu cho việc xử lý, lưu trữ lưu lượng mạng 2.39 Thay đổi độ trơ: Nội dung: - Thay môi trường thông thường mơi trường trung hồ - Đưa thêm vào đối tượng phần, chất, phụ gia trung hoà - Thực q trình chân khơng Ví dụ: - Kiểm thử phần mềm môi trường kiểm sốt có vấn đề thiệt hại giới hạn mơi trường kiểm sốt mà thơi 17 Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” 2.40 Sử dụng vật liệu hợp thành (composite): Nội dung: - Chuyển từ vật liệu đồng sang sử dụng vật liệu hợp thành (composite) Hay nói chung sử dụng vật liệu Ví dụ: - Microsoft CLR (Common Language Runtime) cho phép chương trình từ nhiều ngơn ngữ khác tương tác với IV ÁP DỤNG CÁC NGUN LÝ SÁNG TẠO TRONG Q TRÌNH TIẾN HĨA NGƠN NGỮ LẬP TRÌNH Các ngơn ngữ mã giả: Từ mã giả có nghĩa khác với nghĩa Ta gọi ngơn ngữ mã giả chúng đặt tên vào thời điểm chúng phát triển sử dụng (cuối năm 1940 đầu năm 1950) Ngơn ngữ máy khó đọc, sửa đổi dài dịng Máy khơng hỗ trợ xử lý dấu chấm động đời ngôn ngữ mã giả 1.1 ShortCode Là ngôn ngữ mã giả đầu tiên, phát triển John Mauchly vào năm 1949 cho máy tính BINAC Các biểu thức tốn học hay phương trình mã hóa Các mã cặp giá trị byte, nhiều phương trình mã hóa từ Short Code khơng chuyển thành mã máy Nó thực thi với trình biên dịch, trình vào thời điểm gọi lập trình tự động Rõ ràng làm đơn giản hóa q trình lập trình, biểu diễn Short Code chậm gần 50 lần so với mã máy 18 Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” 1.2 Speedcoding Ở nơi khác, hệ thống thông dịch phát triển để mở rộng ngôn ngữ máy để thao tác với dấu chấm động Hệ thống Speedcoding phát triển John Backus cho IBM 701 (1954) ví dụ Trình thơng dịch Speedcoding chuyển đổi 701 thành máy tính ảo có khả tính tốn dấu chấm động Hệ thống bao gồm lệnh giả cho bốn thao tác số học (cộng, trừ, nhân, chia) liệu dấu chấm động, thao tác bậc hai, sin, arctang, số mũ, lơgarit Rẽ nhánh có điều kiện không điều kiện chuyển đổi đầu vào/đầu phần kiến trúc ảo Một giới hạn hệ thống nhớ sau tải trình thơng dịch vào máy 700 từ cho người sử dụng lệnh thêm vào 4.2 mili giây để thực thi Nhưng mặt khác, Speedcoding tự động tăng mục cho truy cập mảng Chức không xuất phần cứng đến máy tính UNIVAC 1107 năm 1962 Nhờ chức đó, nhân ma trận thực 12 lệnh Speedcoding Backus xác nhận vấn đề hai tuần để lập trình mã máy vài sử dụng Speedcoding Ở ta thấy “nguyên lý sử dụng trung gian” sử dụng mã giả để làm cho chương trình ngắn gọn, dễ hiểu hơn, giảm bớt cơng sức lập trình IBM Fortran Trước năm 1954, phần cứng lúc không hỗ trợ dấu chấm động Do tất thao tác với dấu chấm động phải mơ phần mềm, q trình thơng dịch tốn nhiều thời gian Sự đời IBM 704, máy hỗ trợ tập lệnh đánh mục dấu chấm động dẫn tới ý tưởng ngôn ngữ biên dịch, khơng cịn phải tốn chi phí cho việc thông dịch dấu chấm động Fortran thiết kế vào năm 1954 không thực Fortran I thiết kế vào năm 1955 phát hành vào năm 1957 dành cho máy IBM 704 Fortran II phân phối vào mùa xuân 1958 Nó vá nhiều lỗi hệ thống biên dịch Fortran I thêm vào vài chức cho ngôn ngữ, quan trọng chương trình biên dịch riêng biệt 19 Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” Nguyên lý tách nhỏ: Các chương trình khơng biên dịch riêng biệt bất kỳ thay đổi chương trình u cầu tồn chương trình biên dịch lại Việc biên dịch riêng biệt chương trình làm cho thời gian biên dịch rút ngắn đáng kể điều kiện để phát triển chương trình lớn Fortran III phát triển, khơng phân phối rộng rãi Lúc IBM 1401 nhớ lõi từ có 8k Vì trình biên dịch sử dụng phương pháp “overlay” phép chạy chương trình lớn nhớ Nguyên lý linh động: Để chạy chương trình lớn nhớ chúng chia thành khối “mã đối tượng (là chuỗi thị 0, 1)” độc lập gọi “overlay” đưa vào cấu trúc Một quản lý tải các “overlay” yêu cầu từ nhớ ngồi vào “vùng” u cầu cần Ý tưởng cho thấy “linh động” việc đổi môi trường nhớ phân đối tượng thành phần có khả dịch chuyển với Tuy nhiên, Fortran IV lại trở thành ngôn ngữ lập trình sử dụng phổ biến thời điểm Được phát triển từ 1960 đến 1962 chuẩn hóa thành Fortran 66 (ANSI, 1966) Fortran IV cải tiến Fortran II - Khai báo kiểu tường minh cho biến - Câu lệnh lựa chọn If theo logic “If (expression) true, false” - Có thể đặt chương trình tham số vào chương trình khác Nguyên lý vượt nhanh: Trong trường hợp chương trình muốn gọi nhiều chương trình khác tham số (đầu vào) phải gán chương trình gọi vào biến đặt biến vào chương trình muốn gọi, ta đặt thẳng chương trình gọi tham số vào chương trình muốn gọi Fortran 77 Fortran IV thay Fortran 77, trở thành chuẩn 1978 (ANSI, 1978a) Fortran 77 giữ lại hầu hết tính Fortran IV thêm vào 20 Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” xử lý chuỗi ký tự, thay đổi vòng lặp Do cho phù hợp If có mệnh đề tùy chọn Else Fortran 90 (ANSI, 1992) khác đáng kể với Fortran 77 Các thay đổi lớn thêm vào mảng động, ghi, trỏ, nhiều câu lệnh chọn lựa, mơđun Ngồi ra, chương trình Fortran 90 gọi cách đệ quy Ngun lý kết hợp: mơ-đun để nhóm thủ tục liệu có liên quan với để chương trình khác sử dụng dễ dàng Fortran 95 (INCITS/ISO/IEC, 1997) tiếp tục phát triển ngơn ngữ, có vài thay đổi vòng lặp Forall Fortran 2003 hỗ trợ lập trình hướng đối tượng, kiểu dẫn xuất tham số hóa, trỏ thủ tục, tương tác với ngơn ngữ lập trình C Fortran 2008(ISO/IEC 1539-1, 2010) có tính - Cấu trúc DO CONCURRENT, cho vịng lặp khơng phụ thuộc lẫn - Co-array Fortran (CAF), cung cấp mơ hình thực thi song song Lập trình hàm AI (trí tuệ nhân tạo) bắt đầu quan tâm vào năm 1950, số nhà ngôn ngữ học, số từ tâm lý học số từ tốn học Ngơn ngữ học quan tâm với việc xử lý ngôn ngữ tự nhiên Tâm lý học hứng thú với mơ hình hóa việc lưu trữ truy xuất thông tin người, trình xử lý khác não Các nhà tốn học quan tâm việc tự động hóa phương pháp thơng minh đó, chẳng hạn chứng minh định lý Tất việc nghiên cứu dẫn tới kết luận: vài phương pháp phải phát triển phép máy tính xử lý liệu ký hiệu danh sách liên kết Tại lúc này, hầu hết tính tốn liệu số mảng LISP Đi tiên phong ngơn ngữ lập trình hàm, thiết kế McCarthy MIT năm 1958 Có hai kiểu liệu: nguyên tố danh sách Các nguyên tố ký hiệu chữ số 21 Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” Cú pháp LISP khác với ngơn ngữ mệnh lệnh, ngơn ngữ lập trình hàm Ví dụ, cú pháp Java kết hợp phức tạp tiếng Anh đại số, cú pháp LISP mơ hình đơn giản dựa phép tính lambda Mã chương trình liệu có hình thức: danh sách đặt dấu ngoặc đơn Ví dụ: (A B C D) Khi thể liệu, danh sách gồm bốn phần tử Khi xem mã, khai triển hàm có tên A đến ba tham số B, C D Đến sử dụng phổ biến AI Nguyên lý linh động: Vào lúc để thực cấu trúc liệu ngăn xếp, hàng đợi hay biểu thức ký hiệu … sử dụng mảng lần thêm xóa phần tử phải cấp phát lại hay phải tổ chức lại toàn cấu trúc phần tử lưu trữ nhớ liên tiếp Với danh sách liên kết, nhớ phần tử nằm rời rạc nên ta thêm, loại bỏ hay hoán đổi phần tử bất kỳ điểm danh sách dễ dàng Bắt đầu khái niệm chia sẻ thời gian Ngôn ngữ BASIC thiết kế Kemeny Kurtz Dartmouth Mục tiêu thiết kế: - Dễ sử dụng với người học - Ngôn ngữ lập trình cho mục đích - Cho phép khả lập trình nâng cao dành riêng cho chuyên gia mà giữ đơn giản cho người học - Có tương tác với người dùng - Các thông báo lỗi rõ ràng thân thiện - Chạy nhanh với chương trình nhỏ - Khơng cần phải hiểu biết phần cứng máy tính - Đứng người sử dụng hệ điều hành Ngôn ngữ phân nhánh sử dụng phổ biến VISUAL BASIC 22 Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” Là ngôn ngữ sử dụng rộng rãi thông qua thiết bị đầu cuối kết nối đến máy tính từ xa (trước có LISP khơng phổ biến) nhờ hệ thống chia sẻ thời gian Nguyên lý liên tục tác động có ích: với hệ thống chia sẻ thời gian, thời gian xử lý máy chủ chia nhỏ người sử dụng thời gian ngắn Sự luân chuyển đủ nhanh để người sử dụng có cảm giác họ sử dụng toàn máy Điều giảm thiểu chi phí, tận dụng tối đa công suất máy Hai ngôn ngữ động đầu tiên: - Có đặc điểm định kiểu động cấp phát nhớ động - Các biến định kiểu gán vào giá trị - Bộ nhớ cấp phát cho biến gán vào giá trị Cả hai khơng ảnh hưởng nhiều đến ngơn ngữ sau 5.1 APL: A Programming Language Ban đầu không thiết kế ngơn ngữ lập trình mà dự định phương tiện để mô tả kiến trúc máy tính, IBM Ken Iverson vào năm 1960 Có nhiều tốn tử cung cấp lượng lớn thao tác mảng (ví dụ, chuyển vị ma trận cần toán tử nhất) Tuy nhiên, chương trình khó để đọc Ngày cịn sử dụng có thay đổi đáng kể 5.2 SNOBOL Được thiết kế ngôn ngữ thao tác chuỗi phịng thí nghiệm Bell Farber, Griswold Polensky vào năm 1964 Có tốn tử đầy sức mạnh cho việc so khớp mẫu chuỗi Bởi chất động ngơn ngữ làm cho chậm so với ngơn ngữ tương tự (và khơng cịn sử dụng cho soạn thảo văn bản) Ngày sử dụng tác vụ xử lý văn Bắt đầu trừu tượng hóa liệu: Được thiết kế chủ yếu cho việc mô hệ thống Na Uy Nygaard Dahl Dựa ALGOL 60 SIMULA I Có điểm - Một loại chương trình gọi “coroutine” 23 Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” - Có cấu trúc lớp (bắt đầu hình thành khái niệm trừu tượng hóa liệu) Nguyên tắc chuyển sang chiều khác: Thông thường mối quan hệ chương trình gọi chương trình khác chương trình bị gọi mối quan hệ “chủ-tớ” Còn mối quan hệ coroutine gọi coroutine gọi ngang hàng Coroutine thể loại đặc biệt chương trình Thơng thường conroutine tạo ứng dụng đơn vị chương trình gọi đơn vị chủ (khơng phải coroutine) Khi tạo ra, coroutine thực đoạn mã khởi tạo chúng sau trả quyền điều khiển cho đơn vị chủ Khi tồn coroutine khởi tạo, chương trình chủ “resume” coroutine đó, coroutine “resume” lẫn theo thứ tự cơng việc Đến cơng việc hồn thành coroutine trả quyền điều khiển cho đơn vị chủ Lúc coroutine bị chấm dứt hay tiếp tục chạy tùy theo chương trình Một ví dụ vấn đề mơ trị chơi đánh Giả sử trị chơi có bốn người chơi Một đơn vị chương trình chủ tạo bốn coroutine Chương trình chủ khởi động chương trình mô cách “resume” coroutine người chơi Khi người xong lượt “resume” đến coroutine người kế tiếp, tiếp tục kết thúc trò chơi Nguyên tắc đồng nhất: nhờ có đồng trình bày của, thao tác đối tượng thành kiểu liệu trừu tượng hóa mà làm cho thay đổi biểu diễn liệu hay mã thực thi không làm cho mã người dung thay đổi Ngoài trừu tượng hóa liệu cịn giúp đóng gói liệu để bảo vệ liệu không bị truy xuất trực tiếp mã người dùng Thiết kế trực giao: Tiếp tục phát triển từ ALGOL 60 tập cha ngôn ngữ Thiết kế dựa khái niệm “trực giao” (Có vài khái niệm bản, thêm vào vài kết hợp chế) Có tính đáng ý như: - Các cấu trúc liệu người sử dụng định nghĩa 24 Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” - Kiểu tham chiếu - Mảng động (khai báo mảng không cần kích thước) ALGOL 68 sử dụng ALGOL 60 Tuy nhiên ảnh hưởng mạnh mẽ lên ngôn ngữ sau này, đặc biệt Pascal, C Ada Lập trình dựa Logic: Được phát triển Comerauer Roussel (đại học Aix-Marseille) với giúp đỡ Kowalski (đại học Edinburgh) Khơng có thủ tục Có thể tóm lại hệ thống sở liệu thông minh sử dụng trình suy diễn để suy thật (kết quả) câu truy vấn Nó sử dụng rộng rãi cách tiếp cận khơng mệnh lệnh, chương trình viết ngơn ngữ lơgic đến chứng minh khơng có hiệu cao so với chương trình mệnh lệnh Thứ hai, vùng ứng dụng nhỏ cho số loại hệ thống quản lý sở liệu số chương trình AI Lập trình hướng đối tượng: Được phát triển Xerox PARC, khởi tạo Alan Kay, sau thực Adele Goldberg Ngôn ngữ thực đầy đủ hướng đối tượng (trừu tượng hóa liệu, thừa kế, ràng buộc động) Đi tiên phong lĩnh vực thiết kế giao diện người sử dụng đẩy mạnh OOP Nguyên lý tách khỏi nguyên lý kết hợp: chương trình không OOP thường danh sách dài câu lệnh Các chương trình phức tạp thường nhóm câu lệnh vào hàm, chúng thực cơng việc Với thiết kế liệu chương trình dễ trở nên tồn cục Khi chương trình lớn dần, có nhiều hàm có quyền thay đổi liệu, điều có nghĩa có lỗi ảnh hưởng rộng Với cách hướng đối tượng, lập trình viên đặt liệu vào nơi mà khơng thể bị truy cập trực tiếp phần cịn lại chương trình Thay vào đó, liệu truy cập phương thức Kết hợp liệu với tập phương thức để truy cập quản lý liệu gọi đối tượng 25 Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” 10 Kết hợp lập trình mệnh lệnh lập trình hướng đối tượng: Được phát triển phịng thí nghiệm Bell Stroustrup vào năm 1980 Phát triển từ C SIMULA 67 Lấy phần từ SIMULA 67 cho lập trình hướng đối tượng Hỗ trợ xử lý ngoại lệ Một ngôn ngữ lớn phức tạp, phần hỗ trợ lập trình thủ tục hướng đối tượng Nhanh chóng phổ biến Có phiên Microsoft (phát hành với NET vào 2002): có chức ủy quyền, giao diện, khơng có đa kế thừa 11 Một ngôn ngữ hướng đối tượng dựa mệnh lệnh: Được phát triển Sun vào năm đầu 1990 Vào lúc đó, C C++ khơng an toàn, tin cậy để nhúng vào thiết bị điện tử Vì ngơn ngữ Java đời, dựa C++ đơn giản hóa (khơng có struct, union, enum, pointer), hỗ trợ OOP có tham chiếu khơng có trỏ Ngồi cịn - Loại bỏ nhiều tính khơng an tồn C++ - Hỗ trợ lập trình tương tranh - Có thư viện cho applet, interface, GUI, truy cập sở liệu - Portable dựa vào máy ảo Java, trình biên dịch JIT - Được sử dụng phổ biến lập trình web Nguyên lý trung gian: Java tiếng với câu “viết lần, chạy bất kỳ đâu” (chạy bất kỳ hệ máy nào) nhờ có máy ảo Java, với máy ảo chương trình Java sau biên dịch mã bytecode (các tập tin class) chúng biên dịch lại thành mã máy hệ máy để thực thi Nguyên lý sử dụng vỏ dẻo màng mỏng: Với interface, lớp định nghĩa với interface thay đổi nội dung interface bên lớp 26 Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” 12 Các ngôn ngữ kịch cho Web 12.1JavaScript Bắt đầu Netscape sau liên kết Netscape Sun Microsystems Một ngôn ngữ kịch nhúng vào HTML phía client, thường sử dụng để tạo HTML động Hoàn toàn thơng dịch Chỉ có cú pháp tương tự liên quan tới Java Nguyên lý phẩm chất cục bộ: Lúc đầu tất thao tác website xử lý server Sau tương tác người dùng hiệu ứng hình ảnh, rê chuột, kiểm tra giá trị thông tin mà người dùng nhập vào, … xử lý client ngôn script Javascript, VBScript, … để giảm gánh nặng cho server, tương tác nhanh chóng với người dùng 12.2PHP PHP: Hypertext Preprocessor, thiết kế Rasmus Lerdorf Một ngôn ngữ kịch nhúng vào HTML phía server, thường sử dụng cho xử lý form truy cập liệu qua Web Hoàn tồn thơng dịch 13 Xu hướng Ngơn ngữ tiếp tục phát triển công nghiệp lẫn nghiên cứu Vài xu hướng : - Hỗ trợ lập trình phân tán - Bổ sung chế bảo mật, tin cậy cho ngôn ngữ - Tích hợp với sở liệu - Phát triển phần mềm hướng thành phần - AOP (Aspect Oriented Programming) - Các ngơn ngữ lập trình song song đồng thời cho CPU GPU Ta dễ dàng thấy vài nguyên tắc sáng tạo sử dụng nguyên tắc phân nhỏ (trong phân tán), nguyên tắc linh hoạt (trong AOP), 27 Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” KẾT LUẬN Khi phát triển khoa học kỹ thuật nhanh vũ bão, giới trở nên ngày hội nhập việc ta giải vấn đề trở nên có giá trị, mở hội thành cơng lớn cho cho xã hội Thế việc “thấy” “dụng” hai việc khác hồn tồn Do để áp dụng địi hỏi bạn cần phải nắm vững phải tập luyện thường xuyên, thử liên tưởng vận dụng nguyên tắc vào bạn gặp vấn đề Và nhớ “Sự sáng tạo làm nên khác biệt người dẫn đầu kẻ bám đuôi” Steve Jobs 28 Tiểu Luận: “Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” TÀI LIỆU THAM KHẢO [1] Slides giảng môn ‘‘PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC’’, GS.TSKH Hoàng Kiếm [2] Phan Dũng, Các thủ thuật (nguyên lý) sáng tạo phần một, Trung tâm sáng tạo khoa học – kỹ thuật (TSK) TpHCM,2007 [3] http://www.stackoverflow.com [4] http://www.trizforsoftware.com/ [5] http://www.wikipedia.org [6] http://www.tailieu.vn/ 29 .. .Tiểu Luận: ? ?Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” MỤC LỤC Tiểu Luận: ? ?Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” I KHÁI NIỆM KHOA HỌC VÀ NGHIÊN CỨU KHOA HỌC Khoa học Khoa. .. tất nghiên cứu Viết báo cáo hồn tất cơng trình Giai đoạn kết thúc Tiểu Luận: ? ?Phương Pháp Nghiên Cứu Khoa Học Và Tư Duy Sáng Tạo” II VẤN ĐỀ KHOA HỌC VÀ CÁC PHƯƠNG PHÁP GIẢI QUYẾT Vấn đề khoa học. .. loại Nghiên cứu khoa học tồn hai vấn đề : • Vấn đề chất vật tìm kiếm • Vấn đề phương pháp nghiên cứu để làm sáng tỏ lý thuyết thực tiễn vấn đề thuộc lớp thứ Các tình vấn đề Có vấn đề Có nghiên cứu

Ngày đăng: 21/05/2015, 21:51

Từ khóa liên quan

Mục lục

  • LỜI NÓI ĐẦU

  • I. KHÁI NIỆM KHOA HỌC VÀ NGHIÊN CỨU KHOA HỌC

    • 1. Khoa học

    • 2. Nghiên cứu khoa học

      • Khái niệm

      • Các bước nghiên cứu

      • II. VẤN ĐỀ KHOA HỌC VÀ CÁC PHƯƠNG PHÁP GIẢI QUYẾT

        • 1. Vấn đề khoa học

        • 2. Phân loại

        • 3. Các tình huống vấn đề

        • 4. Các phương pháp phát hiện vấn đề khoa học

        • III. BỐN MƯƠI THỦ THUẬT

          • 1. Mở đầu

          • 2. Bốn mươi thủ thuật

          • 2.1 Nguyên tắc phân nhỏ:

          • 2.2 Nguyên tắc “tách khỏi”:

          • 2.3 Nguyên tắc phẩm chất cục bộ:

          • 2.4 Nguyên tắc phản đối xứng:

          • 2.5 Nguyên tắc kết hợp:

          • 2.6 Nguyên tắc vạn năng:

          • 2.7 Nguyên tắc “chứa trong”:

          • 2.8 Nguyên tắc phản trọng lượng:

          • 2.9 Nguyên tắc gây ứng suất sơ bộ:

          • 2.10 Nguyên tắc thực hiện sơ bộ:

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

Tài liệu liên quan