Kiểu dữ liệu số nguyên trong Pascal. Các kiểu dữ liệu Pascal

Các kiểu dữ liệu Pascal

Bất kỳ dữ liệu nào (hằng, biến, giá trị hàm hoặc biểu thức) trong Turbo Pascal đều được đặc trưng bởi loại của chúng. Một kiểu xác định tập hợp các giá trị hợp lệ mà một đối tượng có thể có, cũng như tập hợp các thao tác hợp lệ có thể áp dụng cho nó. Loại này cũng xác định định dạng biểu diễn dữ liệu bên trong trong bộ nhớ của máy tính.

Có các kiểu dữ liệu sau trong Turbo Pascal.

1) Các loại đơn giản:

- thực tế;

- mang tính biểu tượng;

– Boolean (logic);

- liệt kê;

- Phạm vi bị giới hạn).

2) Các loại tổng hợp (có cấu trúc):

– thông thường (mảng);

– kết hợp (hồ sơ);

- tài liệu;

- nhiều;

- sợi dây;

- các đối tượng.

3) Các kiểu tham chiếu (con trỏ được gõ và không được gõ).

4) Các loại thủ tục.

Turbo Pascal cung cấp cơ chế tạo các kiểu dữ liệu mới, nhờ đó tổng số kiểu được sử dụng trong chương trình có thể lớn như mong muốn.

Kiểu số nguyên. Giá trị số nguyên là các phần tử của tập hợp con các số nguyên. Có năm loại số nguyên trong Turbo Pascal. Tên, phạm vi giá trị, độ dài biểu diễn tính bằng byte của chúng được đưa ra trong bảng. 6.

Bảng 6

Kiểu dữ liệu số nguyên

Các biến số nguyên được mô tả bằng các từ dành riêng ở trên:

i, j, k: số nguyên;

Dữ liệu số nguyên được lưu trữ chính xác trong bộ nhớ. Ví dụ: các biến kiểu số nguyên chiếm 2 byte (16 bit) trong bộ nhớ, được phân bổ như sau: 1 bit được phân bổ để lưu trữ dấu của số (0 nếu số dương và 1 nếu số âm) và 15 bit để lưu số ở dạng nhị phân. Số thập phân tối đa có thể được viết dưới dạng nhị phân 15 bit là 32767.

Khi sử dụng các thủ tục và hàm có tham số nguyên, bạn nên được hướng dẫn bằng cách “lồng” các loại, tức là. bất cứ khi nào từ được sử dụng, byte được cho phép (nhưng không phải ngược lại), longint “bao gồm” một số nguyên, do đó, bao gồm cả shortint.

Đối với kiểu số nguyên, năm phép toán cơ bản được xác định, kết quả của các phép tính này cũng là số nguyên: +, -, *, div, mod (cộng, trừ, nhân, chia số nguyên và phần dư của phép chia số nguyên). Trong biểu thức số học, các phép toán *, div, mod có mức độ ưu tiên cao hơn các phép toán +, -. Ví dụ về cách viết biểu thức:

Danh sách các thủ tục và hàm áp dụng cho các kiểu số nguyên được đưa ra trong bảng. 7. Các chữ cái b, s, w, i, l lần lượt biểu thị các biểu thức kiểu byte, shortint, word, integer, longint; x là biểu thức của bất kỳ loại nào trong số này; các định danh vb, vs, vw, vi, vl, vx biểu thị các biến có kiểu tương ứng. Một tham số tùy chọn được chỉ định trong dấu ngoặc vuông.

Bảng 7

Các quy trình và chức năng tiêu chuẩn áp dụng cho toàn bộ các loại

Bắt mắt Loại kết quả Hoạt động
Cơ bụng(x) x Trả về mô-đun x
Chr(b) Char Trả về một ký tự theo mã của nó
Tháng mười hai(vx[,i]) - Giảm giá trị của vx xuống i và khi không có i – xuống 1
Inc(vx[,i]) - Tăng giá trị của vx lên i và khi không có i – lên 1
Xin chào (tôi) Byte Trả về byte cao của đối số
Xin chào (tôi) Byte Như nhau
Lô(i) Byte Trả về byte thấp của đối số
Thấp) Byte Như nhau
Lẻ(l) Byte Trả về true nếu đối số là số lẻ
Ngẫu nhiên (w) Tương tự như tham số Trả về một số giả ngẫu nhiên được phân bố đồng đều trong phạm vi 0…(w-1)
Sqr(x) x Trả về bình phương của đối số
Hoán đổi(i) số nguyên
Hoán đổi (w) Từ Hoán đổi byte trong một từ
Thành công(x) Tương tự như tham số Trả về giá trị số nguyên tiếp theo, tức là x+1
Dự đoán(x) Tương tự như tham số Trả về giá trị số nguyên trước đó, tức là x-1

Khi thao tác với số nguyên, loại kết quả sẽ tương ứng với loại toán hạng và nếu toán hạng có các loại số nguyên khác nhau thì loại toán hạng có phạm vi giá trị tối đa. Khả năng tràn kết quả không được kiểm soát, điều này có thể dẫn đến lỗi trong chương trình.

Loại thực sự. Giá trị của kiểu thực xác định một số tùy ý với độ chính xác hữu hạn tùy thuộc vào định dạng bên trong của số thực. Có năm loại thực trong Turbo Pascal (Bảng 8).

Bảng 8

Các kiểu dữ liệu thực

Các biến thực được mô tả bằng các từ dành riêng ở trên:

Một số thực trong bộ nhớ máy tính gồm 3 phần:

Ký hiệu chữ số của một số;

Phần mũ;

Mantissa của số.

Phần định trị có độ dài từ 23 (Đơn) đến 63 (Mở rộng) chữ số nhị phân, cung cấp độ chính xác 7-8 cho Chữ số đơn và 19-20 cho chữ số thập phân mở rộng. Dấu thập phân (dấu phẩy) được ngụ ý trước chữ số bên trái (có ý nghĩa nhất) của phần định trị, nhưng khi thao tác trên một số, vị trí của nó bị dịch sang trái hoặc sang phải theo thứ tự nhị phân của số được lưu trong phần mũ , do đó các phép toán trên số thực được gọi là số học dấu phẩy động (dấu phẩy).

Các loại Đơn, Đôi và Mở rộng chỉ được truy cập trong các chế độ biên dịch đặc biệt. Để kích hoạt các chế độ này, hãy chọn mục menu Tùy chọn, Trình biên dịch… và kích hoạt tùy chọn 8087/80287 trong nhóm Xử lý số.

Một vị trí đặc biệt trong Turbo Pascal bị chiếm bởi loại Comp, được coi là số thực không có phần mũ và phần phân số. Trên thực tế, Comp là một số nguyên có dấu lớn lưu trữ 19...20 chữ số thập phân có nghĩa. Đồng thời, trong các biểu thức, Comp hoàn toàn tương thích với bất kỳ loại thực nào khác: tất cả các phép toán thực được xác định trên nó, nó có thể được sử dụng làm đối số cho các phép toán, v.v.



Số thực được quy định trong hệ thống số thập phân ở một trong hai hình thức.

TRONG dạng điểm cố định bản ghi bao gồm một số nguyên và một phần phân số, cách nhau bằng dấu chấm, ví dụ:

0.087 4.0 23.5 0.6

TRONG dạng dấu phẩy động mục nhập chứa chữ E, có nghĩa là "nhân lũy thừa với mười" và lũy thừa là một số nguyên, ví dụ:

7E3 6.9E-8 0.98E-02 45E+04

Các thao tác sau được xác định trên các đối tượng kiểu thực: +, -, *, /.

Các thao tác "*" và "/" có mức độ ưu tiên cao hơn các thao tác "+" và "-".

Nếu có ít nhất một toán hạng là số thực thì các phép toán +, -, *, / sẽ dẫn đến kết quả thực. Phép chia / dẫn đến kết quả thực ngay cả trong trường hợp hai toán hạng số nguyên, ví dụ: 9/3 = 3,0.

Để làm việc với dữ liệu thực, có thể sử dụng các hàm toán học tiêu chuẩn được trình bày trong bảng. 9. Kết quả của các chức năng này cũng là có thật.

Bảng 9

Các hàm toán học làm việc với dữ liệu thực

Các biến và hằng kiểu REAL bị cấm sử dụng:

– trong các hàm pred(x), succ(x), ord(x);

– dưới dạng chỉ mục mảng;

– như các nhãn trong báo cáo chuyển giao điều khiển;

– dưới dạng các biến điều khiển (tham số chu trình).

Để chuyển đổi một số thực thành một số nguyên, bạn có thể sử dụng các hàm sau:

trunc(x) – phần nguyên của x (x – real);

round(x) – làm tròn đến số nguyên gần nhất (x là số thực).

Loại ký tự. Các biến ký tự được mô tả bằng từ char dành riêng:

Các giá trị thuộc loại này được chọn từ bộ ký tự có thứ tự (bộ ASCII) gồm 256 ký tự. Mỗi ký tự được gán một số nguyên trong phạm vi 0..255. Ví dụ: chữ in hoa của bảng chữ cái Latinh A..Z có mã 65..90 và chữ thường có mã 97..122.

Giá trị của biến kiểu ký tự là một ký tự đơn được bao quanh bởi dấu nháy đơn, ví dụ:

'F' '8' '*'

Các biến ký tự có thể được so sánh với nhau và mã ký tự được so sánh.

Có các hàm thiết lập sự tương ứng giữa ký hiệu và mã của nó:

ord(c) – cho biết số của ký hiệu c;

chr(i) – trả về số ký tự i.

Các hàm này nghịch đảo với nhau.

kiểu Boolean. Các biến Boolean được mô tả bằng từ boolean dành riêng:

p1, p2: boolean;

Các biến kiểu Boolean nhận hai giá trị: ĐÚNG VẬY(ĐÚNG VẬY), SAI(nói dối).

Các giá trị này được sắp xếp như sau: false< true. false имеет порядковый номер 0, true имеет порядковый номер 1.

Các biến Boolean có thể được gán giá trị trực tiếp hoặc sử dụng biểu thức Boolean. Ví dụ,

a, d, g, b: boolean;

Các phép toán quan hệ (<, <=, >, >=, =, <>), được áp dụng cho các biến số nguyên, số thực và ký hiệu, tạo ra kết quả logic.

Các phép toán logic trên toán hạng thuộc loại logic cũng tạo ra kết quả logic (các phép toán được liệt kê theo thứ tự ưu tiên giảm dần) (để biết thêm chi tiết, xem Bảng 3 và 5):

không – phủ định (hoạt động NO);

và – phép nhân logic (phép toán AND);

hoặc – phép cộng logic (phép toán OR);

xor – HOẶC độc quyền.

Biểu thức (không phải a) có nghĩa ngược lại với a.

Biểu thức (a và b) đánh giá là đúng nếu chỉ cả a và b đều đúng; nếu không thì giá trị của biểu thức này là sai.

Biểu thức (a hoặc b) đánh giá là sai nếu chỉ cả a và b đều đánh giá là sai; nếu không thì kết quả là đúng.

Kiểu liệt kê. Kiểu liệt kê không chuẩn được chỉ định bằng một phép liệt kê dưới dạng tên các giá trị mà một biến có thể lấy. Mỗi giá trị được đặt tên bởi một số mã định danh và nằm trong danh sách được bao quanh bởi dấu ngoặc đơn. Dạng chung của mô tả kiểu liệt kê:

x = (w1, w2, …, wn);

trong đó x là tên kiểu, w1, w2,..., wn là các giá trị mà một biến kiểu x có thể nhận.

Các giá trị này được sắp xếp w1

Các hàm tiêu chuẩn sau đây áp dụng cho đối số w của kiểu liệt kê:

succ(w), pred(w), ord(w).

color=(đỏ, đen, vàng, xanh lá cây)

ww=(trái, lên, phải, xuống);

f: mảng ww;

succ(d) = màu vàng;

Các biến a và b thuộc loại w. họ có thể nhận một trong ba giá trị, với bật

Các phép toán quan hệ được áp dụng cho các giá trị thuộc kiểu liệt kê: =,<>, <=, >=, <, >.

Nó được phép chỉ định các hằng số kiểu liệt kê trực tiếp trong phần var không sử dụng phân vùng kiểu, Ví dụ

