Các mẫu Django xác định bố cục và định dạng cuối cùng được gửi tới người dùng cuối sau khi phương thức xem xử lý xong một yêu cầu. Trong chương này, bạn sẽ tìm hiểu cú pháp được sử dụng bởi các mẫu Django, các tùy chọn cấu hình có sẵn cho các mẫu Django, cũng như các cấu trúc mẫu Django khác nhau (e. g. bộ lọc, thẻ, trình xử lý ngữ cảnh) cho phép bạn tạo bố cục phức tạp và áp dụng định dạng cho nội dung được trình bày cho người dùng cuối Show
Mặc dù có hơn một trăm cấu trúc dựng sẵn giúp bạn xây dựng các mẫu Django -- tất cả những cấu trúc này bạn sẽ tìm hiểu khi chương này tiến triển -- để bắt đầu, đây là những yếu tố cú pháp quan trọng nhất mà bạn cần nhận ra
Any other syntax in Django templates besides these three variations is treated 'as is'. This means that if a template declares the Hypertext Markup Language (HTML) heading {{}} 3, a user will get a large HTML heading. It's that simpleBut let's take a look at one not so obvious Django template syntax behavior that's important you understand right away, since it's a recurring theme in practically everything associated with Django templates Auto-escaping. HTML and erring on the safe sideDjango projects operate on the web, so by default all templates are assumed to produce HTML. While this is a reasonable assumption, it isn't, until you face one of two things
So how could you possibly introduce invalid HTML or even dangerous content into Django templates ? Well it's the Internet, it's content from other users or providers that can end up in your Django templates that can cause problems (e. g. data submitted by users, third party services, content from databases) The issue isn't content you place directly in Django templates -- that's given to be valid since you type it in -- the issue is dynamic content placed through variables, tags, filters and context processors, which has the potential to come from anywhere. Let's analyze this further with the following variables We say that the array contains three cells and each cell contains a string. The strings themselves are 2, 1 and 6 characters long. Putting these strings together into a cell array, we see that it takes up 354 bytes in memory – much more than we would expect for three short strings. Cell arrays are therefore not efficient in terms of memory usage, but as long as we are not seeking to store too much data, the convenience of a cell array outweighs the extra memory needed There are two ways in which we can now access the data in the cell array. One is where we view its elements as cells or sub-arrays of cells. The other way is where we view the elements in terms of their ‘native’ data type – which in our example was the string data type (i. e. a array)Ví dụ 5. 11 This example illustrates the different ways of accessing the elements of a cell array. We start by putting three strings into a cell array called O5. D, O5. F, O5. G In the above code, the cell array created can be visualized by the diagram shown in Fig. 5. 3 . This illustrates an array containing three cells and each cell contains, in this case, its own array (i. e. string)Figure 5. 3 . An illustration of a cell array. After creating the cell array, the variable is assigned the value of a single cell (the first cell in the array). The variableis assigned with a sub-array of cells from(the second and the third). Both variablesandare assigned using the round brackets that MATLAB normally uses for accessing array elements. ‘(’ and ‘)’.Variable is different. This time, curly brackets, ‘{’ and ‘}’, are used to access the contents of a cell (the third one) rather than the cell itself. Sois assigned aarray (i. e. một chuỗi). We can check the status and types of our variables using thecommand. Note howandare both cell arrays (with sizes 1×1 and 1×2 respectively), whereasis a string of length 8.It is important to be clear about the use of the different types of brackets (round, square and curly). The different types of brackets can be used to do one of two things ■Create an array ■Access an element (or elements) in the array Not all combinations are possible. For example, in MATLAB we cannot use the square brackets to access elements in an array, they are only used for constructing arrays. See Section 5. 7. 2 for more details. 5. 7. 1 Cell Arrays Can Contain Mixed Data TypesWe have seen above how a cell array can be useful for storing a set of strings with varying lengths. In fact, a cell array can be viewed as an indexed list of containers, and each container can hold variables of any data type. Here, we define a cell array with a mixture of types We can use the curly brackets to access the elements inside the cell array and use the function to identify their typesThe cell array is illustrated in Fig. 5. 4 . The diagram shows how the array contains four cells, each containing an array of a different type.Figure 5. 4 . A cell array containing mixed types. The ability of a cell array to contain a mixture of data types may be of interest but is rarely useful in practice. Mảng ô thường được sử dụng nhất với kiểu dữ liệu thống nhất, i. e. với tất cả các ô chứa dữ liệu cùng loại. Chúng ta đã thấy điều này trong trường hợp mảng ô gồm các chuỗi ở trên Một ví dụ khác về mảng ô chứa hỗn hợp dữ liệu khác nhau được hiển thị bên dưới Trong trường hợp này, tất cả dữ liệu đều cùng loại ( ), nhưng chúng là hỗn hợp của các giá trị đơn và mảng. Tuy nhiên, chúng ta đã thấy rằng MATLAB coi một giá trị đơn lẻ thực sự là một mảng 1×1 .5. 7. 2 Các loại giá đỡ khác nhau. Tóm tắt lạiTóm lại, có lẽ hai thao tác cơ bản nhất liên quan đến một mảng là ■Tạo mảng ■Truy cập các phần tử trong mảng Tùy thuộc vào việc chúng ta có mảng ô hay mảng 'tiêu chuẩn' của kiểu dữ liệu cơ bản (e. g ), chúng ta có thể phân biệt các hành vi khác nhau của từng loại dấu ngoặc. vuông, xoăn và trònTạo một mảng ■Dấu ngoặc vuông '[ ]' Tạo một mảng trong đó tất cả các mục có cùng loại, e. g hoặc. Ví dụ:■Dấu ngoặc nhọn ‘{ }’. Tạo một mảng ô. Các ô của nó có thể chứa bất kỳ loại nào. Chúng có thể chứa các mục cùng loại hoặc hỗn hợp các loại. Ví dụ, Truy cập phần tử ■Dấu ngoặc tròn '( )' Chúng có thể được sử dụng để truy cập một hoặc nhiều phần tử từ bất kỳ loại mảng nào. Các phần tử trả về luôn có cùng kiểu với mảng, i. e. đối với một mảng nhân đôi, dấu ngoặc tròn sẽ trả về gấp đôi, đối với một mảng ô, chúng sẽ trả về các ô. Ví dụ: sử dụng các mảng được tạo ở trên ■Dấu ngoặc nhọn '{ }' Khi được sử dụng để truy cập các phần tử, dấu ngoặc nhọn dành riêng cho mảng ô. Chúng có thể được sử dụng để lấy nội dung của một ô trong kiểu dữ liệu gốc của nó, tôi. e. không ở dạng tế bào. Ví dụ, Hoạt động 5. 6 Kiểm tra đoạn mã sau, xác định một số mảng để lưu trữ dữ liệu bệnh nhân O5. D, O5. F, O5. G Dự đoán những gì bạn nghĩ đầu ra của mã sẽ được. Nhập mã vào m-file tập lệnh MATLAB, chạy mã đó và kiểm tra xem dự đoán của bạn có đúng không Xem chươngMua sách Đọc toàn bộ chương URL. https. //www. sciencedirect. com/khoa học/bài viết/pii/B9780128122037000057 Lập trình C cho vi điều khiển PIC 32 bitDogan Ibrahim, trong Thiết kế hệ thống nhúng với bộ vi điều khiển PIC 32 bit và MikroC , 2014 câu lệnh whilecâu lệnh while là một câu lệnh khác có thể được sử dụng để tạo vòng lặp trong chương trình. Định dạng của tuyên bố này như sau trong khi (điều kiện) { các câu lệnh; } Ở đây, vòng lặp được bao quanh bởi dấu ngoặc nhọn sẽ thực thi miễn là điều kiện đã chỉ định ước lượng thành . Lưu ý rằng nếu điều kiện là SAI khi vào vòng lặp, thì vòng lặp sẽ không bao giờ thực thi. Một ví dụ được đưa ra dưới đây trong đó các câu lệnh bên trong vòng lặp while thực thi 10 lần. tôi = 0; trong khi (i < 10) { các câu lệnh; tôi ++; } Ở đây, khi bắt đầu vòng lặp, i bằng 0, nhỏ hơn 10 và do đó vòng lặp bắt đầu. Bên trong vòng lặp i được tăng thêm một. Vòng lặp kết thúc khi i trở thành 10. Điều quan trọng là phải nhận ra rằng điều kiện được chỉ định ở đầu vòng lặp phải được thỏa mãn bên trong vòng lặp, nếu không, một vòng lặp vô tận sẽ được hình thành Trong ví dụ sau i được khởi tạo bằng 0, nhưng không bao giờ thay đổi bên trong vòng lặp và do đó luôn nhỏ hơn 10. Do đó, vòng lặp này sẽ không bao giờ kết thúc tôi = 0; trong khi (i < 10) { các câu lệnh; } Có thể có một vòng lặp while không có câu lệnh nào. Một vòng lặp như vậy thường được sử dụng trong các ứng dụng vi điều khiển để đợi một hành động nào đó được hoàn thành. Ví dụ: để đợi cho đến khi một nút được nhấn. Một ví dụ được đưa ra dưới đây, trong đó chương trình đợi cho đến khi biến CLK trở thành 0 while(CLK == 1); hoặc là trong khi(CLK); các vòng lặp while có thể lồng vào nhau. Một ví dụ được đưa ra dưới đây tôi = 0; j = 0; trong khi (i < 10) { trong khi (j < 10) { các câu lệnh; j++; } các câu lệnh; tôi ++; } Xem chươngMua sách Đọc toàn bộ chương URL. https. //www. sciencedirect. com/khoa học/bài viết/pii/B9780080977867000038 Giới thiệu về Matlab®George Lindfield, John Penny, trong Phương pháp số (Ấn bản thứ tư) , 2019 1. 20 Cấu trúc dữ liệu trong MatlabCác phần trước đã thảo luận về việc sử dụng dữ liệu số và phi số. Bây giờ chúng tôi giới thiệu cấu trúc mảng ô cho phép cấu trúc dữ liệu phức tạp hơn. Cấu trúc dữ liệu ô được biểu thị bằng dấu ngoặc nhọn , i. e. , { } . Ví dụ, >> A = ô(4,1); >> A = {'toán'; một = 'toán học' 'vật lý học' 'lịch sử' 'NÓ' Chúng ta có thể đề cập đến các thành phần riêng lẻ >> p = A(2) p = 'vật lý học' >> A(3. 4) trả lời = 'lịch sử' 'NÓ' To access the contents of the cell we use curly brackets thus >> cont = A{3} tiếp = lịch sử Lưu ý rằng lịch sử không còn trong dấu ngoặc kép và do đó chúng tôi có thể tham chiếu các ký tự riêng lẻ như sau. >> tiếp(4) trả lời = t Một mảng ô có thể bao gồm cả dữ liệu số và chuỗi và cũng có thể được tạo bằng hàm ô . Ví dụ: để tạo một ô có 2 hàng và 2 cột, chúng ta có >> F = ô(2,2) F = [ ] [ ] [ ] [ ] Để gán một vô hướng, một mảng hoặc một chuỗi ký tự cho một ô, chúng ta viết >> F{1,1} = 2; >> F{1,2} = 'kiểm tra'; >> F{2,1} = one(3); >> F F = [ 2] 'kiểm tra' [3x3 double] [ ] Một cách tạo tương đương F là >> F = {[2] 'kiểm tra'; Vì không xem được nội dung chi tiết của F{2,1} ở phần trước nên chúng tôi sử dụng hàm celldisp thus: >> celldisp(F) F{1,1} = 2 F{2,1} = 1 1 1 1 1 1 1 1 1 F{1,2} = kiểm tra F{2,2} = [ ] Mảng ô cho phép chúng ta nhóm dữ liệu có kích thước và kiểu khác nhau lại với nhau dưới dạng một mảng và truy cập các phần tử của nó bằng cách sử dụng các chỉ số con Dạng dữ liệu cuối cùng mà chúng ta xem xét là cấu trúc, được triển khai trong Matlab bằng cách sử dụng structMatlab . Điều này tương tự như một mảng ô nhưng các ô riêng lẻ được lập chỉ mục theo tên. Một cấu trúc kết hợp một số trường, mỗi trường có thể là một loại khác nhau. Có một tên chung cho trường, ví dụ: Matlab . Điều này tương tự như một mảng ô nhưng các ô riêng lẻ được lập chỉ mục theo tên. Một cấu trúc kết hợp một số trường, mỗi trường có thể là một loại khác nhau. Có một tên chung cho trường, ví dụ: Matlab . Điều này tương tự như một mảng ô nhưng các ô riêng lẻ được lập chỉ mục theo tên. Một cấu trúc kết hợp một số trường, mỗi trường có thể là một loại khác nhau. Có một tên chung cho trường, ví dụ: Matlab . Điều này tương tự như một mảng ô nhưng các ô riêng lẻ được lập chỉ mục theo tên. Một cấu trúc kết hợp một số trường, mỗi trường có thể là một loại khác nhau. Có một tên chung cho trường, ví dụ: Matlab . Điều này tương tự như một mảng ô nhưng các ô riêng lẻ được lập chỉ mục theo tên. Một cấu trúc kết hợp một số trường, mỗi trường có thể là một loại khác nhau. Có một tên chung cho trường, ví dụ: Matlab . Điều này tương tự như một mảng ô nhưng các ô riêng lẻ được lập chỉ mục theo tên. Một cấu trúc kết hợp một số trường, mỗi trường có thể là một loại khác nhau. Có một tên chung cho trường, ví dụ: Matlab . Điều này tương tự như một mảng ô nhưng các ô riêng lẻ được lập chỉ mục theo tên. Một cấu trúc kết hợp một số trường, mỗi trường có thể là một loại khác nhau. Có một tên chung cho trường, ví dụ: Matlab . Điều này tương tự như một mảng ô nhưng các ô riêng lẻ được lập chỉ mục theo tên. Một cấu trúc kết hợp một số trường, mỗi trường có thể là một loại khác nhau. Có một tên chung cho trường, ví dụ: Matlab . Điều này tương tự như một mảng ô nhưng các ô riêng lẻ được lập chỉ mục theo tên. Một cấu trúc kết hợp một số trường, mỗi trường có thể là một loại khác nhau. Có một tên chung cho trường, ví dụ: Matlab . Điều này tương tự như một mảng ô nhưng các ô riêng lẻ được lập chỉ mục theo tên. Một cấu trúc kết hợp một số trường, mỗi trường có thể là một loại khác nhau. Có một tên chung cho trường, ví dụ: Matlab . Điều này tương tự như một mảng ô nhưng các ô riêng lẻ được lập chỉ mục theo tên. Một cấu trúc kết hợp một số trường, mỗi trường có thể là một loại khác nhau. Có một tên chung cho trường, ví dụ: Matlab . Điều này tương tự như một mảng ô nhưng các ô riêng lẻ được lập chỉ mục theo tên. Một cấu trúc kết hợp một số trường, mỗi trường có thể là một loại khác nhau. Có một tên chung cho trường, ví dụ: Matlab . Điều này tương tự như một mảng ô nhưng các ô riêng lẻ được lập chỉ mục theo tên. Một cấu trúc kết hợp một số trường, mỗi trường có thể là một loại khác nhau. Có một tên chung cho trường, ví dụ: Matlab . Điều này tương tự như một mảng ô nhưng các ô riêng lẻ được lập chỉ mục theo tên. Một cấu trúc kết hợp một số trường, mỗi trường có thể là một loại khác nhau. Có một tên chung cho trường, ví dụ: Matlab . Điều này tương tự như một mảng ô nhưng các ô riêng lẻ được lập chỉ mục theo tên. Một cấu trúc kết hợp một số trường, mỗi trường có thể là một loại khác nhau. Có một tên chung cho trường, ví dụ: Matlab . Điều này tương tự như một mảng ô nhưng các ô riêng lẻ được lập chỉ mục theo tên. Một cấu trúc kết hợp một số trường, mỗi trường có thể là một loại khác nhau. Có một tên chung cho trường, ví dụ: . This is similar to a cell array but individual cells are indexed by name. A structure combines a number of fields, each of which may be a different type. There is a general name for the field, for example, 'tên' hoặc 'số điện thoại'. Each of these fields can have specific values such as 'George Brown' hoặc '12719'. To illustrate these points consider the following example which sets up a structure called StudentRecords chứa ba trường. NameField , FeesField và . . Lưu ý rằng chúng tôi bắt đầu bằng cách thiết lập thông tin cho ba sinh viên dưới dạng các giá trị cụ thể được giữ trong các mảng ô. Tên, lệ phí và đối tượng >> name = {'A Best', 'D Good', 'S Green', 'J Jones'} tên = 'A Best' 'D Good' 'S Green' 'J Jones' >> phí = {333 450 200 800} phí = [333] [450] [200] [800] >> môn học = {'cs','cs','maths','eng'} môn học = 'cs' 'cs' 'maths' 'eng' >> StudentRecords = struct('NameField',names,'FeesField',fees, 'Trường chủ đề',chủ đề) Hồ sơ học sinh = Mảng cấu trúc 1x4 với các trường Trường tên Trường phí Trường chủ đề Bây giờ, sau khi đã thiết lập cấu trúc của mình, chúng ta có thể tham chiếu đến từng bản ghi riêng lẻ bằng cách sử dụng chỉ số con, do đó >> Hồ sơ học sinh(1) trả lời = Trường tên. 'Tốt nhất' Trường phí. 333 Trường chủ đề. 'cs' Hơn nữa, chúng ta có thể kiểm tra nội dung của các thành phần của mỗi bản ghi, do đó >> Hồ sơ học sinh(1). TênTrường trả lời = một tốt nhất >> Hồ sơ học sinh(2). Chủ đề trả lời = cs Chúng ta có thể thay đổi hoặc cập nhật giá trị của các thành phần của bản ghi, do đó >> Hồ sơ học sinh(3). Trường phí = 1000; Bây giờ chúng ta kiểm tra nội dung của FeesField >> Hồ sơ học sinh(3). PhíLĩnh Vực trả lời = 1000 Matlab cung cấp các hàm cho phép chúng ta chuyển đổi từ cấu trúc dữ liệu này sang cấu trúc dữ liệu khác và một số hàm này được liệt kê tại đây. cell2struct struct2cell num2cell str2num num2str int2str gấp đôi độc thân Hầu hết các chuyển đổi này đều dễ hiểu. Ví dụ: num2str chuyển đổi một số có độ chính xác kép thành một chuỗi tương đương. Hàm double chuyển thành độ chính xác kép và các ví dụ về cách sử dụng hàm này được đưa ra trong Chương 10. Việc sử dụng các ô và cấu trúc thường không cần thiết trong việc phát triển các thuật toán số mặc dù chúng có thể được sử dụng để nâng cao tính dễ sử dụng của thuật toán. Có một ví dụ về việc sử dụng các cấu trúc trong Chương 10 . Xem chươngMua sách Đọc toàn bộ chương URL. https. //www. sciencedirect. com/khoa học/bài viết/pii/B9780128122563000105 Từ điển và chức năng như đối sốRyan G. McClarren, trong Kỹ thuật hạt nhân điện toán và khoa học phóng xạ sử dụng Python , 2018 5. 1 từ điểnTrước đây, chúng ta đã học về danh sách dưới dạng một chuỗi các mục mà chúng ta có thể truy cập thông qua vị trí bằng cách sử dụng dấu ngoặc vuông. Có thể có trường hợp chúng tôi không muốn truy cập các mục dựa trên chỉ mục số, thay vào đó chúng tôi muốn truy cập chúng dựa trên tên. Một ví dụ điển hình của điều này có thể là những đứa trẻ trong một gia đình. Bạn có thể có một danh sách những đứa trẻ mà bạn truy cập thông qua thứ tự chúng được sinh ra; . Giải pháp cho vấn đề này trong Python có thể được tìm thấy trong từ điển. Từ điển giống như một danh sách theo nhiều cách, nhưng bạn truy cập nó bằng tên của mục Về mặt kỹ thuật, từ điển là một bộ khóa. cặp giá trị . Khóa tương tự như chỉ mục của danh sách và trên thực tế là tên của mục. Bạn định nghĩa một từ điển bằng dấu ngoặc nhọn. Thay vì truy cập từ điển bằng một vị trí, giống như chúng ta đã làm với chuỗi, danh sách và mảng NumPy, chúng ta sử dụng khóa. Điều này rất hữu ích vì sau đó chúng ta không phải nhớ thứ tự đã liệt kê các giá trị trong. Ví dụ: trong các ngày trong tuần ở trên, chúng tôi không phải nhớ cách chúng tôi sắp xếp các ngày (e. g. , thứ hai đầu tiên hoặc chủ nhật đầu tiên) Ngoài ra, ví dụ trên đã sử dụng toán tử in để cho biết liệu một khóa cụ thể có trong từ điển hay không. Cụ thể, nó cho chúng ta biết rằng "G" không phải là một từ khóa trong từ điển. Hộp 5. 1 Nguyên tắc Python Từ điển là một chuỗi các mục được truy cập thông qua tên được gọi là khóa. Các phần tử của từ điển mà khóa đề cập đến được gọi là giá trị. Để định nghĩa một từ điển, chúng tôi sử dụng dấu ngoặc nhọn như trong ví dụ sau my_dictionary ={key_1. giá trị_1, Để biết thêm ví dụ, chúng ta sẽ đọc trong tệp văn bản có các giá trị được phân tách bằng dấu phẩy (thường được gọi là csv), sử dụng mô-đun csv . Tệp văn bản sẽ được sử dụng để cung cấp khóa . cặp giá trị trong từ điển. Định dạng của tệp này là ký hiệu hóa học, tên nguyên tố . Một vài dòng đầu tiên của tệp là Ac, Actini Đoạn mã sau đọc trong tệp và sử dụng ký hiệu hóa học làm khóa và tên hóa chất làm giá trị. Nó cũng yêu cầu người dùng nhập ký hiệu hóa học và sẽ trả về tên Từ điển thậm chí có thể trở nên mạnh mẽ hơn nếu chúng ta tạo một từ điển của các từ điển. Vâng, bạn đã đọc dúng điều đó. giá trị trong khóa . cặp giá trị có thể là một từ điển khác. Đối với nhiều ứng dụng, đây là nơi từ điển trở nên rất hữu ích. Trong ví dụ sau, chúng tôi sử dụng ý tưởng về từ điển của từ điển để lưu trữ thông tin bổ sung về các ngày trong tuần. Lưu ý rằng khi một từ điển được lặp lại trong một vòng lặp for , biến vòng lặp sẽ lấy từng khóa của từ điển. Ngoài ra, thứ tự của các phím không được đảm bảo khớp với thứ tự mà chúng được nhập. Trong vòng lặp trên, các phím không được in ra theo thứ tự từ Thứ Hai đến Chủ Nhật. Chúng ta có thể sử dụng ý tưởng về từ điển của ý tưởng từ điển để tạo một mã có thể tự động tính toán sự phân rã phóng xạ cho chúng ta. Để làm điều này, tôi sẽ tạo một từ điển trong đó khóa là số nguyên tử (Z) và giá trị sẽ là một từ điển có tên và ký hiệu nguyên tố. Tệp được đọc bên dưới có định dạng Z, Ký hiệu, Tên . Cho rằng chúng ta có một từ điển nơi chúng ta có thể tra cứu một nguyên tố theo số nguyên tử của nó, chúng ta có thể viết một hàm tính tích phân rã alpha của một hạt nhân cụ thể. Chúng ta sẽ truyền vào hàm số nguyên tử, số khối và từ điển nguyên tố, và nó sẽ trả về số nguyên tử và số khối của sản phẩm, cùng với việc in một số thông tin ra màn hình Cho rằng hàm trả về số nguyên tử và số khối của sản phẩm, chúng ta có thể chạy alpha_decay trong một vòng lặp. Ví dụ này không kiểm tra xem liệu một phân rã alpha như vậy có thể xảy ra hay không, tuy nhiên, với một sửa đổi thích hợp đối với từ điển, chúng ta có thể thêm thông tin về chế độ phân rã cho một hạt nhân cụ thể. Từ điển này sẽ phức tạp hơn nhiều, bởi vì nó có thể yêu cầu một hệ thống phân cấp ba cấp bao gồm một từ điển cấp cao nhất trong đó các khóa là số nguyên tử và các giá trị là một từ điển gồm các từ điển trong đó khóa là số khối và các giá trị là . Việc thiết lập và điền dữ liệu vào nó sẽ rất lộn xộn, nhưng về nguyên tắc là có thể thực hiện được Một cách sử dụng khác của từ điển là lưu trữ thông tin về các nguyên tố nhiên liệu khác nhau trong lò phản ứng. Chúng ta sẽ xem xét một lò phản ứng có hai loại nhiên liệu, uranium có độ giàu cao (HEU) và uranium có độ giàu thấp (LEU). Chúng tôi sẽ sử dụng một từ điển để mô tả các thuộc tính của từng loại nhiên liệu. Sau đó, sử dụng thông tin này, chúng tôi vẽ mặt cắt hình học nhiên liệu HEU Theo cách tương tự, nhiên liệu LEU có thể được hình dung bằng cách sử dụng từ điển Cho rằng chúng ta có một từ điển mô tả từng loại nhiên liệu, chúng ta có thể định nghĩa một mạng các nguyên tố nhiên liệu. Chúng tôi sẽ tạo ra một mạng nhiên liệu 10 x 10 với 0. Khoảng cách 5 cm giữa các phần tử. Ngoài ra, chúng tôi sẽ tạo mọi phần tử thứ ba HEU và phần còn lại LEU. Mã bên dưới tạo mạng này và sau đó vẽ sơ đồ Với mạng tinh thể này, nếu chúng ta biết hình dạng của chế độ cơ bản của dòng vô hướng, chúng ta có thể tính mật độ tốc độ sản xuất neutron phân hạch tại mỗi điểm của lò phản ứng. Chúng ta sẽ giả sử một dạng thông lượng vô hướng đơn giản và nhân thông lượng với giá trị của νΣf , là tích của số neutron phân hạch trung bình được tạo ra, lần . Đoạn mã sau tính toán số lượng này bằng cách đánh giá νΣf ở giữa mỗi phần tử nhiên liệu. Khi chúng ta giải phương trình khuếch tán cho dòng vô hướng của neutron trong một hệ thống, chúng ta sẽ xem xét lại các kỹ thuật này để tính tốc độ sản xuất neutron phân hạch và các đại lượng khác Xem chươngMua sách Đọc toàn bộ chương URL. https. //www. sciencedirect. com/khoa học/bài viết/pii/B9780128122532000066 Các ứng dụng của Mobile Agent trong Mạng không dây và Điện toán di độngSergio González-Valenzuela,. Victor C. M. Leung, trong Những tiến bộ trong máy tính , 2011 3. 4. 3 quy tắcWiseman triển khai ba phương pháp để kiểm soát luồng thực thi mã của các MA. Đầu tiên và thường được sử dụng nhất là quy tắc lặp lại R . Quy tắc này được cung cấp dưới dạng một vòng lặp đơn giản và do đó, trình thông dịch sẽ thực thi các mã nằm trong dấu ngoặc nhọn theo chu kỳ. Cuối cùng, các mã bên trong quy tắc lặp lại được sao chép và chèn lại trước toàn bộ cấu trúc (i. e. , R{…} mang lại …;R{…}). Do đó, các mã trong quy tắc lặp lại thực thi cho đến khi đánh giá điều kiện nhất định không thành công. Ngoài ra, các quy tắc Và/Hoặc kiểm soát luồng thực thi của MA bằng cách xác minh kết quả của các mã được phân tách trong dấu ngoặc vuông. Ví dụ: cấu trúc quy tắc Or O[ Xem chươngMua sách Đọc toàn bộ chương URL. https. //www. sciencedirect. com/khoa học/bài viết/pii/B9780123855121000049 Môi trường lập trình MPIDE và Lập trình trong CDogan Ibrahim, trong Bộ vi điều khiển PIC32 và chipKIT kỹ thuật số , 2015 cho báo cáoCâu lệnh for có lẽ là câu lệnh được sử dụng rộng rãi nhất để tạo vòng lặp trong chương trình. Định dạng chung của tuyên bố này là Một biến vòng lặp được sử dụng trong vòng lặp for . Biểu thức ban đầu chỉ định giá trị bắt đầu của biến vòng lặp và biến này được so sánh với một số điều kiện bằng cách sử dụng biểu thức điều kiện trước khi vòng lặp bắt đầu. Các câu lệnh nằm trong cặp dấu ngoặc nhọn được thực thi miễn là điều kiện đánh giá là TRUE. Giá trị của bộ đếm vòng lặp được thay đổi (thường tăng thêm 1) ở mỗi lần lặp. Vòng lặp dừng khi điều kiện đánh giá là FALSE. Một ví dụ được đưa ra dưới đây nơi một vòng lặp được hình thành và bên trong vòng lặp này, các câu lệnh được thực hiện 10 lần hoặc là Ví dụ 5. 4 Viết đoạn mã chương trình sử dụng câu lệnh for để tính tổng các số nguyên từ 1 đến 10. Lưu trữ kết quả trong một biến số nguyên gọi là Sum Giải pháp 5. 4 Mã chương trình cần thiết được đưa ra dưới đây Tất cả các tham số trong vòng lặp for là tùy chọn và có thể bỏ qua nếu cần. Ví dụ: nếu biểu thức điều kiện (biểu thức ở giữa) bị bỏ qua, nó được coi là luôn ĐÚNG. Điều này tạo ra một vòng lặp vô tận. Một ví dụ được đưa ra dưới đây trong đó vòng lặp không bao giờ kết thúc và giá trị của i được tăng thêm 1 ở mỗi lần lặp Một vòng lặp vô tận cũng có thể được tạo nếu tất cả các tham số bị bỏ qua như trong ví dụ sau Vòng lặp vô tận được sử dụng thường xuyên trong các chương trình vi điều khiển. Một ví dụ về việc tạo một vòng lặp vô tận bằng cách sử dụng lệnh tiền xử lý và câu lệnh for được đưa ra trong ví dụ sau Ví dụ 5. 5 Viết đoạn mã chương trình tạo vòng lặp vô tận sử dụng câu lệnh for. Tạo macro có tên DO_FOREVER để thực hiện vòng lặp Giải pháp 5. 5 Mã chương trình cần thiết được đưa ra dưới đây Nếu chúng ta bỏ qua tham số thứ hai và thứ ba của vòng lặp for, thì vòng lặp sẽ lặp lại vô tận như trong ví dụ trước, nhưng giá trị của bộ đếm vòng lặp ban đầu không bao giờ thay đổi. Một ví dụ được đưa ra dưới đây trong đó giá trị của i luôn là 0 vòng lặp for có thể được lồng vào nhau sao cho trong vòng lặp hai cấp, vòng lặp bên trong được thực hiện cho mỗi lần lặp của vòng lặp bên ngoài. Các vòng lặp lồng nhau hai cấp thường được sử dụng trong các phép toán ma trận, chẳng hạn như cộng hai ma trận, v.v. Một vòng lặp for lồng nhau hai cấp được đưa ra bên dưới. Trong ví dụ này, các câu lệnh trong vòng lặp bên trong được thực hiện 100 lần Một ví dụ về vòng lặp lồng nhau để thêm tất cả các phần tử của ma trận 2 × 2 M được đưa ra dưới đây Ví dụ 5. 6 Viết đoạn mã chương trình sử dụng vòng lặp for để cộng các phần tử của ma trận 2×2 gọi là M Giải pháp 5. 6 Mã chương trình cần thiết được đưa ra dưới đây Xem chươngMua sách Đọc toàn bộ chương URL. https. //www. sciencedirect. com/khoa học/bài viết/pii/B9780080999340000053 Cơ bản về lập trình CMartin P. Bates, trong Lập trình vi điều khiển PIC 8-bit trong C , 2008 Phân tích chương trìnhChương trình chính chỉ chứa một câu lệnh, output_D(255) . Điều này có nghĩa là xuất số 25510 dưới dạng mã nhị phân sang Cổng D của chip, đặt tất cả các chân ở mức cao (rõ ràng, bất kỳ số nào trong khoảng từ 0 đến 255 đều dẫn đến kết hợp bit đầu ra tương ứng). Tất cả các câu lệnh được kết thúc bằng dấu chấm phẩy. Câu lệnh này là một lệnh gọi hàm, có nghĩa là trình biên dịch lấy mã máy cho thao tác này từ tập hợp các hàm dựng sẵn tiêu chuẩn được cung cấp cùng với trình biên dịch. Hàm cụ thể này là một trong một tập hợp các hàm thư viện có dạng output_x(n) , trong đó xx . Dạng tổng quát của hàm C là x . Dạng tổng quát của hàm C là x . Dạng tổng quát của hàm C là x . Dạng tổng quát của hàm C là x . Dạng tổng quát của hàm C là x . Dạng tổng quát của hàm C là x . Dạng tổng quát của hàm C là x . Dạng tổng quát của hàm C là x . Dạng tổng quát của hàm C là x . Dạng tổng quát của hàm C là x . Dạng tổng quát của hàm C là x . Dạng tổng quát của hàm C là x . Dạng tổng quát của hàm C là x . Dạng tổng quát của hàm C là x . Dạng tổng quát của hàm C là x . Dạng tổng quát của hàm C là is the port number (A–E), and n is the output value (0–255). The general form of the C function is tên_hàm(). Mọi thông tin cần thiết cho hàm, (các) tham số hàm, được chèn vào dấu ngoặc đơn. Chương trình chính bắt đầu với từ khóa void main() và được đặt giữa dấu ngoặc nhọn . Tất cả các khối chương trình được bao quanh , or braces, as they are officially known. All program blocks are enclosed bằng dấu ngoặc nhọn, cho phép cấu trúc phân cấp đa cấp. Main là một hàm đặc biệt chứa khối chương trình chính, trong đó chứa tất cả các hàm cấp thấp hơn. Chúng có thể trả về kết quả cho hàm gọi, nhưng từ khóa void đứng trước tên hàm main means that this function returns no result, since it is the top-level function. Chỉ thị tiền xử lý ♯bao gồm “16F877A. h” hướng dẫn trình biên dịch đưa tệp dành riêng cho bộ xử lý này vào đầu chương trình. Nó chứa nhãn cho các thanh ghi trong MCU đã chọn, để trình biên dịch biết nơi lưu trữ các biến điều khiển MCU. Nhận xét có thể được đặt giữa dấu gạch chéo/dấu sao (/*. */) ký tự điều khiển hoặc có thể theo dấu gạch chéo kép (//), trong trường hợp đó nhận xét bị chấm dứt . Tiêu đề chương trình phải chứa càng nhiều thông tin càng tốt để hỗ trợ người dùng và tạo điều kiện sửa đổi trong tương lai. Lý tưởng nhất là các chú thích dòng mô tả tác dụng của câu lệnh trong hệ thống đích. Ý nghĩa của chương trình C độc lập với bố cục trên trang. Chỉ có dãy ký tự là quan trọng đối với trình biên dịch. Tuy nhiên, trong thực tế, mã nguồn chương trình nên được sắp xếp sao cho dễ hiểu nhất có thể. Dấu cách hoặc tab có thể được sử dụng để thụt vào từng khối (cấp độ chương trình), và các dấu ngoặc mở và đóng nên được xếp cùng một cột để các cặp dấu ngoặc có thể khớp với nhau khi kiểm tra chương trình. Điều này làm cho việc gỡ lỗi và sửa đổi mã nguồn tiếp theo trở nên dễ dàng hơn. Lợi ích của bố cục tốt trở nên rõ ràng hơn sau này, khi các chương trình phức tạp hơn được phát triển Theo truyền thống, mã nguồn C chủ yếu được viết bằng chữ thường, với chữ hoa được sử dụng cho một số từ khóa nhất định Xem chươngMua sách Đọc toàn bộ chương URL. https. //www. sciencedirect. com/khoa học/bài viết/pii/B978075068960100002X Thêm ứng dụng PICMartin Bates, trong Bộ vi điều khiển PIC (Ấn bản thứ ba) , 2011 13. 3. Lập trình 2 PIC CĐối với những độc giả chưa quen với lập trình C, một ví dụ đơn giản được hiển thị trong Chương trình 13. 3 . Chương trình sẽ cho kết quả giống như BIN1. Chương trình hợp ngữ ASM. Chương trình phải được chuyển đổi thành mã máy 16 bit PIC bằng Trình biên dịch MPLAB C18, được cung cấp dưới dạng tiện ích bổ sung cho hệ thống phát triển. Trình biên dịch này nhận dạng ANSI (Viện Tiêu chuẩn Quốc gia Hoa Kỳ) C, cú pháp tiêu chuẩn cho vi điều khiển. Trình biên dịch C phải được chọn trong hộp thoại chế độ phát triển khi xây dựng ứng dụng. Chương trình 13. 3 . Một chương trình PIC ‘C’ đơn giản Các yếu tố chính của chương trình như sau /∗ bình luận ∗/ Các chú thích trong mã nguồn C được đặt giữa /∗ và ∗/ và có thể chạy trên nhiều dòng. Dấu chấm phẩy được sử dụng trong trình biên dịch chương trình hợp ngữ #include 'Bao gồm' là một chỉ thị của trình biên dịch gọi tệp tiêu đề có tên 'p18f4580. h', có chức năng giống như tệp bao gồm trong trình biên dịch chương trình hợp ngữ, trong đó nó chứa các nhãn đăng ký được xác định trước cho bộ xử lý cụ thể đó và các địa chỉ tương ứng truy cập int Điều này gán nhãn cho một thanh ghi và tuyên bố rằng nó sẽ lưu trữ một số nguyên hoặc số nguyên. Một số nguyên tiêu chuẩn trong C được lưu trữ dưới dạng số 16 bit, yêu cầu hai vị trí thanh ghi mục đích chung (GPR) bộ nhớ truy cập ngẫu nhiên dữ liệu (RAM). EQU cung cấp hoạt động tương đương trong trình biên dịch chương trình hợp ngữ khoảng trống chính (khoảng trống) Cú pháp khá đặc biệt này chỉ đơn giản chỉ ra, theo như chúng ta quan tâm ở đây, điểm bắt đầu của trình tự chương trình chính. Dấu ngoặc nhọn sau ( dấu ngoặc nhọn ) bắt đầu khối chương trình chính, với dấu ngoặc nhọn tương ứng ở cuối. Chúng được sắp xếp trong cùng một cột và chương trình chính được gắn thẻ ở giữa chúng, để chúng có thể được khớp chính xác. bộ đếm = 0; Giá trị 0 ban đầu được đặt ở vị trí biến (byte thấp). Tương đương trong trình biên dịch mã chương trình là MOVLW, theo sau là MOVWF TRISB = 0; Giá trị 0 được nạp vào thanh ghi hướng dữ liệu của cổng B để khởi tạo các bit cổng cho đầu ra đèn LED trong khi(1) Điều này bắt đầu một vòng lặp, nó sẽ chạy vô tận. Một điều kiện được đặt trong ngoặc điều khiển vòng lặp. Ví dụ: câu lệnh có thể đọc là 'while(count<256)', trong trường hợp đó, nhóm câu lệnh sau trong dấu ngoặc nhọn (dấu ngoặc nhọn) sẽ thực thi 255 lần, đếm đến giá trị nhị phân lớn nhất và dừng. Giá trị 1 có nghĩa là điều kiện là 'luôn đúng', vì vậy vòng lặp là vô tận, cho đến khi đặt lại. Điều này chuyển thành GOTO trong trình biên dịch chương trình hợp ngữ, với DECFSZ cung cấp bài kiểm tra có điều kiện PORTB = bộ đếm; Giá trị trong bộ đếm được sao chép vào thanh ghi dữ liệu cổng B để hiển thị trên đèn LED (tương đương trình biên dịch. MOVxx) bộ đếm ++; Giá trị biến được tăng lên mỗi khi vòng lặp được thực hiện. Điều này làm cho đầu ra được tăng lên vào lần tiếp theo (tương đương trình biên dịch mã. INCF) Trễ10KTCY(100); Điều này gọi một khối mã được xác định trước, cung cấp độ trễ để có thể nhìn thấy các thay đổi đầu ra của đèn LED. Ở tốc độ xung nhịp tối đa, thời gian chu kỳ lệnh của bộ xử lý là 0. 1 μs, do đó độ trễ tính bằng 0. 1 giây (10 000 × 100 chu kỳ). Chu kỳ đếm tổng thể sau đó sẽ mất 25. 6 giây. Hàm trì hoãn là một ví dụ về lời gọi hàm, tương ứng với một chương trình con trong trình biên dịch hợp ngữ. Chúng tôi biết rằng điều này được triển khai trong trình biên dịch chương trình dưới dạng vòng lặp trễ phần mềm hoặc hoạt động hẹn giờ phần cứng Bố cục của chương trình, với các tab, rất quan trọng để hiểu chương trình và kiểm tra cú pháp nếu có lỗi logic. Tuy nhiên cách bố trí không ảnh hưởng đến chức năng chương trình, chỉ ảnh hưởng đến dãy ký tự. Tuy nhiên, các câu lệnh phải nằm trên một dòng; Mỗi câu lệnh hoàn chỉnh được kết thúc bằng dấu chấm phẩy. Lưu ý rằng bản thân một số không hoàn chỉnh và không có dấu chấm phẩy. Ví dụ: 'while (1)' không hoàn chỉnh nếu không có câu lệnh lặp hoặc ít nhất là cặp dấu ngoặc nhọn. Dấu ngoặc nhọn kết thúc câu lệnh 'while'. Toàn bộ vòng lặp chính và bất kỳ khối con chức năng nào phải được đặt giữa các dấu ngoặc nhọn Xem chươngMua sách Đọc toàn bộ chương URL. https. //www. sciencedirect. com/khoa học/bài viết/pii/B9780080969114100138 Lập trình PICMartin Bates, trong Giao diện bộ vi điều khiển PIC (Ấn bản thứ hai) , 2014 2. 9 Lập trình 'C'Ngôn ngữ hợp ngữ là duy nhất cho từng loại bộ xử lý, trong khi C cung cấp một phương pháp lập trình chung cho tất cả các loại MCU. C sử dụng cú pháp gần với tiếng Anh nói và dễ hiểu hơn mã hợp ngữ. Do đó, C là ngôn ngữ cấp cao được lựa chọn cho các bộ vi điều khiển phức tạp hơn. Các chương trình C thường được một trình biên dịch chuyển đổi sang hợp ngữ và sau đó được lắp ráp thành mã máy. Có sẵn nhiều hệ thống phát triển và trình tuân thủ khác nhau, nhưng tất cả đều sử dụng cùng một cú pháp cơ bản được định nghĩa là ANSI (Viện Tiêu chuẩn Quốc gia Hoa Kỳ) C. Một ví dụ đơn giản được nêu dưới đây để có thể so sánh nó với ngôn ngữ hợp ngữ tương đương 2. 9. 1 chương trình LEDCMã nguồn cho chương trình C, LEDC, được liệt kê như đã cho trong Chương trình 2. 3 . Nó xuất ra số nhị phân ở Cổng B, được điều khiển bởi các nút ở RD0 và RD1. Tệp tiêu đề chứa các nhãn thanh ghi tiêu chuẩn cho 16F877A được bao gồm theo cách tương tự như trình biên dịch mã tương đương. Chương trình 2. 3 . Mã nguồn LEDC. Cổng đầu ra được khai báo là một biến 8-bit (PortB) và địa chỉ của nó được gán (6). Khối chương trình chính bắt đầu bằng câu lệnh ‘void main()’ và được đặt trong dấu ngoặc nhọn ( dấu ngoặc nhọn ). Sau đó, cổng đầu ra được khởi tạo bằng chức năng thư viện được cung cấp cùng với trình biên dịch ‘set_tris_b(0)’, trong đó 0 là mã hướng dữ liệu ở dạng thập phân. Giá trị ban đầu bằng 0 là đầu ra để tắt đèn LED. Vòng điều khiển bắt đầu với câu lệnh điều kiện vòng lặp 'while(1)', có nghĩa là lặp lại vô tận các câu lệnh giữa các dấu ngoặc nhọn. Các nút được kiểm tra bằng cách sử dụng câu lệnh 'nếu (điều kiện)' và các hành động tiếp theo được thực hiện nếu điều kiện là đúng. Điều kiện là đầu vào thấp (. =not) và các nhãn ghim như được xác định trong tệp tiêu đề được sử dụng 2. 9. 2 Mã bộ lắp ráp LEDCMã nguồn C được biên dịch thành mã hợp ngữ và sau đó thành mã máy. Tệp danh sách trong Chương trình 2. 4 hiển thị mã biên dịch mã bên cạnh văn bản nguồn. Có thể thấy rằng một số câu lệnh được chuyển đổi thành một lệnh duy nhất, ví dụ. Chương trình 2. 4 . Tệp danh sách LEDC. CổngB++; Những người khác cần một số hướng dẫn nếu (. đầu vào(PIN_D0)) >>>BSF 03. 5BSF 08. 0BCF 03. 5BTFSS 08. 0 Do đó, chương trình hợp ngữ dài hơn mã nguồn, bởi vì mỗi câu lệnh C được chuyển đổi thành một số hướng dẫn hợp ngữ. Do đó, chương trình viết bằng C thông thường sẽ chiếm nhiều bộ nhớ hơn so với chương trình hợp ngữ tương đương có cùng chức năng, do đó cần có các vi điều khiển có bộ nhớ lớn hơn. Do đó, các dòng chip PIC mạnh hơn thường được sử dụng cho các ứng dụng C. Chúng cũng có các hướng dẫn bổ sung, chẳng hạn như bội số, giúp chuyển đổi nhỏ gọn hơn Chúng ta sẽ không xem xét chi tiết hơn về ngôn ngữ C ở đây, nhưng những ưu điểm của lập trình C cho vi điều khiển sẽ rõ ràng. Khi hợp ngữ đã được làm chủ, nhà phát triển có thể quyết định xem C có phải là lựa chọn tốt hơn cho các ứng dụng nhất định hay không. Đối với các ứng dụng cần tính toán toán học phức tạp và xử lý dữ liệu, C là lựa chọn tốt hơn nhiều. Một số sản phẩm ngôn ngữ C, chẳng hạn như CCS C, cũng cung cấp các chức năng giúp cho việc lập trình các giao diện nối tiếp phức tạp hơn sẽ được trình bày ở phần sau của cuốn sách này dễ dàng hơn nhiều. Đối với các chương trình bao gồm các hoạt động I/O bit đơn giản và ít tính toán hơn, trình biên dịch chương trình thường nhanh hơn và nhỏ gọn hơn. C và trình biên dịch chương trình có thể được trộn lẫn trong cùng một chương trình, để đạt được những lợi thế của cả hai Lập trình C trong CCS C được đề cập chi tiết hơn trong 'Lập trình vi điều khiển PIC 8 bit trong C' của tác giả. Thông tin chi tiết có thể được tìm thấy tại www. picmicro. tổ chức. anh . 2. 9. 3 hệ điều hành thời gian thựcBước tiếp theo trong thang lập trình là sử dụng hệ điều hành thời gian thực (RTOS). Điều này bao gồm một tập hợp các tiện ích cung cấp các hoạt động chung được yêu cầu trong các hệ thống điều khiển dựa trên MCU phức tạp hơn, tập trung vào việc tối ưu hóa các thói quen quan trọng về thời gian và đa nhiệm. Được sử dụng cùng với các ứng dụng viết bằng C, đây là cách hiệu quả hơn để tạo các ứng dụng thời gian thực sử dụng các giao diện phức tạp. Văn bản chuyên ngành nên được tham khảo để khám phá điều này hơn nữa; . vi mạch. com www.microchip.com . Xem chươngMua sách Đọc toàn bộ chương URL. https. //www. sciencedirect. com/khoa học/bài viết/pii/B9780080993638000029 UML—Ngôn ngữ lập mô hình thống nhấtTim Weilkiens, trong Kỹ thuật hệ thống với SysML/UML , 2007 3. 3. 2 thuộc tínhSự định nghĩa Một thuộc tính định nghĩa một thuộc tính cấu trúc của một lớp. Mô tả bao gồm khả năng hiển thị, tên, loại và bội số Cấu trúc của một lớp được xác định bởi tổng các thuộc tính của nó. Ở đây tính trừu tượng của mô hình so với thế giới thực đóng vai trò quan trọng. Các thuộc tính chỉ phản ánh cấu trúc phù hợp với mô hình. Ví dụ, lớp khách hàng trong Hình 3. 9 không có thuộc tính cho màu mắt của khách hàng nhưng có thuộc tính cho tên hoặc mã kiểm tra mã PIN. Trong một hệ thống khác, màu mắt thực sự có thể là một thuộc tính có liên quan. HÌNH 3-9 . Ví dụ về các thuộc tính của lớp “khách hàng” và đối tượng khách hàng. Loại thuộc tính được biểu thị phía sau tên của thuộc tính, được phân tách bằng dấu hai chấm. Các đối tượng được tạo trên cơ sở kế hoạch xây dựng của lớp bao gồm một giá trị của loại thuộc tính cho mỗi thuộc tính của lớp đó. Bản thân loại này thường là một lớp—kế hoạch xây dựng của thuộc tính Một thuộc tính cũng có thể được định nghĩa sao cho nó chứa nhiều giá trị cùng loại. Cái gọi là bội số được biểu thị trong ngoặc vuông đằng sau loại. Nó mô tả một khoảng thời gian ( Bảng 3. 1 ) xác định số có thể. Ví dụ: đối tượng khách hàng có thể chứa bất kỳ số lượng đối tượng định tuyến nào trong phạm vi 0–5 ( Hình 3. 9 ). Bảng 3. 1 . Ví dụ về đa bội Đa dạngÝ nghĩa0. 1 Giá trị là tùy chọn. 1Chính xác một giá trị (mặc định khi không có bội số nào được nêu). 2. 4Ít nhất hai giá trị và nhiều nhất bốn giá trị. 0. * Không có số lượng giá trị tùy ý. * Không có số lượng giá trị tùy ý (ký hiệu phím tắt) Chúng ta có thể gán giá trị ban đầu cho một thuộc tính ngay khi chúng ta định nghĩa nó. Mỗi đối tượng mới của lớp liên quan ban đầu sẽ có các giá trị này Chúng ta có thể sử dụng các chuỗi thuộc tính được xác định trước trong UML để chỉ định một thuộc tính chặt chẽ hơn. Ví dụ: {ordered} chỉ định rằng thuộc tính loại tập hợp (bội số < 1) được sắp xếp hoặc {nonunique} chỉ định rằng tập hợp các giá trị thuộc tính có thể chứa các phần tử giống hệt nhau. 4 Một số chuỗi thuộc tính được phân tách bằng dấu phẩy trong dấu ngoặc nhọn . Khả năng hiển thị của một thuộc tính được biểu thị trước tên. Nó cho biết thuộc tính có hiển thị hay không đối với các phần tử bên ngoài lớp, nghĩa là nó có thể đọc và ghi được. UML định nghĩa bốn loại khả năng hiển thị khác nhau 1public (ký hiệu là +)—thuộc tính được hiển thị công khai. Mỗi phần tử bên ngoài lớp có thể truy cập thuộc tính này 2riêng tư (ký hiệu là –)—thuộc tính là riêng tư. Không có phần tử bên ngoài lớp có thể nhìn thấy thuộc tính này 3gói (ký hiệu là ~)—thuộc tính hiển thị cho tất cả các phần tử nằm trong cùng gói với lớp 4được bảo vệ (ký hiệu là #)—thuộc tính chỉ hiển thị đối với các lớp con của lớp liên quan Nhìn chung, cú pháp cho các thuộc tính là Khả năng hiển thị không đóng bất kỳ vai trò nào trong SysML, trong đó tất cả các thuộc tính đều công khai theo định nghĩa. Khả năng hiển thị không được hiển thị trong ký hiệu SysML Dấu ngoặc nhọn được sử dụng để làm gì trong Python?Từ điển được tạo bằng Python sử dụng dấu ngoặc nhọn. Bạn có thể sử dụng dấu ngoặc nhọn để tạo cả từ điển trống và từ điển chứa các cặp khóa-giá trị . Tất nhiên, bạn luôn có thể tạo từ điển bằng phương thức dict(), nhưng cách tạo từ điển đó không được sử dụng thường xuyên.
Dấu ngoặc kép ở Django là gì?- Các giá trị được bao quanh bởi dấu ngoặc nhọn kép ở đầu và cuối đại diện cho đầu ra của các biến . Các biến được chuyển bởi chế độ xem Django, tùy chọn url hoặc bộ xử lý ngữ cảnh thành các mẫu.
Mục đích của một bộ dấu ngoặc nhọn trong mã giả là gì?Ví dụ mã giả này bao gồm các yếu tố của cả ngôn ngữ lập trình và ngôn ngữ tiếng Anh. Dấu ngoặc nhọn được sử dụng như một trợ giúp trực quan cho vị trí cần đặt các phần mã khi cuối cùng chúng được viết ra theo cú pháp đầy đủ và đúng cách .
Ý nghĩa của dấu ngoặc nhọn là gì?danh từ. . một trong hai dấu { hoặc } được sử dụng như một cặp xung quanh các từ hoặc mục được xem xét cùng nhau . |