Cách viết chương trình bằng abs pascal. Bạn có thể học được gì trong các lớp học trực tiếp tại Trường? Các kiểu dữ liệu trong Pascal

tái bản lần thứ 2. - St.Petersburg: 2011. - 320Với.

Cuốn sách này không phải là một cuốn sách giáo khoa mà là một trợ giúp giúp bạn nắm vững ngôn ngữ lập trình Pascal, ngôn ngữ mà tất cả học sinh được làm quen trong các bài học về khoa học máy tính. Nó bao gồm các bài học về những vấn đề thiết thực lập trình và giải quyết vấn đề. Nhiều ví dụ cho phép bạn hiểu rõ hơn cách phát triển thuật toán, viết chương trình riêng, định dạng văn bản của nó một cách chính xác. Những lời khuyên và ghi chú giúp người đọc chú ý đến những chi tiết quan trọng, tránh cạm bẫy và viết chương trình hiệu quả hơn. Sách được biên soạn bởi các giáo viên khoa học máy tính của trường có kinh nghiệm dày dặn nhiều năm công việc thực tế. Phiên bản thứ hai bổ sung thêm một số chương mới về bản ghi, biến động, ngăn xếp, hàng đợi và danh sách. Cũng được chiếu sáng là một trong những chủ đề khó trong lập trình - xây dựng thuật toán đệ quy.

Định dạng: pdf(2011, tái bản lần thứ 2, 320 trang)

Kích cỡ: 14,5 MB

Xem, tải về: docs.google.com