c,d: (đỏ, đen, vàng, xanh);

Loại phạm vi (có giới hạn). Khi xác định một loại giới hạn, bạn chỉ định các giá trị ban đầu và cuối cùng mà biến loại phạm vi có thể nhận. Các giá trị cách nhau bằng hai dấu chấm.

Việc khai báo một loại hạn chế có dạng

Ở đây a là tên của loại, min, max là các hằng số.

Khi chỉ định loại hạn chế, phải tuân theo các quy tắc sau:

– cả hai hằng số biên min và max phải cùng loại;

– một kiểu giới hạn được tạo từ dữ liệu của kiểu cơ sở, có thể là số nguyên, ký tự hoặc kiểu liệt kê. Ví dụ:

col = đỏ.. vàng;

chữ = ‘a’..’f’;

– Các biến thuộc kiểu giới hạn có thể được khai báo trong phần var mà không cần tham khảo phần type:

– loại bị hạn chế kế thừa tất cả các thuộc tính của loại cơ sở mà nó được tạo ra;

– giới hạn tối thiểu phải luôn nhỏ hơn giới hạn tối đa.

Mảng. Mảng là một kiểu phức tạp, là một cấu trúc bao gồm một số thành phần cố định cùng kiểu. Loại thành phần được gọi là loại cơ sở. Tất cả các thành phần của mảng có thể được đặt hàng dễ dàng và có thể truy cập vào bất kỳ thành phần nào trong số chúng bằng cách chỉ ra số sê-ri của nó. Mô tả mảng trong phần var có dạng:

Một: mảng của t2;

trong đó a là tên của mảng, mảng, của– từ dịch vụ (có nghĩa là “mảng của ...”), t1 – loại chỉ mục; t2 – loại thành phần (loại cơ sở).

Số lượng chỉ mục xác định kích thước của mảng. Các chỉ mục có thể là số nguyên (trừ longint), ký tự, logic, kiểu liệt kê và phạm vi. Các chỉ số được phân cách bằng dấu phẩy và được đặt trong dấu ngoặc vuông. Các thành phần mảng có thể thuộc bất kỳ loại nào ngoại trừ tệp.

Ví dụ 1. Hãy xem xét một mảng một chiều C, các giá trị của nó là năm số thực:

4.6 6.23 12 -4.8 0.7

Mô tả của mảng này như sau:

c: mảng thực;

Bằng một giá trị chỉ mục cụ thể, bạn có thể chọn một thành phần mảng cụ thể (ví dụ: C có nghĩa là phần tử thứ ba của mảng C, tức là số 12).

Ví dụ 2. Hãy xem xét một mảng hai chiều B (ma trận B), giá trị của nó là một bảng các số nguyên:

Mô tả của mảng này như sau:

b số nguyên;

Ở đây b là tên mảng, chỉ số đầu tiên là số hàng và lấy giá trị từ 1 đến 2, chỉ số thứ hai là số cột và lấy giá trị từ 1 đến 4. Dựa trên các giá trị chỉ mục cụ thể, bạn có thể chọn một thành phần mảng cụ thể (ví dụ: b có nghĩa là thành phần bảng nằm ở hàng đầu tiên và cột thứ ba, tức là số -4).

Các chỉ mục có thể là các biểu thức tùy ý tương ứng với loại chỉ mục từ mô tả mảng:

a: mảng thực;

a[(i+1)*2] := 24;

Tập hợp các thao tác trên các phần tử mảng hoàn toàn được xác định bởi kiểu của các phần tử này.

Kiểu chuỗi. Kiểu chuỗi là tập hợp các chuỗi ký tự có độ dài tùy ý (từ 0 đến một số nhất định). Các biến kiểu chuỗi được mô tả bằng từ hàm sợi dây:

b: sợi dây ;

Đặc điểm:

– giá trị của biến chuỗi có thể được nhập bằng bàn phím, được gán trong toán tử gán hoặc đọc từ tệp. Trong trường hợp này, độ dài của chuỗi đã nhập có thể là bất kỳ (nhỏ hơn kích thước đã chỉ định, bằng kích thước hoặc lớn hơn, trong trường hợp sau, các ký tự thừa sẽ bị loại bỏ); a:= ‘Kết quả’;

– được phép sử dụng thao tác nối trong toán tử gán, vì các chuỗi có thể thay đổi độ dài của chúng một cách linh hoạt: a:= a + 'phép tính';

– độ dài tối đa của biến chuỗi là 255 ký tự, có thể bỏ qua chỉ báo độ dài này:

Một: sợi dây;

a1: sợi dây ;

Các biến a và a1 giống nhau (mô tả tương đương).

– bộ nhớ dành cho các biến kiểu chuỗi được phân bổ ở mức tối đa, nhưng chỉ sử dụng phần bộ nhớ thực sự bị chiếm giữ bởi các ký tự chuỗi tại thời điểm này. Để mô tả một biến chuỗi có độ dài n, n+1 byte bộ nhớ được sử dụng: n byte để lưu trữ các ký tự chuỗi, n+1 byte để lưu trữ độ dài hiện tại.

– Các phép toán so sánh được xác định trên giá trị của kiểu chuỗi:< <= > >= = <>. Chuỗi ngắn luôn nhỏ hơn chuỗi dài. Nếu các chuỗi có cùng độ dài thì mã ký tự sẽ được so sánh.

– có thể truy cập vào các phần tử riêng lẻ của một chuỗi giống như cách truy cập vào các phần tử mảng: a, a. Số của phần tử dòng được chỉ định trong dấu ngoặc vuông.

Các thủ tục và hàm hướng tới làm việc với chuỗi.

nối (s1, s2,…)– chức năng hợp nhất chuỗi, s1, s2,... - số dòng, số lượng dòng có thể tùy ý. Kết quả của hàm là một chuỗi. Nếu chuỗi kết quả dài hơn 255 ký tự, chuỗi sẽ bị cắt ngắn còn 255 ký tự.

(các) bản sao, chỉ mục, số lượng)– hàm trích xuất một chuỗi từ chuỗi nguồn S chiều dài đếm ký tự, bắt đầu bằng số ký tự mục lục.

xóa (s, chỉ mục, số lượng)– thủ tục loại bỏ khỏi chuỗi s một chuỗi con có độ dài đếm ký tự, bắt đầu bằng số ký tự mục lục.

chèn (s1, s2, chỉ mục)– thủ tục chèn hàng s1 xếp hàng s2, bắt đầu bằng ký tự có số mục lục.

(các) chiều dài– hàm xác định độ dài chuỗi hiện tại, trả về một số bằng độ dài chuỗi hiện tại.

vị trí(s1,s2)– hàm tìm kiếm trong chuỗi s2 chuỗi con s1. trả về số vị trí của ký tự đầu tiên của chuỗi con s1 xếp hàng s2(hoặc 0 nếu dòng này không tồn tại).

giá trị (st, x, mã)– thủ tục chuyển chuỗi s thành số nguyên hoặc biến thực x. Tham số mã số chứa 0 nếu chuyển đổi thành công (và trong x kết quả của việc chuyển đổi được đặt) hoặc số vị trí dòng nơi phát hiện ký tự sai (trong trường hợp này là giá trị x không thay đổi).

Khả năng tương thích và chuyển đổi loại. Turbo Pascal là một ngôn ngữ đánh máy. Nó được xây dựng trên cơ sở tuân thủ nghiêm ngặt khái niệm kiểu, theo đó tất cả các phép toán được sử dụng trong ngôn ngữ chỉ được xác định trên các toán hạng của các kiểu tương thích.

Hai loại được coi là tương thích nếu:

– cả hai đều cùng loại;

– cả hai đều có thật;

- cả hai đều còn nguyên vẹn;

– một loại là loại phạm vi của loại thứ hai;

– cả hai đều là loại phạm vi có cùng loại cơ sở;

– cả hai đều là tập hợp gồm các phần tử cùng loại cơ bản;

– cả hai đều là các chuỗi được đóng gói (được xác định bằng từ được đóng gói trước đó) có cùng độ dài tối đa;

– một là kiểu chuỗi và một là kiểu chuỗi hoặc ký tự;

– một loại là con trỏ bất kỳ và loại kia là con trỏ tới đối tượng liên quan của nó;

– cả hai đều là loại thủ tục có cùng loại kết quả (đối với một loại hàm), số lượng tham số và loại tham số tương ứng lẫn nhau.

Khả năng tương thích kiểu đặc biệt quan trọng trong toán tử gán. Đặt t1 là loại biến và t2 là loại biểu thức, nghĩa là phép gán t1:=t2 được thực hiện. Nhiệm vụ này có thể thực hiện được trong các trường hợp sau:

– t1 và t2 là cùng một loại và loại này không đề cập đến tệp, mảng tệp, bản ghi chứa trường tệp hoặc mảng của bản ghi đó;

– t1 và t2 là các loại thứ tự tương thích và giá trị của t2 nằm trong phạm vi các giá trị có thể có của t1;

– t1 và t2 là kiểu thực, giá trị của t2 nằm trong khoảng giá trị có thể có của t1;

– t1 – kiểu thực và t2 – kiểu số nguyên;

– t1 – dòng và t2 – ký tự;

– t1 – chuỗi và t2 – chuỗi đóng gói;

– t1 và t2 – các chuỗi đóng gói tương thích;

– t1 và t2 là các tập hợp tương thích và tất cả các thành viên của t2 đều thuộc tập hợp các giá trị có thể có của t1;

– t1 và t2 là các con trỏ tương thích;

– t1 và t2 là các loại thủ tục tương thích;

– t1 là một đối tượng và t2 là con cháu của nó.

Trong một chương trình, dữ liệu của một loại có thể được chuyển đổi thành dữ liệu của loại khác. Chuyển đổi này có thể rõ ràng hoặc tiềm ẩn.

Chuyển đổi loại rõ ràng gọi các hàm chuyển đổi đặc biệt có đối số thuộc về một loại và có giá trị thuộc về loại khác. Một ví dụ là các hàm đã được thảo luận ord, trunc, round, chr.

Chuyển đổi ngầm chỉ có thể thực hiện được trong hai trường hợp:

– trong các biểu thức bao gồm các biến số thực và số nguyên, biến sau sẽ tự động được chuyển đổi thành kiểu thực và toàn bộ biểu thức thu được một kiểu thực;

– cùng một vùng bộ nhớ được xử lý luân phiên như chứa dữ liệu thuộc loại này hoặc loại khác (kết hợp dữ liệu thuộc các loại khác nhau trong bộ nhớ).

Một kiểu dữ liệu xác định một tập hợp các giá trị hợp lệ và một tập hợp các phép toán hợp lệ.

Các loại đơn giản.

Các loại đơn giản được chia thành ORDINAL và REAL.

1. CÁC LOẠI ĐẶT HÀNG , lần lượt có:

toàn bộ

Pascal định nghĩa 5 kiểu số nguyên, được xác định tùy thuộc vào dấu và giá trị mà biến sẽ lấy.

Tên loại

Độ dài (tính bằng byte)

Phạm vi giá trị

32 768...+32 767

2 147 483 648...+2 147 483 647

b) logic

Tên của loại này là BOOLEAN. Giá trị Boolean có thể là một trong các hằng số Boolean: TRUE (true) hoặc FALSE (false).

c) mang tính biểu tượng

Tên của loại này là CHAR - chiếm 1 byte. Giá trị của loại ký tự là tập hợp tất cả các ký tự PC. Mỗi ký tự được gán một số nguyên trong phạm vi 0…255. Con số này đóng vai trò như một mã để thể hiện bên trong biểu tượng.

2. LOẠI THẬT .

Không giống như các loại thứ tự, có giá trị luôn được ánh xạ tới một chuỗi số nguyên và do đó được biểu diễn hoàn toàn chính xác trong PC, các giá trị của loại thực chỉ xác định một số tùy ý với một số độ chính xác hữu hạn tùy thuộc vào định dạng bên trong của số thực .

Độ dài của kiểu dữ liệu số, byte

Tên kiểu dữ liệu số

Số chữ số có nghĩa của kiểu dữ liệu số

Phạm vi thứ tự thập phân của kiểu dữ liệu số

2*1063 +1..+2*1063 -1

