1. Trang chủ
  2. » Tất cả

Tổng quan kỹ thuật lập trình chương 1

5 8 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tổng quan kỹ thuật lập trình chương 1
Trường học Trường Đại học Bách Khoa Hà Nội
Chuyên ngành Kỹ thuật lập trình
Thể loại Giáo trình
Năm xuất bản 2015
Thành phố Hà Nội
Định dạng
Số trang 5
Dung lượng 540,9 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

KỸ THUẬT LẬP TRÌNH 3102015 1 TỔNG QUAN VỀ KỸ THUẬT LẬP TRÌNH Mục tiêu Cung cấp kiến thức tổng thể và cơ bản về các phương pháp, kỹ thuật lập trình; quy trình xây dựng chương trình; ngôn ngữ lập trìn. Nói về tất cả những điều cơ bản nhất, những cú pháp câu lệnh hàm phương thức của python trong kỹ thuật lập trình ,

Trang 1

TỔNG QUAN VỀ KỸ THUẬT LẬP

TRÌNH Mục tiêu: Cung cấp kiến thức tổng thể và cơ

bản về các phương pháp, kỹ thuật lập trình;

quy trình xây dựng chương trình; ngôn ngữ lập

trình; môi trường lập trình; quy ước lập trình B

Nội dung

• Tổng quan

• Các nguyên tắc cơ bản của lập trình

• Vấn đề tối ưu hóa chương trình

• Phương pháp lập trình

• Các mức ngôn ngữ lập trình

• Môi trường và công cụ lập trình

• Tổng kết

2

Tổng quan

• Chương trình

– Chuỗi lệnh + dữ liệu

– Cấu trúc dữ liệu + giải thuật được bao hàm trong chuỗi

lệnh

• Chương trình là một thể hiện cụ thể của một giải thuật trên một

ngôn ngữ lập trình nào đó cùng với những mô tả về cấu trúc dữ

liệu mô tả đầu vào, đầu ra của bài toán

– Thực hiện một chức năng, nhiệm vụ hay giải quyết một

vấn đề cụ thể

• Phần mềm

– Chuỗi lệnh + dữ liệu + tài liệu liên quan

– Phần mềm thực hiện chức năng bằng cách gửi các câu lệnh

trực tiếp đến phần cứng hoặc yêu cầu thực hiện bởi một

phần mềm khác

Phần mềm = chương trình + tài liệu

3

Tổng quan

• Lập trình

– Là quá trình cài đặt các thuật toán có liên quan với nhau bằng một hoặc nhiều ngôn ngữ lập trình để tạo

ra một chương trình

• Lập trình phần mềm

– Là lập trình tạo ra một phần mềm – Phần mềm được thực thi bởi CPU

• Lập trình phần cứng

– Là quá trình cài đặt thuật toán theo một mạch phần cứng

– Thiết kế, chế tạo mạch phần cứng để giải quyết bài toán

4

Tổng quan

• Kỹ thuật lập trình (phần mềm)

– Là kỹ thuật thực thi một giải pháp phần mềm (cấu

trúc dữ liệu + giải thuật) dựa trên nền tảng một

phương pháp luận (methodology) và một hoặc nhiều

ngôn ngữ lập trình phù hợp với yêu cầu đặc thù của

ứng dụng

• Kỹ thuật lập trình

= Tư tưởng thiết kế + Kỹ thuật mã hóa

= Cấu trúc dữ liệu + Giải thuật + Ngôn ngữ lập

trình

Tổng quan

• Phương pháp: là cách thức tiến hành công việc để

có hiệu quả cao

• Phương pháp luận: là một tập các phương pháp được sử dụng hoặc một bộ môn khoa học nghiên cứu các phương pháp đó

• Trong phát triển phần mềm, phương pháp luận được sử dụng trong:

– Phân tích – Thiết kế – Lập trình – Kiểm thử, …

Trang 2

Tổng quan

• Thế nào là lập trình tốt

– Đúng/chính xác

• Thỏa mãn đúng các nhiệm vụ đặt ra

– Ổn định và bền vững

• Chạy ổn định

• Ít lỗi

• Khả năng chịu lỗi cao (mức độ lỗi nhẹ có thể chấp nhận)

– Khả năng chỉnh sửa cao

• Dễ chỉnh sửa

• Dễ thay đổi, nâng cấp

– Khả năng tái sử dụng

7

Tổng quan

• Thế nào là lập trình tốt

– Độ tương thích: khả năng tương thích với các môi trường khác nhau

– Hiệu suất

• Nhỏ, gọn, sử dụng ít bộ nhớ

• Tốc độ nhanh, sử dụng ít thời gian CPU – Hiệu quả

• Thời gian lập trình ngắn