Nội dung
Lời nói đầu của ấn bản thứ hai 15
Giới thiệu 16
Từ nhà xuất bản 16
CHỦ ĐỀ 1. Cách viết một chương trình đơn giản trên Pascal 17
Bài học 1.1. Chúng tôi hiển thị thông báo trên màn hình hiển thị 18
Bài học 1.2. Cách cài đặt chương trình này trên máy tính 19
Các giai đoạn sáng tạo chương trình máy tính 20
Bài học 1.3. Định dạng văn bản trên màn hình 28
Kết luận 34
Câu hỏi kiểm tra 34
CHỦ ĐỀ 2. Cách kết hợp dữ liệu số vào công việc của bạn 36
Bài học 2.1. Hãy bắt đầu với một điều đơn giản: số nguyên 37
Khái niệm biến 38
Nhập số nguyên. Toán tử gán. Hiển thị 38
Các phép toán với kiểu Số nguyên 40
Các hàm tiêu chuẩn của loại Số nguyên 42
Cách biểu diễn các biến kiểu số nguyên
trong bộ nhớ máy tính 43
Bài học 2.2. Hãy để nó hoạt động số thực 45
Sự miêu tả loại thực dữ liệu (thực) 45
Các dạng ghi biến thực 46
Hoạt động vật liệu 46
Hàm tiêu chuẩn loại thực 47
Viết biểu thức toán học 48
Các biến kiểu thực được biểu diễn như thế nào trong bộ nhớ máy tính 50
Bài học 2.3. Cách kết hợp biến số nguyên và biến kiểu thực 51
Chuyển đổi loại 51
Quy tắc ưu tiên trong các hành động được thực hiện 52
Hành động trên dữ liệu các loại khác nhau 53
Bài học 2.4. Dữ liệu đầu vào và đầu ra 56
Nhập biến từ bàn phím 57
Màn hình đẹp 57
Đặt giá trị biến bằng cảm biến số ngẫu nhiên 61
Bài học 2.5. Tại sao cần có hằng số trong một chương trình? 62
Kết luận 64
Câu hỏi kiểm tra 64
CHỦ ĐỀ 3. Học cách làm việc với ký hiệu 66
Bài học 3.1. Làm thế nào máy tính hiểu được các ký hiệu 67
Mã số bảng ASCII 67
Mô tả loại Char và tính năng tiêu chuẩn 68
Bài học 3.2. Loại Char - loại thứ tự! 70
Kết luận 71
Câu hỏi kiểm tra 72
CHỦ ĐỀ 4. George Boole và logic của ông 73
Bài học 4.1. Cần thêm một loại nữa - hợp lý! 74
Kiểu dữ liệu Boolean 75
Các phép toán quan hệ 75
Boolean I/O 76
Bài học 4.2. Các phép toán logic (Boolean) 76
Phép nhân logic (kết hợp) 76
Phép cộng logic (phân tách) 77
Độc quyền HOẶC (phép cộng modulo 2) 77
Phủ định logic (đảo ngược) 78
Sử dụng các phép toán logic trong chương trình 78
Ưu tiên hoạt động logic 80
Kết luận 81
Câu hỏi kiểm tra 81
CHỦ ĐỀ 5. Phân tích thực trạng và trình tự thực hiện lệnh 82
Bài học 5.1. Kiểm tra điều kiện và phân nhánh trong Thuật toán 83
Dạng đầy đủ và một phần của câu lệnh if 84
Thiết kế chương trình 86
Bài học 5.2. Khối toán tử 88
Bài học 5.3. Phân nhánh theo một số điều kiện (báo cáo trường hợp) 92
Kết luận 96
Câu hỏi kiểm tra 96
CHỦ ĐỀ 6. Hành động lặp đi lặp lại 98
Bài học 6.1. Nhà điều hành vòng lặp for 99
Toán tử dành cho mức tăng tuần tự của bộ đếm 100 Toán tử dành cho mức giảm tuần tự của bộ đếm 101
Bài học 6.2. Sử dụng vòng lặp với bộ đếm 101
Chu kỳ trong một chu kỳ 102
Dấu vết 103
Tính tổng của chuỗi 105
Kết luận 108
Câu hỏi kiểm tra 109
CHỦ ĐỀ 7. Vòng lặp với điều kiện 110
Bài học 7.1. Vòng lặp với điều kiện trước 111
Mô tả vòng lặp với điều kiện tiên quyết 111
Tính gần đúng tổng của một chuỗi vô hạn 112
Nâng một số lên lũy thừa số nguyên đã chỉ định 115
Bài học 7.2. Vòng lặp với hậu điều kiện 119
Mô tả vòng lặp với điều kiện sau 120
Sử dụng vòng lặp lặp lại và while 120
Tính tương đối của sự lựa chọn câu lệnh while và lặp lại 123
Kết luận 129
Câu hỏi kiểm tra 129
CHỦ ĐỀ 8. Mảng - kiểu dữ liệu có cấu trúc 131
Bài học 8.1. Lưu trữ dữ liệu tương tự dưới dạng bảng 132
Các bước cơ bản làm việc với mảng 133
Mô tả mảng trong Pascal 133
Điền vào một mảng Số ngẫu nhiên và xuất mảng ra màn hình 134
Sự sáng tạo loại tùy chỉnh dữ liệu 137
Tìm kiếm phần tử tối đa mảng 140
Tính tổng và số phần tử mảng với thuộc tính cho trước 144
Bài học 8.2. Tìm kiếm trong mảng 148
Xác định sự hiện diện của phần tử âm trong mảng bằng cờ 148
Xác định sự có mặt của các phần tử âm trong mảng bằng cách tính số 149 của chúng
Tìm số phần tử âm của mảng 150
Bài học 8.3. Mảng hai chiều 154
Kết luận 156
Câu hỏi kiểm tra 157
CHỦ ĐỀ 9. Các thuật toán phụ trợ. Thủ tục và chức năng. Lập trình có cấu trúc 1 58
Bài học 9.1. Thiết kế thuật toán từ trên xuống 159
Vấn đề thực tế khi sử dụng thuật toán phụ trợ 160
Bài học 9.2. Ví dụ làm việc với hàm: Tìm phần tử lớn nhất 167
Kết luận 168
Câu hỏi kiểm tra 169
CHỦ ĐỀ 10. Cách làm việc với chuỗi ký tự 170
Bài học 10.1. Làm việc với chuỗi ký tự: gõ String 171
Mô tả biến chuỗi 171
Các thao tác cơ bản với 172 chuỗi
Bài học 10.2. Một số hàm và thủ tục Pascal làm việc với chuỗi 173
Sử dụng quy trình chuỗi thư viện 173
Kết luận 175
Câu hỏi kiểm tra 175
CHỦ ĐỀ 11. Thủ tục và hàm với tham số 176
Bài học 11.1. Ví dụ đơn giản sử dụng chương trình con với tham số 177
Các thủ tục đơn giản nhất với tham số 177
Các tham số hình thức và thực tế 179
Các hàm đơn giản nhất với tham số 179
Bài học 11.2. Các phương thức truyền tham số 181
Kết luận 183
Câu hỏi kiểm tra 184
CHỦ ĐỀ 12. Tệp: lưu kết quả công việc cho lần sau 185
Bài học 12.1. Cách làm việc với file văn bản 186
Mở file để đọc 186
Mở file để viết 188
Bài học 12.2. Sự bảo tồn mảng hai chiều số trong tập tin văn bản 192
Lưu dữ liệu số vào tệp văn bản 192
Lưu mảng số vào file văn bản 192
Thêm thông tin vào cuối file 196
Kết luận 197
Câu hỏi kiểm tra 197
Chủ đề 13. Phương thức hoạt động đồ họa. Mô-đun đồ thị 199
Bài học 13.1. Bật chế độ đồ họa hoạt động 200
Các tính năng làm việc với đồ họa 200
Chuyển sang chế độ đồ họa của bộ điều hợp video 201
Bài học 13.2. Chúng tôi tiếp tục khám phá các khả năng của mô-đun Graph 203
Vẽ đường bằng mô-đun Graph 203
Vẽ vòng tròn bằng mô-đun Graph 205
Kết luận 206
Câu hỏi kiểm tra 207
Chủ đề 14. Các toán tử làm thay đổi dòng chảy tự nhiên của chương trình 208
Bài học 14.1. Sử dụng toán tử nhảy vô điều kiện goto 210
Bài học 14.2. Các câu lệnh thay đổi luồng của vòng lặp 213
câu lệnh ngắt 213
Tiếp tục toán tử 214
Kết luận 215
Câu hỏi kiểm tra 215
Chủ đề 15. Phân nhóm dữ liệu: bản ghi 216
Bài học 15.1. Mô tả bản ghi kiểu dữ liệu 218
Bài học 15.2. Khi nào và làm thế nào để sử dụng 220 bản ghi một cách khôn ngoan
Sự sáng tạo loại riêng dữ liệu - bản ghi 220
Mảng bản ghi 220
Tham gia nhà điều hành với 221
Ví dụ lựa chọn cấu trúc dữ liệu 223
Hồ sơ hồ sơ 224
Kết luận 225
Câu hỏi và bài tập kiểm tra 225
Chủ đề 16. Biến động 226
Bài học 16.1. Cấp phát bộ nhớ 227
Bài học 16.2. Địa chỉ 229
Bài học 16.3. Dấu hiệu 230
Con trỏ tới các biến riêng lẻ 230
Con trỏ tới các khối biến 232
Bài học 16.4. Phân bổ bộ nhớ động 232
Mới và Vứt bỏ 233
Cấp phát bộ nhớ động cho mảng 235
GetMem và FreeMem 236
Truy cập các phần tử của mảng được tạo động 237
Mảng có độ dài thay đổi 238
Kết luận 241
Câu hỏi kiểm tra 242
Chủ đề 17. Cấu trúc động dữ liệu. Ngăn xếp 244
Bài học 17.1. Hãy mô tả kiểu dữ liệu 245
Bài học 17.2. Tạo ngăn xếp và các thao tác ngăn xếp cơ bản 247
Thêm một phần tử vào ngăn xếp (Push) 248
Lấy một phần tử ra khỏi ngăn xếp (Pop) 251
Kiểm tra ngăn xếp xem có trống không (StacklsEmpty) 252
Bài học 17.3. Sử dụng ngăn xếp 253
Lập trình ngăn xếp bằng mảng 255
Kết luận 256
Câu hỏi và bài tập kiểm tra 256
Chủ đề 18. Cấu trúc dữ liệu động. Hàng đợi 258
Bài học 18.1. Nguyên lý hoạt động và mô tả kiểu dữ liệu 259
Bài học 18.2. Hoạt động hàng đợi cơ bản 261
Thêm một phần tử vào hàng đợi (EnQueue) 261
Xóa một phần tử khỏi hàng đợi (DeQueue) 263
Kiểm tra hàng đợi trống (QueuelsEmpty) 264
Bài học 18.3. Sử dụng hàng đợi 264
Lập trình hàng đợi bằng mảng 267
Kết luận 269
Câu hỏi kiểm tra 269
Chủ đề 19. Cấu trúc dữ liệu động. Danh sách một chiều 270
Bài học 19.1. Mô tả kiểu dữ liệu và nguyên lý hoạt động 271
Bài học 19.2. Các thao tác cơ bản với danh sách một chiều 272
Xem tuần tự tất cả các thành phần danh sách 272
Đặt một phần tử vào danh sách 273
Xóa một phần tử khỏi danh sách 275
Bài học 19.3. Xử lý danh sách 276
Tính khả thi của việc sử dụng danh sách một chiều 278
Kết luận 280
Câu hỏi kiểm tra 280
Chủ đề 20. Đệ quy 281
Bài học 20.1. Mô tả nguyên lý 282
Bài học 20.2. Tháp Hà Nội 285
Bài học 20.3. Cấu trúc của chương trình con tuần hoàn 287
Bài học 20.4. Ví dụ về giải pháp lặp lại cho vấn đề không lặp lại 288
Bài học 20.5. Ví dụ về giải pháp tái diễn cho vấn đề tái diễn 289
Kết luận 291
Câu hỏi kiểm tra 291
Phụ lục 1. Các thành phần sơ đồ khối 292
Phụ lục 2. Bài toán 295
Số nguyên. Sự miêu tả. Đi vào. Phần kết luận. Hoạt động 296
Thực tế. Sự miêu tả. Đi vào. Phần kết luận. Hoạt động và chức năng 296
Thực tế. Viết và đánh giá biểu thức 297
Char. Sự miêu tả. Đi vào. Phần kết luận. Chức năng 298
Boolean. Viết biểu thức 298
Boolean. Đánh giá biểu thức 299
Nếu như. So sánh đơn giản. Tối thiểu/tối đa/trung bình 300
Nếu như. Phương trình và bất đẳng thức với 300 tham số
Vì. Chuyển 300
Vì. Tính toán với Bộ đếm vòng lặp 301
Vì. Quá mức cần thiết với sự so sánh 302
Trong khi-Lặp lại. Tìm kiếm 302
Trong khi-Lặp lại. Hàng 303
Nghệ thuật đồ họa. Thẳng 303
Nghệ thuật đồ họa. Vòng kết nối 304
Mảng. Điền, rút ​​tiền, số tiền/số lượng 305
Mảng. Hoán vị 305
Mảng. Tìm kiếm 306
Mảng. Kiểm tra 307
Mảng. Tối đa 307
Chương trình con không có tham số 307
Dòng. Phần I 308
Dòng. Phần II 309
Các chương trình con có tham số. Phần I 309
Các chương trình con có tham số. Phần II 310
Các chương trình con có tham số. Phần III 310
Tệp 311
Danh sách một chiều 312
Đệ quy 313

