1. Trang chủ
  2. » Giáo án - Bài giảng

SGK Tin 8 Quyen 3 - phan 2

15 649 3
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Bài 4. Chương trình máy tính Xử Lí Dữ LIệU gì? Dữ liệu, kiểu dữ liệu, xử lí dữ liệu và điều khiển tương tác người - máy tính. 1. Một vài kiểu dữ liệu cơ bản Khi lập trình, chúng ta phải xử lí các kiểu dữ liệu khác nhau như chữ, số nguyên, số thập phân, . Ví dụ 1. Hình 18 dưới đây là 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ố. Hình 18 Mỗi kiểu dữ liệu 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 câu chữ thì việc tính toán không có nghĩa. Các ngôn ngữ lập trình thường định nghĩa sẵn các kiểu dữ liệu cơ bản, cùng với các phép toán có thể thực hiện trên từng kiểu dữ liệu đó. Dưới đây là một số kiểu dữ liệu thường dùng: • Xâu kí tự (hay kiểu xâu) là dãy các “chữ cái” lấy từ bảng chữ cái của ngôn ngữ lập trình, bao gồm các chữ, chữ số và một số kí hiệu khác, ví dụ: “Chao cac ban”, “Lop 8E” • Số nguyên là các số không có phần thập phân, ví dụ số học sinh của một lớp, số sách trong thư viện, . • Số thực gồm các số nguyên và các số có phần thập phân, ví dụ: - Chiều cao của bạn Bình - Điểm trung bình môn Toán 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. Cách gọi kiểu dữ liệu và số các kiểu dữ liệu trong mỗi ngôn ngữ lập trình có thể khác nhau. Chúng ta sẽ làm quen với các kiểu dữ liệu của Pascal qua các bài thực hành. 40 2. Các phép toán với dữ liệu Trong mọi ngôn ngữ lập trình ta có thể thực hiện các phép toán số học với các số nguyên và số thực. Bảng dưới đây cho thấy các phép toán và kí hiệu của chúng trong ngôn ngữ Pascal: Kí hiệu Tên 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 Ví dụ 2. Khi lập trình, ta có thể thực hiện phép chia 5 cho 3. Vì 5 không chia hết cho 3 nên kết quả sẽ là một số thập phân, là một số thực. Tuy nhiên, nếu thực hiện phép chia lấy phần nguyên và phép chia lấy phần dư, chúng ta sẽ được kết quả là các số nguyên: Ví dụ về phép chia lấy phần dư: 5 mod 3 = 2; −19 mod 4 = −3; Ví dụ về phép chia lấy phần nguyên: 5 div 3 = 1; −19 div 4 = −4 Cũng như trong môn Toán, ta có thể kết hợp các phép tính số học nói trên để tính toán giá trị của 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: 15 4 30 12× − + 15 5 2 A + × 5 3 5 X Y a b + − + + 2 ( 2) 4X Y+ − × Quy tắc tính các biểu thức số học cũng theo thứ tự đã quen biết: • Các phép toán trong ngoặc được thực hiện trước tiên; • Trong dãy các phép toán không có dấu ngoặc, các phép nhân, phép chia, phép chia lấy phần nguyên và phép chia lấy phần dư được thực hiện trước; 41 • Cuối cùng thực hiện phép cộng và phép trừ. Chú ý rằng khi viết các biểu thức, để 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ỉ dấu ngoặc tròn được phép sử dụng cho mục đích này. Ngoài các phép toán số học nói trên, ta còn có thể thực hiện các phép so sánh các số. Bảng dưới đây cho thấy các phép so sánh và kí hiệu của chúng trong ngôn ngữ Pascal: Kí hiệu Phép so sánh = Bằng <> Khác < Nhỏ hơn <= Nhỏ hơn hoặc bằng > Lớn hơn >= Lớn hơn hoặc bằng Kí hiệu các phép toán và phép so sánh có thể khác nhau, tùy theo từng ngôn ngữ lập trình. 3. Giao tiếp người - máy tính Phụ thuộc vào các kết quả nhận được trong quá trình giải quyết các bài toán trên 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ề quá trình 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ố ví dụ về sự tương tác người-máy. a) 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" bằng chuột hay bàn phím. 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. Em 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. Hai câu lệnh Pascal dưới đây sẽ cho màn hình ở hình trên: 42 write('Ban hay nhap nam sinh NS ='); read(NS); Khi ta muốn thoát khỏi một chương trình đang chạy, chương trình có thể đưa ra hộp thoại có dạng sau: Khi đó ta cần nháy chuột vào Đồng ý để thoát khỏi phần mềm hoặc nháy vào Huỷ lệnh để chương trình tiếp tục như bình thường. b) 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 của mọi chương trình. Ví dụ, câu lệnh Pascal dưới đây write('Dien tich hinh tron la ',X); cho biết diện tích hình tròn: c) Chương trình tạm ngừng 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. Trong ví dụ sau đây, 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. Câu lệnh Pascal: Writeln('Cac ban cho 2 giay nhe .'); Delay(2000); Còn trong ví dụ dưới đây, sau khi thông báo kết quả tính số ð, 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. 43 Trong Pascal chẳng hạn, để chương trình tạm ngừng như trên, ta có thể sử dụng một trong hai câu lệnh: read; readln; Ngoài ra còn có những trường hợp chương trình tạm ngừng, chờ người sử dụng nhấn một phím cụ thể, hoặc nhấn một phím bất kỳ: Ghi nhớ 1. Dữ liệu sử dụng trong các ngôn ngữ lập trình thường định nghĩa theo các kiểu, với các phép toán có thể thực hiện trên từng kiểu dữ liệu đó. 2. 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 trình hoạt động thường được gọi là giao tiếp giữa người và máy tính. CÂU HỏI Và BàI TậP 1. 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 đượ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. 2. Cho dãy chữ số 2010. Dãy chữ số đó có thể thuộc kiểu dữ liệu nào? 3. Cho hai xâu kí tự “Lớp” và “8A”. Hãy thử định nghĩa một “phép toán” có thể thực hiện được trên hai xâu kí tự đó. 4. Hãy cho biết một số ví dụ về tương tác giữa người và máy tính khi chương trình hoạt động. 44 Bài thực hành 2 Viết chương trình để tính toán 1. Mục đích, yêu cầu • Luyện tập soạn thảo, chỉnh sửa chương trình, biên dịch, chạy và xem kết quả hoạt động của chương trình trong môi trường Turbo Pascal. • Thực hành gõ các biểu thức số học trong chương trình Pascal. • Tìm hiểu thêm về các lệnh in dữ liệu ra màn hình và tạm ngừng chương trình. 2. Nội dung Bài 1. Luyện tập gõ các biểu thức số học trong chương trình Pascal. a) Tìm hiểu cách viết các phép toán số học với các số được cho trong bảng cho dưới đây: Phép toán Kí hiệu trong Pascal Ví dụ Cộng + 5+7 Trừ - 15-9 Nhân * 5*6 Chia / 30/2 Chia phần dư mod 30 mod 4 Chia phần nguyên div 30 div 4 Hãy viết các biểu thức toán học sau đây dưới dạng biểu thức trong Pascal: a) 15 4 30 12× − + ; b) 10 5 18 3 1 5 1 + − + + ; c) 2 (10 2) (3 1) + + ; d) 2 (10 2) 24 (3 1) + − + . Lưu ý: Chỉ được dùng dấu ngoặc đơn để nhóm các phép toán. b) Khởi động Turbo Pascal và gõ chương trình sau để tính các biểu thức trên: 45 begin writeln('15*4-30+12 =',15*4-30+12); writeln('(10+5)/(3+1)+18/(5+1) =',(10+5)/(3+1)+18/(5+1)); writeln('(10+2)*(10+2)/(3+1)=',(10+2)*(10+2)/(3+1)); write('((10+2)*(10+2)-24)/(3+1)=',((10+2)*(10+2)-24)/(3+1)); readln end. Lưu ý: Các biểu thức Pascal được đặt trong câu lệnh writeln để in ra kết quả. Em sẽ có cách viết khác sau khi làm quen với khái niệm biến ở Bài 5. c) Lưu chương trình với tên CT2.pas. Dịch, chạy chương trình và kiểm tra kết quả nhận được trên màn hình. Bài 2. Tìm hiểu các phép chia lấy phần nguyên và phép chia lấy phần dư với số nguyên. Sử dụng các câu lệnh tạm ngừng chương trình. a) Mở tệp mới và gõ chương trình sau đây: begin writeln('16/3 =', 16/3); writeln('16 div 3 =',16 div 3); writeln('16 mod 3 =',16 mod 3); end. b) Dịch và chạy chương trình. Quan sát các kết quả nhận được và cho nhận xét về các kết quả đó. c) Thêm các câu lệnh thích hợp để có chương trình sau: uses crt; begin clrscr; writeln('16/3 =', 16/3); delay(5000); writeln('16 div 3 =',16 div 3); delay(5000); writeln('16 mod 3 =',16 mod 3); delay(5000); end. Lưu ý: Câu lệnh uses crt; được dùng để khai báo thư viện crt, còn lệnh clrscr; sẽ xóa màn hình. Câu lệnh clrscr; chỉ sử dụng được sau khi khai báo thư viện crt. d) Dịch và chạy chương trình. Quan sát chương trình tạm dừng 5 giây sau khi in từng kết quả ra màn hình. 46 e) Thêm câu lệnh readln vào chương trình (trước từ khoá end.). Dịch và chạy lại chương trình. Quan sát kết quả hoạt động của chương trình. Nhấn phím Enter để tiếp tục. Bài 3. Tìm hiểu thêm về cách in dữ liệu ra màn hình. Mở lại tệp chương trình CT2.pas và sửa ba lệnh cuối (trước từ khoá end.) thành: writeln((10+5)/(3+1)+18/(5+1):4:2); writeln((10+2)*(10+2)/(3+1):4:2); writeln(((10+2)*(10+2)-24)/(3+1):4:2); Dịch và chạy lại chương trình. Quan sát kết quả trên màn hình và rút ra nhận xét của em. TổNG KếT 1. Kí hiệu của các phép toán số học trong Pascal: +, -, *, /, mod, và div. 2. Câu lệnh clrscr làm sạch màn hình kết quả và chỉ sử dụng được nếu khi đã khai báo thư viện crt. Thư viện crt chứa các lệnh viết sẵn để thao tác với màn hình và bàn phím. 3. Các lệnh làm tạm ngừng chương trình: • delay(x) tạm ngừng chương trình trong vòng x phần nghìn giây, sau đó tự động tiếp tục chạy. • read hoặc readln tạm ngừng chương trình cho đến khi người dùng nhấn phím Enter. 4. Trong Pascal em có thể điều khiển cách ghi các số thực trên màn hình bằng câu lệnh writeln(<giá trị thực>:n:m); trong đó giá trị thực là số hay biểu thức số thực và n, m là các số tự nhiên. n quy định độ rộng in số, còn m là số chữ số thập phân. Lưu ý rằng các kết quả in ra màn hình được căn thẳng lề trái. Bài 5. Sử DụNG biến TRONG CHƯƠNG TRìNH Tóm tắt: Vai trò và ý nghĩa của biến nhớ như một công cụ hỗ trợ trong lập trình. 1. Biến là công cụ trong lập trình Hoạt động cơ bản của chương trình máy tính là xử lí dữ liệu. Trước khi được máy tính xử lý, mọi dữ liệu nhập vào đều được lưu trong bộ nhớ của máy tính. Ví dụ, nếu muốn 47 cộng hai số, ta nhập hai số và hai số đó được lưu trong bộ nhớ máy tính. Sau đó máy tính sẽ thực hiện phép cộng. Để chương trình luôn biết chính xác dữ liệu cần xử lí ở vị trí nào trong quá trình hoạt động, các ngôn ngữ lập trình cung cấp một công cụ rất quan trọng cho người viết chương trình. Đó là biến nhớ, hay được gọi ngắn gọn là biến. Trong lập trình biến được dùng để lưu trữ dữ liệu và dữ liệu được biến lưu trữ có thể thay đổi trong khi thực hiện chương trình. Dữ liệu do biến lưu trữ được gọi là giá trị của biến. Có thể so sánh vai trò của biến đối với người viết chương trình giống như chiếc cọ vẽ của người họa sĩ, chiếc búa của bác thợ hay chiếc bút của học sinh. Rất nhiều bài toán không thể viết được chương trình để giải, nếu không sử dụng biến. Một cách hình ảnh, có thể xem biến là tên được đặt cho phần bộ nhớ trong (RAM) để giúp dễ dàng truy cập tới dữ liệu được lưu trong đó. Chúng ta hãy xét một số ví dụ để hiểu vai trò biến nhớ trong lập trình. Ví dụ 1 Giả sử cần in giá trị của tổng hai số a + b ra màn hình. Trong bài thực hành 2, ta đã biết có thể sử dụng câu lệnh Pascal sau đây: writeln(a+b); Tình huống sẽ khác, nếu như hai số 5 và 2 được nhập lần lượt từ bàn phím. Sau khi các số 5 và 2 được nhập, chương trình lưu trữ các số này ở đâu đó trong bộ nhớ. Chúng ta có thể không nhớ giá trị của hai số a và b và cũng không biết chúng được lưu ở vị trí nào trong bộ nhớ nên không thể sử dụng lệnh ghi ra màn hình như trên. Vì thế ta sử dụng hai biến X và Y để lưu các giá trị tương ứng a và b bằng các phép gán X ←a và Y ←b. Sau đó có thể sử dụng lệnh writeln(X+Y); để ghi kết quả ra màn hình. Với việc sử dụng biến như thế, chương trình sẽ tự biết lấy các số a và b ở những vị trí nào và thực hiện phép cộng để ghi kết quả ra màn hình. Ví dụ này cũng cho thấy có thể xem hai biến X và Y như là “tên” của các vùng nhớ chứa các giá trị tương ứng. 48 Ví dụ 2. Giả sử cần tính giá trị của các biểu thức 100 50 3 + và 100 50 5 + và ghi kết quả ra màn hình. Chúng ta có thể tính các biểu thức này một cách trực tiếp. Tuy nhiên, để ý rằng tử số trong các biểu thức là như nhau. Do đó có thể tính giá trị tử số và lưu tạm thời trong một biến trung gian, sau đó thực hiện các phép chia: X ← 100 + 50 X ← X/3 X ← X/5 2. Khai báo biến a) Khai báo biến Trước khi có thể sử dụng biến nhớ, ta cần phải khai báo trong chương trình. Việc khai báo biến gồm:  Khai báo tên biến;  Khai báo kiểu dữ liệu biến có thể lưu. và phải đặt trong phần khai báo. Tên biến phải tuân theo quy tắc đặt tên của ngôn ngữ lập trình. Hình dưới là một ví dụ về cú pháp khai báo biến trong Pascal: trong đó: var là từ khóa dùng để khai báo, m, n là các biến có kiểu nguyên (integer), S, dientich là các biến có kiểu thực (real), thong_bao là biến kiểu xâu (string). Tùy theo ngôn ngữ lập trình, cú pháp khai báo biến có thể khác nhau. 3. Sử dụng biến trong chương trình Sau khi khai báo, ta có thể sử dụng các biến trong chương trình. Các thao tác được thực hiện trên các biến là:  Gán giá trị cho biến và  Tính toán với các biến. 49 [...]... chương trình với tên TINHTIEN.PAS Dịch và chỉnh sửa các lỗi gõ, nếu có d) Chạy chương trình với các bộ số liệu gõ vào đơn giá và số lượng như sau (1000, 20 ), (35 00, 20 0), ( 185 00, 1 23 ) Kiểm tra tính đúng của các kết quả in trên màn hình e) Chạy chương trình với bộ số liệu gõ vào là (1, 35 000) Quan sát kết quả nhận được Hãy thử đoán lí do tại sao chương trình cho kết quả sai Bài 2 Thử viết chương trình... Bài thực hành 3 Khai báo và sử dụng biến 1 Mục đích, yêu cầu • Bước đầu làm quen cách khai báo và sử dụng biến trong chương trình 2 Nội dung Bài 1 Viết chương trình Pascal có khai báo và sử dụng biến a) Tìm hiểu các kiểu dữ liệu trong Pascal và cách khai báo biến với các kiểu dữ liệu: Tên kiểu dữ liệu Phạm vi giá trị Byte Các số nguyên từ 0 đến 25 5 Integer Các số nguyên từ 32 7 68 đến 32 767 Real Các... số nguyên 4 cho biến A b) Gán số 32 42 cho biến X c) Gán xâu 32 42 cho biến X d) Gán xâu ‘Ha Noi’ cho biến A 4 Giả sử ta đã khai báo một hằng Pi với giá trị 3. 14 Có thể gán lại giá trị 3. 1415 cho Pi trong phần thân chương trình được không? Tại sao? 5 Trong Pascal, khai báo nào sau đây là đúng? a) b) const x: real; d) 51 var 4hs: integer; c) 6 var tb: real; var R = 30 ; Hãy thử mô tả hoạt động của máy... 2 Biến và hằng phải được khai báo trước khi sử dụng CÂU HỏI Và BàI TậP 1 Em hãy cho một số ví dụ về biến và hằng 2 Hãy cho biết phép gán giá trị cho một biến là gì, cho ví dụ và giải thích Gán giá trị cho một biến nhằm mục đích gì? 3 Giả sử A được khai báo là biến với kiểu dữ liệu số thực, X là biến với kiểu dữ liệu xâu Các phép gán sau đây có hợp lệ không? a) Gán số nguyên 4 cho biến A b) Gán số 32 42. .. trình, cách viết lệnh gán có thể khác nhau Bảng dưới đây mô tả lệnh gán giá trị và tính toán với các biến trong Pascal: Lệnh trong Pascal ý nghĩa X:= 12; Gán giá trị số 12 vào biến nhớ X X:=Y; Gán giá trị đã lưu trong biến nhớ Y vào biến nhớ X X:=(a+b) /2; Thực hiện phép toán tính trung bình cộng hai giá trị nằm trong hai biến nhớ a, b, kết quả gán vào biến nhớ X X:=X+1; Tăng giá trị của biến nhớ X lên... dữ liệu: Tên kiểu dữ liệu Phạm vi giá trị Byte Các số nguyên từ 0 đến 25 5 Integer Các số nguyên từ 32 7 68 đến 32 767 Real Các số thực có giá trị tuyệt đối không lớn hơn 10 38 Char Các kí tự trong bảng chữ cái String Các dãy gồm tối đa 25 5 kí tự Cú pháp khai báo biến: var < danh sách biến > : ; trong đó:  danh sách biến là danh sách tên các biến; nếu nhiều biến thì tên các biến được cách... sau: program Tinh_tien; uses crt; var 52 c) soluong: integer; dongia, cuocphi,thanhtien: real; thongbao: string; begin clrscr; cuocphi:=10000; thongbao:=’Tong so tien phai thanh toán : ’ {Nhap don gia va so luong hang} write(’Don gia = ’); readln(dongia); write(’So luong = ’);readln(soluong); thanhtien:= soluong*dongia+cuocphi; (*In ra so tien phai tra*) writeln(thongbao,thanhtien:10 :2) ; readln end... chương trình Dưới đây là ví dụ khai báo hằng trong Pascal: trong đó const là từ khóa để khai báo hằng, là các tên hằng chuvi, bankinh, 3. 14 và 2 là các giá trị được gán ngay cho các hằng đó Với khai báo như trên, để tính chu vi của hình tròn,ta có thể dùng câu lệnh sau: chuvi: =2* pi*bankinh; Việc sử dụng hằng rất hiệu quả nếu cần tính diện tích hình tròn trong trường hợp cần thay đổi bán kính hoặc muốn tính... x,y,z:integer; begin read(x,y); writeln(x,’ ’,y); z:=x; x:=y; y:=z; writeln(x,’ ’,y); readln end TổNG KếT 53 1 Cú pháp khai báo biến trong Pascal: var : ; trong đó danh sách biến gồm tên các biến và được liệt kê cách nhau bởi dấu phẩy 2 Kí hiệu:= được sử dụng trong lệnh gán giá trị cho biến 3 Lệnh read() hay readln(), trong đó danh sách biến là tên các . writeln('15*4 -3 0 + 12 =',15*4 -3 0 + 12) ; writeln('(10+5)/ (3+ 1)+ 18/ (5+1) =',(10+5)/ (3+ 1)+ 18/ (5+1)); writeln('(10 +2) *(10 +2) / (3+ 1)=',(10 +2) *(10 +2) / (3+ 1));. end.) thành: writeln((10+5)/ (3+ 1)+ 18/ (5+1):4 :2) ; writeln((10 +2) *(10 +2) / (3+ 1):4 :2) ; writeln(((10 +2) *(10 +2 ) -2 4)/ (3+ 1):4 :2) ; Dịch và chạy lại chương trình.

Ngày đăng: 11/10/2013, 11:12

HÌNH ẢNH LIÊN QUAN

• Tìm hiểu thêm về các lệnh in dữ liệu ra màn hình và tạm ngừng chương trình. - SGK Tin 8 Quyen 3 - phan 2
m hiểu thêm về các lệnh in dữ liệu ra màn hình và tạm ngừng chương trình (Trang 6)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w