Cách vẽ sơ đồ khối của thuật toán song song. “Phát triển thuật toán VBA. Sơ đồ khối. Cấu trúc thuật toán

Điều cực kỳ quan trọng là sử dụng ngôn ngữ của sơ đồ khi phát triển một thuật toán để giải quyết vấn đề. Giải pháp cho cùng một vấn đề có thể được thực hiện bằng cách sử dụng nhiều thuật toán khác nhau cả về thời gian tính toán, khối lượng tính toán cũng như độ phức tạp của chúng. Việc ghi lại các thuật toán này bằng sơ đồ cho phép bạn so sánh chúng, chọn thuật toán tốt nhất, đơn giản hóa, tìm và loại bỏ lỗi.

Việc từ chối ngôn ngữ lưu đồ khi phát triển thuật toán và phát triển thuật toán trực tiếp bằng ngôn ngữ lập trình dẫn đến mất thời gian đáng kể và dẫn đến việc lựa chọn thuật toán dưới mức tối ưu. Vì vậy, trước tiên cần xây dựng thuật toán giải bài toán bằng ngôn ngữ sơ đồ, sau đó thuật toán được dịch sang ngôn ngữ lập trình.

Khi phát triển một thuật toán cho một vấn đề phức tạp, phương pháp chi tiết từng bước được sử dụng. Ở bước đầu tiên, cấu trúc chung của thuật toán được nghĩ ra mà không cần xây dựng chi tiết từng phần riêng lẻ của nó. Các khối yêu cầu chi tiết được phác thảo bằng một đường chấm và được suy nghĩ kỹ lưỡng và chi tiết trong các bước phát triển thuật toán tiếp theo.

Trong quá trình phát triển một thuật toán để giải một bài toán, có thể phân biệt các giai đoạn sau:

  • Giai đoạn 1. Mô tả toán học của lời giải cho bài toán.
  • Giai đoạn 2. Định nghĩa dữ liệu đầu vào và đầu ra.
  • Giai đoạn 3. Phát triển một thuật toán để giải quyết vấn đề.

Thiết kế thuật toán cơ bản

Trong lý thuyết lập trình, người ta đã chứng minh rằng viết bất kỳ thuật toán nào dù phức tạp đến đâu cũng đủ. ba cấu trúc cơ bản:

  • sau (thuật toán tuyến tính);
  • phân nhánh (thuật toán phân nhánh);
  • loop-bye (thuật toán quay vòng).

Thuật toán tuyến tính

Thuật toán tuyến tínhđược hình thành từ một chuỗi các hành động nối tiếp nhau. Ví dụ: để xác định diện tích của hình chữ nhật, trước tiên bạn phải đặt độ dài của cạnh thứ nhất, sau đó đặt độ dài của cạnh thứ hai và chỉ sau đó mới sử dụng công thức để tính diện tích của nó.

Ví dụ

NHIỆM VỤ. Phát triển thuật toán tính cạnh huyền của một tam giác vuông bằng cách sử dụng các giá trị đã biết về độ dài hai cạnh a và b của nó.

Lấy vấn đề này làm ví dụ, chúng tôi sẽ xem xét cả ba giai đoạn phát triển thuật toán để giải quyết vấn đề:

Giải pháp toán học cho vấn đề này là công thức nổi tiếng:

,

trong đó c là chiều dài cạnh huyền, a, b là chiều dài hai chân.

Dữ liệu đầu vào là giá trị của chân a và b. Đầu ra là độ dài của cạnh huyền – c.

Thuật toán phân nhánh

chứa một điều kiện, tùy thuộc vào chuỗi hành động cụ thể nào được thực hiện.

Ví dụ

NHIỆM VỤ. Xây dựng thuật toán tính số lớn nhất của hai số x và y.

Giai đoạn 1. Mô tả toán học lời giải của bài toán.

Từ môn toán người ta biết rằng nếu x > y thì số lớn nhất x, nếu x< y, то наибольшее число y, если x = y, то число x равно числу y.

Giai đoạn 2. Xác định dữ liệu đầu vào và đầu ra.

Dữ liệu đầu vào là giá trị của các số x và y. Đầu ra là:

  • số lớn nhất
  • bất kỳ số nào nếu các số đó bằng nhau

Để giải bài toán chúng ta cần biết giá trị của x và y.

Giai đoạn 3. Phát triển thuật toán để giải quyết vấn đề.

Trong sơ đồ thuật toán giải bài toán, số phần tử của thuật toán được biểu thị bằng số tương ứng với số bước mô tả bằng lời của thuật toán.

Trong thuật toán đang được xem xét (Hình 3), có ba nhánh giải quyết vấn đề:

  • thứ nhất: đây là các phần tử 1, 2, 3, 4, 8.
  • thứ hai: đây là các phần tử 1, 2, 3, 5, 6, 8
  • thứ ba: đây là các phần tử 1, 2, 3, 5, 7, 8.

Việc lựa chọn nhánh được xác định bởi các giá trị x và y trong phần tử 3 và 5, là các điều kiện xác định thứ tự thực hiện các phần tử của thuật toán. Nếu điều kiện (đẳng thức) được viết bên trong ký hiệu “giải pháp” cho các giá trị đã nhập của x và y được thỏa mãn thì phần tử 4 và 8 sẽ được thực thi tiếp theo.Điều này xuất phát từ thực tế là chúng được kết nối bằng một dòng có nhãn “có ” và hướng (trình tự) tính toán được chỉ định bằng mũi tên.

Nếu điều kiện ở phần tử 3 không được đáp ứng thì phần tử 5 sẽ được thực thi tiếp theo. Nó được kết nối với phần tử 3 bằng một dòng có nhãn “no”. Nếu điều kiện ghi trong phần tử 5 được đáp ứng thì phần tử 6 và 8 sẽ được thực thi, nếu không thì phần tử 7 và 8 sẽ được thực thi.

Thuật toán tuần hoàn

xác định sự lặp lại của một số phần của hành động (thao tác) cho đến khi một điều kiện bị vi phạm, việc thực hiện điều kiện đó được kiểm tra ở đầu chu kỳ. Một tập hợp các thao tác được thực hiện lặp đi lặp lại được gọi là phần thân của vòng lặp.

Các thuật toán trong đó các hành động riêng lẻ được lặp lại nhiều lần được gọi là thuật toán tuần hoàn, Tập hợp các hành động liên quan đến sự lặp lại được gọi là xe đạp.

