Skip to content · ⁨Bỏ qua nội dung⁩

Algorithm design and problem-solving · ⁨Thiết kế thuật toán và giải quyết vấn đề⁩

IGCSE Computer Science · ⁨Khoa học máy tính IGCSE⁩ · Topic 7 · ⁨Chủ đề 7⁩

Video lesson for this topic · ⁨Bài học video cho chủ đề này⁩ Open the video page · ⁨Mở trang video⁩
9:17

Vòng đời phát triển phần mềm

Mỗi ứng dụng trên điện thoại của bạn đều do một người giống như thế viết ra. Nhưng họ không bắt đầu bằng cách gõ code. Trước dòng đầu tiên, vấn đề đã được nghiên cứu, giải pháp đã được…

English narration · English + 中文 subtitles burned in · ⁨Giọng đọc tiếng Anh · phụ đề tiếng Anh + 中文 được ghi trực tiếp⁩

Syllabus · ⁨Chương trình⁩
English
Candidates should be able to: Notes and guidance
1 Understand the program development life cycle, limited to: analysis, design, coding and testing • Including identifying each stage and performing these tasks for each stage: – analysis: abstraction, decomposition of the problem, identification of the problem and requirements – design: decomposition, structure diagrams, flowcharts, pseudocode – coding: writing program code and iterative testing – testing: testing program code with the use of test data
2 (a) Understand that every computer system is made up of sub-systems, which are made up of further sub-systems (b) Understand how a problem can be decomposed into its component parts • Including: – inputs – processes – outputs – storage
(c) Use different methods to design and construct a solution to a problem • Including: – structure diagrams – flowcharts – pseudocode
3 Explain the purpose of a given algorithm • Including: – stating the purpose of an algorithm – describing the processes involved in an algorithm
4 Understand standard methods of solution • Limited to: – linear search – bubble sort – totalling – counting – finding maximum, minimum and average values
5 (a) Understand the need for validation checks to be made on input data and the different types of validation check • Including: – range check – length check – type check – presence check – format check – check digit
(b) Understand the need for verification checks to be made on input data and the different types of verification check • Including: – visual check – double entry check
6 Suggest and apply suitable test data • Limited to: – normal – abnormal – extreme – boundary • Extreme data is the largest/smallest acceptable value • Boundary data is the largest/smallest acceptable value and the corresponding smallest/largest rejected value
7 Complete a trace table to document a dry-run of an algorithm • Including, at each step in an algorithm: – variables – outputs – user prompts
8 Identify errors in given algorithms and suggest ways of correcting these errors
9 Write and amend algorithms for given problems or scenarios, using: pseudocode, program code and flowcharts • Precision is required when writing algorithms, e.g. x > y is acceptable but x is greater than y is not acceptable • See section 4 for flowchart symbols • See section 4 for pseudocode
Tiếng Việt
Thí sinh cần có thể: Ghi chú và hướng dẫn
1 Hiểu vòng đời phát triển phần mềm, giới hạn ở: phân tích, thiết kế, lập trình và kiểm thử • Bao gồm xác định từng giai đoạn và thực hiện các nhiệm vụ cho mỗi giai đoạn: – phân tích: trừu tượng hóa, phân rã vấn đề, xác định vấn đề và yêu cầu – thiết kế: phân rã, sơ đồ cấu trúc, lưu đồ, mã giả – lập trình: viết mã chương trình và kiểm thử lặp – kiểm thử: kiểm thử mã chương trình bằng cách sử dụng dữ liệu kiểm thử
2 (a) Hiểu rằng mọi hệ thống máy tính đều được cấu thành từ các hệ con, và các hệ con lại được cấu thành từ các hệ con nhỏ hơn (b) Hiểu cách một vấn đề có thể được phân rã thành các phần thành phần • Bao gồm: – đầu vào – quá trình xử lý – đầu ra – lưu trữ
(c) Sử dụng các phương pháp khác nhau để thiết kế và xây dựng giải pháp cho một vấn đề • Bao gồm: – sơ đồ cấu trúc – lưu đồ – mã giả
3 Giải thích mục đích của một thuật toán đã cho • Bao gồm: – nêu mục đích của thuật toán – mô tả các quy trình liên quan đến thuật toán
4 Hiểu các phương pháp giải chuẩn • Giới hạn ở: – tìm kiếm tuyến tính – sắp xếp nổi bọt – cộng tổng – đếm số – tìm giá trị lớn nhất, nhỏ nhất và trung bình
5 (a) Hiểu nhu cầu về kiểm tra hợp lệ đối với dữ liệu đầu vào và các loại kiểm tra hợp lệ khác nhau • Bao gồm: – kiểm tra phạm vi – kiểm tra độ dài – kiểm tra kiểu – kiểm tra sự tồn tại – kiểm tra định dạng – chữ số kiểm tra
(b) Hiểu nhu cầu về kiểm tra xác nhận đối với dữ liệu đầu vào và các loại kiểm tra xác nhận khác nhau • Bao gồm: – kiểm tra trực quan – kiểm tra nhập hai lần
6 Đề xuất và áp dụng dữ liệu kiểm thử phù hợp • Giới hạn ở: – bình thường – bất thường – cực đoan – biên • Dữ liệu cực đoan là giá trị lớn nhất/nhỏ nhất được chấp nhận • Dữ liệu biên là giá trị lớn nhất/nhỏ nhất được chấp nhận và giá trị tương ứng nhỏ nhất/lớn nhất bị từ chối
7 Hoàn thành bảng theo dõi để ghi lại chạy khô của một thuật toán • Bao gồm, tại mỗi bước trong thuật toán: – biến – đầu ra – câu hỏi người dùng
8 Xác định lỗi trong các thuật toán đã cho và đề xuất cách khắc phục những lỗi này
9 Viết và sửa đổi thuật toán cho các vấn đề hoặc tình huống đã cho, sử dụng: mã giả, mã chương trình và lưu đồ • Cần sự chính xác khi viết thuật toán, ví dụ: x > y là chấp nhận được nhưng x is greater than y thì không chấp nhận được • Xem phần 4 để biết ký hiệu lưu đồ • Xem phần 4 để biết mã giả