Sau khi phát hành ấn bản đầu tiên của cuốn sách, các đồng nghiệp và sinh viên của chúng tôi bắt đầu liên hệ với chúng tôi nhiều hơn với yêu cầu bổ sung thông tin cho ấn bản đầu tiên về các cấu trúc dữ liệu được nghiên cứu và yêu cầu nhiều nhất. Trong ấn bản này, chúng tôi đã bổ sung thêm một số chương về bản ghi, biến động, ngăn xếp, hàng đợi và danh sách. Chúng tôi cũng cố gắng đề cập đến một trong những chủ đề khó nhất trong lập trình - xây dựng thuật toán đệ quy.
Trong ứng dụng, chúng tôi quyết định từ bỏ bộ sưu tập bài tập về nhà với nhiều lựa chọn về một số chủ đề. Thay vào đó, chúng tôi đưa một số lượng lớn vào ứng dụng bài tập chuyên đề, được tổ chức theo khối 5-8 nhiệm vụ. Các nhiệm vụ trong mỗi khối được sắp xếp từ đơn giản đến phức tạp. Chúng tôi sử dụng chúng trong các bài học để tổ chức. lớp học thực hành khi củng cố kiến ​​thức lý thuyết (một bài - một khối).
Các tác giả bày tỏ lòng biết ơn sâu sắc nhất tới một trong những sinh viên xuất sắc nhất của họ, Phó Giáo sư Bộ môn An ninh hệ thông thông tin SPbSUAP, Tiến sĩ. Evgeny Mikhailovich Linsky đã hỗ trợ, rất nhiều lời khuyên hữu ích và giúp đỡ rất nhiều trong quá trình thực hiện ấn bản thứ hai của cuốn sách.

Trong bài viết này tôi sẽ cho bạn biết về các nguyên tắc cơ bản khi làm việc với ngôn ngữ. Pascal. Thông tin được đăng ở đây rất đơn giản và dễ hiểu đối với những người mới lập trình. Sau khi nghiên cứu bài viết này, bạn sẽ có kiến ​​thức cơ bản về Pascal và quá trình tiếp theo việc học sẽ dễ dàng hơn rất nhiều.

Pascal- một trong những thứ nhất ngôn ngữ đã biết lập trình. Được tạo ra vào năm 1968 - 1969 bởi nhà khoa học người Thụy Sĩ Niklaus Wirth, nó được đặt theo tên của nhà toán học và vật lý người Pháp Blaise Pascal, và được sử dụng để dạy lập trình cho đến ngày nay.

1. Chuẩn bị đi làm

Vì vậy, bạn quyết định học cách lập trình và bắt đầu với ngôn ngữ phù hợp nhất cho việc này - Pascal. Để bắt đầu, bạn phải mua (tải xuống) một trình biên dịch.

Chính xác thì đây là gì "trình biên dịch"? Cái này chương trình đặc biệt, đọc mã chương trình và sau đó dịch nó sang ngôn ngữ mã máy. Về bản chất, tất cả các ngôn ngữ lập trình đều là một cách “giao tiếp” với máy tính và trình biên dịch giúp dịch “lời nói” của chúng ta thành thứ mà nó hiểu được.

Có nhiều trình biên dịch dành cho Pascal, nổi tiếng nhất trong số đó: Pascal ABC, Pascal miễn phí, Pascal ABC.NET, Turbo Pascal. Tất cả các chương trình này đều tốt theo cách riêng của chúng, nhưng đối với cá nhân tôi (tác giả), Pascal ABC (hoặc Pascal ABC.NET) rất tiện lợi vì nó có rất nhiều ưu điểm. giao diện thân thiện với người dùng, trợ giúp chi tiết và thậm chí cả tập hợp các vấn đề được chuẩn bị đặc biệt cho người mới bắt đầu.

2. Bắt đầu

Chà, cửa sổ trình biên dịch đang mở trước mặt chúng ta. Một tờ giấy sạch, màu trắng (hoặc xanh?). Đây là nơi các chương trình đầu tiên của chúng tôi sẽ ra đời. Trước khi bắt đầu công việc, bạn nên nhớ rằng ngôn ngữ Pascal là sự kết hợp của ba thành phần: bảng chữ cái, cú pháp (quy tắc viết đối tượng ngôn ngữ) và ngữ nghĩa (quy tắc sử dụng các đối tượng này).
Bảng chữ cái Pascal bao gồm:
  1. Chữ hoa và chữ viết thường Chữ Latinh: A...Z, a...z;
  2. Chữ số: 0...9;
  3. Ký tự đặc biệt: + - */ =< >.,:; ‘ # () ( ) và sự kết hợp của chúng: “>=” “
Nhiệm vụ của cú pháp và ngữ nghĩa là viết chính xác một phần của chương trình và soạn thảo chính xác cấu trúc của nó, nếu không chương trình của chúng ta sẽ hoạt động không chính xác (hoặc hoàn toàn không hoạt động!).
Có lẽ bạn rất nóng lòng muốn đến phần thú vị nhất, vì vậy bây giờ chúng tôi sẽ thử viết chương trình đầu tiên của bạn.

Cấu trúc chương trình trông như thế này:

Chương trình "tên chương trình"; - tên chương trình;
(Lưu ý: cuối dòng có dấu chấm phẩy, không phải tất cả mà là hầu hết)
Công dụng (tên thư viện); các thư viện cung cấp Tính năng bổ sung khi tạo chương trình;
Nhãn(tên nhãn); ở đây, nếu cần, các nhãn được viết cho phép bạn truy cập Những nơi khác nhau các chương trình (sẽ nói thêm về chúng sau);
Const ở đây chúng ta chỉ ra các biến có giá trị không đổi, ví dụ p=3,14;
Var ở đây chúng tôi liệt kê tất cả các biến được phân tách bằng dấu phẩy, sau đó cho biết loại dữ liệu (Ví dụ: Var: K, L, M: số nguyên; N, O: real; (nếu có nhiều loại));
Bắt đầu (không có dấu chấm phẩy ở đây)
Tiếp theo là khối chính của chương trình;
kết thúc. – kết thúc chương trình (cần có dấu chấm sau “kết thúc”, trừ khi đây là phần cuối của chương trình chứ không phải dấu ngoặc toán tử).

3. Tạo các chương trình đầu tiên

Bây giờ bạn đã quen với cấu trúc cơ bản của chương trình. Cần lưu ý rằng trong số các phần trên, chỉ có “Var”, “Bắt đầu” và “kết thúc” là bắt buộc, trong khi các phần còn lại có thể được sử dụng nếu được yêu cầu trong quá trình thực hiện nhiệm vụ.

Mở cửa sổ trình biên dịch của bạn và nhập các dòng sau:

Chương trình Chương trình1;
bắt đầu
kết thúc.

Nhấp vào nút "Chạy". Chẳng có gì xảy ra? Đúng rồi, vì chương trình của chúng ta “trống” nên chúng ta không chỉ rõ nó phải làm gì nên không có gì xảy ra. Thông thường, nguyên lý hoạt động của một chương trình viết bằng Pascal bao gồm ba giai đoạn: nhập dữ liệu – xử lý dữ liệu – xuất dữ liệu. Bây giờ chúng ta hãy làm quen với toán tử "ghi". Nó chỉ phục vụ cho việc xuất dữ liệu mà không cần chuyển sang dòng mới. Hãy thử áp dụng nó, từ đó làm cho chương trình của chúng ta phức tạp và thú vị hơn một chút:

Chương trình Chương trình1;
bắt đầu
write(" Pascal ");
kết thúc.

Trên thực tế, đây là cách nó được sử dụng. Giữa các dấu nháy đơn, chúng ta có thể nhập bất kỳ văn bản nào, trên bất kỳ bố cục nào và sau khi thực hiện chương trình, nó sẽ xuất hiện trong cửa sổ đầu ra (hoặc trong dòng lệnh, tùy thuộc vào trình biên dịch bạn có). TRONG trong trường hợp này, từ "Pascal" sẽ xuất hiện.

3.1. Các toán tử viết, writeln, read, readln
Bây giờ hãy nói về việc nhập dữ liệu. Chúng ta đã thấy toán tử ghi nhưng cũng có những toán tử khác. Ví dụ: Writeln được sử dụng để xuất dữ liệu bằng dòng mới. Để làm gì? Vâng, ví dụ, để gán một giá trị cho một biến nào đó:

Chương trình Chương trình1;
var A: số nguyên;
bắt đầu
writeln("A="); đọc một); (nhập một giá trị và “gắn” nó vào biến A)
viết(A); (Xuất giá trị của biến A)
kết thúc.

