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

SGK Tin 8 phần 2

11 536 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 182 KB

Nội dung

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

Trang 1

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ố, nhng 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

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

div chia lấy phần nguyên số nguyên mod chia lấy phần d số nguyên

Trang 2

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

a + −b

+ + (X +2)2 − ì4 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;

• 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, nhng 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

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

Trang 3

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:

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

Trang 4

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

Trang 5

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ụ

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ì − + ;

3 1+ −5 1

c)

2 (10 2)

(3 1)

+

d)

2 (10 2) 24

(3 1)

Lu ý: 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:

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.

Lu ý: 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) Lu 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

Trang 6

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.

Lu ý: 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

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 Lu ý rằng các kết quả in ra màn hình đợc căn thẳng lề

trái

Trang 7

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 lu trong bộ nhớ của máy tính Ví dụ, nếu muốn cộng hai số, ta nhập hai số và hai

số đó đợc lu 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 để lu trữ dữ liệu và dữ liệu đợc biến lu trữ có thể thay đổi trong khi

thực hiện chơng trình

Dữ liệu do biến lu 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 lu 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 lu 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 lu ở 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 để lu 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

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à lu tạm thời trong một biến trung gian, sau đó thực hiện các phép chia:

X 100 + 50

Trang 8

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

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

Kiểu dữ liệu đợc gán cho biến phải trùng với kiểu của biến và khi đợc gán một giá trị mới, giá trị

cũ của biến bị xóa đi Ta có thể thực hiện việc gán giá trị cho biến tại bất kì thời điểm nào, do đó giá trị của biến có thể thay đổi

Tùy theo ngôn ngữ lập 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:

X:=12; Gán giá trị số 12 vào biến nhớX.

X:=Y; Gán giá trị đã lu trong biến nhớYvà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ớXlên 1 đơn vị, kết quả gán trở

lại biếnX.

Trang 9

4 Hằng

Ngoài công cụ chính để lu trữ dữ liệu là biến, các ngôn ngữ lập trình còn có công cụ khác là

hằng

Khác với biến, hằng là đại lợng có giá trị không đổi trong suốt quá trình thực hiện chơng trình.

Giống nh biến, muốn sử dụng hằng, ta cũng cần phải khai báo tên của hằng Tuy nhiên hằng phải

đợc gán giá trị ngay khi khai báo Giá trị này sẽ đợc sử dụng trong suốt 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 với số π có ba hay bốn chữ số thập phân Nếu sử dụng hằng, ta chỉ cần chỉnh sửa chơng trình tại một chỗ và một lần mà không phải tìm và sửa trong cả chơng trình

Ghi nhớ

1 Biến và hằng là các đại lợng đợc đặt tên dùng để lu trữ dữ liệu Giá trị của biến có thể thay

đổi, còn giá trị của hằng đợc giữ nguyên trong suốt quá trình thực hiện chơng trình

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ố 3242 cho biến X

c) Gán xâu ‘3242’ 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) var tb: real;

b) var 4hs: integer;

c) const x: real;

d) var R = 30;

6. Hãy thử mô tả hoạt động của máy tính khi thực hiện lệnh khai báo một biến trong chơng trình

Trang 10

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

Integer Các số nguyên từ − 32768 đến 32767.

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 255 kí tự.

Cú pháp khai báo biến:

var < danh sách biến > : <kiểu dữ liệu>;

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 nhau bởi

dấu phảy (,)

 kiểu dữ liệu là một trong các kiểu dữ liệu của Pascal (byte, imteger, real, ).

Ví dụ:

var X,Y: byte;

var So_nguyen: interger;

var Chieu_cao, Can_nang: real;

var Ho_va_Ten: string;

b) Khởi động Pascal và gõ chơng trình sau:

program Tinh_tien;

uses crt;

var

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);

Ngày đăng: 12/07/2014, 06:00

Xem thêm

TỪ KHÓA LIÊN QUAN

w