Source: Cambridge International syllabus · ⁨Nguồn: Chương trình Cambridge International⁩

7.1

The program development life cycle · ⁨Vòng đời phát triển chương trình⁩

English

The program development life cycle 程序开发生命周期 is the set of stages used to make a program. There are four stages.

Stage What you do
analysis 分析 study the problem and work out what is needed
design 设计 plan how the program will work
coding 编码 write the program code and test it as you go
testing 测试 run the finished program with test data to find errors

Analysis

In analysis you understand the problem. Two key skills help:

  • abstraction 抽象 — keep only the important details and ignore the rest;
  • decomposition 分解 — break a big problem into smaller, easier parts.

Design

In design you plan the solution, often using decomposition. You can show the parts as sub-systems 子系统 in a structure diagram 结构图 (a chart that splits a system into smaller boxes).

Coding and testing

In coding you write the program code. You use iterative testing 迭代测试 — test small parts again and again as you build them. In testing you run the whole program with test data 测试数据 to check it works.

Tiếng Việt

Vòng đời phát triển chương trình là tập hợp các giai đoạn được sử dụng để tạo ra một chương trình. Có bốn giai đoạn.

Một lập trình viên đang gõ mã trên máy tính
Phần mềm được viết bởi các lập trình viên, những người tuân theo vòng đời phát triển
Giai đoạn Những gì bạn làm
phân tích nghiên cứu vấn đề và xác định những gì cần thiết
thiết kế lên kế hoạch chương trình sẽ hoạt động như thế nào
lập trình viết mã chương trình và kiểm tra khi đi qua từng bước
kiểm thử chạy chương trình hoàn chỉnh với dữ liệu kiểm thử để tìm lỗi
Bốn giai đoạn nối tiếp nhau — phân tích, thiết kế, lập trình, kiểm thử — với mũi tên phản hồi từ kiểm thử đến thiết kế
Bốn giai đoạn của phát triển chương trình; kiểm thử phản hồi để sửa chữa và tinh chỉnh thiết kế
Sơ đồ luồng của một chương trình với các hộp quy trình và kim cương quyết định
Sơ đồ luồng của một chương trình trình bày các bước và quyết định của chương trình trong giai đoạn thiết kế

