Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

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

  • {{output_variable}}. - Các giá trị được bao quanh bởi dấu ngoặc nhọn kép ở đầu và cuối biểu thị đầu ra cho các biến. Variables are passed by Django views, url options or context processors into templates. In a template, you can use {{}} to output the contents of a variable, as well as use Python's dot notation to output deeper elements of a variable (e. g. fields, keys, methods). For example, {{store.name}} tells a Django template to output the store variable's name, where store can be an object and name a field or store can be a dictionary and name a key
  • {{}}0 . - Values surrounded by curly braces wrapped with percentage signs are called tags. Django tags offer complex formatting logic wrapped in a simple syntax representation
  • {{}}1 . -Values declared after a vertical bar {{}}2 are called filters. Bộ lọc Django cung cấp một cách để áp dụng logic định dạng cho các biến riêng lẻ

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 simple

But 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 side

Django 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

  • You can't ensure Django templates produce valid HTML and in fact may produce dangerous markup
  • You want Django templates to produce non-HTML content, such as Comma Separated Values (CSV), eXtensible Markup Language (XML) or JavaScript Object Notation (JSON)

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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
which is constructed using curly brackets

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

After constructing the array, the different ways of accessing the data in
Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
are illustrated below.

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
array (i. e. string)

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

Figure 5. 3 . An illustration of a cell array.

After creating the cell array, the variable

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
is assigned the value of a single cell (the first cell in the array
Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
). The variable
Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
is assigned with a sub-array of cells from
Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
(the second and the third). Both variables
Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
and
Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
are assigned using the round brackets that MATLAB normally uses for accessing array elements. ‘(’ and ‘)’.

Variable

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
is different. This time, curly brackets, ‘{’ and ‘}’, are used to access the contents of a cell (the third one) rather than the cell itself. So
Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
is assigned a
Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
array (i. e. một chuỗi). We can check the status and types of our variables using the
Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
command.

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

Note how
Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
and
Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
are both cell arrays (with sizes 1×1 and 1×2 respectively), whereas
Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
is 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 Types

We 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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

We can use the curly brackets to access the elements inside the cell array and use the

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
function to identify their types

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

The

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
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.

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

Trong trường hợp này, tất cả dữ liệu đều cùng loại (

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
), 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ại

Tó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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
), 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òn

Tạ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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
hoặc
Dấu ngoặc nhọn kép có nghĩa là gì trong Python?
. Ví dụ:

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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ụ,

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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 kép có nghĩa là gì trong Python?

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ụ,

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

Đọc thêm Điều hướng xuố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 bit

Dogan 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 while

câ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 ++;

}

Đọc thêm Điều hướng xuố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/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 Matlab

Cá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

>> 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 . .

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 .

Đọc thêm Điều hướng xuố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/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ển

Trướ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.

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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,
phím_2. giá trị_2,. }

Có thể lấy danh sách các khóa trong từ điển thông qua chức năng d. keys() , trong đó d là tên của một từ điển.

Để 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
Ag, Bạc
nhôm, nhôm
Am,Americium

Đ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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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.

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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 .

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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.

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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ơ đồ

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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.

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

Đọc thêm Điều hướng xuố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/B9780128122532000066

Các ứng dụng của Mobile Agent trong Mạng không dây và Điện toán di động

Sergio González-Valenzuela,. Victor C. M. Leung, trong Những tiến bộ trong máy tính , 2011

3. 4. 3 quy tắc

Wiseman 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[

Đọc thêm Điều hướng xuố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/B9780123855121000049

Môi trường lập trình MPIDE và Lập trình trong C

Dogan Ibrahim, trong Bộ vi điều khiển PIC32 và chipKIT kỹ thuật số , 2015

cho báo cáo

Câ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à

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

hoặc là

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

Đọc thêm Điều hướng xuố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/B9780080999340000053

Cơ bản về lập trình C

Martin 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ình

Chươ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

Đọc thêm Điều hướng xuố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/B978075068960100002X

Thêm ứng dụng PIC

Martin 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.

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

Đọc thêm Điều hướng xuố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/B9780080969114100138

Lập trình PIC

Martin 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 LEDC

Mã 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.

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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 LEDC

Mã 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ụ.

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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ực

Bướ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 .

Đọc thêm Điều hướng xuố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/B9780080993638000029

UML—Ngôn ngữ lập mô hình thống nhất

Tim Weilkiens, trong Kỹ thuật hệ thống với SysML/UML , 2007

3. 3. 2 thuộc tính

Sự đị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.

Dấu ngoặc nhọn kép có nghĩa là gì trong Python?

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

1

public (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

2

riê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

3

gó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à

. [] = {chuỗi thuộc tính}

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 .