• Khả năng bảo trì dễ dàng

• Giá trị tái sử dụng lớn

• Đơn giản, thân thiện, nhiều tiện ích

8

Tổng quan

• Làm sao để lập trình tốt

– Học cách tư duy và phương pháp lập trình

• Tư duy toán học, tư duy logic, tư duy có cấu trúc, tư duy

hướng đối tượng, tư duy tổng quát

• Tìm hiểu về cấu trúc dữ liệu và giải thuật

– ƒ Hiểu sâu về máy tính

• Tương tác giữa CPU, chương trình và bộ nhớ

• Cơ chế quản lý bộ nhớ

– ƒ Nắm vững ngôn ngữ lập trình

• Biết rõ các khả năng và hạn chế của ngôn ngữ

• Cần học sâu, bản chất một ngôn ngữ lập trình

– ƒ Tự rèn luyện trên máy tính

• Hiểu sâu được các điểm nêu trên

• Rèn luyện kỹ năng lập trình

• Thúc đẩy sáng tạo

9

Tổng quan

• Ngôn ngữ lập trình – Là ngôn ngữ dùng để viết chương trình – Bao gồm: bộ ký tự, từ tố (tên, từ khóa), cú pháp, ngữ nghĩa

• Công cụ lập trình – Công cụ soạn thảo, chương trình dịch, công cụ gỡ lỗi, công cụ mô phỏng

• Môi trường phát triển tích hợp (IDE) – Bộ phần mềm tích hợp các công cụ lập trình

10

Tổng quan

• Chương trình dịch

– Chuyển chương trình nguồn sang chương trình

đích

• Trình biên dịch

– Dịch toàn bộ chương trình nguồn thành chương

trình đích rồi sau đó mới thực hiện

• Trình thông dịch

– Dịch và thực hiện từng câu lệnh

– Thường không tạo ra chương trình đích

11

Tổng quan

• Quá trình xây dựng chương trình để giải bài toán trên máy tính

1 Mô tả bài toán

2 Xác định, xây dựng cấu trúc dữ liệu

3 Xây dựng thuật toán

4 Soạn thảo, kiểm tra và hoàn thiện chương trình

• Bài toán tổng quát

Input => Output

– Input: là giả thiết, điều kiện ban đầu, thông tin đã cho – Output: là kết quả, là mục tiêu cần đạt hoặc cái phải tìm

– => là thuật toán: suy luận, giải pháp được biểu diễn bằng

chuỗi các thao tác cần thực hiện để có được Output từ Input

12

Trang 3

Các nguyên tắc cơ bản của lập trình

• Một thuật toán có các tính chất sau

– Tính chính xác: để đảm bảo kết quả tính toán hay các thao

tác mà máy tính thực hiện được là chính xác

– Tính rõ ràng: Thuật toán phải được thể hiện bằng các câu

lệnh minh bạch; các câu lệnh được sắp xếp theo thứ tự

nhất định

– Tính khách quan: Một thuật toán dù được viết bởi nhiều

người trên nhiều máy tính vẫn phải cho kết quả như nhau

– Tính phổ dụng: Thuật toán không chỉ áp dụng cho một bài

toán nhất định mà có thể áp dụng cho một lớp các bài toán

có đầu vào tương tự nhau

– Tính kết thúc: Thuật toán phải gồm một số hữu hạn các

bước tính toán

13

Vấn đề tối ưu hóa chương trình

• Tối ưu hiệu năng – Thường tập trung vào tốc độ thực thi

• Tối ưu bộ nhớ – Giảm thiểu kích thước chương trình

• Tối ưu điện năng – Giảm thiểu điện năng tiêu thụ của chương trình

• Tối ưu đa mục tiêu – Cân bằng giữa các mục tiêu tối ưu

14

Phương pháp lập trình

• Lập trình tuần tự

– Phương pháp cổ ₫iển nhất, bằng cách liệt kê các lệnh

kế tiếp, mức trừu tượng thấp

– ƒ Kiểm soát dòng mạch thực hiện chương trình bằng

các lệnh rẽ nhánh, lệnh nhảy, lệnh gọi chương t rình

con (subroutines)

– ƒ Ví dụ:

• Ngôn ngữ máy,

• ASSEMBLY

• IL (Instruction List), STL (Statement List)

• LD, LAD (Ladder Diagram)

15

Phương pháp lập trình

• Lập trình cấu trúc

– Cấu trúc hóa dữ liệu (xây dựng kiểu dữ liệu) và cấu trúc hóa chương trình để tránh các lệnh nhảy

– ƒ Phân tích và thiết kế theo cách từ trên xuống (top-down)