Như bạn có thể thấy, tôi đã mô tả ngắn gọn từng hành động trong dấu ngoặc nhọn. Điều này được gọi là một bình luận. Trong tương lai tôi cũng sẽ sử dụng chúng để giải thích.
Trong ví dụ này, để gán cho biến giá trị, nhập từ bàn phím được sử dụng toán tử đọc. Chúng ta thấy rằng khi được thực thi, nó đọc chuỗi thành biến A. Và toán tử còn lại, readln, hoạt động khác. Sử dụng nó chúng ta có thể nhập ngay dòng mong muốn, và nó sẽ được đọc vào biến:

Chương trình Chương trình1;
var A: số nguyên;
bắt đầu
readln(A);
write("A=", A); (dòng sẽ có dạng như sau: “A = “đã nhập giá trị A” `)
kết thúc.

Bây giờ bạn đã biết một chút về việc nhập dữ liệu, hãy nói về dữ liệu có thể là gì và cách xử lý dữ liệu đó.

3.2. Các kiểu dữ liệu trong Pascal
Khi bạn đang đọc bài viết này, có thể bạn đã gặp một số nguyên mà đôi khi bạn không hiểu. Sau khi nghiên cứu kỹ cấu trúc cơ bản của chương trình, chắc hẳn bạn đã nhận ra đây là một kiểu dữ liệu. Nhưng cái đó nghĩa là gì? Chúng ta hãy xem xét kỹ hơn về điều này.

Dữ liệu nguồn được nhập từ bàn phím hoặc đọc từ tệp, được đặt trong các biến và lần lượt chúng được lưu trữ trong bộ nhớ truy cập tạm thời. Kiểu dữ liệu xác định loại dữ liệu nào có thể được lưu trữ và nó sẽ chiếm bao nhiêu RAM. Các kiểu dữ liệu là số nguyên và số thực.

Kiểu dữ liệu số nguyên (đối với số nguyên):
- byte
Dung lượng lưu trữ cho các giá trị thuộc loại này là 1 byte. Phạm vi giá trị cho thuộc loại này: 0 đến 255.
- từ
Các giá trị thuộc loại này đã chiếm 2 byte bộ nhớ và phạm vi giá trị đã lớn hơn: từ 0 đến 65535.
- số nguyên (đã quen thuộc với chúng ta)
Các giá trị cũng chiếm 2 byte bộ nhớ, phạm vi có cùng kích thước nhưng bao gồm số âm: -32786…32787.
-LongInt
Lượng bộ nhớ bị chiếm bởi một giá trị loại là 4 byte. Phạm vi giá trị hoàn toàn tương ứng với tên của kiểu dữ liệu: từ -2147483648 đến 2147483647
-ShortInt
Giá trị loại tiêu tốn 1 byte bộ nhớ, phạm vi tương đối nhỏ: -128…127.

Các kiểu dữ liệu thực (đối với các số có phần phân đoạn):
- Thực tế
Bị chiếm bởi một giá trị loại – 6 byte. Số chữ số có nghĩa là 11-12. (những con số quan trọng là con số chính xác, I E. không làm tròn). Phạm vi giá trị loại: từ 2,9*10-39 đến 1,7*1038.
-Gấp đôi
Kích thước giá trị loại là 8 byte. Số chữ số có nghĩa là 15-16. Phạm vi: 5.0*10324…1.7*10308.
-Mở rộng
Chiếm 10 byte. Số chữ số có nghĩa là 19-20. Phạm vi: 3,4*10-4932…1,1*104932.
Ngoài những loại này, còn có kiểu dữ liệu ký tự (char) và thậm chí cả kiểu dữ liệu logic (boolean), các biến trong đó chỉ có thể lấy giá trị đúng hoặc sai.

Vì vậy, chúng ta đã học được rất nhiều về đầu vào và đầu ra dữ liệu. Bây giờ hãy chuyển sang phần khó nhất - xử lý dữ liệu.

3.3. Xử lí dữ liệu. Các hoạt động toán học. Điều kiện. Các hoạt động logic.
Chúng ta đã học cách nhập dữ liệu vào chương trình, bây giờ chúng ta hãy thử tìm hiểu cách xử lý dữ liệu đó. Điều đầu tiên và quan trọng nhất sẽ hữu ích cho chúng ta trong vấn đề này là toán tử gán. Nó được biểu thị như sau: “:=”, và được sử dụng để gán giá trị cho một biến. Ví dụ: A:=1,5; B:=2+A. Bây giờ chúng ta đã quen với toán tử gán, chúng ta có thể xem xét các phép toán của Pascal:
  1. Phép cộng (+);
  2. Phép trừ (-);
  3. Phép nhân (*);
  4. Phân công(/);
  5. Phép chia số nguyên (div) – trả về phần nguyên của phép chia (Ví dụ: 10 div 3 = 3);
  6. Phần dư của phép chia (mod) – chỉ trả về phần dư của phép chia (Ví dụ: 5 mod 2 = 1);
Ngoài các thao tác trên, còn có các thao tác và hàm sau để làm việc với số:

Abs(x) – trả về mô đun của x;
sin(x) – sin của góc x (tính bằng radian);
cos(x) – cosin của góc x (tính bằng radian);
int(x) – trả về phần nguyên của x;
ngẫu nhiên(số) – số ngẫu nhiên từ 0 đến một số nhất định;
sqr(x) – hình vuông x;
sqrt(x) – Căn bậc hai x;
inc(x) – tăng x lên 1;
dec(x) – giảm x đi 1.

Điều kiện
Các điều kiện trong Pascal đóng vai trò rất quan trọng, đặc biệt nếu thuật toán thực thi chương trình được phân nhánh. Điều kiện được xây dựng như sau:

Nếu (điều kiện 1) thì (hành động 1 - chính) khác (hành động 2 - thay thế)
(nếu – nếu, thì – thì, khác – ngược lại)

Khi xây dựng các điều kiện, hãy sử dụng các phép toán logic and, not, or, xor:

Và là toán hạng kết hợp nhiều điều kiện thành một. Hành động sẽ chỉ được thực hiện nếu tất cả các điều kiện được liệt kê là đúng.
Điều kiện chương trình;
var a: số nguyên;
bắt đầu
readln(a);
nếu (2*2=4) và (3+2=5) thì a:=a+1 nếu không thì a:=a-1;
viết(a);
kết thúc.

Trong ví dụ này, chúng ta thấy rằng tất cả các điều kiện được liệt kê đều đúng, do đó chỉ có hành động đầu tiên, trải qua hơn, được thực hiện. Nếu ít nhất một điều kiện không đúng thì hành động thứ hai sẽ được thực thi.

Not – một hành động logic với điều kiện từ một phần. Nếu điều kiện sai thì hành động chính (đầu tiên) sẽ được thực hiện, nếu đúng thì hành động thay thế (thứ hai).

Điều kiện chương trình;
var b: số nguyên;
bắt đầu
đọcln(b);
nếu không phải 5=4 thì b:=b+1 nếu không thì b:=b-1;
viết(b);
kết thúc.

Điều kiện 5=4 sai nên hành động đầu tiên sẽ được thực hiện.

Or (hoặc) là toán tử logic cho điều kiện có nhiều phần. Hành động chính sẽ được thực hiện nếu có ít nhất một điều kiện đúng.
Điều kiện chương trình;
var d: số nguyên;
bắt đầu
đọcln(d);
nếu (5=4+1) hoặc (5=4) thì d:=d+1 nếu không thì d:=d-1;
viết(đ);
kết thúc.

Một trong các điều kiện là đúng nên chương trình sẽ đi đến hành động chính. Điều tương tự sẽ xảy ra lần nữa nếu tất cả các điều kiện đều đúng. Nếu cả hai điều kiện đều không đúng thì một hành động thay thế sẽ được thực hiện.

Xor – Với toán tử này, hành động chính được thực hiện nếu chỉ có một điều kiện đúng. Nếu có nhiều hơn một điều kiện đúng hoặc không có điều kiện nào đúng thì một hành động thay thế sẽ được thực hiện.

Điều kiện chương trình;
var n: số nguyên;
bắt đầu
đọcln(n);
nếu (6=4) xor (3=5-2) thì n:=n+1 ngược lại n:=n-1;
viết(n);
kết thúc.

(Lưu ý: Đừng quên rằng mức độ ưu tiên của các phép toán logic cao hơn các phép toán, do đó, nếu một số phép toán kết hợp với các phép toán khác thì nên tách các phép toán bằng dấu ngoặc để không xảy ra lỗi trong quá trình thực thi chương trình.)

Bây giờ chúng ta đã quen với những điều cơ bản về xử lý dữ liệu. Vẫn còn phải nói về một số thủ tục bổ sung và các chức năng quản lý chương trình, những chức năng này sẽ hữu ích nhiều lần trong quá trình đào tạo thêm về Pascal của bạn.

3.4. Thủ tục và chức năng quản lý chương trình
Hãy nói về nhãn hiệu được đề cập trước đó. Quy trình này rất dễ sử dụng và cho phép, nếu cần, đi đến bất kỳ phần nào của chương trình, “bỏ qua” một trong các phần sau hoặc ngược lại, quay lại phần trước. Đăng ký nhãn rất đơn giản: đầu tiên chúng ta mô tả nhãn trong phần nhãn (xem đoạn 3. Bắt đầu. Cấu trúc chương trình), sau đó chỉ định vị trí chuyển tiếp và toán tử mong muốn được đánh dấu bằng nhãn.

Dấu chương trình;
nhãn 1,2;
var A, B: số nguyên;
bắt đầu
readln(A);
2: nếu A=5 thì đạt 1; (2: - hành động sau khi di chuyển đến nhãn tương ứng,)
Đ:=A+1; (goto - đi tới nhãn)
đi tới 2;
1: viết(A);
kết thúc.

TRÊN trong ví dụ này, chương trình sẽ tăng số đã nhập thêm 1 cho đến khi nó bằng năm. Ở đây chúng ta có thể theo dõi tác dụng của nhãn hiệu.

Độ trễ (thời gian) – dừng chương trình với độ trễ, thời gian trong dấu ngoặc kép được biểu thị bằng mili giây.
Readkey – dừng chương trình trước khi nhấn phím, giá trị của hàm là mã của phím được nhấn.
Thoát - hoàn thành sớm thủ tục.
Cần lưu ý để delay, readkey, exit hoạt động thì phải kết nối module crt (dùng crt).

Đồng thời xem video: Pascal từ đầu - chương trình đầu tiên.

4. Kết luận

Sau khi đọc bài viết này, bạn đã có được kiến ​​thức cơ bản về ngôn ngữ lập trình Pascal. Các khái niệm và nguyên tắc cơ bản khi làm việc với ngôn ngữ này đã được trình bày ở đây dưới dạng công thức dễ hiểu và dễ tiếp cận. Bây giờ vấn đề nằm trong tay bạn. Nếu bạn sử dụng thông tin này một cách chính xác và tiếp tục tìm hiểu ngôn ngữ Pascal, bạn sẽ sớm có thể thành thạo nó một cách hoàn hảo.

Khi hiểu nguyên tắc làm việc với Pascal, bạn sẽ có thể nghiên cứu các ngôn ngữ lập trình khác và trong tương lai sẽ viết được nhiều chương trình “nghiêm túc” hơn những chương trình bạn đã gặp khi nghiên cứu bài viết này. Hãy tiếp tục học hỏi! Chúc may mắn!

tái bản lần thứ 2. - St.Petersburg: 2011. - 320Với.

Cuốn sách này không phải là một cuốn sách giáo khoa mà là một trợ giúp giúp bạn nắm vững ngôn ngữ lập trình Pascal, ngôn ngữ mà tất cả học sinh được làm quen trong các bài học về khoa học máy tính. Nó bao gồm các bài học dành cho các vấn đề lập trình và giải quyết vấn đề thực tế. Nhiều ví dụ cho phép bạn hiểu rõ hơn cách phát triển thuật toán, viết chương trình của riêng bạn và định dạng chính xác văn bản của nó. Các mẹo và ghi chú giúp người đọc chú ý đến các chi tiết quan trọng, cho phép bạn tránh những sai sót và viết chương trình hiệu quả hơn. Cuốn sách được biên soạn bởi các giáo viên khoa học máy tính của trường, những người có bề dày kinh nghiệm nhiều năm làm việc thực tế. Phiên bản thứ hai bổ sung thêm một số chương mới về bản ghi, biến động, ngăn xếp, hàng đợi và danh sách. Một trong những chủ đề khó nhất trong lập trình cũng được đề cập đến - việc xây dựng các thuật toán đệ quy.

Định dạng: pdf(2011, tái bản lần thứ 2, 320 trang)

Kích cỡ: 14,5 MB

Xem, tải về: docs.google.com

Nội dung
Lời nói đầu của ấn bản thứ hai 15
Giới thiệu 16
Từ nhà xuất bản 16
CHỦ ĐỀ 1. Cách viết chương trình đơn giản trong Pascal 17
Bài học 1.1. Chúng tôi hiển thị thông báo trên màn hình hiển thị 18
Bài học 1.2. Cách cài đặt chương trình này trên máy tính 19
Các giai đoạn tạo chương trình máy tính 20
Bài học 1.3. Định dạng văn bản trên màn hình 28
Kết luận 34
Câu hỏi kiểm tra 34
CHỦ ĐỀ 2. Cách kết hợp dữ liệu số vào công việc của bạn 36
Bài học 2.1. Hãy bắt đầu với một điều đơn giản: số nguyên 37
Khái niệm biến 38
Nhập số nguyên. Toán tử gán. Hiển thị 38
Các phép toán với kiểu Số nguyên 40
Các hàm tiêu chuẩn của loại Số nguyên 42
Cách biểu diễn các biến kiểu số nguyên
trong bộ nhớ máy tính 43
Bài học 2.2. Chúng tôi đưa số thực 45 vào tác phẩm
Mô tả kiểu dữ liệu thực (real) 45
Các dạng ghi biến thực 46
Hoạt động vật liệu 46
Hàm tiêu chuẩn loại thực 47
Viết biểu thức toán học 48
Các biến kiểu thực được biểu diễn như thế nào trong bộ nhớ máy tính 50
Bài học 2.3. Cách kết hợp biến số nguyên và biến kiểu thực 51
Chuyển đổi loại 51
Quy tắc ưu tiên trong các hành động được thực hiện 52
Các hành động trên dữ liệu thuộc các loại khác nhau 53
Bài học 2.4. Dữ liệu đầu vào và đầu ra 56
Nhập biến từ bàn phím 57
Màn hình đẹp 57
Đặt giá trị biến bằng cảm biến số ngẫu nhiên 61
Bài học 2.5. Tại sao cần có hằng số trong một chương trình? 62
Kết luận 64
Câu hỏi kiểm tra 64
CHỦ ĐỀ 3. Học cách làm việc với ký hiệu 66
Bài học 3.1. Làm thế nào máy tính hiểu được các ký hiệu 67
Bảng mã ASCII 67
Mô tả loại Char và các chức năng tiêu chuẩn 68
Bài học 3.2. Loại Char là loại thứ tự! 70
Kết luận 71
Câu hỏi kiểm tra 72
CHỦ ĐỀ 4. George Boole và logic của ông 73
Bài học 4.1. Cần thêm một loại nữa - hợp lý! 74
Kiểu dữ liệu Boolean 75
Các phép toán quan hệ 75
Boolean I/O 76
Bài học 4.2. Các phép toán logic (Boolean) 76
Phép nhân logic (kết hợp) 76
Phép cộng logic (phân tách) 77
Độc quyền HOẶC (phép cộng modulo 2) 77
Phủ định logic (đảo ngược) 78
Sử dụng các phép toán logic trong chương trình 78
Ưu tiên hoạt động logic 80
Kết luận 81
Câu hỏi kiểm tra 81
CHỦ ĐỀ 5. Phân tích thực trạng và trình tự thực hiện lệnh 82
Bài học 5.1. Kiểm tra điều kiện và phân nhánh trong Thuật toán 83
Dạng đầy đủ và một phần của câu lệnh if 84
Thiết kế chương trình 86
Bài học 5.2. Khối toán tử 88
Bài học 5.3. Phân nhánh theo một số điều kiện (báo cáo trường hợp) 92
Kết luận 96
Câu hỏi kiểm tra 96
CHỦ ĐỀ 6. Hành động lặp đi lặp lại 98
Bài học 6.1. Câu lệnh vòng lặp cho 99
Toán tử dành cho mức tăng tuần tự của bộ đếm 100 Toán tử dành cho mức giảm tuần tự của bộ đếm 101
Bài học 6.2. Sử dụng vòng lặp với bộ đếm 101
Chu kỳ trong một chu kỳ 102
Dấu vết 103
Tính tổng của chuỗi 105
Kết luận 108
Câu hỏi kiểm tra 109
CHỦ ĐỀ 7. Vòng lặp với điều kiện 110
Bài học 7.1. Vòng lặp với điều kiện trước 111
Mô tả vòng lặp với điều kiện tiên quyết 111
Tính gần đúng tổng của một chuỗi vô hạn 112
Nâng một số lên lũy thừa số nguyên đã chỉ định 115
Bài học 7.2. Vòng lặp với hậu điều kiện 119
Mô tả vòng lặp với điều kiện sau 120
Sử dụng vòng lặp lặp lại và while 120
Tính tương đối của việc lựa chọn toán tử while và lặp lại 123
Kết luận 129
Câu hỏi kiểm tra 129
CHỦ ĐỀ 8. Mảng - kiểu dữ liệu có cấu trúc 131
Bài học 8.1. Lưu trữ dữ liệu tương tự dưới dạng bảng 132
Các bước cơ bản làm việc với mảng 133
Mô tả mảng trong Pascal 133
Điền số ngẫu nhiên vào mảng và hiển thị mảng đó ra màn hình 134
Tạo kiểu dữ liệu tùy chỉnh 137
Tìm phần tử mảng lớn nhất 140
Tính tổng và số phần tử mảng với thuộc tính cho trước 144
Bài học 8.2. Tìm kiếm trong mảng 148
Xác định sự hiện diện của phần tử âm trong mảng bằng cờ 148
Xác định sự có mặt của các phần tử âm trong mảng bằng cách tính số 149 của chúng
Tìm số phần tử âm của mảng 150
Bài học 8.3. Mảng hai chiều 154
Kết luận 156
Câu hỏi kiểm tra 157
CHỦ ĐỀ 9. Các thuật toán phụ trợ. Thủ tục và chức năng. Lập trình có cấu trúc 1 58
Bài học 9.1. Thiết kế thuật toán từ trên xuống 159
Bài toán thực hành sử dụng thuật toán phụ trợ 160
Bài học 9.2. Ví dụ làm việc với hàm: Tìm phần tử lớn nhất 167
Kết luận 168
Câu hỏi kiểm tra 169
CHỦ ĐỀ 10. Cách làm việc với chuỗi ký tự 170
Bài học 10.1. Làm việc với chuỗi ký tự: gõ String 171
Mô tả biến chuỗi 171
Các thao tác cơ bản với 172 chuỗi
Bài học 10.2. Một số hàm và thủ tục Pascal làm việc với chuỗi 173
Sử dụng quy trình chuỗi thư viện 173
Kết luận 175
Câu hỏi kiểm tra 175
CHỦ ĐỀ 11. Thủ tục và hàm với tham số 176
Bài học 11.1. Ví dụ đơn giản về sử dụng chương trình con với tham số 177
Các thủ tục đơn giản nhất với tham số 177
Các tham số hình thức và thực tế 179
Các hàm đơn giản nhất với tham số 179
Bài học 11.2. Các phương thức truyền tham số 181
Kết luận 183
Câu hỏi kiểm tra 184
CHỦ ĐỀ 12. Tệp: lưu kết quả công việc cho lần sau 185
Bài học 12.1. Cách làm việc với file văn bản 186
Mở file để đọc 186
Mở file để viết 188
Bài học 12.2. Lưu mảng số hai chiều vào tệp văn bản 192
Lưu dữ liệu số vào tệp văn bản 192
Lưu mảng số vào file văn bản 192
Thêm thông tin vào cuối file 196
Kết luận 197
Câu hỏi kiểm tra 197
Chủ đề 13. Phương thức hoạt động đồ họa. Mô-đun đồ thị 199
Bài học 13.1. Kích hoạt chế độ đồ họa 200
Các tính năng làm việc với đồ họa 200
Chuyển sang chế độ đồ họa của bộ điều hợp video 201
Bài học 13.2. Chúng tôi tiếp tục khám phá các khả năng của mô-đun Graph 203
Vẽ đường bằng mô-đun Graph 203
Vẽ vòng tròn bằng mô-đun Graph 205
Kết luận 206
Câu hỏi kiểm tra 207
Chủ đề 14. Các toán tử làm thay đổi dòng chảy tự nhiên của chương trình 208
Bài học 14.1. Sử dụng toán tử nhảy vô điều kiện goto 210
Bài học 14.2. Các câu lệnh thay đổi luồng của vòng lặp 213
câu lệnh ngắt 213
Tiếp tục toán tử 214
Kết luận 215
Câu hỏi kiểm tra 215
Chủ đề 15. Phân nhóm dữ liệu: bản ghi 216
Bài học 15.1. Mô tả bản ghi kiểu dữ liệu 218
Bài học 15.2. Khi nào và làm thế nào để sử dụng 220 bản ghi một cách khôn ngoan
Tạo kiểu dữ liệu của riêng bạn - mục 220
Mảng bản ghi 220
Tham gia nhà điều hành với 221
Ví dụ lựa chọn cấu trúc dữ liệu 223
Hồ sơ hồ sơ 224
Kết luận 225
Câu hỏi và bài tập kiểm tra 225
Chủ đề 16. Biến động 226
Bài học 16.1. Cấp phát bộ nhớ 227
Bài học 16.2. Địa chỉ 229
Bài học 16.3. Dấu hiệu 230
Con trỏ tới các biến riêng lẻ 230
Con trỏ tới các khối biến 232
Bài học 16.4. Phân bổ bộ nhớ động 232
Mới và Vứt bỏ 233
Cấp phát bộ nhớ động cho mảng 235
GetMem và FreeMem 236
Truy cập các phần tử của mảng được tạo động 237
Mảng có độ dài thay đổi 238
Kết luận 241
Câu hỏi kiểm tra 242
Chủ đề 17. Cấu trúc dữ liệu động. Ngăn xếp 244
Bài học 17.1. Hãy mô tả kiểu dữ liệu 245
Bài học 17.2. Tạo ngăn xếp và các thao tác ngăn xếp cơ bản 247
Thêm một phần tử vào ngăn xếp (Push) 248
Lấy một phần tử ra khỏi ngăn xếp (Pop) 251
Kiểm tra ngăn xếp xem có trống không (StacklsEmpty) 252
Bài học 17.3. Sử dụng ngăn xếp 253
Lập trình ngăn xếp bằng mảng 255
Kết luận 256
Câu hỏi và bài tập kiểm tra 256
Chủ đề 18. Cấu trúc dữ liệu động. Hàng đợi 258
Bài học 18.1. Nguyên lý hoạt động và mô tả kiểu dữ liệu 259
Bài học 18.2. Hoạt động hàng đợi cơ bản 261
Thêm một phần tử vào hàng đợi (EnQueue) 261
Xóa một phần tử khỏi hàng đợi (DeQueue) 263
Kiểm tra hàng đợi trống (QueuelsEmpty) 264
Bài học 18.3. Sử dụng hàng đợi 264
Lập trình hàng đợi bằng mảng 267
Kết luận 269
Câu hỏi kiểm tra 269
Chủ đề 19. Cấu trúc dữ liệu động. Danh sách một chiều 270
Bài học 19.1. Mô tả kiểu dữ liệu và nguyên lý hoạt động 271
Bài học 19.2. Các thao tác cơ bản với danh sách một chiều 272
Xem tuần tự tất cả các thành phần danh sách 272
Đặt một phần tử vào danh sách 273
Xóa một phần tử khỏi danh sách 275
Bài học 19.3. Xử lý danh sách 276
Tính khả thi của việc sử dụng danh sách một chiều 278
Kết luận 280
Câu hỏi kiểm tra 280
Chủ đề 20. Đệ quy 281
Bài học 20.1. Mô tả nguyên lý 282
Bài học 20.2. Tháp Hà Nội 285
Bài học 20.3. Cấu trúc của chương trình con tuần hoàn 287
Bài học 20.4. Ví dụ về giải pháp lặp lại cho vấn đề không lặp lại 288
Bài học 20.5. Ví dụ về giải pháp tái diễn cho vấn đề tái diễn 289
Kết luận 291
Câu hỏi kiểm tra 291
Phụ lục 1. Các thành phần sơ đồ khối 292
Phụ lục 2. Bài toán 295
Số nguyên. Sự miêu tả. Đi vào. Phần kết luận. Hoạt động 296
Thực tế. Sự miêu tả. Đi vào. Phần kết luận. Hoạt động và chức năng 296
Thực tế. Viết và đánh giá biểu thức 297
Char. Sự miêu tả. Đi vào. Phần kết luận. Chức năng 298
Boolean. Viết biểu thức 298
Boolean. Đánh giá biểu thức 299
Nếu như. So sánh đơn giản. Tối thiểu/tối đa/trung bình 300
Nếu như. Phương trình và bất đẳng thức với 300 tham số
Vì. Chuyển 300
Vì. Tính toán với Bộ đếm vòng lặp 301
Vì. Quá mức cần thiết với sự so sánh 302
Trong khi-Lặp lại. Tìm kiếm 302
Trong khi-Lặp lại. Hàng 303
Nghệ thuật đồ họa. Thẳng 303
Nghệ thuật đồ họa. Vòng kết nối 304
Mảng. Điền, rút ​​tiền, số tiền/số lượng 305
Mảng. Hoán vị 305
Mảng. Tìm kiếm 306
Mảng. Kiểm tra 307
Mảng. Tối đa 307
Chương trình con không có tham số 307
Dòng. Phần I 308
Dòng. Phần II 309
Các chương trình con có tham số. Phần I 309
Các chương trình con có tham số. Phần II 310
Các chương trình con có tham số. Phần III 310
Tệp 311
Danh sách một chiều 312
Đệ quy 313

Sau khi phát hành ấn bản đầu tiên của cuốn sách, các đồng nghiệp và sinh viên của chúng tôi bắt đầu liên hệ với chúng tôi nhiều hơn với yêu cầu bổ sung thông tin cho ấn bản đầu tiên về các cấu trúc dữ liệu được nghiên cứu và yêu cầu nhiều nhất. Trong ấn bản này, chúng tôi đã bổ sung thêm một số chương về bản ghi, biến động, ngăn xếp, hàng đợi và danh sách. Chúng tôi cũng cố gắng đề cập đến một trong những chủ đề khó nhất trong lập trình - xây dựng thuật toán đệ quy.
Trong ứng dụng, chúng tôi quyết định từ bỏ bộ sưu tập bài tập về nhà với nhiều lựa chọn về một số chủ đề. Thay vào đó, chúng tôi đã đưa một số lượng lớn nhiệm vụ theo chủ đề vào ứng dụng, được sắp xếp theo khối gồm 5-8 nhiệm vụ. Các nhiệm vụ trong mỗi khối được sắp xếp từ đơn giản đến phức tạp. Chúng tôi sử dụng chúng trong các bài học của mình để tổ chức các lớp thực hành đồng thời củng cố tài liệu lý thuyết (một bài học - một khối).
Các tác giả bày tỏ lòng biết ơn sâu sắc nhất tới một trong những sinh viên xuất sắc nhất của họ, Phó Giáo sư Khoa An ninh Hệ thống Thông tin của Đại học Hàng không Bang St. Petersburg, Tiến sĩ. Evgeniy Mikhailovich Linsky vì sự hỗ trợ, nhiều lời khuyên hữu ích và sự giúp đỡ to lớn khi thực hiện ấn bản thứ hai của cuốn sách.

Cuốn sách này không phải là một cuốn sách giáo khoa mà là một trợ giúp giúp bạn nắm vững ngôn ngữ lập trình Pascal, ngôn ngữ mà tất cả học sinh được làm quen trong các bài học về khoa học máy tính. Nó bao gồm các cuộc trò chuyện dành cho các vấn đề thực tế về lập trình và giải quyết vấn đề. Nhiều ví dụ cho phép bạn hiểu rõ hơn cách phát triển thuật toán, viết chương trình của riêng bạn và định dạng chính xác văn bản của nó. Các mẹo và ghi chú thu hút sự chú ý của người đọc đến các chi tiết quan trọng, giúp họ tránh những sai sót và viết chương trình hiệu quả hơn.
Cuốn sách được viết bởi các giáo viên khoa học máy tính của trường, những người có nhiều năm kinh nghiệm làm việc thực tế.

Ngôn ngữ lập trình là gì? Bất kỳ vấn đề nào mà máy tính giải quyết đều được viết dưới dạng một chuỗi lệnh. Trình tự này được gọi là một chương trình. Tất nhiên, các lệnh phải được thể hiện bằng ngôn ngữ máy tính có thể hiểu được. Một ngôn ngữ như vậy là ngôn ngữ lập trình Pascal. Nó được phát triển bởi giáo sư người Thụy Sĩ Nikolaus Wirth đặc biệt để dạy lập trình cho sinh viên. Đặc thù của ngôn ngữ cũng bao gồm cấu trúc của nó. Nghĩa là, chương trình có thể dễ dàng được chia thành các khối đơn giản hơn, không chồng chéo, do đó, thậm chí còn nhiều hơn nữa. khối đơn giản. Điều này cũng làm cho việc lập trình trở nên dễ dàng hơn. Năm 1979, ngôn ngữ này đã được phê duyệt là ngôn ngữ tiêu chuẩn. Wirth đặt tên nó theo tên nhà khoa học người Pháp Blaise Pascal, người phát minh ra máy tính. Ngôn ngữ Pascal đơn giản, logic và hiệu quả. Nó đã lan rộng khắp thế giới. Cuộc trò chuyện của chúng tôi dựa trên ví dụ cụ thể các chương trình. Không có những lời giải thích lý thuyết dài dòng nên bắt buộc phải đọc kỹ các bình luận trong nội dung chương trình!
Vì vậy, chúng ta bắt đầu cuộc trò chuyện đầu tiên ngay với chương trình đầu tiên trong Pascal;

Nội dung
Giới thiệu 7
Cảm ơn 7
Từ nhà xuất bản 8
CHỦ ĐỀ 1. Cách viết chương trình đơn giản trong Pascal 9
Bài học 1.1. Chúng tôi hiển thị thông báo trên màn hình hiển thị 10
Bài học 1.2. Làm cách nào tôi có thể cài đặt chương trình này trên máy tính của mình? mười một
Các giai đoạn tạo chương trình máy tính 12
1. Khởi chạy môi trường Pascal 14
2. Làm việc trong cửa sổ chỉnh sửa Edit 16
3. Lưu chương trình vào file trên đĩa 19
4. Khởi chạy trình biên dịch 20
5. Thực hiện chương trình 21
6. Xem kết quả của chương trình 21
7. Thoát khỏi môi trường Pascal 22
Bài học 1.3. Định dạng văn bản trên màn hình 22
Kết luận 28
Câu hỏi kiểm tra 28
CHỦ ĐỀ 2. Cách kết hợp dữ liệu số vào công việc của bạn 30
Bài học 2.1. Hãy bắt đầu với một điều đơn giản: số nguyên 31
Khái niệm biến 32
Nhập số nguyên. Toán tử gán. Hiển thị 32
Các phép toán với kiểu Số nguyên 34
Các hàm tiêu chuẩn của kiểu Integer 36
Cách biểu diễn các biến kiểu số nguyên trong bộ nhớ máy tính 38
Bài học 2.2. Chúng tôi đưa số thực 39 vào tác phẩm
Mô tả kiểu dữ liệu thực (Real) 40
Các dạng ghi biến thực 40
Hoạt động vật liệu 41
Chức năng tiêu chuẩn loại Real 41
Viết biểu thức toán học 43
Các biến kiểu thực được biểu diễn như thế nào trong bộ nhớ
máy tính 45
Bài học 2.3. Cách kết hợp biến số nguyên và biến kiểu thực 46
Chuyển đổi loại 46
Quy tắc ưu tiên trong các hành động được thực hiện 47
Hành động với các loại dữ liệu khác nhau 47
Bài học 2.4. Dữ liệu đầu vào và đầu ra 51
Nhập biến từ bàn phím 52
Màn hình đẹp 52
Đặt giá trị biến bằng cảm biến số ngẫu nhiên 55
Bài học 2.5. Tại sao cần có hằng số trong một chương trình? 57
Kết luận 59
Câu hỏi kiểm tra 60
CHỦ ĐỀ 3. Học cách làm việc với ký hiệu 61
Bài học 3.1. Làm sao máy tính hiểu được 62 ký tự?
Bảng mã ASCII 62
Mô tả loại Char và các chức năng tiêu chuẩn 63
Bài học 3.2. Loại Char là loại thứ tự! 64
Kết luận 66
Câu hỏi kiểm tra 67
CHỦ ĐỀ 4. George Boole và logic của ông 68
Bài học 4.1. Cần thêm một loại nữa - hợp lý! 69
Kiểu dữ liệu Boolean 70
Hoạt động quan hệ 70
Boolean I/O 71
Bài học 4.2. Các phép toán logic (Boolean) 71
Phép nhân logic (kết hợp) 72
Phép cộng logic (phân tách) 72
HOẶC độc quyền (phép cộng modulo 2) 73
Phủ định logic (đảo ngược) 74
Sử dụng các phép toán logic trong chương trình 74
Mức độ ưu tiên của các phép toán logic 76
Kết luận 77
Câu hỏi kiểm tra 78
CHỦ ĐỀ 5. Phân tích thực trạng và trình tự thực hiện lệnh 79
Bài học 5.1. Kiểm tra điều kiện và phân nhánh trong Thuật toán 80
Dạng đầy đủ và không đầy đủ của câu lệnh if 81
Thiết kế chương trình 84
Bài học 5.2. Khối toán tử 85
Bài học 5.3. Phân nhánh theo một số điều kiện (báo cáo trường hợp) 90
Kết luận 94
Câu hỏi kiểm tra 95
CHỦ ĐỀ 6. Hành động lặp lại 96
Bài học 6.1. câu lệnh for-loop 97
Đối với câu lệnh có bộ đếm tăng dần 97
Đối với câu lệnh giảm tuần tự bộ đếm 99
Bài học 6.2. Sử dụng vòng lặp với bộ đếm 99
Chu kỳ trong một chu kỳ 100
Truy tìm 101
Tính tổng của chuỗi 103
Kết luận 107
Câu hỏi kiểm tra 108
CHỦ ĐỀ 7. Vòng lặp với điều kiện 109
Bài học 7.1. Vòng lặp với điều kiện trước 110
Mô tả vòng lặp với điều kiện tiên quyết 110
Tính gần đúng tổng của một chuỗi vô hạn 111
Nhập một số với lũy thừa số nguyên xác định 114
Bài học 7.2. Vòng lặp với hậu điều kiện 118
Mô tả chu trình với hậu điều kiện 119
Sử dụng vòng lặp lặp lại và while 119
Tính tương đối của việc lựa chọn toán tử while và lặp lại 123
Kết luận 129
Câu hỏi kiểm tra 129
CHỦ ĐỀ 8. Mảng - kiểu dữ liệu có cấu trúc 131
Bài học 8.1. Lưu trữ dữ liệu tương tự dưới dạng bảng 132
Các bước cơ bản làm việc với mảng 133
Mô tả mảng trong Pascal 133
Điền số ngẫu nhiên vào mảng và hiển thị mảng đó ra màn hình 134
Tạo kiểu dữ liệu tùy chỉnh 137
Tìm phần tử mảng lớn nhất 141
Tính tổng và số phần tử mảng với thuộc tính cho trước 146
Bài học 8.2. Tìm kiếm trong mảng 148
Xác định xem một mảng có phần tử âm hay không bằng cờ 149
Xác định sự có mặt của các phần tử âm trong mảng bằng cách tính số 150 của chúng
Tìm số phần tử mảng âm 152
Bài học 8.3. Mảng hai chiều 156
Kết luận 158
Câu hỏi kiểm tra 159
CHỦ ĐỀ 9. Các thuật toán phụ trợ. Thủ tục và chức năng. Lập trình có cấu trúc 160
Bài học 9.1. Thiết kế thuật toán từ trên xuống 161
Bài toán thực hành sử dụng thuật toán phụ trợ 162
Bài học 9.2. Ví dụ làm việc với hàm: tìm phần tử lớn nhất 169
Kết luận 171
Câu hỏi kiểm tra 171
CHỦ ĐỀ 10. Cách làm việc với chuỗi ký tự 1 72
Bài học 10.1. Làm việc với chuỗi ký tự: gõ String 1 73
Mô tả biến chuỗi 173
Các thao tác cơ bản với 174 chuỗi
Bài học 10.2. Một số hàm và thủ tục Pascal làm việc với chuỗi 175
Sử dụng quy trình chuỗi thư viện 175
Kết luận 177
Câu hỏi kiểm tra 178
CHỦ ĐỀ 11. Thủ tục và hàm với tham số 179
Bài học 11.1. Ví dụ đơn giản về sử dụng chương trình con với 180 tham số
Thủ tục đơn giản nhất với 180 thông số
Các tham số hình thức và thực tế 182
Các hàm đơn giản nhất với 183 tham số
Bài học 11.2. Các phương thức truyền tham số 184
Kết luận 187
Câu hỏi kiểm tra 187
CHỦ ĐỀ 12. Tập tin: lưu kết quả công việc cho đến lần sau 189
Bài học 12.1. Cách làm việc với tệp văn bản 190
Mở file để đọc 190
Mở file để viết 193
Bài học 12.2. Lưu mảng số hai chiều vào file văn bản 196
Lưu dữ liệu số vào tệp văn bản 196
Lưu mảng số vào file văn bản 197
Thêm thông tin vào cuối file 201
Kết luận 202
Câu hỏi kiểm tra 203
CHỦ ĐỀ 13. Chế độ hoạt động đồ họa. Mô-đun đồ thị 204
Bài học 13.1. Kích hoạt chế độ đồ họa 205
Các tính năng làm việc với đồ họa 205
Chuyển sang chế độ đồ họa của bộ điều hợp video 206
Bài học 13.2. Chúng tôi tiếp tục khám phá các khả năng của mô-đun Graph 208
Vẽ đường bằng module Graph 209
Vẽ vòng tròn bằng mô-đun Graph 210
Kết luận 212
Câu hỏi kiểm tra 212
CHỦ ĐỀ 14. Các toán tử làm thay đổi dòng chảy tự nhiên của chương trình 213
Bài học 14.1. Sử dụng toán tử nhảy vô điều kiện goto 215
Bài học 14.2. Các câu lệnh thay đổi luồng của vòng lặp 218
câu lệnh ngắt 2.19
Toán tử tiếp tục 220
Kết luận 220
Câu hỏi kiểm tra 221
Phụ lục 1. Các thành phần sơ đồ khối 222
Phụ lục 2. Bài tập 224
Bài tập cho Chương 2 224
Bài tập cho Chương 4 227
Nhiệm vụ cho chương 6-7 229
Chương 8 nhiệm vụ 236
Chỉ số bảng chữ cái 254