Chương 1 Máy tín h Phương pháp luận lập trình

Một phần của tài liệu Kỹ thuật lập trình (Trang 30 - 34)

- Để tính phẩn lẻ của số M, ta lấy phần !ẻ của số N nhân với cơ số b

32 Chương 1 Máy tín h Phương pháp luận lập trình

Ngơn ngữ máy (machine language) là một tập các chỉ thị máy (machine instruction) để điều khiển các hoạt động của các thành phần bên

trong của máy tính. Các kiến trúc máy tính khác nhau cĩ thể cĩ các tập chỉ thị khác nhau.

Chỉ thị (instruction) là một chuồi các bit 0 và 1 được chứa trong một

từ cùa máy tính, biểu diễn một hành động đơn giản mà máy tính thực hiện được. Một chỉ thị cĩ hai phần: mã tác vụ (opcode - operation code) là hành

động mà máy tính thực hiện và các tốn hạng (operand) là các dữ liệu, các

vị trí nhớ, ...

Một từ chỉ thị cĩ thể cĩ chiều dài khác nhau, ví dụ 8, 16, 32 hoặc 64 bit.

Máy tính chỉ hiểu được ngơn ngừ máy, nhưng con người rất khĩ làm việc với ngơn ngữ máy.

Ngơn ngữ máy là ngơn ngũ• mức tháp (low-level language) và được xem là ngơn ngữ thế hệ thứ nhất (first-generation language).

Ví du 1.6: Ba chỉ thị máy sau đây cộng hai giá trị được chứa trong vị trí nhớ

64 và vị trí nhớ 65, kết quả được lưu vào vị trí nhớ 66.

opcode operand

01100000 01000000 Nạp giá trị trong vị trí nhớ 64 vào thanh ghi A. 01000000 01000001 Cộng với giá trị trong vị trí nhớ 65.

01110000 01000010 Lưu giá trị của thanh ghi A vào vị trí nhớ 66.

Ngơn ngữ hợp ngữ (assembly language) là tập các mã lệnh sử dụng

các từ gợi nhớ bao gồm các ký tự chữ và các ký số thay cho các bit 0 và 1

của ngơn ngữ máy.

Phần mềm dịch một chương trinh hợp ngữ thành chương trình ngơn ngữ máy được gọi là trình biên dịch hợp ngữ (assembler).

Ngơn ngữ hợp ngữ được xem là ngơn ngữ thế hệ thử hai (second- generation language).

Ví dụ 1.7: Ba chỉ thị hợp ngừ sau đây cộng hai giá trị được chứa trong vị trí

Chương I. Máy tinh - Phương pháp luận lập trình 33

LAD 100 Nạp giá trị trong vị trí nhớ 64 (số bát phân là 100) vào thanh ghi A.

ADA 101 Cộng với giá trị trong vị trí nhớ 65 (số bát phân là 101). STA 102 Lưu giá trị của thanh ghi A vào vị trí nhớ 66 (số bát phân là 102).

Ngơn ngữ mức cao (high-level language) là một ngơn ngữ lập trình

cho phép người lập trình làm việc ở mức trừu tượng cao hơn, sử dụng các từ của ngơn ngữ tự nhiên (natural language) với nhiều loại dữ liệu khác nhau, các biểu thức tốn học, cấu trúc rẽ nhánh, cấu trúc lặp và các hoạt động nhập / xuất.

Các ngơn ngữ mức cao là FORTRAN, COBOL, PL/Ỉ, PASCAL, JA VA,

BASIC, ADA, LISP, SMALLTAK, C++, c#, ...

ADAc, C++, C# c, C++, C# High-level Language Assembly Language Machine Language Computer Hardware Hình 1.8. Các loại ngơn ngữ lập trình LISP PASCAL JAVA FORTRAN

Trình biên dịch (compiler) là một chương trình dùng để dịch một

chương trình mã nguồn (source code) được viết bằng một ngơn ngữ lập trình nguồn (source language) thành chương trình bằng một ngơn ngữ đích (target language), thơng thường ờ dạng nhị phân và được gọi là mã đối tượng (object code) hoặc mã máy (machine code). Chương trình mã máy là một chương trình thực thi (executable program) mà máy tính thực hiện được.

Trình thơng dịch (interpreter) là một chương trình mà trong mỗi chu

kỳ, chương trình này dịch chỉ thị kế tiếp (bắt đầu từ chỉ thị đầu tiên) của chương trình mã nguồn thành một chi thị mã máy, sau đĩ máy tính thực hiện chỉ thị mã máy này.

34 Chương 1. Máy tinh - Phương pháp luận lập trình

Hình 1.9. Trình biên dịch và trình thơng dịch

Ví du 1.8: Chương trình sau đây được viết bằng ngơn ngữ mức cao C++

nhập một số từ bàn phím và in ra bình phương của số này.

#include <iostream> using namespace std; int main () { // nhập dữ liệu int n; cout « "Nhap n: cin » n; // tinh tốn int m = n * n; // xuất kết quả

cout « "Binh phuong cua " « n « " la " << m « endl; sỵstem("pause");

return 0;

}

1.5. G iải thuât

Giải thuật là một phương pháp để giải quyết một vấn đề.

Giải thuật xác định một chuỗi các hành động chi tiết và rõ ràng để giải quyết một vấn đề cụ thể hoặc thực hiện một cơng việc cụ thể.

Chương 1. Mảy tinh - Phương pháp luận lập trình 35

Trong Khoa học máy tính (Computer Science), giải thuật (algorithm) là một chuỗi các hành động (ciction), cịn được gọi là quá trình (j)rocess),

được thực hiện trên một tập dữ liệu nhập (input) và tạo ra kết quả (output) trong một khoảng thời gian hữu hạn.

P h ầ n n h ậ p Q u á trìn h P h ầ n x u ấ t ( X ử lý )

T h ờ i g ia n th ự c h n n

Hình 1.10. Mơ hình cùa giãi thuật

Ta cĩ thể mơ tả một giải thuật bằng nhiều cách khác nhau: - Ngơn ngừ tự nhiên (natural language)

- Mã giả {pseudocode) - Sơ đồ tiến trình {flowchart)

1.5.1. M ã g iả

Mã giả {pseuăocode) là sự mơ tả quen thuộc ở mức cao về nguyên iý

hoạt động của chương trình máy tính hoặc giải thuật.

Mã giả được xây dựng từ các quy ước ngơn ngữ lập trình được kết họp với ngơn ngữ tự nhiên và các ký hiệu tốn học.

Mục tiêu của việc sử dụng mã giả là để cho con người dễ đọc hiểu giải thuật, bỏ qua các chi tiết khơng cần thiết mà mã nguồn của ngơn ngữ lập trình quy định, ví dụ như khai báo các biến, các mã đặc trung của hệ thống, các chương trình con của thư viện chương trình.

Ta khơng cĩ cú pháp chuẩn cho mã giả và chương trình được viết bằng mã giả khơng phải là một chương trình thực thi (chương trình máy tính).

Một số từ ngữ và các cấu trác điều khiển được sử dụng trong mã giả như sau:

Một phần của tài liệu Kỹ thuật lập trình (Trang 30 - 34)

Tải bản đầy đủ (PDF)

(49 trang)