Phân tích

Trong phân tích, bạn hiểu vấn đề. Hai kỹ năng then chốt hỗ trợ:

  • trừu tượng hóa — giữ lại chỉ những chi tiết quan trọng và bỏ qua những phần còn lại;
  • phân rã — chia nhỏ một vấn đề lớn thành các phần nhỏ hơn, dễ giải quyết hơn.

Thiết kế

Trong thiết kế, bạn lên kế hoạch cho giải pháp, thường sử dụng phân rã. Bạn có thể hiển thị các phần dưới dạng hệ thống con trong sơ đồ cấu trúc (biểu đồ chia một hệ thống thành các ô nhỏ hơn).

Lập trình và kiểm thử

Trong lập trình, bạn viết mã chương trình. Bạn sử dụng kiểm thử lặp — kiểm tra các phần nhỏ đi kiểm tra lại nhiều lần khi xây dựng chúng. Trong kiểm thử, bạn chạy toàn bộ chương trình với dữ liệu kiểm thử để kiểm tra xem nó có hoạt động hay không.

Vocabulary · ⁨Từ vựng⁩ Train · ⁨Luyện tập⁩
English Tiếng Việt
program development life cycle/ˈprəʊɡræm dɪˈveləpmənt laɪf ˈsaɪkl/ vòng đời phát triển phần mềm
analysis/əˈnæləsɪs/ phân tích
design/dɪˈzaɪn/ thiết kế
coding/ˈkəʊdɪŋ/ lập trình
testing/ˈtestɪŋ/ kiểm thử
abstraction/əbˈstrækʃn/ trừu tượng hóa
decomposition/ˌdiːkɒmpəˈzɪʃn/ decomposition
sub-systems/sʌb ˈsɪstəmz/ hệ con
structure diagram/ˈstrʌktʃə ˈdaɪəɡræm/ sơ đồ cấu trúc
iterative testing/ˈɪtərətɪv ˈtestɪŋ/ kiểm thử lặp
test data/test ˈdeɪtə/ dữ liệu kiểm thử
flowchart/ˈfləʊtʃɑːt/ sơ đồ khối
7.2

Design tools · ⁨Công cụ thiết kế⁩

English

You can plan a solution in three main ways.

  • a structure diagram — shows the parts of a system and how they fit together;
  • a flowchart 流程图 — a diagram using boxes and arrows to show the steps in order;
  • pseudocode 伪代码 — steps written in simple, code-like English (not a real language).
Tiếng Việt

Bạn có thể lên kế hoạch cho giải pháp theo ba cách chính.

  • một sơ đồ cấu trúc — hiển thị các phần của hệ thống và cách chúng gắn kết với nhau;
  • một sơ đồ luồng — sơ đồ sử dụng các hộp và mũi tên để hiển thị các bước theo thứ tự;
  • giả mã — các bước được viết bằng tiếng Anh đơn giản, giống như mã (không phải là ngôn ngữ thật).
Sơ đồ luồng để cộng các số từ 1 đến n, với biểu tượng bắt đầu/kết thúc, nhập/xuất, quy trình và quyết định, cùng bảng chú giải tên mỗi hình dạng
Sơ đồ luồng cho thuật toán tổng, sử dụng các ký hiệu tiêu chuẩn (bắt đầu/kết thúc, nhập/xuất, quy trình, quyết định)
7.3

Algorithms · ⁨Thuật toán⁩