– ƒ Thực hiện từ dưới lên (bottom-up) – ƒ Yêu cầu của chương trình có cấu trúc: chỉ sử dụng các – Cấu trúc điều khiển tuần tự, lựa chọn (if else), lặp (while)

– ƒ Ví dụ:

• PASCAL, ALGO, FORTRAN, C,

• SFC (Sequential Funtion Charts)

• ST (Structured Text)

16

Phương pháp lập trình

• Lập trình mô-đun (Module)

– Là một dạng cải tiến của lập trình có cấu trúc

– Chương trình được cấu trúc nghiêm ngặt hơn, dùng

đơn vị cấu trúc là mô-đun

– ƒ Mô-đun:

• Là một đơn vị cấu trúc độc lập, được chuẩn hóa để tạo lập

một hệ thống

• Mỗi mô-đun gồm phần giao diện (công khai) và phần thực

thi (che giấu)

• Các mô-đun giao tiếp với nhau thông qua các giao diện được

đặc tả chính xác

– ƒ Vídụ:

• Modula-2

Phương pháp lập trình

• Lập trình hướng đối tượng (OOP)

– Xây dựng chương trình ứng dụng theo quan điểm dựa trên các cấu trúc dữliệu trừu tượng (lớp), các thể hiện của các cấu trúc ₫ó (₫ối tượng) và quan hệ giữa chúng (quan hệ lớp, quan hệ ₫ối tượng)

– ƒ Nguyên lý cơ bản:

• Trừu tượng (abstraction)

• Đóng gói dữliệu (data encapsulation)

• Thừa kế (inheritance)

• Đa hình (polymorphism)

– ƒ Ví dụ:

• C++ (lai, cả OOP và cấu trúc), C#

• Java,

• ADA

Trang 4

Phương pháp lập trình

• Lập trình tổng quát (generic programming)

– Một tư duy lập trình mở, trên quan điểm tổng

quát hóa tất cả những gì có thể nhằm đưa ra một

khuôn mẫu giải pháp cho nhiều bài toán

– ƒ Ưu điểm:

• Giảm tối đa lượng mã nguồn

• Tăng khả năng tái sử dụng

• Tính khả chuyển cao

– Các ngôn ngữ hỗ trợ:

• C, C++

• Java

• C#

19

Phương pháp lập trình

• Lập trình thành phần (Component Based Programming)

– Phương pháp xây dựng phần mềm dựa trên các thành phần có sẵn, hoặc tạo ra các thành phần đó

– ƒ Tiến hóa từ lập trình hướng đối tượng – ƒ Hầu hết các ứng dụng Windows và ứng dụng Internet ngày nay được xây dựng theo phương pháp luận này – ƒ Các ngôn hỗ trợ

• C/C++,C#

• Delphi, Visual Basic

• Script, HMTL, XML,

20

Phương pháp lập trình

• Các phương pháp lập trình khác

– Lập trình phân tán

• Tạo ra các ứng dụng phân tán trên các node tính toán

khác nhau

• Có nhiều kỹ thuật thực hiện theo các mức trừu tượng

khác nhau

– Lập trình thời gian thực

• Xây dựng phần mềm đáp ứng tính năng thời gian thực

của hệ thống

– Lập trình lôgic (Prolog)

21

Các loại ngôn ngữ lập trình

• Ba loại: ngôn ngữ máy, hợp ngữ và ngôn ngữ cấp cao

• Ngôn ngữ máy (machine language):

– Là các chỉ thị dưới dạng nhị phân, can thiệp trực tiếp vào trong các mạch điện tử

– Thực hiện ngay, không cần qua bước trung gian nào

• Hợp ngữ (assembly language)

• Ngôn ngữ cấp cao (High level language)

22

Các bước phát triển chương trình

23

Môi trường và công cụ phát triển

• IDE (Integrated Development Environment)

– Hỗ trợ toàn bộ các bước phát triển chương trình – Vídụ: MS Visual C++, Borland C++ (Builder), Keil-C

• ƒ Các công cụ cần thiết trong môi trường

– Trình soạn thảo(Editor) – Trình biên dịch (Compiler) – Trình liên kết (Linker) – Trình nạp (Loader) – Trình gỡ rối (Debugger) – Trình quản lý dự án (Project Manager)

24

Trang 5

Tổng kết

• Các khái niệm, vấn đề cốt yếu về

– Phần mềm, chương trình, lập trình, kỹ thuật lập

trình, phương pháp, biên dịch, thông dịch

– Lập trình tốt, làm sao để lập trình tốt

• Các nguyên tắc cơ bản trong lập trình

• Các bước phát triển chương trình

• Các phương pháp lập trình phổ biến

• Môi trường và công cụ

25

Ngày đăng: 15/01/2023, 17:01

🧩 Sản phẩm bạn có thể quan tâm

w