Khi phát triển thuật toán cấu trúc tuần hoàn, các khái niệm sau được phân biệt:

  • tham số chu trình – một giá trị có giá trị thay đổi khi lặp lại chu trình;
  • giá trị ban đầu và cuối cùng của các tham số chu trình;
  • bước chu kỳ – giá trị mà tham số chu trình thay đổi sau mỗi lần lặp lại.

Chu kỳ được tổ chức theo các quy tắc nhất định. Thuật toán tuần hoàn bao gồm việc chuẩn bị vòng lặp, phần thân vòng lặp và điều kiện tiếp tục vòng lặp.

Chuẩn bị chu trình bao gồm các hành động liên quan đến việc thiết lập giá trị ban đầu cho các tham số chu trình:

  • giá trị ban đầu của chu kỳ;
  • giá trị kết thúc vòng lặp;
  • bước chu kỳ.

Phần thân của vòng lặp bao gồm:

  • hành động lặp đi lặp lại để tính toán số lượng cần thiết;
  • chuẩn bị giá trị tham số vòng lặp tiếp theo;
  • chuẩn bị các giá trị khác cần thiết để thực hiện lặp lại các hành động trong phần thân vòng lặp.

Điều kiện tiếp tục chu kỳ xác định khả năng cho phép lặp lại các hành động. Nếu tham số vòng lặp bằng hoặc lớn hơn giá trị cuối của vòng lặp thì việc thực hiện vòng lặp phải được chấm dứt.

Ví dụ

NHIỆM VỤ. Xây dựng thuật toán tính tổng các số tự nhiên từ 1 đến 100.

Giai đoạn 1. Mô tả toán học lời giải của bài toán.

Ta ký hiệu tổng các số tự nhiên bằng S. Khi đó công thức tính tổng các số tự nhiên từ 1 đến 100 có thể viết như sau:

trong đó Xi là số tự nhiên X có số i thay đổi từ 1 đến n, n=100 là số số tự nhiên.

Giai đoạn 2. Xác định dữ liệu đầu vào và đầu ra.

Dữ liệu đầu vào là số tự nhiên: 1, 2, 3, 4, 5, …, 98, 99, 100.

đầu ra- giá trị tổng các số hạng của một dãy số tự nhiên.

Tham số vòng lặp một giá trị xác định số lần lặp lại của chu kỳ. Trong trường hợp của chúng tôi, i là số của một số tự nhiên.

Chuẩn bị chu trình bao gồm việc thiết lập các giá trị ban đầu và cuối cùng của tham số vòng lặp.

  • giá trị ban đầu của tham số vòng lặp là 1,
  • giá trị cuối cùng của tham số vòng lặp là N ,
  • Bước vòng lặp là 1.

Để tính tổng chính xác, trước tiên bạn phải đặt giá trị ban đầu của tổng thành 0.

Phần thân của vòng lặp. Trong phần thân vòng lặp, giá trị của tổng các số sẽ được tích lũy và giá trị tiếp theo của tham số vòng lặp sẽ được tính bằng các công thức:

Điều kiện để tiếp tục vòng lặp: chu trình phải được lặp lại cho đến khi thành viên cuối cùng của dãy số tự nhiên được thêm vào, tức là. cho đến khi tham số vòng lặp nhỏ hơn hoặc bằng giá trị cuối cùng của tham số vòng lặp.

Giai đoạn 3. Phát triển thuật toán để giải quyết vấn đề.

Chúng ta hãy giới thiệu các ký hiệu sau: S là tổng của dãy, i là giá trị của số tự nhiên.

Giá trị ban đầu của chu trình là i=1, giá trị cuối cùng của chu trình là i =100, bước chu trình là 1.

Mô tả bằng lời của thuật toán Viết thuật toán bằng ngôn ngữ lưu đồ
  1. Sự khởi đầu của thuật toán.
  2. Chuẩn bị chu trình: S:=0; tôi=1; n= 100;
  3. Kiểm tra tình trạng. Nếu tôi<=n , то перейти к шагу 4, иначе к шагу 6.
  4. Tích lũy số tiền: S:=S+i;
  5. Tính giá trị tiếp theo của tham số vòng lặp: i:=i+1;
  6. Thông tin đầu ra: tổng các số tự nhiên – S.
  7. Kết thúc thuật toán.

Trong sơ đồ thuật toán giải bài toán, số phần tử của thuật toán được biểu thị bằng số. Số lượng phần tử tương ứng với số bước trong mô tả bằng lời của thuật toán.

Lưu đồ là một mô hình đồ họa mô tả các quy trình hoặc thuật toán, trong đó các bước là các khối có hình dạng khác nhau và chúng được kết nối bằng các đường. Và những dòng này cho thấy hướng của chuỗi. Cách thực hiện sơ đồ khối được quy định bởi tiêu chuẩn. Và nó phục vụ để một lập trình viên hoặc một người không có kiến ​​​​thức trong lĩnh vực này có thể thấy rõ chương trình hoặc quy trình hoạt động như thế nào. Lưu đồ thường được tạo bởi các chuyên gia lập trình.

Tại sao một lập trình viên cần một sơ đồ?

Ký hiệu FlowChart là phương pháp nhanh nhất, linh hoạt nhất và dễ tiếp cận nhất mà lập trình viên có thể giải thích cho người không chuyên về cách thức thực hiện bất kỳ quy trình hoặc chương trình nào. Sơ đồ khối cũng thể hiện tài liệu cho bất kỳ chương trình nào. Nếu một lập trình viên cần giải thích cách hoạt động của một tiện ích đơn giản hoặc mã nhỏ, anh ta có thể chứng minh rõ ràng điều này bằng cách sử dụng trình chỉnh sửa đồ họa thông thường. Nhưng nếu chương trình phức tạp, mã của nó bao gồm nhiều mô-đun và dòng thì một trình soạn thảo đơn giản sẽ không hoạt động. Trong trường hợp này, các lập trình viên sử dụng các giải pháp chuyên nghiệp và xây dựng sơ đồ dựa trên mã nguồn.

Các chương trình và dịch vụ trực tuyến để xây dựng sơ đồ khối

Bạn có thể sử dụng các chương trình đặc biệt chạy trên máy tính của mình hoặc các dịch vụ cung cấp khả năng xây dựng bất kỳ mạch nào theo thời gian thực bằng Pascal, Delphi và thậm chí cả C++. Các lập trình viên có kinh nghiệm chỉ thích sử dụng các chương trình máy tính.

