- Home
- Lớp 1,2,3
- Lớp 1
- Giải Toán Lớp 1
- Tiếng Việt Lớp 1
- Lớp 2
- Giải Toán Lớp 2
- Tiếng Việt Lớp 2
- Văn Mẫu Lớp 2
- Lớp 3
- Giải Toán Lớp 3
- Tiếng Việt Lớp 3
- Văn Mẫu Lớp 3
- Giải Tiếng Anh Lớp 3
- Lớp 4
- Giải Toán Lớp 4
- Tiếng Việt Lớp 4
- Văn Mẫu Lớp 4
- Giải Tiếng Anh Lớp 4
- Lớp 5
- Giải Toán Lớp 5
- Tiếng Việt Lớp 5
- Văn Mẫu Lớp 5
- Giải Tiếng Anh Lớp 5
- Lớp 6
- Soạn Văn 6
- Giải Toán Lớp 6
- Giải Vật Lý 6
- Giải Sinh Học 6
- Giải Tiếng Anh Lớp 6
- Giải Lịch Sử 6
- Giải Địa Lý Lớp 6
- Giải GDCD Lớp 6
- Lớp 7
- Soạn Văn 7
- Giải Bài Tập Toán Lớp 7
- Giải Vật Lý 7
- Giải Sinh Học 7
- Giải Tiếng Anh Lớp 7
- Giải Lịch Sử 7
- Giải Địa Lý Lớp 7
- Giải GDCD Lớp 7
- Lớp 8
- Soạn Văn 8
- Giải Bài Tập Toán 8
- Giải Vật Lý 8
- Giải Bài Tập Hóa 8
- Giải Sinh Học 8
- Giải Tiếng Anh Lớp 8
- Giải Lịch Sử 8
- Giải Địa Lý Lớp 8
- Lớp 9
- Soạn Văn 9
- Giải Bài Tập Toán 9
- Giải Vật Lý 9
- Giải Bài Tập Hóa 9
- Giải Sinh Học 9
- Giải Tiếng Anh Lớp 9
- Giải Lịch Sử 9
- Giải Địa Lý Lớp 9
- Lớp 10
- Soạn Văn 10
- Giải Bài Tập Toán 10
- Giải Vật Lý 10
- Giải Bài Tập Hóa 10
- Giải Sinh Học 10
- Giải Tiếng Anh Lớp 10
- Giải Lịch Sử 10
- Giải Địa Lý Lớp 10
- Lớp 11
- Soạn Văn 11
- Giải Bài Tập Toán 11
- Giải Vật Lý 11
- Giải Bài Tập Hóa 11
- Giải Sinh Học 11
- Giải Tiếng Anh Lớp 11
- Giải Lịch Sử 11
- Giải Địa Lý Lớp 11
- Lớp 12
- Soạn Văn 12
- Giải Bài Tập Toán 12
- Giải Vật Lý 12
- Giải Bài Tập Hóa 12
- Giải Sinh Học 12
- Giải Tiếng Anh Lớp 12
- Giải Lịch Sử 12
- Giải Địa Lý Lớp 12
Trang Chủ ›
Lớp 8›
Giải Bài Tập Tin Học 8›
SGK Tin Học 8›
Bài 3. CHƯƠNG TRÌNH MÁY TÍNH VÀ DỮ LIỆU SGK Tin Học 8 - Bài 3. CHƯƠNG TRÌNH MÁY TÍNH VÀ DỮ LIỆU
BÃI 3 CHƯƠNG TRÌNH MÁY TÍNH VÀ DỮ LIỆU Dữ liệu vầ kiểu dữ liệu Máy tính là công cụ xử lí thông tin, còn chương trình chỉ dẫn cho máy tính cách thức xử lí thông tin để có kết quả mong muốn. Thông tin rất đa dạng nên dữ liệu trong máy tính cũng rất khác nhau về bản chất. Đê’ dễ dàng quản lí và tăng hiệu quả xử lí, các ngôn ngữ lập trình thường phân chia dữ liệu thành các kiểu khác nhau: chữ, số nguyên, số thập phân,... Ví dụ 1. Hình 1 8 dưới đây minh hoạ kết quả thực hiện của một chương trình: in ra màn hình với các kiểu dữ liệu quen thuộc là chữ và số. hao Cac Ban 007 + 5123 = 7130 1927.5 chia 3 bang 642.50000 Hình 18 Các kiểu dữ liệu khác nhau thường được xử lí theo các cách khác nhau. Chẳng hạn, ta có thể thực hiện các phép toán số học với các số, nhưng với các kí tự hay xâu kí tự thì các phép toán đó không có nghĩa. Các ngôn ngữ lập trình định nghĩa sẵn một số kiểu dữ liệu cơ bản. Kiểu dữ liệu xác định miền giá trị của dữ liệu và các phép toán có thể thực hiện trên các giá trị đó. Dưới đây là một số kiểu dữ liệu thường dùng nhất: Số nguyên, ví dụ số học sinh của một lớp, sô' sách trong thư viện,... Số thực, ví dụ chiểu cao của bạn Bình, điểm trung bình môn Toán,... Kí tự là một chữ, chữ số hay kí hiệu đặc biệt khác, ví dụ: “a”, “A”, “1 ” (chữ số 1, khác với số nguyên 1), “ ” (kí tự trống),... Trong đa số các trường hợp, kí tự thường là một “chữ cái” lấy từ bảng chữ cái của ngôn ngữ lập trình. Xâu kí tự (hay xâu) là dãy liên tiếp các kí tự (tối đa 255 kí tự), ví dụ: “Chao cac ban”, “Lop 8E", “2/9/1 945”... Trong các ngôn ngữ lập trình, dữ liệu kiểu số nguyên còn có thể được phân chia tiếp thành các kiểu nhỏ hơn theo các phạm vi giá trị khác nhau, dữ liệu kiểu số thực còn có thể được phân chia thành các kiểu có độ chính xác (số chữ số thập phân) khác nhau. Ngoài các kiểu nói trên, mổi ngôn ngữ lập trình cụ thể còn định nghĩa nhiều kiểu dữ liệu khác, số các kiểu dữ liệu và tên kiểu dữ liệu trong mỗi ngôn ngữ lập trình có thể khác nhau. Ví dụ 2. Bảng 1 dưới đây liệt kê một số kiểu dữ liệu co bản của ngôn ngữ lập trình Pascal: Tên kiểu Phạm vi giá trị integer Số nguyên trong khoảng từ - 32768 đến 32767. real Số thực có giá trị tuyệt đối trong khoảng 2,9 X 10-39 đến 1,7 X 1038 và số 0. char Kí tự trong bảng chữ cái. string Xâu kí tự, tối đa gồm 255 kí tự. Bảng 1 Trong Pascal, để chỉ rõ cho chương trình dịch hiểu dãy chữ số là kiểu xâu, ta phải đặt dãy số đó trong cặp dấu nháy đơn. Ví dụ '5324', '863'. Các phép toán với dữ liệu kiểu số Trong mọi ngôn ngữ lập trình ta đều có thể thực hiện các phép toán số học cộng, trừ, nhân và chia với các số nguyên và số thực. Chẳng hạn, bảng dưới đây là kí hiệu của các phép toán số học đó trong ngôn ngữ Pascal: Kí hiệu Phép toán Kiểu dữ liệu + cộng số nguyên, số thực - trừ số nguyên, số thực * nhân số nguyên, số thực / chia số nguyên, số thực div chia lấy phần nguyên số nguyên mod chia lấy phần dư số nguyên Bảng 2 Chúng ta đã quen thuộc với các phép toán cộng, trừ, nhân và chia. Tuy nhiên, hãy lưu ý rằng hầu hết các ngôn ngữ lập trình đểu xem kết quả chia hai số n và m (tức n/m) là số thực, cho dù n và m là các số nguyên và n có thể chia hết cho m. Dưới đây là các ví dụ về phép chia, phép chia lấy phần nguyên và phép chia lấy phần dư: 5/2 = 2.5 -12/5 =-2.4. 5 div 2 = 2 5 mod 2 = 1 -12 div 5 = -2 -1 2 mod 5 = -2 Sử dụng dấu ngoặc, ta có thể kết hợp các phép tính số học nói trên để có các biểu thức số học phức tạp hơn. Sau đây là một số ví dụ về biểu thức số học và cách viết chúng trong ngôn ngữ lập trình Pascal: Biểu thức số học Cách viết trong Pascal a X b - c + d a* b-c+d 15 + 5X 1 15+5* (a/2) x + 5 y , -—(x + 2)2 a + 3 b + 5 (x+5)/(a+3)-y/(b+5)* (x+2)* (x+2) Chú ý rằng khi viết các biểu thức toán, để dễ phân biệt, ta có thể dùng các cặp dấu ngoặc tròn ( và ), dấu ngoặc vuông [ và ], dấu ngoặc nhọn { và } để gộp các phép toán, nhưng trong các ngôn ngữ lập trình chỉ được sử dụng dấu ngoặc tròn cho mục đích này. Ví dụ, biểu thức (a + b)(c - d) + 6 _ a khị vịê't trong Pascal sẽ có dạng: ( (a + b)* (c - d) + 6)/3 - a Các phép so sánh Ngoài các phép toán sô' học, ta còn thường so sánh các số. Khi viết chương trình, để so sánh dữ liệu (số, biểu thức,...) chúng ta sử dụng các kí hiệu do ngôn ngữ lập trình quy định. Kí hiệu các phép toán và phép so sánh có thể khác nhau, tuỳ theo từng ngôn ngữ lập trình. Bảng 3 dưới đây cho biết kí hiệu của các phép so sánh trong ngôn ngữ Pascal: Phép so sánh Kí hiệu toán học Kí hiệu trong Pascal Ví dụ trong Pascal Bằng = = 5 = 5 Khác 6 5 Nhỏ hơn < < 3 < 5 Nhỏ hơn hoặc bằng < <= 5 <= 6 Lớn hơn > > 9 > 6 Lớn hơn hoặc bằng > >= 9 >= 6 * Bảng 3 Kết quả của phép so sánh chỉ có thể là đúng hoặc sai. Ví dụ, phép so sánh 9 > 6 cho kết quả đúng, 10 = 9 cho kết quả sai hoặc 5 < 3 cũng cho kết quả sai,... Để so sánh giá trị của hai biểu thức, chúng ta cũng sử dụng một trong các kí hiệu toán học trong bảng 3. Ví dụ: 5x2 = 9;15 + 7>20-3;5 + x<10 Kết quả so sánh thứ nhất là sai (10 = 9), còn kết quả so sánh thứ hai (22 > 1 7) là đúng. Kết quả so sánh thứ ba (5 + X < 10) đúng hoặc sai phụ thuộc vào giá trị cụ thể của X. Giao tiếp người - máy tính Trong khi thực hiện chương trình máy tính, con người thường có nhu cầu can thiệp vào quá trình tính toán, thực hiện việc kiểm tra, điều chỉnh, bổ sung. Ngược lại, máy tính cũng cho thông tin về kết quả tính toán, thông báo, gợi ý,... Quá trình trao đổi dữ liệu hai chiều như thế thường được gọi là giao tiếp hay tương tác giữa người và máy tính. Với các máy tính cá nhân, tương tác người-máy thường được thực hiện nhờ các thiết bị chuột, bàn phím và màn hình. Dưới đây là một số trưởng hợp tương tác người-máy. Thông báo kết quả tính toán Thông báo kết quả tính toán là yêu cầu đầu tiên đối với mọi chương trình. Ví dụ, câu lệnh write('Dien tich hinh tron la ',X); in kết quả tính diện tích hình tròn ra màn hình như hình 1 9 dưới đây: Dien tich hinh tron la 49.35_ Hình 19 Nhập dữ liệu Một trong những tương tác thường gặp là chương trình yêu cầu nhập dữ liệu. Chương trình sẽ tạm ngừng để chờ người dùng “nhập dữ liệu” từ bàn phím hay bằng chuột. Hoạt động tiếp theo của chương trình sẽ tuỳ thuộc vào dữ liệu được nhập vào. Ví dụ, chương trình yêu cầu nhập năm sinh từ bàn phím. Khi đó ta cần gõ một số tự nhiên ứng với năm sinh. Sau khi nhấn phím Enter để xác nhận, chương trình sẽ tiếp tục hoạt động. ìan hay nbap nan sinh: Hình 20 Hai câu lệnh Pascal dưới đây sẽ cho kết quả như hình trên: write('Ban hay nhap nam sinh:'); read(NS); Tạm ngừng chương trình Có hai chế độ tạm ngừng của chương trình: Tạm ngừng trong một khoảng thời gian nhất định và tạm ngừng cho đến khi người dùng nhấn phím. Ví dụ 3. Giả sử trong chương trình Pascal có các câu lệnh sau: Writeln('Cac ban cho 2 giay nhe...'); Delay(2000) ; Sau khi in ra màn hình dòng chữ “Cac ban cho 2 giay nhe...”, chương trình sẽ tạm ngừng trong 2 giây, sau đó mới thực hiện tiếp. Cac ban clio 2 giay nhe.. Hình 21 Ví dụ 4. Khi chạy đoạn chương trình Pascal có các câu lệnh writẹln('So Pi = ' ,Pij; readl-n; sau khi thông báo kết quả tính số 71, chương trình sẽ tạm ngừng chờ người dùng nhấn phím Enter, rồi mới thực hiện tiếp. So Pi = 3.141592? Hình 22 Hộp thoại Hộp thoại được sử dụng như một công cụ cho việc giao tiếp người-máy tính trong khi chạy chương trình. Ví dụ, khi người dùng thao tác để thoát khỏi chương trình đang chạy, hộp thoại dạng sau đây có thể xuất hiện: Hình 23 Khi đó, nếu nháy chuột vào nút Đồng ý, chương trình sẽ kết thúc còn nháy nút Huỷ lệnh, chương trình vẫn tiếp tục như bình thường. GHI NHÓ Các ngôn ngữ lập trình thường phân chia dữ liệu cần xử lí theo các kiểu khác nhau, vói các phép toán có thể thực hiện trên từng kiểu dữ liệu đó. Quá trình trao đổi dữ liệu hai chiều giữa người và máy tính khi chương trình hoạt động thường được gọi là giao tiếp hoặc tương tác người-máy. Câu hoi và bài tập Hãy nêu ít nhất hai kiểu dữ liệu và một phép toán có thể thục hiện đuạc trên một kiểu dữ liệu, nhưng phép toán đó không có nghĩa trên kiểu dữ liệu kia. Dãy chữ số 2010 có thể thuộc những kiểu dữ liệu nào? Hãy phân biệt ý nghĩa của các câu lệnh Pascal sau đây: Writeln('5+20=','20+5'); và Writeln('5+20=',20+5); Hai lệnh sau có tương đưong vối nhau không? Tại sao? Writeln('100'); và Writeln (100); Viết các biểu thức toán dưới đây bằng các kí hiệu trong Pascal: - + —; b) ax2 + bx + c ; b d c) 1 - £ (b + 2); d) (a2 + b)(l + c)3. X 5 Chuyển các biểu thức được viết trong Pascal sau đây thành các biểu thúc toán: (a + b)* (a + b) - x/y; b / (a* a + c) ; a*a/ ( (2*b + c)* (2* b + c) ) ; 1 + 1/2 + l/(2*3) + l/(3*4)+ l/(4*5). Hãy xác định kết quả của các phép so sánh sau đây: a)15-8>3; b) (20 - 15)2 * 25; c)ll2=121; d)x>10-3x. Viết các biểu thức ỏ bài tập ó bằng các kí hiệu trong Pascal.
Các bài học tiếp theo
- Bài thực hành 2. VIẾT CHƯƠNG TRÌNH ĐỂ TÍNH TOÁN
- Bài 4. SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH
- Bài thực hành 3. KHAI BÁO VÀ SỬ DỤNG BIẾN
- Bài 5. TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH
- Bài 6. CÂU LỆNH ĐIỀU KIỆN
- Bài thực hành 4. SỬ DỤNG LỆNH ĐIỀU KIỆN IF ... THEN
- Bài 7. CÂU LỆNH LẶP
- Bài thực hành 5. SỬ DỤNG LỆNH LẶP FOR ... DO
- Bài 8. LẶP VỚI SỐ LẦN BIẾT TRƯỚC
- Bài thực hành 6. SỬ DỤNG LỆNH LẶP WHILE ... DO
Các bài học trước
- Bài đọc thêm 2. MỘT SỐ BẢNG CHỌN THƯỜNG DÙNG TRONG PASCAL
- Bài thực hành 1. LÀM QUEN VỚI TURBO PASCAL
- Bài đọc thêm 1. MỘT SỐ NGÔN NGỮ LẬP TRÌNH THÔNG DỤNG
- Bài 2. LÀM QUEN VỚI CHƯƠNG TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
- Bài 1. MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH
SGK Tin Học 8
- Phần 1. Lập trình đơn giản
- Bài 1. MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH
- Bài 2. LÀM QUEN VỚI CHƯƠNG TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
- Bài đọc thêm 1. MỘT SỐ NGÔN NGỮ LẬP TRÌNH THÔNG DỤNG
- Bài thực hành 1. LÀM QUEN VỚI TURBO PASCAL
- Bài đọc thêm 2. MỘT SỐ BẢNG CHỌN THƯỜNG DÙNG TRONG PASCAL
- Bài 3. CHƯƠNG TRÌNH MÁY TÍNH VÀ DỮ LIỆU(Đang xem)
- Bài thực hành 2. VIẾT CHƯƠNG TRÌNH ĐỂ TÍNH TOÁN
- Bài 4. SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH
- Bài thực hành 3. KHAI BÁO VÀ SỬ DỤNG BIẾN
- Bài 5. TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH
- Bài 6. CÂU LỆNH ĐIỀU KIỆN
- Bài thực hành 4. SỬ DỤNG LỆNH ĐIỀU KIỆN IF ... THEN
- Bài 7. CÂU LỆNH LẶP
- Bài thực hành 5. SỬ DỤNG LỆNH LẶP FOR ... DO
- Bài 8. LẶP VỚI SỐ LẦN BIẾT TRƯỚC
- Bài thực hành 6. SỬ DỤNG LỆNH LẶP WHILE ... DO
- Bài 9. LÀM VIỆC VỚI DÃY SỐ
- Bài thực hành 7. XỬ LÍ DÃY SỐ TRONG CHƯƠNG TRÌNH
- Phần 2. Phần mềm học tập
- Bài 10. LUYỆN GÕ PHÍM NHANH VỚI FINGER BREAKOUT
- Bài 11. HỌC VẼ HÌNH VỚI PHẦN MỀM GEOGEBRA
- Bài 12. QUAN SÁT HÌNH KHÔNG GIAN VỚI PHẦN MỀM YENKA