Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 23

CÔNG NGHỆ PHẦN MỀM

Pseudo code

● 52000025 - Nghiêm Tiến Đạt


● 52000752 - Lềnh Gia Hân
Nội dung

1. Pseudo code là gì?


2. Thao tác cơ bản
3. Flowchart
4. Nguyên tắc viết pseudo code
5. Ưu điểm
6. Nhược điểm
7. Làm thế nào để viết pseudocode?
8. Thực hành đọc và viết pseudocode
1. Pseudo code là gì?
- Pseudo code (mã giả) là một bản mô tả giải thuật lập trình máy tính ngắn gọn và
không chính thức cấp cao.
- Sử dụng những quy ước có cấu trúc theo ngôn ngữ lập trình bất kì.
- Bỏ đi những chi tiết không cần thiết để lập trình viên quan tâm đến tính logic của
chương trình mà không bị sai cú pháp.
- Không có tiêu chuẩn nhất định, không thể thực thi được.
1. Nhận thông tin
2. Hiển thị thông tin
3. Thực thi toán học
2. Các thao tác cơ 4. Chỉ định giá trị cho biến hoặc
vùng nhớ
bản 5. So sánh 2 biến và chọn 1 trong 2
hành động thay thể
6. Lặp lại một nhóm hoạt động
Nhận thông tin
Read => Input từ record
Get => Input nhập từ bàn phím
Hiển thị thông tin
Print, Display => Hiển thị ra
màn hình
Write => Ghi vào file
Biểu diễn toán học
Lưu giá trị vào biến hoặc địa chỉ
bộ nhớ
Initialize, set
=,
Save, store
So sánh biến
Program printBiggerOfTwo
Read a;
Read b;
If (a > b)
Print a
Else print b;
End
Lặp lai hành động
count = 0;
while (count<10)
count++;
print count;
end
3. Flowchart
4. Nguyên tắc viết pseudo code
1. Mỗi câu lệnh nên được viết trên một dòng.
2. Nên viết in hoa các keyword như READ, WRITE, IF, ELSE, WHILE…
3. Căn lề như code.
4. Đặt từ END sau khi kết thúc một khối câu lệnh: ENDIF, ENDWHILE
5. Nên sử dụng các câu lệnh chung, VD: start, print, read, write, if, else… không hướng
đến ngôn ngữ lập trình cụ thể nào.
❏ Pseudocode là một trong những
cách tốt nhất để triển khai một
thuật toán.
❏ Pseudo code đóng vai trò như cầu
5. Ưu điểm của nối giữa phần mềm với thuật toán,
là tài liệu thô truyền tải những yêu
pseudocode cầu của dự án đến các thành viên.
❏ Giúp cho giai đoạn viết code của
lập trình viên trở nên dễ dàng hơn.
❏ …
Quy trình triển khai một giải thuật:

Ideas Algorithms Pseudocode Code


❏ Pseudocode không cung cấp một
góc nhìn trực quan về mặt logic
của chương trình.
❏ Không có một tiêu chuẩn định
6. Nhược điểm dạng cụ thể nào cho mã giả.

của pseudocode ❏ Mỗi người đều có thể viết


pseudocode theo cách riêng của
mình nên sẽ gây khó khăn trong
việc đọc hiểu mã giả.
❏ …
Sự đa dạng của pseudocode:

Chương trình kiểm tra số nhập vào có phải là số lẻ hay không?

1 2
START
PROGRAM isodd program isOdd
Create variable Choice n ← get input from keyboard
Ask the user for a number
if n % 2 = 0 then
READ INPUT into Choice
print “No”
IF Choice is even THEN
PRINT "No" else
ELSE print “Yes”
PRINT "Yes" end if
ENDIF end program
END
7. Làm thế nào để viết pseudocode?

/*
objective: function is used to check
whether a number is prime or not
input: a positive integer (n)
output: true or false
● Thụt lề các câu lệnh và khối lệnh bởi nó sẽ giúp người
*/
đọc hiểu được cơ chế thực thi và kiểm soát. function isPrime (int n)
● Sử dụng quy ước đặt tên thích hợp: uppercase cho các int i
hằng số, camelcase cho các biến số, … for i ← 2 to n - 1 do
if n % 2 = 0 then
● Có thể sử dụng các cấu trúc tiêu chuẩn như: if-else, return false
end if
switch-case, for, while, do-while, … như cách chúng ta
i←i+1
sử dụng trong lập trình. end for
return true
7. Làm thế nào để viết pseudocode?

/*
objective: function is used to check whether a
number is prime or not
input: a positive integer (n)
● Đừng khiến pseudocode trở nên phức tạp
output: true or false
như những dòng code hoàn chỉnh.
*/
● Không nên viết nhiều đoạn code trên cùng public static boolean isPrime (int n)
một dòng. {
int i;
● Không nên sử dụng quá nhiều thuật ngữ for (i=0; i<n; i++) {
chuyên ngành bởi mục đích của pseudocode if (n % 2 == 0) return false;
chính là cách truyền đạt dễ đọc, dễ hiểu. } return true;
}
8. Thực hành đọc và viết pseudocode
function funct (int[] A)
int i, j Hãy đọc đoạn pseudocode và cho biết:
boolean flag a) Chức năng (objective)
for i ← 0 to n - 1 do b) Đầu vào (input)
flag ← false c) Đầu ra (output)
for j ← 0 to n - i - 1 do
if A[j] > A[j+1] then
swap A[j] and A[j+1]
Đáp án
swap = true
a) objective: sắp xếp các phần tử trong mảng theo
end if
j←j+1 thứ tự tăng dần.
end for b) input: mảng các số nguyên
if flag = false then c) output: mảng sắp xếp tăng dần
break for loop
end if
i←i+1
end for
return A
8. Thực hành đọc và viết pseudocode
Hãy viết một chương trình dưới dạng mã giả (pseudocode) để tìm ra sinh viên có điểm trung bình cao nhất.

program getTopStudent
// calculate avg
Student[] list ← get student list from file
for each student in list do
student.average = sum of points / totals of subjects
end for
Đừng khiến pseudocode
// find student has highest avg
int n = list.length trở nên phức tạp như
Student top = list[0] những dòng code hoàn
for i ← 1 to n - 1 do chỉnh !!!
if list[i].average > top.average then
top = list[i]
end if
i←i+1
end for
print top
end program
The End

Thanks for watching <3

You might also like