Các dịch vụ được cung cấp để lập bản đồ quy trình trực tuyến thường không hỗ trợ các yêu cầu cần thiết và do đó không thể đảm bảo hoạt động chính xác. Ví dụ:

  • Một số lệnh ngôn ngữ lập trình không được hỗ trợ và do đó, sơ đồ tuần tự các hành động không được xây dựng chính xác.
  • Các biểu đồ hiển thị trình tự các hoạt động được vẽ kém.
  • Dịch vụ trực tuyến thường không cung cấp cơ hội lưu sơ đồ ở định dạng được yêu cầu.
  • Và đây không phải là tất cả những nhược điểm của các dịch vụ như vậy.
Các ứng dụng máy tính đặc biệt xử lý công việc xây dựng sơ đồ chuyên nghiệp hơn nhiều. Chà, đối với những người không muốn cài đặt chương trình trên máy tính của mình, chúng tôi khuyên bạn nên sử dụng giao diện phần mềm tạo biểu đồ và đồ thị API biểu đồ từ Google.


FCeditor là ứng dụng tiện lợi hỗ trợ các ngôn ngữ lập trình C++ (tệp .cs), Delphi, Pascal (tệp .pas). Nếu bạn cần chỉnh sửa tệp mã trong chương trình này, trước tiên bạn phải nhập tệp đó. Khi FCeditor phân tích tệp .pas hoặc .cs đã nhập, nó sẽ hiển thị cây lớp ở bên trái, một tab sẽ xuất hiện trong bảng điều khiển và trong đó sẽ là mã chương trình và sơ đồ.

Lưu ý quan trọng! Bạn có thể xuất biểu đồ hoặc sơ đồ đã xây dựng sang bất kỳ định dạng nào: từ jpeg và tiff sang png và bmp. Chương trình có hỗ trợ tiếng Nga và giao diện người dùng đơn giản.


Một chương trình đơn giản khác có thiết kế tối giản nhưng có nhiều chức năng. Giao diện người dùng tương tự như chương trình trước, đơn giản và thuận tiện ngay cả đối với những người không chuyên. Trong cửa sổ chính, bạn sẽ thấy ba trường. Trong trường đầu tiên, mã được trình bày dưới dạng cây, trong trường thứ hai - chính văn bản và ở trường thứ ba, lớn nhất, bạn sẽ thấy một sơ đồ hoặc biểu đồ được xây dựng. Ứng dụng này thuận tiện sử dụng vì có đèn nền. Các phần tử mã, cấu trúc cây và sơ đồ không chỉ được đánh dấu mà còn được thu gọn.

Sơ đồ được tạo trong chương trình Autoflowchart không chỉ có thể được xuất sang định dạng đồ họa mà còn có thể xuất sang tệp xml. Chương trình này cũng là một trình soạn thảo mã tiện lợi. Bất cứ điều gì bạn chỉnh sửa trong mã sẽ được hiển thị ngay lập tức trong sơ đồ. Autoflowchart hỗ trợ mọi ngôn ngữ lập trình.


Code Visual to Flowchart phiên bản 6.0 là chương trình máy tính mạnh mẽ nhất được các chuyên gia sử dụng để tạo biểu đồ và đồ thị. Nó được phân biệt bởi chức năng mở rộng và khả năng xây dựng một mạch chính xác. Mặc dù có chức năng và khả năng phức tạp nhưng chương trình có giao diện người dùng thuận tiện. Trong cửa sổ chính, bạn sẽ thấy ba trường. Có hai tab ở bên trái: một tab hiển thị cấu trúc của dự án, tab còn lại hiển thị cấu trúc của các lớp. Ở giữa cửa sổ chính, bạn sẽ thấy mã chương trình và ở bên phải - sơ đồ đoạn mã.

Bạn chỉ có thể xuất sơ đồ đã xây dựng thành hai định dạng: png và bmp.

Lưu ý quan trọng! Tất cả các chương trình này đều là giải pháp tuyệt vời giúp bạn tạo sơ đồ rõ ràng, tuân thủ tiêu chuẩn. Nhưng để sử dụng từng chương trình được thảo luận ở trên, bạn sẽ phải trả phí. Phiên bản dùng thử chỉ cung cấp một phần nhỏ chức năng và do đó chỉ phù hợp cho mục đích đánh giá.


Thông thường, việc phát triển ứng dụng bắt đầu bằng việc xây dựng sơ đồ. Trước khi tạo mã chương trình, bạn cần suy nghĩ kỹ và vẽ sơ đồ trình tự các hành động. Và đây là sơ đồ trên cơ sở đó lập trình viên sẽ viết mã.

Đối với những người đã quen với việc sử dụng các dịch vụ trực tuyến, chúng tôi đề xuất hai dịch vụ đã được chứng minh - Biểu đồ từ Google và Draw.io


Draw.io là một dịch vụ tiện lợi trong đó bạn có thể xây dựng và chỉnh sửa sơ đồ. Chức năng mở rộng, giao diện thân thiện với người dùng và gói công cụ cho phép bạn chỉnh sửa, định dạng và sửa đổi các khối, tạo chúng theo sơ đồ tiêu chuẩn hoặc theo sơ đồ riêng lẻ. Bạn cũng có thể sử dụng hình ảnh bên ngoài khi tạo sơ đồ. Sơ đồ hoàn thiện có thể được lưu ở định dạng đồ họa, vector hoặc dưới dạng tài liệu trên bộ lưu trữ đám mây hoặc tải xuống máy tính của bạn.

Draw.io sẽ thu hút những người mới lập trình vì chức năng phong phú và dễ sử dụng. Và quan trọng nhất là bạn có thể sử dụng nó hoàn toàn miễn phí.

API biểu đồ của Google trực quan hóa hoàn hảo bất kỳ mã nào và tạo biểu đồ, biểu đồ và biểu đồ. Một bộ công cụ mở rộng được thể hiện bằng các thư viện plug-in, với sự trợ giúp của các biểu đồ và sơ đồ chất lượng cao được tạo ra. Dịch vụ của Google có chức năng rất đa dạng với sự trợ giúp của không chỉ các chương trình mà còn cả các trang web và tài liệu được tạo ra.


Để sử dụng dịch vụ trực tuyến mạnh mẽ này, bạn chỉ cần đọc hướng dẫn chi tiết và có kiến ​​thức tối thiểu. Cách sử dụng đúng cách tất cả các công cụ thư viện dịch vụ của Google được hiển thị trong gói tài liệu.