English
Bubble sort, pass by pass

An algorithm 算法 is a set of steps, in the right order, that solves a problem. Every algorithm can be split into three parts:

  • input 输入 — the data that goes in;
  • processing 处理 — the work done on the data;
  • output 输出 — the result that comes out.

This is called decomposition into inputs, processes and outputs. For example, for "find the average of three marks": the inputs are the three marks; the processing is adding them and dividing by 3; the output is the average.

Tiếng Việt
Thuật toán sắp xếp nổi bọt, qua từng lượt

Một thuật toán là một tập hợp các bước, theo đúng thứ tự, giải quyết một vấn đề. Mọi thuật toán đều có thể chia thành ba phần:

  • đầu vào — dữ liệu đi vào;
  • xử lý — công việc thực hiện trên dữ liệu;
  • đầu ra — kết quả đầu ra.

Điều này được gọi là phân rã thành đầu vào, quá trình và đầu ra. Ví dụ, cho "tìm điểm trung bình của ba điểm số": đầu vào là ba điểm số; quá trình là cộng chúng lại và chia cho 3; đầu ra là điểm trung bình.

Ba ô — ĐẦU VÀO (3 điểm số), XỬ LÝ (cộng lại, chia cho 3), ĐẦU RA (điểm trung bình) — nối với nhau bằng mũi tên
Mọi thuật toán đều phân rã thành đầu vào, xử lý và đầu ra — ở đây, tìm điểm trung bình của ba điểm số
Vocabulary · ⁨Từ vựng⁩ Train · ⁨Luyện tập⁩
English Tiếng Việt
bubble sort/ˈbʌbl sɔːt/ bubble sort
totalling/ˈtəʊtəlɪŋ/ tổng hợp
counting/ˈkaʊntɪŋ/ đếm
maximum/ˈmæksɪməm/ tối đa
minimum/ˈmɪnɪməm/ tối thiểu
7.4

Validation and verification · ⁨Xác thực và kiểm chứng⁩

English

When data is entered, you check it to reduce mistakes.

Validation 验证 checks that the data is sensible and follows the rules. It cannot check that the data is true, only that it is allowed.

Validation check What it checks
range check 范围检查 the value is between a lowest and highest allowed value
length check 长度检查 the number of characters is allowed (e.g. a password ≥ 8)
type check 类型检查 the data is the right type (e.g. a number, not letters)
presence check 存在性检查 something has actually been entered (not left blank)
format check 格式检查 the data is in the right pattern (e.g. a date as dd/mm/yyyy)
check digit 校验码 an extra digit confirms a number was entered correctly

Verification 核实 checks that data was copied or entered correctly (no mistakes while typing it in). Two methods:

  • visual check 目视检查 — a person compares the typed data with the original;
  • double entry 双重输入 — the data is entered twice and the two copies are compared.
Tiếng Việt

Khi dữ liệu được nhập, bạn kiểm tra nó để giảm thiểu sai sót.

Validation kiểm tra xem dữ liệu có hợp lý và tuân theo các quy tắc hay không. Nó không thể xác minh tính đúng đắn của dữ liệu, mà chỉ đảm bảo dữ liệu đó được phép.

Kiểm tra hợp lệ Điều nó kiểm tra
kiểm tra phạm vi giá trị nằm giữa một giá trị tối thiểu và tối đa được phép
kiểm tra độ dài số lượng ký tự là hợp lệ (ví dụ: mật khẩu ≥ 8)
kiểm tra kiểu dữ liệu thuộc đúng kiểu (ví dụ: số, không phải chữ cái)
kiểm tra sự hiện diện thông tin đã được nhập thực sự (không để trống)
kiểm tra định dạng dữ liệu ở đúng mẫu (ví dụ: ngày tháng dd/mm/yyyy)
số kiểm tra một chữ số bổ sung xác nhận số đã được nhập chính xác