LOẠI CẤU TRÚC

Các kiểu dữ liệu có cấu trúc xác định một tập hợp các biến vô hướng có thứ tự và được đặc trưng bởi loại thành phần của chúng.

Các kiểu dữ liệu có cấu trúc, không giống như các kiểu dữ liệu đơn giản, xác định nhiều giá trị phức tạp bằng một tên chung. Chúng ta có thể nói rằng các kiểu cấu trúc xác định một cách nhất định để hình thành các kiểu mới từ những kiểu hiện có.

Có một số phương pháp cấu trúc. Theo phương pháp tổ chức và kiểu thành phần trong kiểu dữ liệu phức tạp, người ta phân biệt các loại sau: kiểu thông thường (mảng); loại kết hợp (hồ sơ); filetype(tập tin); nhiều loại; loại chuỗi(chuỗi); trong ngôn ngữ Turbo Pascal phiên bản 6.0 trở lên, một loại đối tượng (đối tượng) đã được giới thiệu.

Không giống như các kiểu dữ liệu đơn giản, dữ liệu kiểu có cấu trúc được đặc trưng bởi sự đa dạng của các phần tử tạo thành kiểu này, tức là một biến hoặc hằng của kiểu có cấu trúc luôn có nhiều thành phần. Lần lượt, mỗi thành phần có thể thuộc về một loại có cấu trúc, tức là có thể lồng các loại.

1. Mảng

Mảng trong Turbo Pascal về nhiều mặt tương tự như các kiểu dữ liệu tương tự trong các ngôn ngữ lập trình khác. Một đặc điểm khác biệt của mảng là tất cả các thành phần của chúng đều là dữ liệu cùng loại (có thể có cấu trúc). Các thành phần này có thể được sắp xếp dễ dàng và có thể truy cập bất kỳ thành phần nào trong số chúng chỉ bằng cách chỉ định số sê-ri.

Mô tả mảng được chỉ định như sau:

<имя типа>= mảng [<сп.инд.типов>] của<тип>

Đây<имя типа>- định danh chính xác;

Mảng, của – các từ dành riêng (mảng, từ);

<сп.инд.типов>- danh sách một hoặc nhiều loại chỉ mục, được phân tách bằng dấu phẩy; dấu ngoặc vuông đóng khung danh sách là một yêu cầu về cú pháp;

<тип>- bất kỳ loại Turbo Pascal nào.

Bất kỳ loại thứ tự nào cũng có thể được sử dụng làm loại chỉ mục trong Turbo Pascal, ngoại trừ LongInt và loại phạm vi có loại cơ sở LongInt.

Độ sâu lồng của các kiểu có cấu trúc nói chung và do đó của mảng là tùy ý, do đó số phần tử trong danh sách chỉ mục kiểu (kích thước mảng) không bị giới hạn, tuy nhiên, tổng chiều dài của biểu diễn bên trong của bất kỳ mảng nào cũng không thể lớn hơn 65520 byte.

2. Hồ sơ

Bản ghi là một cấu trúc dữ liệu bao gồm một số thành phần cố định được gọi là trường bản ghi. Không giống như mảng, các thành phần (trường) của bản ghi có thể có nhiều loại khác nhau. Để có thể tham chiếu đến một hoặc một thành phần khác của bản ghi, các trường được đặt tên.

Cấu trúc của một khai báo kiểu bài viết là:

< Tênkiểu>=GHI< liên doanh. lĩnh vực>KẾT THÚC

Đây<имя типа>- định danh chính xác;

GHI, KẾT THÚC – các từ dành riêng (ghi, kết thúc);

<сп.полей>- danh sách các trường; là một chuỗi các phần của bản ghi được phân tách bằng dấu chấm phẩy.

3 bộ

Bộ là một tập hợp các đối tượng cùng loại được kết nối logic với nhau. Bản chất của các kết nối giữa các đối tượng chỉ được lập trình viên ngụ ý và không được điều khiển bởi Turbo Pascal. số phần tử có trong một tập hợp có thể thay đổi từ 0 đến 256 (một tập hợp không chứa các phần tử được gọi là trống). Chính sự không nhất quán về số lượng phần tử của nó khiến tập hợp khác với mảng và bản ghi.

Hai tập hợp được coi là tương đương khi và chỉ khi tất cả các phần tử của chúng giống nhau và thứ tự các phần tử của tập hợp đó không đổi. Nếu tất cả các phần tử của một tập hợp cũng được bao gồm trong một tập hợp khác thì tập hợp đầu tiên được cho là nằm trong tập hợp thứ hai.

Mô tả của loại tập hợp là:

< Tênkiểu> = BỘ< căn cứ. kiểu>

Đây<имя типа>- định danh chính xác;

SET, OF – các từ dành riêng (bộ, của);

<баз.тип>- loại cơ sở của các phần tử tập hợp, có thể là bất kỳ loại thứ tự nào ngoại trừ WORD, INTEGER và LONGINT.

Để xác định một tập hợp, cái gọi là hàm tạo tập hợp được sử dụng: danh sách các thông số kỹ thuật của các phần tử của tập hợp, được phân tách bằng dấu phẩy; danh sách được bao quanh bởi dấu ngoặc vuông. Thông số phần tử có thể là hằng số hoặc biểu thức của một loại cơ sở, cũng như một loại phạm vi có cùng loại cơ sở.

4. Tập tin

Tệp được hiểu là vùng được đặt tên của bộ nhớ ngoài của PC hoặc thiết bị logic - nguồn hoặc bộ thu thông tin tiềm năng.

Bất kỳ tập tin nào cũng có ba tính năng đặc trưng

    nó có một tên, cho phép chương trình hoạt động với nhiều tệp cùng một lúc.

    nó chứa các thành phần cùng loại. Loại thành phần có thể là bất kỳ loại Turbo Pascal nào, ngoại trừ các tệp. Nói cách khác, bạn không thể tạo một “tệp của các tệp”.

    Độ dài của tệp mới tạo không được chỉ định theo bất kỳ cách nào khi nó được khai báo và chỉ bị giới hạn bởi dung lượng của thiết bị bộ nhớ ngoài.

Một loại tệp hoặc biến loại tệp có thể được chỉ định theo một trong ba cách:

< Tên>= TẬP TIN< kiểu>;

< Tên>=VĂN BẢN;

<имя>= TẬP TIN;

Đây<имя>- tên loại tệp (định danh chính xác);

FILE, OF – các từ dành riêng (file, from);

TEXT – tên của loại tệp văn bản tiêu chuẩn;

<тип>- bất kỳ loại Turbo Pascal nào, ngoại trừ các tập tin.

Tùy thuộc vào phương pháp khai báo, có thể phân biệt ba loại tệp:

· các tập tin được đánh máy (được đặt bởi mệnh đề FILE OF...);

· tập tin văn bản (được định nghĩa là loại TEXT);

· các tập tin chưa được gõ (được xác định bởi loại FILE).

Về chuyển đổi kiểu dữ liệu số của Pascal

Việc chuyển đổi ngầm định (tự động) các kiểu dữ liệu số gần như không thể thực hiện được trong Pascal. Một ngoại lệ chỉ được thực hiện cho kiểu số nguyên, được phép sử dụng trong các biểu thức kiểu thực. Ví dụ: nếu các biến được khai báo như thế này:

Var X: số nguyên; Y: có thật;

sau đó người điều hành

sẽ đúng về mặt cú pháp, mặc dù có một biểu thức số nguyên ở bên phải dấu gán và một biến thực ở bên trái, trình biên dịch sẽ tự động chuyển đổi các kiểu dữ liệu số. Việc chuyển đổi ngược lại tự động từ kiểu thực sang kiểu số nguyên là không thể trong Pascal. Hãy nhớ có bao nhiêu byte được phân bổ cho các biến kiểu số nguyên và số thực: 2 byte bộ nhớ được phân bổ cho số nguyên kiểu dữ liệu số nguyên và 6 byte cho số thực. Có hai hàm dựng sẵn để chuyển đổi số thực thành số nguyên: round(x) làm tròn số thực x thành số nguyên gần nhất, trunc(x) cắt bớt số thực bằng cách loại bỏ phần phân số.

Bài học trình bày các kiểu dữ liệu tiêu chuẩn chính trong Pascal, khái niệm về biến và hằng; giải thích cách làm việc với các phép tính số học

Pascal là một ngôn ngữ lập trình đánh máy.Điều này có nghĩa là các biến lưu trữ dữ liệu thuộc một kiểu dữ liệu cụ thể. Những thứ kia. Chương trình phải chỉ ra trực tiếp dữ liệu nào có thể được lưu trữ trong một biến cụ thể: dữ liệu văn bản, dữ liệu số, nếu là số thì số nguyên hoặc phân số, v.v. Điều này chủ yếu cần thiết để máy tính “biết” những thao tác nào có thể được thực hiện với các biến này và cách thực hiện chúng một cách chính xác.

Ví dụ, việc bổ sung dữ liệu văn bản, hay như nó được gọi chính xác trong lập trình - nối - là việc hợp nhất các chuỗi thông thường, trong khi việc bổ sung dữ liệu số xảy ra theo chiều bit, ngoài ra, số phân số và số nguyên cũng được thêm vào theo cách khác. Điều tương tự cũng áp dụng cho các hoạt động khác.

Hãy xem xét các kiểu dữ liệu phổ biến nhất trong Pascal.

Các kiểu dữ liệu số nguyên trong Pascal

Kiểu Phạm vi Bộ nhớ cần thiết (byte)
byte 0..255 1
nói ngắn gọn -128..127 1
số nguyên -32768.. 32767 2
từ 0..65535 2
kéo dài -2147483648..2147483647 4

Các bạn cần lưu ý rằng khi viết chương trình bằng Pascal số nguyên(được dịch từ tiếng Anh nói chung) được sử dụng thường xuyên nhất, vì phạm vi giá trị được yêu cầu nhiều nhất. Nếu cần phạm vi rộng hơn, hãy sử dụng kéo dài(số nguyên dài, dịch từ tiếng Anh là số nguyên dài). Kiểu byte trong Pascal nó được sử dụng khi không cần phải làm việc với các giá trị âm, điều tương tự cũng xảy ra với kiểu từ(chỉ có phạm vi giá trị ở đây lớn hơn nhiều).

Ví dụ về cách mô tả (khai báo) biến trong Pascal:

chương trình a1; var x,y:số nguyên; (kiểu số nguyên) myname:string; (loại chuỗi) bắt đầu x:=1; y:=x+16; tên tôi:="Peter"; writeln("name: ",myname, ", age: ", y) end.

Kết quả:
Tên: Peter, tuổi: 17

Chú thích bằng Pascal

Nhận thấy như thế nào bình luận được sử dụng trong Pascal. Trong các bình luận ví dụ, tức là. văn bản dịch vụ mà trình biên dịch “không nhìn thấy” được đặt trong dấu ngoặc nhọn. Thông thường, các lập trình viên đưa ra các nhận xét để giải thích các đoạn mã.

Nhiệm vụ 3. Dân số Mátxcơva là a = 9.000.000 người. Dân số của New Vasyuki là b=1000 người. Viết chương trình xác định sự khác biệt về số dân giữa hai thành phố. Sử dụng biến

Các kiểu dữ liệu thực trong Pascal

Số thực trong Pascal và trong lập trình nói chung là tên gọi của số phân số.

Kiểu Phạm vi Bộ nhớ cần thiết (byte)
thực tế 2,9 * 10E-39 .. 1,7 * 10E38 6
đơn 1,5 * 10 E-45 .. 3,4 * 10E38 4
gấp đôi 5*10E-324.. 1.7*10E308 8
mở rộng 1.9*10E-4951 .. 1.1*10E4932 10

Kiểu thực trong Pascal là kiểu thực được sử dụng phổ biến nhất.

Những điều trên đã được trình bày các kiểu dữ liệu đơn giản trong Pascal, bao gồm:

  • thứ tự
  • Trọn
  • trêu ghẹo não
  • Tính cách
  • Có thể liệt kê được
  • Khoảng thời gian
  • Thực tế