API biểu đồ của Google là một công cụ tuyệt vời dành cho các lập trình viên chuyên nghiệp.








Quay lại phía trước

Chú ý! Bản xem trước trang chiếu chỉ nhằm mục đích cung cấp thông tin và có thể không thể hiện tất cả các tính năng của bản trình bày. Nếu bạn quan tâm đến tác phẩm này, vui lòng tải xuống phiên bản đầy đủ.

Mục tiêu bài học.

Giáo dục - hệ thống hóa kiến ​​thức, kỹ năng, năng lực về chủ đề “Thuật toán và người thực hiện”; rèn luyện kỹ năng soạn thảo thuật toán và trình bày dưới dạng sơ đồ.

Giáo dục - tăng cường động lực của học sinh, phát triển kỹ năng tự tổ chức, độc lập và chủ động.

Phát triển – phát triển tư duy hình tượng, logic của học sinh; khả năng phân tích, tổng hợp kiến ​​thức; hình thành văn hóa thông tin trong sinh viên.

Thiết bị: máy tính, máy chiếu, màn chiếu, thuyết trình.

TRONG LỚP HỌC

I. Thời điểm tổ chức (slide 1, 2).

II. Cập nhật kiến ​​thức cơ bản (slide 3, 4, 5) Thuật toán là gì?

  • Liệt kê các thuộc tính của thuật toán.
  • Kể tên các loại thuật toán.
  • Thuật toán tuyến tính là gì.
  • Thuật toán phân nhánh là gì?
  • Thuật toán quay vòng là gì?
  • Bạn biết những loại thuật toán tuần hoàn nào?
  • Kể tên các cách trình bày thuật toán.
  • Hình nào sau đây được sử dụng trong sơ đồ khối?
  • 10. Dựa vào sơ đồ khối này hãy nêu tên loại thuật toán.

    tuyến tính

    vòng lặp với điều kiện tiên quyết

    phân nhánh (dạng đầy đủ)

    vòng lặp với hậu điều kiện

    phân nhánh (dạng chưa hoàn chỉnh)

    vòng lặp với tham số

    III. Giải quyết vấn đề

    Giáo viên: Bây giờ chúng ta chuyển sang giải quyết vấn đề. Hôm nay chúng tôi sẽ cùng các bạn xây dựng sơ đồ khối.

    Bài tập 1. Xác định quãng đường một người đi được nếu biết thời gian, tốc độ chuyển động và chuyển động đều. (Trang trình bày 6)

  • Các bạn, chúng ta biết được gì từ báo cáo vấn đề? ( Tốc độ, thời gian, chuyển động đều, nghĩa là chúng ta tính khoảng cách bằng công thức S=v*t)
  • Bạn và tôi nên làm gì trước khi xây dựng sơ đồ? (Tạo thuật toán)
  • Hãy soạn một thuật toán bằng lời nói.
  • Thuật toán

    1. Nhập v, t.

    2. Tính s.

    3. Kết luận t.

    • Nói cho tôi biết, chúng tôi đã nhận được thuật toán nào? ( Thuật toán tuyến tính)
    • Bây giờ chúng ta chuyển sang xây dựng sơ đồ khối. Chúng ta cần những yếu tố lưu đồ nào? ( Bắt đầu, kết thúc, nhập dữ liệu, tính khoảng cách, xuất kết quả) tất cả các phần tử trên màn hình.
    • Các bạn ơi, hãy sắp xếp tất cả các yếu tố theo đúng thứ tự. ( Kết quả là trên màn hình)

    Tính toán (trang 7).

    • Chúng ta bắt đầu từ đâu? (Tạo thuật toán bằng lời nói)
    • Bạn nên chú ý điều gì trong nhiệm vụ này? (Chúng ta tính giá trị của phân số; mẫu số chứa hiệu 7-y, tùy thuộc vào giá trị của y, có thể bằng 0, trong trường hợp này sẽ không có nghiệm)

    Thuật toán

    1. Nhập a, y.

    2. Nếu 7-y=0 thì không có nghiệm.

    4.Kết luận.

    • Nói cho tôi biết, chúng tôi đã nhận được thuật toán nào? (Thuật toán phân nhánh, dạng đầy đủ)
    • Các bạn ơi, hãy nhìn vào từng điểm của thuật toán và cho tôi biết phần tử nào của sơ đồ tương ứng với chúng. (Trên màn hình các số liệu là riêng lẻ)
    • Những yếu tố sơ đồ nào chúng ta đang thiếu? ( Bắt đầu sự kết thúc)
    • Các bạn giúp mình xây dựng sơ đồ, gọi tên các phần tử theo thứ tự nhé. (Từng phần tử xuất hiện trên màn hình.)

    Nhiệm vụ 3. Xây dựng sơ đồ thuật toán ký 10 thiệp Tết. (Trang trình bày 8)

    Học sinh viết thuật toán bằng lời nói vào vở, thực hiện kiểm tra (câu trả lời hiển thị trên màn hình), sau đó xây dựng sơ đồ và thực hiện kiểm tra (câu trả lời hiển thị trên màn hình).

    IV. Tóm tắt bài học

    V. Bài tập về nhà

    Đối với vấn đề 3, hãy tạo sơ đồ bằng cách sử dụng vòng lặp có điều kiện trước và điều kiện sau.

    Để hình dung các giai đoạn của bất kỳ quy trình nào, sẽ thuận tiện hơn khi sử dụng sơ đồ. Chúng cho phép bạn trình bày một chuỗi logic dưới dạng các phần tử đồ họa riêng biệt được kết hợp theo thứ tự mong muốn.

    Một cách tuyệt vời để nhanh chóng tạo sơ đồ là sử dụng các chương trình trực tuyến đặc biệt. Hãy xem cách họ làm việc và những tính năng họ có bằng cách sử dụng ví dụ về ba biên tập viên tiếng Nga.

    Cách vẽ sơ đồ đẹp trongcanva

    Chúng tôi đã nói về trang web Canva nhiều lần trong các bài viết của mình. Đây là công cụ lý tưởng để tạo đồ họa thông tin, bài thuyết trình, áp phích, quảng cáo ngoài trời, v.v. Hôm nay chúng ta sẽ nói về cách Canva sẽ giúp bạn xây dựng sơ đồ trực tuyến.

    Để bắt đầu, cần phải nói rằng trong số tất cả các dịch vụ mà chúng ta sẽ xem xét hôm nay, đây là tài nguyên duy nhất cho phép bạn không chỉ tạo một sơ đồ có cấu trúc rõ ràng mà còn thiết kế nó đẹp mắt. Trang web này dành cho các nhà thiết kế hơn là dành cho các nhà toán học hoặc lập trình viên, vì vậy, chẳng hạn, nếu bạn cần tạo một sơ đồ đầy màu sắc để trình bày một dự án hoặc kế hoạch tiếp thị, thì Canva chắc chắn là trợ lý tốt nhất.

    Đầu tiên, hãy chọn mẫu bạn thích trong số hàng tá tùy chọn khác nhau.

    Điều thuận tiện là hầu hết các bố cục ở đây đều được cung cấp miễn phí.


    Bạn có thể tùy chỉnh hoàn toàn mọi thứ ở đây: từ phông chữ của dòng chữ đến cấu trúc của hình ảnh


    Ngoài ra có thể thêm các sơ đồ đẹp


    Phần này cũng có chức năng chèn hình ảnh đã tạo vào tài nguyên Internet của bạn. Bạn chỉ cần sao chép đoạn mã có sơ đồ và dán vào blog hoặc trang web của mình

    Khi công việc trên sơ đồ hoàn tất, hãy nhấp vào “Tải xuống”.


    Chọn định dạng tập tin

    Một trong những lợi thế lớn của việc sử dụng Canva là hình ảnh cuối cùng được lưu lại mà không có bất kỳ hình mờ nào.

    Xây dựng chuỗi logic thuận tiện vớiVẽ tranh. io

    Một dịch vụ trực tuyến miễn phí khác đáng để bạn cân nhắc là Draw.io. Nó được coi là một trong những trang web nổi tiếng nhất để tạo sơ đồ, sơ đồ, đồ thị và cấu trúc. Ở đây, giống như ở Canva, có thể kết nối giao diện tiếng Nga, giúp đơn giản hóa quy trình rất nhiều.

    Trước khi bắt đầu công việc, chúng tôi được yêu cầu chọn một nơi để lưu kết quả đã hoàn thành, cũng như quyết định cách bố trí.


    Cảm ơn Draw.io vì cấu trúc mẫu thuận tiện - tất cả chúng đều được chia thành các danh mục, cho phép bạn chọn tùy chọn phù hợp nhanh nhất có thể

    Hãy chuyển sang chỉnh sửa. Để thay đổi một phần tử, chỉ cần nhấp chuột vào nó, sau đó các đặc điểm về kiểu, văn bản và bố cục sẽ được hiển thị ở bên phải.


    So với dịch vụ trước, các cài đặt ở đây có vẻ hơi thô sơ, nhưng vẫn có tất cả các tham số cần thiết

    Để thay thế một hình dạng, hãy chọn một đối tượng phù hợp ở bảng điều khiển bên trái và kéo nó đến vị trí mong muốn. Thật tiện lợi khi bạn di chuyển các phần tử, tất cả các mũi tên gắn vào chúng sẽ tự động thay đổi vị trí.


    Cũng có thể chèn sơ đồ tạo sẵn hoặc hình ảnh khác vào tài liệu bằng cách nhập nó từ máy tính, bộ lưu trữ đám mây hoặc tài nguyên trực tuyến

    Để lưu kết quả, hãy nhấp vào “Tệp” - “Lưu dưới dạng”, sau đó chúng tôi được cung cấp các tùy chọn sau:

    • Google Drive;
    • Một ổ đĩa;
    • Dropbox;
    • GitHub;
    • Trello;
    • máy tính;
    • browser.

    Tệp hoàn thành được tải xuống ở định dạng .xml.

    Google đồ thị – một công cụ mạnh mẽ dành cho nhà phát triển

    Cuối cùng, danh sách đề xuất của chúng tôi kết thúc bằng API biểu đồ Google. Đó là một thư viện các đoạn mã mà khi được nhúng sẽ xuất hiện trên trang web của bạn để tạo các biểu đồ, đồ thị, cấu trúc, bảng biểu đẹp mắt, v.v.


    Chọn danh mục mong muốn
    Sử dụng ví dụ này, chúng ta sẽ thấy sơ đồ sẽ trông như thế nào nếu chúng ta không thay đổi bản chất chính của mã

    Sau khi sao chép và dán vào trang web của chúng tôi, chúng tôi cần nhập dữ liệu thích hợp thay vì dữ liệu được đưa ra trong ví dụ. Điều này không khó vì mã có nhiều nhận xét và giải thích hữu ích.

    Đối với những lập trình viên có kinh nghiệm, API biểu đồ của Google sẽ trở thành một trợ lý không thể thiếu, vì nó cung cấp rất nhiều công cụ bổ sung để trực quan hóa hiệu quả. Nếu bạn không phải là một nhà phát triển tự tin lắm, bạn có thể sử dụng các tùy chọn tiêu chuẩn - chúng trông cũng khá ổn.

    Tất cả các chương trình chúng tôi đã đánh giá đều hoàn toàn khác nhau, vì vậy không thể chọn ra chương trình thuận tiện nhất. Tất cả phụ thuộc vào mục tiêu và mong muốn của bạn. Nếu bạn cần có được một sản phẩm đồ họa đẹp thì không trang web nào có thể làm tốt hơn Canva. Nếu bạn cần một sơ đồ tối giản mà không có bất kỳ kiểu cách đặc biệt nào, Draw.io sẽ sẵn sàng giải cứu. Nếu bạn muốn viết mã cho biểu đồ của mình, hãy sử dụng API biểu đồ của Google.

    Nếu bạn cần tạo sơ đồ mà không cần sử dụng Internet, bạn có thể thực hiện bằng Word 2016. Quá trình này sẽ không thuận tiện và nhanh chóng như trong trường hợp các chương trình trực tuyến, bởi vì Không có khoảng trống hoặc mẫu ở đây. Tất cả các yếu tố và kết nối giữa chúng sẽ phải được vẽ lại từ đầu, vì vậy hãy kiên nhẫn.

    Bài viết này sẽ xem xét các ví dụ về sơ đồ mà bạn có thể gặp trong sách giáo khoa khoa học máy tính và các tài liệu khác. Lưu đồ là một thuật toán trong đó bất kỳ nhiệm vụ nào được giao cho nhà phát triển đều được giải quyết. Trước tiên, bạn cần trả lời câu hỏi thuật toán là gì, nó được biểu diễn bằng đồ họa như thế nào và quan trọng nhất là cách giải nó bằng cách biết một số tham số nhất định. Cần lưu ý ngay rằng có một số loại thuật toán.

    Thuật toán là gì?

    Từ này được đưa vào sử dụng bởi nhà toán học Muhammad al-Khwarizmi, sống vào thời kỳ 763-850. Anh ấy là người đã tạo ra các quy tắc để thực hiện các phép tính số học (và chỉ có bốn quy tắc đó). Nhưng GOST từ năm 1974, trong đó tuyên bố rằng:

    Thuật toán là một đơn thuốc chính xác xác định một quá trình tính toán. Hơn nữa, có một số biến với các giá trị nhất định dẫn đến việc tính toán đạt được kết quả mong muốn.

    Thuật toán cho phép bạn chỉ định rõ ràng cho người thực hiện thực hiện một nhiệm vụ nghiêm ngặt để giải quyết nhiệm vụ và nhận được kết quả. Phát triển một thuật toán là chia nhỏ một nhiệm vụ lớn thành một chuỗi các bước nhất định. Hơn nữa, người phát triển thuật toán phải biết tất cả các tính năng và quy tắc biên dịch của nó.

    Đặc điểm của thuật toán

    Tổng cộng, có thể phân biệt tám tính năng của thuật toán (bất kể loại nào):

    1. Có chức năng nhập dữ liệu ban đầu.
    2. Có một đầu ra của một kết quả nhất định sau khi hoàn thành thuật toán. Cần phải nhớ rằng thuật toán là cần thiết để đạt được một mục tiêu nhất định, cụ thể là thu được kết quả liên quan trực tiếp đến dữ liệu gốc.
    3. Thuật toán phải có cấu trúc kiểu rời rạc. Nó nên được trình bày theo các bước tuần tự. Hơn nữa, mỗi bước tiếp theo chỉ có thể bắt đầu sau khi hoàn thành bước trước đó.
    4. Thuật toán phải rõ ràng. Mỗi bước được xác định rõ ràng và không cho phép giải thích tùy tiện.
    5. Thuật toán phải hữu hạn - nó phải được thực hiện theo một số bước được xác định nghiêm ngặt.
    6. Thuật toán phải chính xác - nó phải cung cấp giải pháp hoàn toàn chính xác cho vấn đề.
    7. Tính tổng quát (hoặc ký tự đại chúng) - nó phải hoạt động với nhiều dữ liệu ban đầu khác nhau.
    8. Thời gian để giải thuật toán phải tối thiểu. Điều này quyết định hiệu quả của việc giải quyết vấn đề.

    Và bây giờ, khi biết sơ đồ thuật toán nào tồn tại, chúng ta có thể bắt đầu xem xét cách viết chúng. Và không có nhiều trong số họ.

    Ghi âm bằng lời nói

    Hình thức này thường được sử dụng khi mô tả một thủ tục cho một người: “Đến đó đi, tôi không biết ở đâu. Mang theo thứ gì đó, tôi không biết là gì.

    Tất nhiên, đây là một hình thức truyện tranh nhưng bản chất thì rõ ràng. Để làm ví dụ, chúng ta có thể trích dẫn dòng chữ thông thường trên cửa sổ xe buýt: “Trong trường hợp xảy ra tai nạn, hãy rút dây và đẩy kính ra.”

    Ở đây một điều kiện rõ ràng được đặt ra, theo đó hai hành động phải được thực hiện theo trình tự nghiêm ngặt. Nhưng đây là những thuật toán đơn giản nhất, cũng có những thuật toán phức tạp hơn. Đôi khi các công thức và ký hiệu đặc biệt được sử dụng, nhưng với điều kiện bắt buộc - người biểu diễn phải hiểu mọi thứ.

    Có thể thay đổi thứ tự các hành động nếu bạn cần quay lại, chẳng hạn như thao tác trước đó hoặc bỏ qua một số lệnh trong một điều kiện nhất định. Trong trường hợp này, nên đánh số các lệnh và đảm bảo chỉ ra lệnh diễn ra quá trình chuyển đổi: “Sau khi hoàn thành tất cả các thao tác, hãy lặp lại các bước từ 3 đến 5.”

    Ghi ở dạng đồ họa

    Bản ghi này liên quan đến các yếu tố sơ đồ. Tất cả các yếu tố đều được chuẩn hóa, mỗi đội có một mục đồ họa cụ thể. Và một lệnh cụ thể phải được viết bên trong mỗi khối bằng ngôn ngữ thông thường hoặc công thức toán học. Tất cả các khối phải được kết nối bằng đường - chúng hiển thị thứ tự chính xác của các lệnh được thực thi. Trên thực tế, loại thuật toán này phù hợp để sử dụng trong mã chương trình hơn là thuật toán bằng lời nói.

    Ghi âm bằng ngôn ngữ lập trình

    Nếu cần có một thuật toán để giải quyết một vấn đề bằng một chương trình được cài đặt trên PC thì thuật toán đó phải được viết bằng mã đặc biệt. Có nhiều ngôn ngữ lập trình cho việc này. Và thuật toán trong trường hợp này được gọi là chương trình.

    Sơ đồ khối

    Lưu đồ là sự thể hiện bằng đồ họa của một thuật toán. Tất cả các lệnh và hành động được thể hiện bằng các hình dạng hình học (khối). Bên trong mỗi hình có ghi tất cả thông tin về các hành động cần thực hiện. Các kết nối được hiển thị dưới dạng các đường thông thường có mũi tên (nếu cần).

    Để thiết kế sơ đồ thuật toán, có GOST 19.701-90. Nó mô tả quy trình và quy tắc để tạo chúng ở dạng đồ họa, cũng như các phương pháp cơ bản để giải chúng. Bài viết này cung cấp các thành phần cơ bản của sơ đồ được sử dụng để giải các bài toán, ví dụ như trong khoa học máy tính. Bây giờ chúng ta hãy xem xét các quy tắc xây dựng.

    Các nguyên tắc cơ bản để vẽ sơ đồ

    Chúng ta có thể nêu bật các tính năng sau mà bất kỳ sơ đồ khối nào cũng nên có:

    1. Phải có hai khối - “Bắt đầu” và “Kết thúc”. Và trong một bản sao duy nhất.
    2. Các đường truyền thông phải được vẽ từ khối ban đầu đến khối cuối cùng.
    3. Tất cả các khối ngoại trừ khối cuối cùng phải có đường dòng chảy ra từ chúng.
    4. Tất cả các khối phải được đánh số: từ trên xuống dưới, từ trái sang phải. Số sê-ri phải được đặt ở góc trên bên trái, tạo sự phá cách trong phong cách.
    5. Tất cả các khối phải được kết nối với nhau bằng đường dây. Họ là người phải xác định trình tự thực hiện các hành động. Nếu luồng di chuyển từ dưới lên trên hoặc từ phải sang trái (nói cách khác, theo thứ tự ngược lại), thì nhất thiết phải vẽ các mũi tên.
    6. Các dòng được chia thành đi và đến. Cần lưu ý rằng một dòng đi ra cho một khối và đến cho một khối khác.
    7. Đường dòng chỉ đi ra khỏi khối ban đầu trong sơ đồ, vì đây là khối đầu tiên.
    8. Nhưng khối cuối cùng chỉ có đầu vào. Điều này được thể hiện rõ ràng trong các ví dụ về sơ đồ khối được cung cấp trong bài viết.
    9. Để làm cho sơ đồ khối dễ đọc hơn, các dòng vào được hiển thị ở trên cùng và các dòng ra ở phía dưới.
    10. Sự gián đoạn trong dòng chảy có thể chấp nhận được. Chúng phải được đánh dấu bằng các đầu nối đặc biệt.
    11. Để làm cho sơ đồ dễ dàng hơn, được phép viết tất cả thông tin trong phần bình luận.

    Các yếu tố đồ họa của sơ đồ giải thuật toán được trình bày trong bảng:

    Loại thuật toán tuyến tính

    Đây là loại đơn giản nhất, bao gồm một chuỗi hành động nhất định, chúng không phụ thuộc vào dữ liệu nào được nhập ban đầu. Có một số lệnh được thực thi một lần và chỉ sau khi lệnh trước đó được hoàn thành. Sơ đồ khối tuyến tính trông như thế này:

    Hơn nữa, các kết nối có thể đi từ trên xuống dưới và từ trái sang phải. Sơ đồ khối như vậy được sử dụng để viết các thuật toán tính toán bằng các công thức đơn giản, không hạn chế về giá trị của các biến có trong công thức tính toán. Thuật toán tuyến tính là một phần không thể thiếu trong các quá trình tính toán phức tạp.

    Thuật toán phân nhánh

    Sơ đồ khối được xây dựng bằng các thuật toán như vậy phức tạp hơn sơ đồ tuyến tính. Nhưng bản chất không thay đổi. Thuật toán phân nhánh là một quá trình trong đó những gì xảy ra tiếp theo phụ thuộc vào việc đáp ứng một điều kiện như thế nào và đạt được giải pháp nào. Mỗi hướng hành động là một nhánh.

    Các sơ đồ mô tả các khối được gọi là “Giải pháp”. Nó có hai đầu ra và một điều kiện logic được viết bên trong. Chuyển động tiếp theo theo sơ đồ thuật toán phụ thuộc vào cách nó được thực hiện. Các thuật toán phân nhánh có thể được chia thành ba nhóm:

    1. "Bỏ qua" - trong trường hợp này, một trong các nhánh không có người vận hành. Nói cách khác, một số hành động trên nhánh khác sẽ bị bỏ qua.
    2. “Chi nhánh” - mỗi nhánh có một bộ hành động cụ thể để thực hiện.
    3. “Trắc nghiệm” là một nhánh trong đó có một số nhánh và mỗi nhánh chứa một tập hợp các hành động cụ thể sẽ được thực hiện. Hơn nữa, có một điểm đặc biệt - việc lựa chọn hướng trực tiếp phụ thuộc vào các giá trị đã cho của các biểu thức có trong thuật toán.

    Đây là những thuật toán đơn giản có thể được giải quyết rất dễ dàng. Bây giờ hãy chuyển sang những cái phức tạp hơn.

    Thuật toán quay vòng

    Mọi thứ ở đây cực kỳ rõ ràng - sơ đồ khối tuần hoàn biểu thị một thuật toán trong đó các phép tính tương tự được lặp lại nhiều lần. Theo định nghĩa, chu trình là một chuỗi hành động cụ thể được thực hiện lặp đi lặp lại (nhiều lần). Và có một số loại chu kỳ:

    1. Trong đó đã biết số lần lặp lại của các hành động (chúng còn được gọi là chu trình có bộ đếm).
    2. Trong đó số lần lặp lại không xác định - với một điều kiện hậu và một điều kiện trước.

    Bất kể loại vòng lặp nào được sử dụng để giải thuật toán, nó phải có một biến mà đầu ra xuất hiện. Nó xác định số lần lặp lại của chu kỳ. Phần làm việc (phần thân) của chu trình là một chuỗi hành động nhất định được thực hiện ở mỗi bước. Bây giờ chúng ta hãy xem xét kỹ hơn tất cả các loại vòng lặp có thể gặp phải khi tạo thuật toán và giải quyết các vấn đề trong khoa học máy tính.

    Vòng lặp có bộ đếm

    Hình vẽ cho thấy một sơ đồ khối đơn giản trong đó có một vòng lặp có bộ đếm. Loại thuật toán này cho thấy số lần lặp lại của một chu kỳ nhất định đã được biết trước. Và con số này là cố định. Trong trường hợp này, biến đếm số bước (lặp lại) được gọi là bộ đếm. Đôi khi trong sách giáo khoa bạn có thể tìm thấy các định nghĩa khác - tham số vòng lặp, biến điều khiển.

    Sơ đồ khối minh họa rất rõ ràng cách hoạt động của vòng lặp đếm. Trước khi bắt đầu bước đầu tiên, bạn cần gán giá trị ban đầu cho bộ đếm - đây có thể là bất kỳ số nào, nó phụ thuộc vào thuật toán cụ thể. Trong trường hợp giá trị cuối cùng nhỏ hơn giá trị bộ đếm, một nhóm lệnh nhất định tạo nên phần thân vòng lặp sẽ bắt đầu được thực thi.

    Sau khi phần thân được thực thi, bộ đếm được thay đổi bằng giá trị bước của bộ đếm, ký hiệu là h. Nếu giá trị kết quả nhỏ hơn giá trị cuối cùng thì chu trình sẽ tiếp tục. Và nó sẽ chỉ kết thúc khi giá trị cuối cùng nhỏ hơn bộ đếm vòng lặp. Chỉ trong trường hợp này, hành động theo chu trình mới được thực hiện.

    Thông thường, ký hiệu lưu đồ sử dụng khối có tên "Chuẩn bị". Bộ đếm được ghi vào đó và sau đó dữ liệu sau được chỉ định: giá trị ban đầu và giá trị cuối cùng, bước thay đổi. Trong sơ đồ khối đây lần lượt là các tham số In, Ik và h. Trong trường hợp h=1, kích thước bước không được ghi lại. Trong các trường hợp khác, điều này là bắt buộc. Phải tuân theo một quy tắc đơn giản - dòng chảy phải đi vào từ trên xuống. Và dòng chảy ra từ dưới cùng (hoặc từ bên phải, tùy thuộc vào thuật toán cụ thể) sẽ hiển thị sự chuyển đổi sang câu lệnh tiếp theo.

    Bây giờ bạn đã nghiên cứu đầy đủ phần mô tả sơ đồ khối như trong hình. Bạn có thể chuyển sang nghiên cứu sâu hơn. Khi sử dụng vòng lặp có bộ đếm, phải đáp ứng một số điều kiện nhất định:

    1. Cơ thể không được phép thay đổi (ép buộc) giá trị bộ đếm.
    2. Cấm chuyển quyền kiểm soát từ bên ngoài cho người điều hành cơ thể. Nói cách khác, bạn chỉ có thể nhập một chu kỳ từ đầu của nó.

    Vòng lặp có điều kiện tiên quyết

    Loại chu trình này được sử dụng trong trường hợp không biết trước số lần lặp lại. Vòng lặp có điều kiện tiên quyết là một loại thuật toán trong đó, ngay trước khi thực thi phần thân, một điều kiện được kiểm tra để cho phép chuyển sang hành động tiếp theo. Hãy chú ý đến cách mô tả các phần tử của sơ đồ khối.

    Trong trường hợp khi điều kiện được đáp ứng (câu lệnh đúng), quá trình chuyển đổi về phần đầu của thân vòng lặp sẽ xảy ra. Nó trực tiếp thay đổi giá trị của ít nhất một biến ảnh hưởng đến giá trị của điều kiện đã nêu. Nếu bạn không tuân thủ quy tắc này, bạn sẽ gặp phải một vòng lặp. Nếu sau lần kiểm tra tiếp theo về điều kiện thực hiện của thân vòng lặp, kết quả là sai thì việc thoát sẽ xảy ra.

    Trong sơ đồ khối của thuật toán, người ta không được phép kiểm tra tính đúng đắn mà là độ sai lệch của điều kiện ban đầu. Trong trường hợp này, vòng lặp sẽ chỉ thoát nếu giá trị điều kiện là đúng. Cả hai tùy chọn đều đúng; việc sử dụng chúng phụ thuộc vào việc sử dụng tùy chọn nào thuận tiện hơn để giải quyết một vấn đề cụ thể. Loại vòng lặp này có một đặc điểm - phần thân có thể không được thực thi nếu điều kiện sai hoặc đúng (tùy thuộc vào tùy chọn được sử dụng để giải thuật toán).

    Dưới đây là sơ đồ mô tả tất cả các bước này:

    Vòng lặp có hậu điều kiện là gì?

    Nếu bạn nhìn kỹ, loại chu kỳ này có phần giống với loại trước. Bây giờ chúng ta sẽ cố gắng tự xây dựng một sơ đồ khối mô tả chu trình này. Điều đặc biệt là số lần lặp lại không được biết trước. Và điều kiện được thiết lập sau khi việc thoát khỏi cơ thể đã xảy ra. Từ đó chúng ta có thể thấy rằng cơ thể, bất kể quyết định nào, sẽ bị xử tử ít nhất một lần. Để rõ ràng, hãy xem sơ đồ khối mô tả việc thực hiện điều kiện và toán tử:

    Không có gì phức tạp trong việc xây dựng thuật toán bằng vòng lặp, bạn chỉ cần hiểu chúng một lần. Bây giờ hãy chuyển sang các cấu trúc phức tạp hơn.

    Vòng lặp phức tạp

    Cấu trúc phức tạp là những cấu trúc chứa một hoặc nhiều vòng lặp đơn giản bên trong chúng. Đôi khi chúng được gọi là lồng nhau. Hơn nữa, những công trình bao trùm các chu kỳ khác được gọi là “bên ngoài”. Và những thứ được đưa vào thiết kế bên ngoài là nội bộ. Khi mỗi bước của vòng lặp bên ngoài được thực thi, vòng lặp bên trong sẽ được cuộn hoàn toàn, như thể hiện trong hình:

    Như vậy là bạn đã ôn lại được những đặc điểm chính của việc xây dựng sơ đồ giải thuật toán, bạn đã nắm được nguyên tắc và quy tắc. Bây giờ chúng ta có thể xem xét các ví dụ cụ thể về sơ đồ cuộc sống. Ví dụ, trong tâm lý học, những cấu trúc như vậy được sử dụng để giúp một người giải quyết một câu hỏi:

    Hoặc một ví dụ từ sinh học để giải quyết vấn đề:

    Giải quyết vấn đề bằng sơ đồ

    Bây giờ chúng ta hãy xem các ví dụ về các vấn đề với sơ đồ có thể tìm thấy trong sách giáo khoa khoa học máy tính. Ví dụ: một sơ đồ khối được đưa ra theo đó một số thuật toán được giải quyết:

    Trong trường hợp này, người dùng nhập giá trị của các biến một cách độc lập. Giả sử x=16 và y=2. Quá trình thực hiện như sau:

    1. Các giá trị x và y được nhập vào.
    2. Hoạt động biến đổi được thực hiện: x=√16=4.
    3. Điều kiện được đáp ứng: y=y 2 =4.
    4. Phép tính được thực hiện: x=(x+1)=(4+1)=5.
    5. Tiếp theo, biến sau được tính: y=(y+x)=(5+4)=9.
    6. Giải pháp là đầu ra: y=9.

    Ví dụ về sơ đồ khoa học máy tính này cho thấy rõ cách giải thuật toán. Cần phải chú ý đến thực tế là các giá trị của x và y được chỉ định ở giai đoạn ban đầu và chúng có thể là bất kỳ giá trị nào.