Verification kiểm tra xem dữ liệu có được nhập hoặc sao chép chính xác hay không (không có sai sót khi gõ). Hai phương pháp:

  • kiểm tra trực quan — người so sánh dữ liệu vừa gõ với bản gốc;
  • nhập hai lần — dữ liệu được nhập hai lần và hai bản sao được đối chiếu.
Vocabulary · ⁨Từ vựng⁩ Train · ⁨Luyện tập⁩
English Tiếng Việt
validation/ˌvælɪˈdeɪʃn/ xác minh tính hợp lệ
range check/reɪndʒ tʃek/ kiểm tra phạm vi
length check/leŋθ tʃek/ kiểm tra độ dài
type check/taɪp tʃek/ kiểm tra kiểu
presence check/ˈprezəns tʃek/ kiểm tra sự hiện diện
format check/ˈfɔːmæt tʃek/ kiểm tra định dạng
check digit/tʃek ˈdɪdʒɪt/ chữ số kiểm tra
verification/ˌverɪfɪˈkeɪʃn/ xác minh
visual check/ˈvɪʒuːəl tʃek/ kiểm tra trực quan
double entry/ˈdʌbl ˈentri/ nhập đôi
7.5

Trace tables · ⁨Bảng truy vết⁩

English

A trace table 追踪表 records the value of each variable as an algorithm runs, step by step. It helps you:

  • check that an algorithm works correctly;
  • work out what an algorithm does by following it with given data.

Example: trace this algorithm with the input 5.

i total OUTPUT
1 1
2 3
3 6
4 10
5 15 15

The trace shows the algorithm adds up 1 to n. With input 5 the output is 15.

Worked example. Trace this algorithm and give the output.

DIV gives only the whole-number part of a division. Take one row per pass: x becomes 10 (count 1), then 5 (count 2), then 2 (count 3), then 1 (count 4). Now x > 1 is false, so the loop stops and the output is 4. Two habits protect these marks: test the condition before each pass rather than after, and write a new row for every pass - trying to hold the values in your head is what makes traces go wrong.

Tiếng Việt

Một bảng truy vết ghi lại giá trị của từng biến khi thuật toán chạy, từng bước một. Nó giúp bạn:

Bảng truy vết với các cột count, total, output
Một bảng theo dõi ghi lại giá trị của mỗi biến khi chương trình chạy.
  • kiểm tra xem thuật toán có hoạt động chính xác hay không;
  • xác định thuật toán làm gì bằng cách theo dõi nó với dữ liệu đầu vào cho trước.

Ví dụ: truy vết thuật toán này với đầu vào 5.

INPUT N
Total ← 0
FOR I ← 1 TO N
    Total ← Total + I
NEXT I
OUTPUT Total
i total OUTPUT
1 1
2 3
3 6
4 10
5 15 15

Bảng truy vết cho thấy thuật toán cộng dồn từ 1 đến n. Với đầu vào 5, kết quả là 15.

Ví dụ giải. Truy vết thuật toán này và đưa ra kết quả.

X ← 20
Count ← 0
WHILE X > 1
    X ← DIV(X, 2)
    Count ← Count + 1
ENDWHILE
OUTPUT Count

DIV chỉ lấy phần nguyên của phép chia. Lấy một dòng cho mỗi vòng lặp: x trở thành 10 (đếm 1), sau đó 5 (đếm 2), tiếp theo 2 (đếm 3), rồi 1 (đếm 4). Bây giờ x > 1 là sai, nên vòng lặp dừng lại và kết quả đầu ra là 4. Hai thói quen bảo vệ điểm số này: kiểm tra điều kiện trước mỗi vòng lặp thay vì sau, và viết một dòng mới cho mọi vòng lặp - việc cố gắng giữ các giá trị trong đầu chính là nguyên nhân khiến bản đồ chạy sai.

Explore · ⁨Khám phá⁩

A trace table · ⁨Bảng theo dõi⁩