Để hiển thị giá trị của các biến kiểu thực, đầu ra được định dạng thường được sử dụng:

  • định dạng sử dụng một số, cho biết số lượng vị trí được phân bổ cho số này ở dạng hàm mũ;
  • p:=1234,6789; Writeln(p:6:2); (1234,68)

    Cùng với các kiểu đơn giản, ngôn ngữ còn sử dụng kiểu dữ liệu có cấu trúc và con trỏ, đây sẽ là chủ đề của các bài học tiếp theo về Pascal.

    Hằng số trong Pascal

    Thông thường trong một chương trình, người ta biết trước rằng một biến sẽ nhận một giá trị cụ thể và sẽ không thay đổi giá trị đó trong suốt quá trình thực thi toàn bộ chương trình. Trong trường hợp này, bạn phải sử dụng hằng số.

    Việc khai báo một hằng số trong Pascal xảy ra trước khi khai báo các biến (trước từ dịch vụ var) và trông như thế này:

    Một ví dụ về mô tả hằng số trong Pascal:

    1 2 3 4 5 6 hằng số x= 17 ; var myname: string ; bắt đầu tên tôi: = "Peter" ; writeln ("tên: " , tên tôi, ", tuổi: " , x) end .

    hằng số x=17; var myname:string; bắt đầu tên tôi:="Peter"; writeln("name: ",myname, ", age: ", x) end.

    Đầu ra “đẹp” của số nguyên và số thực

    Để đảm bảo rằng sau khi hiển thị các giá trị của các biến có các vết thụt lề, sao cho các giá trị không “hợp nhất” với nhau, theo thông lệ, người ta thường chỉ ra bằng dấu hai chấm số lượng ký tự cần cung cấp để hiển thị giá trị:


    Các phép tính số học trong Pascal

    Trình tự thao tác

    1. đánh giá các biểu thức trong ngoặc đơn;
    2. nhân, chia, div, mod từ trái sang phải;
    3. phép cộng và phép trừ từ trái sang phải.

    Thủ tục và hàm số học tiêu chuẩn Pascal

    Ở đây đáng để nghiên cứu chi tiết hơn về một số phép tính số học.

    • Phép toán inc trong Pascal, được phát âm là tăng dần, là một thủ tục Pascal tiêu chuẩn có nghĩa là tăng lên một.
    • Ví dụ về hoạt động inc:

      x:=1; inc(x); (Tăng x lên 1, tức là x=2) writeln(x)

      Việc sử dụng thủ tục inc phức tạp hơn:
      Inc(x,n) trong đó x là loại thứ tự, n là loại số nguyên; thủ tục tăng x theo n.

    • Thủ tục Dec trong Pascal hoạt động tương tự: Dec(x) - giảm x đi 1 (giảm) hoặc Dec(x,n) - giảm x đi n.
    • Toán tử abs đại diện cho mô đun của một số. Nó hoạt động như thế này:
    • một: =- 9; b:=abs(a); (b=9)

      một:=-9; b:=abs(a); (b=9)

    • Toán tử div trong Pascal thường được sử dụng vì một số tác vụ liên quan đến hoạt động của toàn bộ phép chia.
    • Phần dư của phép chia hay toán tử mod trong Pascal cũng không thể thiếu để giải một số bài toán.
    • Đáng chú ý là hàm lẻ tiêu chuẩn của Pascal, hàm này xác định xem một số nguyên có phải là số lẻ hay không. Nghĩa là, nó trả về true cho số lẻ, false cho số chẵn.
    • Ví dụ sử dụng hàm lẻ:

      var x: số nguyên; bắt đầu x:=3; writeln(sqr(x)); (câu trả lời 9) kết thúc.

    • Phép tính lũy thừa trong Pascal bị thiếu như vậy. Nhưng để nâng lũy ​​thừa của một số, bạn có thể sử dụng hàm exp.
    • Công thức là: exp(ln(a)*n), trong đó a là một số, n là độ (a>0).

      Tuy nhiên, trong trình biên dịch Pascal abc, phép lũy thừa đơn giản hơn nhiều:

      var x: số nguyên; bắt đầu x:=9; writeln(sqrt(x)); (câu trả lời 3) kết thúc.

    Nhiệm vụ 4. Kích thước của hộp diêm đã biết: chiều cao - 12,41 cm, chiều rộng - 8 cm, độ dày - 5 cm. Tính diện tích đáy hộp và thể tích của nó.
    (S=chiều rộng*độ dày, V=diện tích*chiều cao)

    Nhiệm vụ 5. Vườn thú có ba con voi và khá nhiều thỏ, số lượng thỏ thay đổi thường xuyên. Một con voi được cho là ăn một trăm củ cà rốt mỗi ngày và một con thỏ - hai. Mỗi buổi sáng, người trông vườn thú cho máy tính biết số lượng thỏ. Để đáp lại điều này, máy tính phải cho người phục vụ biết tổng số củ cà rốt cần cho thỏ và voi ăn hôm nay.

    Nhiệm vụ 6. Người ta biết rằng x kg kẹo giá bao nhiêu Một rúp Xác định chi phí là bao nhiêu y kg số kẹo này và có thể mua được bao nhiêu kg kẹo ở k rúp Tất cả các giá trị được nhập bởi người dùng.

    Trong bất kỳ chương trình nào, bạn cần xác định loại và loại đại lượng sẽ được sử dụng để giải bài toán. Theo loại, các đại lượng đơn giản (trong lập trình đều được gọi là dữ liệu) được chia thành hằng số và biến.

    Hằng số– đây là dữ liệu có giá trị không thể thay đổi trong quá trình thực hiện chương trình. Đã nhập vào khối const.

    Nói chung, việc mô tả một hằng số chưa được định kiểu đơn giản được thực hiện như sau:

    Const constant_name = biểu thức;

    Các hằng số được gõ được mô tả như sau:

    Hằng_name: type = biểu thức;

    Những điều sau đây có thể được sử dụng trong các biểu thức:

    · số hoặc một tập hợp các ký tự trong dấu nháy đơn;

    · Các hoạt động toán học;

    · các hoạt động quan hệ và logic;

    · hàm abs(x), round(x), trunc(x);

    · các hàm chr(x), ord(x), pred(x), succ(x) và các hàm khác.

    Định dạng mô tả không đổi:

    id=giá trị;

    1. Số nguyên - được xác định bằng các số được viết ở dạng thập phân hoặc thập lục phân, không có dấu thập phân.

    2. Số thực - được xác định bằng số được viết ở dạng dữ liệu thập phân.

    3. Ký tự là bất kỳ ký hiệu nào của máy tính cá nhân được đặt trong dấu nháy đơn.

    4. Chuỗi – được xác định bởi một chuỗi các ký tự tùy ý được đặt trong dấu nháy đơn.

    5. Boolean - đây là Sai hoặc Đúng.

    Loại hằng số không được chỉ định nhưng được xác định tự động trong quá trình biên dịch: các giá trị của biểu thức được tính toán ngay lập tức và sau đó chỉ được thay thế bằng tên.

    Biến- Đây là dữ liệu có thể thay đổi trong quá trình thực hiện chương trình. Mỗi biến có vị trí/vị trí bộ nhớ được đặt tên riêng. Những thứ kia. biến là một loại thùng chứa trong đó bạn có thể đặt một số dữ liệu và lưu trữ nó ở đó. Các biến có tên, loại và giá trị.

    Tên biến phải bắt đầu bằng một chữ cái, không được chứa dấu cách và chỉ được chứa:

    · các chữ cái trong bảng chữ cái Latinh;

    · gạch dưới.

    Ví dụ: A, A_1, AA, i, j, x, y, v.v. Tên sai: My 1, 1A. Tên biến có thể dài tới 126 ký tự, vì vậy hãy cố gắng chọn tên biến có ý nghĩa. Tuy nhiên, trình biên dịch phân biệt 63 ký tự đầu tiên trong tên. Nhưng nó không phân biệt chữ thường và chữ in hoa, cả trong tên biến và cách viết mã định danh dịch vụ.

    Loại biến – phải được xác định trong khối mô tả biến VAR. Giá trị của một biến là một hằng số cùng loại.

    Mọi chương trình đều hoạt động với dữ liệu. Dữ liệu, theo nghĩa rộng của từ này, là đối tượng mà chương trình xử lý. Loại của một nhất định là đặc điểm của nó. Phụ thuộc vào loại:

    · Dữ liệu này sẽ được lưu trữ dưới dạng nào,

    Có bao nhiêu ô nhớ sẽ được phân bổ để lưu trữ,

    giá trị tối thiểu và tối đa nó có thể nhận là bao nhiêu,

    · những hoạt động nào có thể được thực hiện với nó.

    Một số kiểu dữ liệu Pascal đơn giản:

    1. Các kiểu số nguyên (ShortInt, Integer, LongInt, Byte, Word).

    2. Các loại thực (Real, Single, Double, Extended, Comp).

    3. Logic (Boolean).

    4. Nhân vật (Char).

    5. Các kiểu chuỗi (String, String [n]).

    9. Toán tử vô điều kiện trong Pascal. Mô tả và sử dụng.

    Loại toán tử

    đi đến<метка>;

    Mục đích – chuyển quyền điều khiển trong chương trình cho người vận hành được đánh dấu bằng nhãn<метка>. Nhãn có thể là tên (được viết theo quy tắc cho tên ngôn ngữ) hoặc số nguyên không dấu được mô tả trong câu lệnh Nhãn nhãn và được đặt trước câu lệnh có nhãn, nhưng chỉ ở một vị trí trong chương trình. Một nhãn được phân tách khỏi toán tử bằng ký hiệu “:”. Quá trình chuyển đổi sang nhãn có thể xảy ra nhiều lần trong một khối, nhưng bản thân nhãn chỉ có thể xuất hiện một lần. Nếu không có sự chuyển giao điều khiển tới một nhãn nào đó thì sẽ không có lỗi.

    Toán tử nhảy vô điều kiện thường không được phép trong lập trình có cấu trúc. Mặc dù nó cho phép bạn rút ngắn văn bản chương trình nhưng việc sử dụng nó trong Pascal bị hạn chế bởi một số quy tắc và khuyến nghị. Cấm nhảy vào bên trong một câu lệnh ghép, vào bên trong hoặc vào đầu chương trình con và thoát khỏi chương trình con đến chương trình đã gọi nó. Không nên di chuyển ra ngoài trang (màn hình) của văn bản chương trình, ngoại trừ việc di chuyển đến các câu lệnh cuối cùng của chương trình. Tất cả điều này là do khả năng bỏ qua các câu lệnh quan trọng để chương trình hoạt động chính xác. Thông thường, toán tử nhảy vô điều kiện chỉ được sử dụng để quay về phần đầu của thân vòng lặp nếu vòng lặp được xây dựng bằng cách sử dụng các toán tử có điều kiện và vô điều kiện.

    Lưu ý rằng câu lệnh sau goto cũng phải được đánh dấu bằng nhãn khác (nếu goto không phải là câu lệnh cuối cùng trong nhóm câu lệnh). Nếu không, không có cách nào để chuyển sang câu lệnh goto tiếp theo.

    10. Toán tử rẽ nhánh trong Pascal. Mô tả và sử dụng.

    Các toán tử cho phép bạn chỉ chọn một trong số nhiều tùy chọn có thể có để thực thi chương trình (nhánh) bao gồm

    Những thứ kia. Những câu lệnh này cho phép bạn thay đổi thứ tự thực hiện tự nhiên của các câu lệnh chương trình.

    nếu như<условие>sau đó< оператор 1 >

    khác<оператор 2> ;

    nếu a>=b thì Max:=a khác Max:=b;

    Trong câu lệnh if, chỉ có một câu lệnh có thể được thực thi trên cả hai nhánh (then và else)!

    Một ví dụ về vấn đề về toán tử nhánh trong Pascal. Nhập hai số nguyên và hiển thị số lớn nhất trong số đó.

    Ý tưởng giải pháp: bạn cần hiển thị số đầu tiên nếu nó lớn hơn số thứ hai hoặc số thứ hai nếu nó lớn hơn số đầu tiên.

    Đặc điểm: hành động của người thực hiện phụ thuộc vào một số điều kiện nhất định (nếu... ngược lại...).

    var a, b, max: số nguyên;

    writeln("Nhập hai số nguyên");

    nếu a > b thì max:=a khác max:=b;

    writeln("Số tối đa", max);

    Điều kiện khó khăn

    Một điều kiện phức tạp là một điều kiện bao gồm một số điều kiện (quan hệ) đơn giản được kết nối bằng logic

    hoạt động:

    Not – NOT (phủ định, đảo ngược)

    Và – Và (nhân logic, kết hợp,

    thực hiện đồng thời các điều kiện)

    Hoặc – HOẶC (cộng, tách logic,

    đáp ứng ít nhất một trong các điều kiện)

    Xor – OR độc quyền (chỉ thực thi

    một trong hai điều kiện, nhưng không phải cả hai)

    Điều kiện đơn giản (mối quan hệ)

    < <= > >= = <>

    Thứ tự thực hiện (ưu tiên = thâm niên)

    Biểu thức trong ngoặc đơn

    <, <=, >, >=, =, <>

    Tính năng - mỗi điều kiện đơn giản phải được đặt trong ngoặc đơn.

    toán tử lựa chọn trường hợp

    Câu lệnh tình huống cho phép bạn chọn giữa một số tùy chọn.

    Toán tử biến thể bao gồm

    Từ một biểu thức được gọi là bộ chọn,

    Một danh sách các toán tử, mỗi toán tử được đánh dấu bằng một hằng số cùng loại với bộ chọn.

    Bộ chọn chỉ được là kiểu dữ liệu thứ tự, không phải kiểu dữ liệu longint.

    Bộ chọn có thể là một biến hoặc một biểu thức.

    Danh sách các hằng số có thể được chỉ định bằng một bảng liệt kê rõ ràng hoặc bằng một khoảng hoặc bằng cách kết hợp chúng. Sự lặp lại của các hằng số không

    cho phép.

    Loại công tắc và loại của tất cả các hằng số phải tương thích.

    Trường hợp< выражение {селектор}>của

    <список констант 1> : < оператор 1>;

    < список констант K> : < оператор K>;

    Câu lệnh case được thực hiện như sau:

    1) giá trị của bộ chọn được tính toán;

    2) kết quả thu được được kiểm tra xem liệu nó có thuộc một danh sách hằng số cụ thể hay không;

    3) nếu tìm thấy danh sách như vậy thì không cần kiểm tra thêm nữa mà chỉ thực hiện toán tử tương ứng với

    nhánh được chọn, sau đó điều khiển được chuyển sang câu lệnh theo sau từ khóa end, đóng toàn bộ

    xây dựng trường hợp;

    4) nếu không có danh sách hằng số phù hợp thì toán tử theo sau từ khóa else sẽ được thực thi; nếu không có chi nhánh nào khác,

    sau đó không có gì được thực thi.

    Trong câu lệnh nhánh case, chỉ có thể thực thi một câu lệnh trên tất cả các nhánh!

    Nếu bạn cần thực thi nhiều hơn một, bạn cần sử dụng dấu ngoặc nhọn của toán tử đầu cuối.

    trường hợp Index mod 4 của

    1: x:= y*y – 2*y;

    11Toán tử .Option (lựa chọn) trong Pascal. Mô tả và sử dụng.

    Toán tử lựa chọn (tùy chọn, chuyển đổi) thực hiện lựa chọn một trong các lựa chọn thay thế có thể, tức là. các lựa chọn để tiếp tục chương trình.

    Định dạng ghi:

    Trường hợp – sự lựa chọn, lựa chọn;

    S – bộ chọn, biểu thức kiểu thứ tự;

    Ki – hằng số lựa chọn, hằng số có kiểu phù hợp với kiểu bộ chọn;

    OPi – bất kỳ toán tử nào, kể cả trống;

    Toán tử lựa chọn thực hiện cấu trúc sau:

    Hoạt động của toán tử lựa chọn trong Pascal: Biểu thức bộ chọn được ước tính. Giá trị tính toán được so sánh tuần tự với các hằng số thay thế và điều khiển được chuyển đến toán tử hằng số lựa chọn, trùng với giá trị bộ chọn được tính toán. Câu lệnh được thực thi và quyền điều khiển được chuyển ra ngoài câu lệnh select. Nếu giá trị tính toán của bộ chọn không khớp với bất kỳ hằng số nào, thì điều khiển sẽ được chuyển sang nhánh Else, trong trường hợp này sự hiện diện của nó là không cần thiết, điều khiển sẽ được chuyển ra bên ngoài toán tử lựa chọn.

    Sơ đồ khối của toán tử lựa chọn.

    Cấu trúc của câu lệnh lựa chọn có thể được triển khai bằng cách sử dụng các câu lệnh điều kiện lồng nhau, nhưng điều này làm giảm khả năng hiển thị của chương trình. Khuyến nghị không quá 2-3 mức đầu tư.

    12. Các loại toán tử vòng lặp trong Pascal, mục đích của chúng.

    5. Thuật toán xây dựng chu trình. Các loại chu kỳ.

    Có ba loại thuật toán vòng lặp: vòng lặp có tham số (được gọi là vòng lặp số học), vòng lặp có điều kiện tiên quyết và vòng lặp có điều kiện hậu (gọi là vòng lặp).

    12.13 Vòng lặp số học. Trong một chu trình số học, số bước (lặp lại) của nó được xác định duy nhất theo quy tắc thay đổi tham số, được chỉ định bằng cách sử dụng giá trị ban đầu (N) và cuối cùng (K) của tham số và bước (h) về sự thay đổi của nó. Nghĩa là, ở bước đầu tiên của chu kỳ, giá trị tham số là N, ở bước thứ hai - N + h, ở bước thứ ba - N + 2h, v.v. Ở bước cuối cùng của chu trình, giá trị của tham số không lớn hơn K, nhưng sự thay đổi tiếp theo của nó sẽ dẫn đến giá trị lớn hơn K.

    Vòng đếm được sử dụng khi một phần tuần hoàn của chương trình phải được lặp lại một số lần cố định. Những vòng lặp như vậy có một biến số nguyên gọi là bộ đếm vòng lặp.

    Nếu một đoạn chương trình cần được lặp lại một số lần xác định thì cấu trúc sau sẽ được sử dụng:

    VÌ<имя счетчика цикла> = <начальное значение>CÁI ĐÓ<конечное значение>LÀM<оператор>;

    FOR, TO, DO - các từ dành riêng (tiếng Anh: for, to, performance);

    <счетчик (параметр) цикла>- một biến kiểu INTEGER, thay đổi trên một phân đoạn từ<начального значения>, tăng một đơn vị vào cuối mỗi bước của chu kỳ;

    <оператор>- bất kỳ toán tử nào (thường là ghép).

    Có một dạng khác của toán tử này:

    VÌ<имя счетчика цикла>:= <начальное значение>XUỐNG<конечное значение>LÀM<оператор> :

    Thay TO bằng DOWNTO (tiếng Anh: down to) nghĩa là bước thay đổi thông số chu trình bằng -1, tức là bộ đếm đang giảm dần từng bước một.

    12.14 Vòng lặp với điều kiện tiên quyết. Số bước trong chu trình không được xác định trước và phụ thuộc vào dữ liệu đầu vào của tác vụ. Trong cấu trúc tuần hoàn này, giá trị của biểu thức điều kiện (điều kiện) trước tiên được kiểm tra trước khi thực hiện bước tiếp theo của vòng lặp. Nếu biểu thức điều kiện đúng thì phần thân vòng lặp sẽ được thực thi. Sau đó, quyền điều khiển lại được chuyển sang kiểm tra điều kiện, v.v. Những hành động này được lặp lại cho đến khi biểu thức điều kiện có giá trị là FALSE. Lần đầu tiên điều kiện không được đáp ứng, chu kỳ kết thúc.

    Toán tử lặp lại được sử dụng phổ biến nhất này là:

    TRONG KHI<условие>LÀM<оператор>;

    WHILE, DO - từ dành riêng (tiếng Anh: bye, do);

    <условие>- biểu thức của loại logic;

    <оператор>- một toán tử tùy ý (có thể ghép).

    Một tính năng đặc biệt của vòng lặp có điều kiện tiên quyết là nếu biểu thức điều kiện ban đầu sai thì phần thân vòng lặp sẽ không bao giờ được thực thi.

    Vòng lặp có điều kiện tiên quyết được sử dụng khi việc thực hiện vòng lặp được liên kết với một số điều kiện logic. Câu lệnh vòng lặp có điều kiện tiên quyết có hai phần: điều kiện thực hiện vòng lặp và phần thân vòng lặp.

    12.15 Vòng lặp có hậu điều kiện (vòng lặp). Giống như vòng lặp có điều kiện trước, trong thiết kế tuần hoàn có điều kiện hậu, số lần lặp lại của thân vòng lặp không được xác định trước; nó phụ thuộc vào dữ liệu đầu vào của tác vụ. Không giống như vòng lặp có điều kiện trước, phần thân của vòng lặp có điều kiện sau sẽ luôn được thực thi ít nhất một lần, sau đó điều kiện được kiểm tra. Trong thiết kế này, phần thân vòng lặp sẽ được thực thi miễn là giá trị của biểu thức điều kiện là sai. Khi nó trở thành true, việc thực thi lệnh sẽ dừng lại.

    Toán tử này trông giống như:

    LẶP LẠI<тело цикла>CHO ĐẾN KHI<условие>:

    REPEAT, UNTIL - từ dành riêng (tiếng Anh: lặp lại cho đến khi không);

    <условие>- một biểu thức thuộc loại logic, nếu giá trị của nó là đúng thì vòng lặp sẽ thoát.

    Cần lưu ý rằng trong cấu trúc này, chuỗi các câu lệnh xác định phần thân của vòng lặp không được đặt trong dấu ngoặc của toán tử BEGIN ... END, vì chúng là cặp REPEAT ... UNTIL.

    Vòng lặp hậu điều kiện tương tự như vòng lặp tiền điều kiện, nhưng chúng đặt điều kiện sau phần thân vòng lặp.

    Không giống như vòng lặp có điều kiện trước, có thể kết thúc mà không bao giờ thực hiện phần thân vòng lặp (nếu điều kiện thực hiện là sai ở lần vượt qua đầu tiên của vòng lặp), phần thân vòng lặp có điều kiện sau phải được thực thi ít nhất một lần, sau điều kiện nào được kiểm tra.

    Một trong các toán tử thân vòng lặp phải tác động đến giá trị của điều kiện thực hiện vòng lặp, nếu không vòng lặp sẽ được lặp lại vô số lần.

    Nếu điều kiện đúng thì vòng lặp sẽ thoát, ngược lại các câu lệnh vòng lặp sẽ được lặp lại.

    16. Mảng- đây là tập hợp các phần tử cùng loại, được thống nhất bằng một tên chung và chiếm một vùng bộ nhớ nhất định trong máy tính. Số phần tử trong mảng luôn hữu hạn. Nói chung, mảng là một kiểu dữ liệu có cấu trúc bao gồm một số phần tử cố định cùng loại. Mảng nhận được tên là loại (hoặc hàng) thông thường vì chúng kết hợp các phần tử cùng loại (đồng nhất về mặt logic), được sắp xếp (quy định) bởi các chỉ số xác định vị trí của từng phần tử trong mảng. Bất kỳ loại dữ liệu nào cũng có thể được sử dụng làm phần tử của một mảng, do đó, việc có mảng bản ghi, mảng con trỏ, mảng chuỗi, mảng, v.v. là hoàn toàn hợp pháp. Các phần tử của mảng có thể là dữ liệu thuộc bất kỳ loại nào, kể cả dữ liệu có cấu trúc . Kiểu phần tử mảng được gọi là cơ sở. Một đặc điểm của ngôn ngữ Pascal là số phần tử mảng được cố định trong quá trình mô tả và không thay đổi trong quá trình thực thi chương trình. Các phần tử tạo nên mảng được sắp xếp sao cho mỗi phần tử có một bộ số (chỉ số) tương ứng xác định vị trí của nó trong chuỗi tổng thể. Mỗi phần tử riêng lẻ được truy cập bằng cách lập chỉ mục các phần tử của mảng. Chỉ mục là biểu thức của bất kỳ loại vô hướng nào (thường là số nguyên), ngoại trừ số thực. Loại chỉ mục xác định ranh giới để thay đổi giá trị chỉ mục. Cụm từ mảng được sử dụng để mô tả một mảng.

    Mảng là tập hợp dữ liệu thực hiện các chức năng tương tự và được chỉ định bằng một tên. Nếu mỗi phần tử của mảng chỉ có một số sê-ri được gán cho nó thì mảng đó được gọi là tuyến tính hoặc một chiều.

    17. Mảng một chiều– đây là một số cố định các phần tử cùng loại, được thống nhất bằng một tên và mỗi phần tử có một số duy nhất và các số phần tử là liên tiếp.

    Để mô tả các đối tượng như vậy trong lập trình, trước tiên bạn phải nhập kiểu tương ứng vào phần mô tả kiểu.

    Kiểu mảng được mô tả như sau:

    Tên loại = Mảng [loại chỉ mục] Của loại phần tử;

    Tên biến: tên loại;

    Một biến mảng có thể được mô tả ngay trong phần mô tả biến Var:

    Var Tên biến: mảng [loại chỉ mục] Thuộc loại phần tử;

    Mảng là một từ phục vụ (dịch từ tiếng Anh là “mảng”);

    Of là một từ phục vụ (dịch từ tiếng Anh là “from”).

    Loại chỉ mục – bất kỳ loại thứ tự nào, ngoại trừ loại số nguyên và loại longint.

    Bản thân loại phần tử có thể là bất cứ thứ gì ngoại trừ loại tệp.

    Số phần tử trong một mảng được gọi là thứ nguyên của nó. Có thể dễ dàng tính toán rằng với phương pháp cuối cùng mô tả một tập hợp chỉ mục, kích thước mảng bằng: giá trị chỉ mục tối đa – giá trị chỉ mục tối thiểu + 1.

    Ví dụ:

    mas = mảng thực;

    Mảng X là một chiều, bao gồm 20 phần tử kiểu thực. Các phần tử mảng được lưu trữ tuần tự trong bộ nhớ máy tính.

    Khi sử dụng các biến để biểu thị một chỉ số, giá trị của chúng phải được xác định tại thời điểm sử dụng và trong trường hợp biểu thức số học, kết quả của chúng không được vượt quá ranh giới giá trị tối thiểu và tối đa của các chỉ số mảng.

    Các chỉ mục phần tử mảng có thể bắt đầu bằng bất kỳ số nguyên nào, kể cả số nguyên âm, ví dụ:

    Kiểu bb = Mảng [-5..3] Của Boolean;

    Mảng kiểu này sẽ chứa 9 biến logic, được đánh số từ -5 đến 3.

    18. Mảng hai chiều trong Pascalđược coi là mảng một chiều có kiểu phần tử cũng là một mảng (mảng các mảng). Vị trí của các phần tử trong mảng Pascal hai chiều được mô tả bằng hai chỉ số. Chúng có thể được trình bày dưới dạng bảng hình chữ nhật hoặc ma trận.

    Xét một mảng Pascal hai chiều có kích thước 3*3, nghĩa là nó sẽ có ba dòng và mỗi dòng sẽ có ba phần tử:

    Mỗi phần tử có một số riêng, giống như mảng một chiều, nhưng bây giờ số này đã bao gồm hai số - số hàng chứa phần tử và số cột. Do đó, số phần tử được xác định bằng giao điểm của một hàng và một cột. Ví dụ: 21 là phần tử xuất hiện ở hàng thứ hai và cột đầu tiên.

    Mô tả mảng Pascal hai chiều.

    Có một số cách để khai báo mảng Pascal hai chiều.

    Chúng ta đã biết cách mô tả mảng một chiều, các phần tử của nó có thể thuộc bất kỳ loại nào và do đó, bản thân các phần tử có thể là mảng. Hãy xem xét mô tả sau đây về các loại và biến:

    Các thao tác cơ bản với mảng Pascal hai chiều

    Mọi điều đã nói về các phép toán cơ bản với mảng một chiều cũng đúng với ma trận. Hành động duy nhất có thể được thực hiện trên toàn bộ ma trận cùng loại là phép gán. Nghĩa là, nếu chương trình của chúng ta mô tả hai ma trận cùng loại, ví dụ:

    ma trận= mảng số nguyên;

    thì trong quá trình thực hiện chương trình, bạn có thể gán cho ma trận a giá trị của ma trận b (a:= b). Tất cả các hành động khác được thực hiện theo từng phần tử và tất cả các thao tác hợp lệ được xác định cho kiểu dữ liệu của các phần tử mảng đều có thể được thực hiện trên các phần tử. Điều này có nghĩa là nếu một mảng bao gồm các số nguyên thì các phép toán xác định cho số nguyên có thể được thực hiện trên các phần tử của nó, nhưng nếu mảng bao gồm các ký tự thì các phép toán được xác định để làm việc với các ký tự có thể được áp dụng cho chúng.

    21. Công nghệ làm việc với văn bản. Trình soạn thảo và xử lý văn bản: mục đích và khả năng.

    Các trình soạn thảo văn bản nâng cao hơn (ví dụ: Microsoft Word và OpenOffice.org Writer), đôi khi được gọi là trình xử lý văn bản, có nhiều khả năng tạo tài liệu (chèn danh sách và bảng, công cụ kiểm tra chính tả, lưu các bản sửa lỗi, v.v.).

    Để chuẩn bị cho việc xuất bản sách, tạp chí và báo trong quá trình bố cục xuất bản, các chương trình xử lý văn bản mạnh mẽ được sử dụng - hệ thống xuất bản trên máy tính để bàn (ví dụ: Adobe PageMaker, Nhà xuất bản Microsoft Office).

    Để chuẩn bị các trang Web và trang Web xuất bản trên Internet, các ứng dụng chuyên dụng (ví dụ: Microsoft FrontPage) được sử dụng.

    Trình soạn thảo văn bản là các chương trình tạo, chỉnh sửa, định dạng, lưu và in tài liệu. Một tài liệu hiện đại có thể chứa, ngoài văn bản, các đối tượng khác (bảng, sơ đồ, hình ảnh, v.v.).

    Chỉnh sửa là một phép chuyển đổi thêm, xóa, di chuyển hoặc sửa nội dung của tài liệu. Việc chỉnh sửa tài liệu thường được thực hiện bằng cách thêm, xóa hoặc di chuyển các ký tự hoặc đoạn văn bản.

    Định dạng là thiết kế của văn bản. Ngoài các ký tự văn bản, văn bản được định dạng còn chứa các mã vô hình đặc biệt cho chương trình biết cách hiển thị trên màn hình và in trên máy in: sử dụng phông chữ nào, kiểu và kích thước của ký tự, đoạn văn và tiêu đề như thế nào. nên được định dạng.

    Văn bản được định dạng và không được định dạng có phần khác nhau về bản chất. Sự khác biệt này phải được hiểu. Trong văn bản được định dạng, mọi thứ đều quan trọng: kích thước của các chữ cái, hình ảnh của chúng và vị trí một dòng kết thúc và một dòng khác bắt đầu. Nghĩa là, văn bản được định dạng gắn bó chặt chẽ với các thông số của tờ giấy mà nó được in.

    Khi thiết kế tài liệu văn bản, bạn thường cần thêm các thành phần hoặc đối tượng phi văn bản vào tài liệu. Các trình soạn thảo văn bản nâng cao cho phép bạn thực hiện điều này - chúng có nhiều cơ hội để chèn hình ảnh, sơ đồ, công thức, v.v. vào văn bản.

    Tài liệu giấy và điện tử. Tài liệu có thể là giấy hoặc điện tử. Tài liệu giấy được tạo và định dạng để cung cấp bản trình bày tốt nhất có thể khi in trên máy in. Tài liệu điện tử được tạo và định dạng để trình bày tốt nhất trên màn hình máy tính. Việc thay thế dần luồng văn bản giấy bằng văn bản điện tử là một trong những xu hướng phát triển của công nghệ thông tin. Giảm tiêu thụ giấy có tác dụng tích cực trong việc bảo tồn tài nguyên thiên nhiên và giảm ô nhiễm môi trường.

    Định dạng của tài liệu giấy và tài liệu điện tử có thể khác nhau đáng kể. Đối với tài liệu giấy, cái gọi là định dạng tuyệt đối được chấp nhận. Một tài liệu in luôn được định dạng để vừa với một tờ giấy in có kích thước (định dạng) đã biết. Ví dụ: chiều rộng của dòng tài liệu phụ thuộc vào chiều rộng của tờ giấy. Nếu một tài liệu được thiết kế để in trên các tờ giấy khổ lớn, thì nó không thể được in trên những tờ giấy nhỏ - một phần của tài liệu sẽ không vừa với chúng. Nói một cách dễ hiểu, việc định dạng một tài liệu in luôn yêu cầu trước tiên phải chọn một tờ giấy rồi liên kết nó với trang này. Đối với tài liệu in, bạn luôn có thể chỉ ra chính xác (theo bất kỳ đơn vị đo lường nào) kích thước phông chữ, lề, khoảng cách giữa các dòng hoặc đoạn văn, v.v.

    Đối với các tài liệu điện tử, cái gọi là định dạng tương đối là phổ biến. Tác giả của tài liệu không thể dự đoán trước kích thước máy tính hoặc màn hình mà tài liệu sẽ được xem. Hơn nữa, ngay cả khi đã biết trước kích thước màn hình, vẫn không thể dự đoán được kích thước của cửa sổ mà người đọc sẽ xem tài liệu sẽ là bao nhiêu. Do đó, các tài liệu điện tử được tạo ra để thích ứng với kích thước và định dạng cửa sổ hiện tại một cách nhanh chóng.

    Tác giả của một tài liệu điện tử cũng không biết những phông chữ nào có sẵn trên máy tính của người đọc trong tương lai, và do đó không thể chỉ ra chính xác phông chữ nào mà văn bản và tiêu đề sẽ được hiển thị. Nhưng nó có thể đặt định dạng làm cho tiêu đề xuất hiện lớn hơn văn bản trên bất kỳ máy tính nào.

    Định dạng tương đối được sử dụng để tạo tài liệu Internet điện tử (còn gọi là trang Web) và định dạng tuyệt đối được sử dụng để tạo tài liệu in trong trình xử lý văn bản.

    22.Các thành phần cấu trúc chính của một tài liệu văn bản. Phông chữ, kiểu dáng, định dạng.

    Định dạng phông chữ (ký tự).

    Ký hiệu là chữ cái, số, dấu cách, dấu chấm câu và ký tự đặc biệt. Các biểu tượng có thể được định dạng (thay đổi diện mạo của chúng). Trong số các thuộc tính chính của biểu tượng là: phông chữ, kích thước, kiểu dáng và màu sắc.

    Phông chữ là một tập hợp đầy đủ các ký tự có kiểu dáng nhất định. Mỗi phông chữ đều có tên riêng, ví dụ Times New Roman, Arial, Comic Sans MS. Đơn vị phông chữ là điểm (1 pt = 0,367 mm). Kích thước phông chữ có thể được thay đổi trong giới hạn rộng. Ngoài kiểu ký tự thông thường (thông thường), kiểu in đậm, in nghiêng và in nghiêng đậm thường được sử dụng.

    Tùy thuộc vào cách chúng được trình bày trên máy tính, có sự khác biệt giữa phông chữ raster và vector. Các phương pháp đồ họa raster được sử dụng để thể hiện các phông chữ raster; các ký tự phông chữ là các nhóm pixel. Phông chữ bitmap chỉ có thể được chia tỷ lệ theo một số yếu tố nhất định.

    Trong phông chữ vector, các ký tự được mô tả bằng công thức toán học và có thể thu nhỏ tùy ý. Trong số các phông chữ vector, phông chữ TrueType được sử dụng rộng rãi nhất.

    Bạn cũng có thể thiết lập các tùy chọn định dạng ký tự bổ sung: gạch chân các ký tự với các kiểu dòng khác nhau, thay đổi hình thức của ký tự (chỉ số trên, chỉ số dưới, gạch ngang), thay đổi khoảng cách giữa các ký tự.

    Nếu bạn định in tài liệu có màu, bạn có thể chỉ định các màu khác nhau cho các nhóm ký tự khác nhau.

    Để kiểm tra chính tả và cú pháp, các mô-đun phần mềm đặc biệt được sử dụng, thường có trong bộ xử lý văn bản và hệ thống xuất bản. Những hệ thống như vậy chứa từ điển và quy tắc ngữ pháp cho một số ngôn ngữ, giúp sửa lỗi trong các tài liệu đa ngôn ngữ.

    24. Cơ sở dữ liệu là một mô hình thông tin cho phép bạn lưu trữ dữ liệu một cách có trật tự về một nhóm đối tượng có cùng tập thuộc tính.

    Có một số loại cơ sở dữ liệu khác nhau: dạng bảng (quan hệ), phân cấp và mạng.

    Cơ sở dữ liệu dạng bảng.

    Cơ sở dữ liệu dạng bảng chứa danh sách các đối tượng cùng loại, nghĩa là các đối tượng có cùng bộ thuộc tính. Thật thuận tiện khi biểu diễn cơ sở dữ liệu như vậy dưới dạng bảng hai chiều.

    Trong cơ sở dữ liệu quan hệ, tất cả dữ liệu được trình bày dưới dạng các bảng đơn giản, được chia thành các hàng và cột, tại giao điểm của dữ liệu. Các truy vấn trên các bảng như vậy sẽ trả về các bảng mà bản thân chúng có thể là chủ đề của các truy vấn tiếp theo. Mỗi cơ sở dữ liệu có thể chứa nhiều bảng.

    Ưu điểm chính của bảng là sự rõ ràng của chúng. Hầu như ngày nào chúng ta cũng xử lý thông tin dạng bảng. Ví dụ, hãy xem nhật ký của bạn: lịch học được trình bày ở đó dưới dạng bảng. Khi đến ga, chúng tôi xem lịch trình tàu chạy. Nó trông như thế nào? Đây là cái bàn! Ngoài ra còn có bảng vô địch bóng đá. Và nhật ký của giáo viên, nơi ông chấm điểm cho bạn, cũng là một cái bàn.

    Tóm lại, các tính năng của cơ sở dữ liệu quan hệ có thể được xây dựng như sau:

    1. Dữ liệu được lưu trữ trong các bảng gồm các cột (“thuộc tính”, “trường”) và hàng (“bản ghi”);

    2. Tại giao điểm của mỗi cột và hàng có đúng một giá trị;

    3. Mỗi cột có tên riêng, dùng làm tên của nó và tất cả các giá trị trong một cột đều cùng loại.

    4. Truy vấn cơ sở dữ liệu trả về kết quả dưới dạng bảng, cũng có thể hoạt động như đối tượng truy vấn.

    5.Các hàng trong cơ sở dữ liệu quan hệ không có thứ tự - việc sắp xếp được thực hiện tại thời điểm phản hồi cho truy vấn được tạo.

    6.Thông thường thông tin trong cơ sở dữ liệu không được lưu trữ trong một bảng mà trong nhiều bảng có liên quan với nhau.

    Trong cơ sở dữ liệu quan hệ, một hàng của bảng được gọi là ghi âm, và cột là cánh đồng. Mỗi trường bảng có một tên.

    Lĩnh vực- đây là những đặc điểm khác nhau (đôi khi được gọi là thuộc tính) của một đối tượng. Giá trị trường trong một dòng đề cập đến một đối tượng.

    Khóa chính trong cơ sở dữ liệu, một trường (hoặc một tập hợp các trường) được gọi, giá trị của trường này không được lặp lại trong các bản ghi khác nhau.

    Mỗi trường có thêm một thuộc tính rất quan trọng liên quan đến nó: Loại lĩnh vực. Loại trường xác định tập hợp các giá trị mà một trường nhất định có thể đảm nhận trong các bản ghi khác nhau.

    Có bốn loại trường chính được sử dụng trong cơ sở dữ liệu quan hệ:

    Số;

    Tượng trưng;

    Hợp lý.

    25. Hệ thống quản lý cơ sở dữ liệu và nguyên tắc làm việc với chúng. Tìm kiếm, xóa và sắp xếp dữ liệu trong cơ sở dữ liệu. Điều kiện tìm kiếm (biểu thức logic); sắp xếp và sắp xếp các phím.

    Hệ thống quản lý cơ sở dữ liệu (DBMS).

    Để tạo cơ sở dữ liệu, cũng như thực hiện các hoạt động tìm kiếm và sắp xếp, các chương trình đặc biệt được sử dụng - hệ thống quản lý cơ sở dữ liệu (DBMS).

    Vì vậy, cần phân biệt giữa chính cơ sở dữ liệu (DB) - bộ dữ liệu được sắp xếp và hệ thống quản lý cơ sở dữ liệu (DBMS) - các chương trình quản lý việc lưu trữ và xử lý dữ liệu. Ví dụ: ứng dụng Access, có trong bộ ứng dụng văn phòng Microsoft Office, là một DBMS cho phép người dùng tạo và xử lý cơ sở dữ liệu dạng bảng.

    Cơ sở dữ liệu quan hệ về cơ bản là một bảng hai chiều. Bản ghi ở đây được hiểu là một hàng của một bảng hai chiều, các phần tử của nó tạo thành các cột của bảng. Tùy thuộc vào loại dữ liệu, các cột có thể là số, văn bản hoặc ngày. Các hàng của bảng được đánh số.

    Làm việc với DBMS bắt đầu bằng việc tạo cấu trúc cơ sở dữ liệu, tức là bằng việc xác định:

    số cột;

    tên cột;

    loại cột (văn bản/số/ngày);

    chiều rộng cột.

    Các chức năng chính của DBMS:

    Quản lý dữ liệu trong bộ nhớ ngoài (trên đĩa);

    Quản lý dữ liệu trong RAM;

    Ghi nhật ký các thay đổi và khôi phục cơ sở dữ liệu sau khi bị lỗi;

    Hỗ trợ các ngôn ngữ cơ sở dữ liệu (ngôn ngữ định nghĩa dữ liệu, ngôn ngữ thao tác dữ liệu).

    Trong các lệnh DBMS, điều kiện lựa chọn được viết dưới dạng biểu thức logic.

    Một biểu thức logic, giống như một biểu thức toán học, được thực thi (được đánh giá), nhưng kết quả không phải là một con số mà là một giá trị logic: đúng hoặc sai.

    Một biểu thức bao gồm một giá trị logic hoặc một quan hệ sẽ được gọi là biểu thức logic đơn giản.

    Thường có những vấn đề trong đó không sử dụng các điều kiện riêng lẻ mà là một tập hợp các điều kiện (quan hệ) liên kết với nhau. Ví dụ: bạn cần chọn những học sinh có cân nặng trên 60 và chiều cao dưới 168.

    Một biểu thức chứa các phép toán logic sẽ được gọi là biểu thức logic phức tạp.

    Việc kết hợp hai (hoặc nhiều) câu lệnh thành một câu bằng cách sử dụng liên từ “và” được gọi là phép toán nhân hoặc kết hợp logic.

    Là kết quả của phép nhân logic (kết hợp), có được sự thật nếu tất cả các biểu thức logic đều đúng.

    Việc kết hợp hai (hoặc nhiều) câu lệnh sử dụng liên từ “hoặc” được gọi là phép toán cộng hoặc tách logic.

    Là kết quả của phép cộng logic (phân tách), giá trị đúng sẽ đạt được nếu ít nhất một biểu thức logic là đúng.

    Việc gắn trợ từ “không” vào một câu phát biểu được gọi là phép toán phủ định hoặc đảo ngược logic.

    27. Bảng tính, mục đích và chức năng cơ bản.

    Bảng tính là một chương trình xử lý dữ liệu số, lưu trữ và xử lý dữ liệu trong các bảng hình chữ nhật.

    Một bảng tính bao gồm các cột và hàng. Tiêu đề cột được ký hiệu bằng các chữ cái hoặc tổ hợp các chữ cái (A, G, AB, v.v.), tiêu đề hàng được ký hiệu bằng số (1, 16, 278, v.v.). Một ô là giao điểm của một cột và một hàng.

    Mỗi ô của bảng có địa chỉ riêng. Địa chỉ ô của bảng tính được tạo thành từ tiêu đề cột và tiêu đề hàng, ví dụ: A1, F123, R1. Ô thực hiện một số hành động được đánh dấu bằng khung và được gọi là ô đang hoạt động.

    Loại dữ liệu. Bảng tính cho phép bạn làm việc với ba loại dữ liệu chính: số, văn bản và công thức.

    Các số trong bảng tính Excel có thể được viết ở dạng số thông thường hoặc dạng số mũ, ví dụ: 195.2 hoặc 1.952E + 02. Theo mặc định, các số được căn chỉnh về bên phải trong một ô. Điều này được giải thích là do khi xếp các số chồng lên nhau (trong một cột của bảng) sẽ thuận tiện căn chỉnh theo chữ số (đơn vị dưới đơn vị, hàng chục dưới hàng chục, v.v.).

    Công thức phải bắt đầu bằng dấu bằng và có thể bao gồm số, tên ô, hàm (Toán học, Thống kê, Tài chính, Ngày và Giờ, v.v.) và các ký hiệu toán học. Ví dụ: công thức “=A1+B2” cung cấp phép cộng các số được lưu trữ trong ô A1 và B2, đồng thời công thức “=A1*B” nhân số được lưu trữ trong ô A1 với 5. Khi bạn nhập công thức vào một ô , nó không phải là công thức được hiển thị mà là kết quả của các phép tính sử dụng công thức này. Nếu các giá trị ban đầu có trong công thức thay đổi, kết quả sẽ được tính lại ngay lập tức.

    Liên kết tuyệt đối và tương đối. Công thức sử dụng tham chiếu đến địa chỉ ô. Có hai loại liên kết chính: tương đối và tuyệt đối. Sự khác biệt giữa chúng xuất hiện khi bạn sao chép công thức từ ô hiện hoạt sang ô khác.

    Tham chiếu tương đối trong công thức được sử dụng để chỉ định địa chỉ ô được tính tương ứng với ô chứa công thức. Khi bạn di chuyển hoặc sao chép một công thức từ ô hiện hoạt, các tham chiếu tương đối sẽ tự động được cập nhật dựa trên vị trí mới của công thức. Liên kết tương đối có dạng: A1, BZ.

    Nếu ký hiệu đô la đứng trước một chữ cái (ví dụ: $A1), thì tọa độ cột là tuyệt đối và tọa độ hàng là tương đối. Nếu ký hiệu đô la ở phía trước một số (ví dụ: A$1), thì ngược lại, tọa độ cột là tương đối và tọa độ hàng là tuyệt đối. Các liên kết như vậy được gọi là hỗn hợp.

    Ví dụ: hãy viết công thức =A$1+$J31 trong ô C1, khi sao chép sang ô D2 sẽ có dạng =B$1+$B2. Liên kết tương đối thay đổi khi sao chép, nhưng liên kết tuyệt đối thì không.

    Sắp xếp và tìm kiếm dữ liệu. Bảng tính cho phép bạn sắp xếp dữ liệu. Dữ liệu trong bảng tính được sắp xếp theo thứ tự tăng dần hoặc giảm dần. Khi sắp xếp, dữ liệu được sắp xếp theo một thứ tự nhất định. Bạn có thể thực hiện các sắp xếp lồng nhau, tức là sắp xếp dữ liệu theo nhiều cột và chỉ định trình tự sắp xếp cho các cột.

    Trong bảng tính, bạn có thể tìm kiếm dữ liệu theo các điều kiện cụ thể - bộ lọc. Các bộ lọc được xác định bằng cách sử dụng các thuật ngữ tìm kiếm (lớn hơn, nhỏ hơn, bằng, v.v.) và các giá trị (100, 10, v.v.). Ví dụ: hơn 100. Kết quả của việc tìm kiếm sẽ tìm thấy những ô chứa dữ liệu phù hợp với bộ lọc đã chỉ định.

    Xây dựng biểu đồ và đồ thị. Bảng tính cho phép bạn trình bày dữ liệu số dưới dạng biểu đồ hoặc đồ thị. Biểu đồ có nhiều loại khác nhau (thanh, bánh, v.v.); Việc lựa chọn loại biểu đồ phụ thuộc vào bản chất của dữ liệu.

    28. Công nghệ xử lý thông tin trong bảng tính (ET). Cấu trúc bảng tính.

    Bảng tính là một chương trình xử lý dữ liệu số, lưu trữ và xử lý dữ liệu trong các bảng hình chữ nhật. Một bảng tính bao gồm các cột và hàng. Tiêu đề cột được ký hiệu bằng các chữ cái hoặc tổ hợp các chữ cái (A, G, AB, v.v.), tiêu đề hàng được ký hiệu bằng số (1, 16, 278, v.v.). Một ô là giao điểm của một cột và một hàng. Mỗi ô của bảng có địa chỉ riêng. Địa chỉ ô của bảng tính được tạo thành từ tiêu đề cột và tiêu đề hàng, ví dụ: Al, B5, E7. Ô thực hiện một số hành động được đánh dấu bằng khung và được gọi là ô đang hoạt động. Các bảng tính mà người dùng làm việc trong ứng dụng được gọi là bảng tính. Bạn có thể nhập và thay đổi dữ liệu trên nhiều trang tính cùng một lúc và thực hiện các phép tính dựa trên dữ liệu từ nhiều trang tính. Tài liệu bảng tính có thể bao gồm nhiều trang tính và được gọi là sổ làm việc.

    29. Các kiểu dữ liệu trong bảng tính (ET): số, công thức, văn bản. Quy tắc viết công thức.

    Loại dữ liệu.

    Bảng tính cho phép bạn làm việc với ba loại dữ liệu chính: số, văn bản và công thức.

    Các số trong bảng tính Excel có thể được viết ở định dạng số hoặc hàm mũ thông thường, ví dụ: 195,2 hoặc 1,952Ё + 02. Theo mặc định, các số được căn chỉnh về bên phải trong một ô. Điều này được giải thích là do khi xếp các số chồng lên nhau (trong một cột của bảng) sẽ thuận tiện căn chỉnh theo chữ số (đơn vị dưới đơn vị, hàng chục dưới hàng chục, v.v.).

    Văn bản trong bảng tính Excel là một dãy ký tự bao gồm chữ cái, số và dấu cách, ví dụ mục “32 MB” là văn bản. Theo mặc định, văn bản được căn trái trong một ô. Điều này là do cách viết truyền thống (từ trái sang phải).

    Công thức phải bắt đầu bằng dấu bằng và có thể bao gồm số, tên ô, hàm (Toán học, Thống kê, Tài chính, Ngày và Giờ, v.v.) và các ký hiệu của phép toán. Ví dụ: công thức “=A1+B2” cung cấp phép cộng các số được lưu trữ trong ô A1 và B2, đồng thời công thức “=A1*5” nhân số được lưu trữ trong ô A1 với 5. Khi bạn nhập công thức vào một ô , nó không phải là công thức được hiển thị mà là kết quả của các phép tính sử dụng công thức này. Nếu các giá trị ban đầu có trong công thức thay đổi, kết quả sẽ được tính lại ngay lập tức.

    Quy tắc viết công thức trong bảng tính

    1. Công thức chứa số, tên ô, dấu phép tính, dấu ngoặc đơn, tên hàm

    2. Các phép tính số học và dấu hiệu của chúng:

    Tên thao tác Ký hiệu Tổ hợp phím

    phép cộng + (Shift + +=)hoặc (+) trên bàn phím bổ sung

    phép trừ – (-)

    phép nhân * (Shift + 8) hoặc (*) trên bàn phím bổ sung

    phép chia / (Shift + | \) hoặc (/) trên bàn phím bổ sung

    lũy thừa ^ (Shift + 6) trong tiếng Anh

    3. Công thức được viết thành dòng, các ký hiệu lần lượt được xếp nối tiếp nhau, nhập đầy đủ các ký hiệu phép toán; dấu ngoặc đơn được sử dụng.

    4. Các phép toán trong ngoặc được thực hiện trước, nếu không có dấu ngoặc thì thứ tự thực hiện được xác định theo thứ tự ưu tiên của các phép toán. Theo thứ tự ưu tiên giảm dần, các thao tác được sắp xếp theo thứ tự sau:

    1. lũy thừa

    2. nhân, chia

    3. cộng, trừ

    Các thao tác có cùng mức độ ưu tiên được thực hiện theo thứ tự chúng được viết từ trái sang phải.

    5. Công thức có thể được nhập ở chế độ hiển thị tính toán, tức là. Người dùng bắt đầu viết công thức vào ô hiện tại bằng dấu = và sau khi nhấn phím Enter, kết quả tính toán sử dụng công thức sẽ được hiển thị trong ô.

    6. Công thức có thể được nhập ở chế độ hiển thị công thức, tức là. người dùng viết công thức vào ô hiện tại không có dấu = và công thức được hiển thị trong ô sau khi nhấn phím Enter.

    30. Các chức năng tích hợp cơ bản. Liên kết tuyệt đối và tương đối trong bảng tính (ET).

    Tham chiếu tương đối trong công thức được sử dụng để chỉ định địa chỉ ô được tính tương ứng với ô chứa công thức. Khi bạn di chuyển hoặc sao chép một công thức từ ô hiện hoạt, các tham chiếu tương đối sẽ tự động được cập nhật dựa trên vị trí mới của công thức. Liên kết tương đối có dạng: A1, ВЗ.

    Tham chiếu tuyệt đối trong công thức được dùng để chỉ định địa chỉ ô cố định. Khi bạn di chuyển hoặc sao chép một công thức, tham chiếu tuyệt đối không thay đổi. Trong tham chiếu tuyệt đối, giá trị địa chỉ ô bất biến được đặt trước ký hiệu đô la (ví dụ: $A$1).

    Nếu ký hiệu đô la đứng trước một chữ cái (ví dụ: $A1) thì tọa độ cột là tuyệt đối và tọa độ hàng là tương đối. Nếu ký hiệu đô la ở phía trước một số (ví dụ: A$1), thì ngược lại, tọa độ cột là tương đối và tọa độ hàng là tuyệt đối. Các liên kết như vậy được gọi là hỗn hợp. Ví dụ: hãy viết công thức =A$1+$B1 trong ô C1, khi sao chép sang ô D2 sẽ có dạng =B$1+$B2. Liên kết tương đối thay đổi khi sao chép, nhưng liên kết tuyệt đối thì không.

    3.2. Các kiểu dữ liệu đơn giản trong Turbo Pascal 7

    Một kiểu đơn giản định nghĩa một tập hợp các giá trị tham số theo thứ tự. Turbo Pascal có các nhóm kiểu đơn giản sau:

    • các kiểu số nguyên;
    • kiểu boolean;
    • loại ký tự;
    • kiểu liệt kê;
    • phạm vi loại;
    • các loại thực tế.

    Tất cả các kiểu đơn giản, ngoại trừ các kiểu thực, đều được gọi là kiểu thứ tự. Đối với số lượng thuộc loại thứ tự, các thủ tục và hàm tiêu chuẩn được xác định: Dec, Inc, Ord, Pred, Succ (xem phần 13.1).

    3.2.1. Kiểu số nguyên

    Không giống như Pascal định nghĩa một kiểu số nguyên duy nhất là Integer, Turbo Pascal có 5 kiểu số nguyên tiêu chuẩn: Shortint, Integer, Longint, Byte, Word. Đặc điểm của các loại này được đưa ra trong bảng. 2.

    Bảng 2. Kiểu dữ liệu số nguyên

    Kiểu Phạm vi Định dạng Kích thước tính bằng byte
    rút gọn -128 .. 127 Mang tính biểu tượng 1
    số nguyên -32768 .. 32767 Mang tính biểu tượng 2
    Longint -2147483648 .. 2147483647 Mang tính biểu tượng 4
    Byte 0 .. 255 Chưa ký 1
    Từ 0 .. 65535 Chưa ký 2

    3.2.2. kiểu Boolean

    Kiểu Boolean tiêu chuẩn (kích thước - 1 byte) là kiểu dữ liệu, bất kỳ phần tử nào trong đó chỉ có thể nhận hai giá trị: Đúng và Sai. Trong trường hợp này, các điều kiện sau là hợp lệ:
    Thứ tự sai (Sai) = 0
    Thứ tự (Đúng) = 1
    Thành công (Sai) = Đúng
    Dự đoán (Đúng) = Sai

    Turbo Pascal 7.0 đã thêm ba loại logic nữa ByteBool (kích thước - 1 byte), WordBool (kích thước - 2 byte) và LongBool (kích thước - 4 byte). Chúng được giới thiệu để thống nhất với các ngôn ngữ lập trình khác và với môi trường Windows. Điểm khác biệt của chúng so với kiểu Boolean tiêu chuẩn là giá trị thực của tham số thuộc kiểu này, tương ứng với giá trị True. Đối với tất cả các loại logic, giá trị Sai tương ứng với số 0, được viết bằng số byte tương ứng. Giá trị True cho loại Boolean tương ứng với số 1 được ghi trong byte của nó và đối với các loại khác, giá trị True tương ứng với bất kỳ số nào khác 0 (mặc dù hàm Ord trong trường hợp này cho giá trị 1).

    3.2.3. Loại ký tự

    Kiểu ký tự chuẩn Char xác định một bộ ký tự ASCII đầy đủ. Hàm Ord từ giá trị loại Char cung cấp mã của ký tự tương ứng. Giá trị của loại ký tự được so sánh theo mã của chúng.

    3.2.4. Kiểu liệt kê

    Kiểu liệt kê không phải là kiểu chuẩn và được xác định bởi một tập hợp các mã định danh mà các giá trị tham số có thể khớp. Danh sách các mã định danh được chỉ định trong dấu ngoặc đơn, các mã định danh được phân tách bằng dấu phẩy:

    kiểu
    = ();)

    Điều quan trọng là thứ tự các mã định danh được liệt kê khi xác định một loại, bởi vì mã định danh đầu tiên được gán số sê-ri 0, mã định danh thứ hai - 1, v.v. Có thể sử dụng cùng một mã định danh trong định nghĩa chỉ một loại được liệt kê. Hàm Ord từ một giá trị thuộc loại liệt kê sẽ đưa ra số thứ tự của giá trị của nó.

    Ví dụ. Kiểu liệt kê.

    gõ Toán tử = (Cộng, Trừ, Mult, Chia);

    Kiểu boolean là trường hợp đặc biệt của kiểu liệt kê:

    gõ Boolean = (Sai, Đúng);

    3.2.5. Phạm vi loại

    Trong bất kỳ loại thứ tự nào, bạn có thể chọn một tập hợp con các giá trị, được xác định bởi các giá trị tối thiểu và tối đa, bao gồm tất cả các giá trị của loại ban đầu nằm trong các ranh giới này, bao gồm cả chính các ranh giới đó. Tập hợp con này xác định một loại phạm vi. Loại phạm vi được chỉ định bằng cách chỉ định các giá trị tối thiểu và tối đa, cách nhau bằng hai dấu chấm:

    gõ = . . ;

    Giá trị tối thiểu khi xác định loại này không được lớn hơn giá trị tối đa.

    Ví dụ.Định nghĩa các loại phạm vi

    kiểu
    chục = 1,12; (các số từ 1 đến 12)
    AddSub = Plus..Minus; (các phép tính cộng và trừ)

    3.2.6. Các loại thực

    Không giống như tiêu chuẩn ngôn ngữ Pascal, trong đó chỉ có một loại thực Real được xác định, Turbo Pascal có năm loại thực tiêu chuẩn: Real, Single, Double, Extended, Comp. Để biết đặc điểm của các loại này, xem bảng. 3. Bảng 3. Các kiểu dữ liệu thực

    Kiểu Phạm vi Số lượng các số liệu có ý nghĩa Kích thước tính bằng byte
    Thực tế 2.9*10-39..1.7*1038 11-12 6
    Đơn 1.5*10-45..3.4*1038 7-8 4
    Gấp đôi 5.0*10-324.-1.7*10308 15-16 8
    Mở rộng 3.4*10-4932..1.1*104932 19-20 10
    Comp -263+1..263-1 19-20 8

    Loại Comp thực sự là một loại số nguyên có phạm vi mở rộng, nhưng không được coi là loại thứ tự.

    Các loại Đơn, Đôi, Mở rộng và Comp chỉ có thể được sử dụng trong các chương trình nếu có bộ đồng xử lý số học hoặc nếu trình mô phỏng bộ đồng xử lý được bật (xem đoạn 17.5.8 và 17.7.1).