Step through the loop and fill in the trace table, one row per pass. · ⁨Lặp qua vòng lặp và điền vào bảng theo dõi, mỗi hàng tương ứng với một lần chạy.⁩

Vocabulary · ⁨Từ vựng⁩ Train · ⁨Luyện tập⁩
English Tiếng Việt
pseudocode/ˈsuːdəʊkəʊd/ pseudocode (giả mã)
algorithm/ˈælɡərɪθəm/ thuật toán
input/ˈɪnpʊt/ đầu vào
processing/ˈprəʊsesɪŋ/ xử lý
output/ˈaʊtpʊt/ đầu ra
trace table/treɪs ˈteɪbl/ bảng theo dõi (trace table)
normal/ˈnɔːml/ pháp tuyến
abnormal/əbˈnɔːml/ bất thường, dị thường
extreme/ekˈstriːm/ cực đoan
boundary/ˈbaʊndəri/ biên giới
7.6

Test data · ⁨Dữ liệu thử nghiệm⁩

English

Test data is data you use to test a program. There are four types you must know.

Type Meaning Example (age 0–120 allowed)
normal 正常数据 sensible data that should be accepted 25
abnormal 异常数据 wrong data that should be rejected -4 or "cat"
extreme 极端数据 the largest and smallest values still allowed 0 and 120
boundary 边界数据 the values on each side of a limit (one allowed, one not) 120 and 121
Tiếng Việt

Dữ liệu thử nghiệm là dữ liệu bạn sử dụng để kiểm tra chương trình. Có bốn loại bạn cần biết.

Loại Ý nghĩa Ví dụ (tuổi 0–120 được phép)
bình thường dữ liệu hợp lý nên được chấp nhận 25
bất thường dữ liệu sai nên bị từ chối -4 hoặc "cat"
cực trị giá trị lớn nhất và nhỏ nhất vẫn còn được phép 0 và 120
biên các giá trị ở hai bên giới hạn (một bên được phép, một bên không) 120 và 121
7.7

Standard methods of solution · ⁨Phương pháp giải chuẩn⁩

English

You must know these common algorithms.

Linear search

A linear search 线性查找 checks each item in a list, one by one, until it finds the value it wants or reaches the end.

Bubble sort

A bubble sort 冒泡排序 puts a list in order. It compares each pair of side-by-side items and swaps them if they are in the wrong order. It repeats this until no more swaps are needed.

Totalling and counting

  • totalling 求和 — keep adding values to a running total (Total ← Total + Value).
  • counting 计数 — add 1 to a counter each time something happens (Count ← Count + 1).

Maximum, minimum and average

  • to find the maximum 最大值: keep the largest value seen so far.
  • to find the minimum 最小值: keep the smallest value seen so far.
  • to find the average 平均值: divide the total by how many values there are.
Tiếng Việt

Bạn cần biết các thuật toán phổ biến này.

Tìm kiếm tuyến tính

Tìm kiếm tuyến tính kiểm tra từng mục trong danh sách, lần lượt từng cái, cho đến khi tìm thấy giá trị mong muốn hoặc đạt hết cuối cùng.

Found ← FALSE
FOR I ← 0 TO 9
    IF List[I] = SearchValue
      THEN
        Found ← TRUE
    ENDIF
NEXT I
OUTPUT Found
Danh sách tám số đang được quét từ trái sang phải, tìm kiếm số 5; bốn số đầu không khớp và số thứ năm được tìm thấy
Tìm kiếm tuyến tính kiểm tra từng mục lần lượt từ đầu cho đến khi tìm thấy giá trị

Sắp xếp bọt

Sắp xếp bọt sắp xếp một danh sách theo thứ tự. Nó so sánh từng cặp mục liền kề và hoán đổi nếu chúng ở vị trí sai. Quá trình này lặp lại cho đến khi không cần hoán đổi nào nữa.

FOR I ← 0 TO 8
    IF List[I] > List[I + 1]
      THEN
        Temp ← List[I]
        List[I] ← List[I + 1]
        List[I + 1] ← Temp
    ENDIF
NEXT I
Danh sách nơi cặp đầu tiên 5 và 2 không đúng thứ tự, được hiển thị hoán đổi thành 2 và 5, với ghi chú lặp lại cho mỗi cặp
Sắp xếp bọt so sánh từng cặp liền kề và hoán đổi nếu không đúng thứ tự, lặp lại cho đến khi sắp xếp xong

Tổng hợp và đếm

  • tổng hợp — liên tục cộng các giá trị vào tổng tích lũy (Total ← Total + Value).
  • đếm — cộng thêm 1 vào bộ đếm mỗi khi một sự kiện xảy ra (Count ← Count + 1).

Giá trị lớn nhất, nhỏ nhất và trung bình

  • để tìm giá trị lớn nhất: giữ lại giá trị lớn nhất đã gặp cho đến nay.
  • để tìm giá trị nhỏ nhất: giữ lại giá trị nhỏ nhất đã gặp cho đến nay.
  • để tìm trung bình: chia tổng số cho số lượng giá trị.
Total ← 0
FOR I ← 0 TO 9
    Total ← Total + List[I]
NEXT I
Average ← Total / 10
OUTPUT Average
Vocabulary · ⁨Từ vựng⁩ Train · ⁨Luyện tập⁩
English Tiếng Việt
linear search/ˈlɪnɪə sɜːtʃ/ tìm kiếm tuyến tính
average/ˈævrɪdʒ/ trung bình
7.8

Exam tips · ⁨Mẹo làm bài thi⁩

English
  • Learn the four life-cycle stages: analysis → design → coding → testing. Abstraction keeps only the important details; decomposition breaks a problem into smaller parts.
  • Validation checks data is sensible (range, length, type, presence, format checks); verification checks it was copied correctly (a visual check or double entry).
  • Learn the four test-data types: normal (accepted), abnormal (rejected), extreme (the largest/smallest still allowed), boundary (the values either side of a limit).
  • To work out what an algorithm does, fill in a trace table — write down every variable's value at each step.
  • Know the standard algorithms: linear search (check each item in turn) and bubble sort (swap side-by-side pairs until no swaps are needed).
Tiếng Việt
  • Học bốn giai đoạn vòng đời: phân tích → thiết kế → lập mã → thử nghiệm. Trừu tượng hóa giữ lại những chi tiết quan trọng; phân rã chia bài toán thành các phần nhỏ hơn.
  • Validation kiểm tra dữ liệu hợp lý (kiểm tra phạm vi, độ dài, kiểu, sự hiện diện, định dạng); verification kiểm tra dữ liệu đã được sao chép chính xác (kiểm tra trực quan hoặc nhập hai lần).
  • Học bốn loại dữ liệu thử nghiệm: bình thường (chấp nhận), bất thường (từ chối), cực trị (giá trị lớn/nhỏ nhất còn được phép), biên (các giá trị ở hai bên giới hạn).
  • Để xác định thuật toán làm gì, hãy điền bảng truy vết — ghi lại giá trị của mọi biến tại mỗi bước.
  • Biết các thuật toán chuẩn: tìm kiếm tuyến tính (kiểm tra từng mục lần lượt) và sắp xếp bọt (hoán đổi các cặp liền kề cho đến khi không cần hoán đổi nữa).

Interactive lessons on this topic · ⁨Bài học tương tác về chủ đề này⁩

Work through it step by step, with instant-check exercises. · ⁨Làm theo từng bước, kèm theo bài tập kiểm tra ngay lập tức.⁩

Past Papers · ⁨Đề thi cũ⁩

More topics in IGCSE Computer Science · ⁨Khoa học máy tính IGCSE⁩ · ⁨Nhiều chủ đề hơn trong IGCSE Computer Science · ⁨Khoa học máy tính IGCSE⁩⁩

Log in or create account · ⁨Đăng nhập hoặc tạo tài khoản⁩

IGCSE, A-Level & AP