Biến được sử dụng để lưu trữ dữ liệu, giá trị của biến như thế nào khi thực hiện chương trình

BÀI 4 sử DỤNG BIẾN TRONG CHƯƠNG TRÌNH 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 cộng hai số a và b, trước hết hai số đó sẽ được nhập và lưu trong bộ nhớ máy tính, sau đó máy tính sẽ thực hiện phép cộng a + b. Đê’ chương trình luôn biết chính xác dữ liệu cần xử lí được lưu ở vị trí nào trong bộ nhớ, các ngôn ngữ lập trình cung cấp một công cụ lập trình rất quan trọng. Đó 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. Dữ liệu do biến lưu trữ được gọi là giá trị của biến, nó có thê’ thay đổi trong khi thực hiện chương trình. Chúng ta hãy xét một sô' ví dụ đê’ hiểu vai trò của biến nhớ trong lập trình. Ví dụ 1. Giả sử cần in kết quả của phép cộng 1 5 + 5 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 (15+5); Tình hình sẽ khác, nếu như hai số 1 5 và 5 được nhập trước từ bàn phím (hoặc là các kết quả tính toán trước đó). Sau khi nhận được các số 1 5 và 5, chương trình lưu trữ các số này ở những vị trí nào đó trong bộ nhớ. Chúng ta không biết giá trị của các số được nhập từ trước (hoặc các kết quả tính toán trung gian) nên không thê’ tính được tổng các số đã nhập vào đê’ sử dụng lệnh in ra màn hình. Vì thế ta sử dụng hai biến X và Y đê’ lưu giá trị của các số được nhập vào, tức 1 5 và 5 (hoặc kết quả tính toán trung gian), sau đó có thể sử dụng lệnh writeln(X+Y); đê’ in kết quả ra màn hình. Với việc sử dụng biến như trên, chương trình sẽ tự biết lấy các số 1 5 và 5 từ những vị trí nào trong bộ nhớ đê’ thực hiện phép cộng (h. 24). Ví dụ này cũng cho thấy, một cách hình ảnh, 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 , . , 100 + 50 . 100 + 50 Ví dụ 2. Giá sứ can tính giá trị cúa các biêu thức 2 và 5—— sau đó in 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. Để ý 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 X, sau đó thực hiện các phép chia, về mặt toán học, điểu này được thực hiện như sau (h. 25): X = 100 + 50 Y = X/3 z = X/5 Hình 25 Khai báo biến Tất cả các biến dùng trong chương trình cần phải được khai báo ngay trong phần khai báo của 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 của biến. Tên biến phải tuân theo quy tắc đặt tên của ngôn ngữ lập trình. Ví dụ 3. Hình 26 là một ví dụ về cách khai báo biến trong Pascal: var m,n : integer; s, dientich: real; thong_bao: string; Hình 26 Trong ví dụ trên: var là từ khoá của ngôn ngữ lập trình dùng để khai báo biến, 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). Tuỳ theo ngôn ngữ lập trình, cú pháp khai báo biến có thể khác nhau. 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ể thực hiện với các biến là: Gán giá trị cho biến; Tính toán với giá trị của biến. Kiểu dữ liệu của giá trị được gán cho biến thường 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ị xoá đ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 trong chương trình, do đó giá trị của biến có thể thay đổi. Câu lệnh gán giá trị trong các ngôn ngữ lập trình thường có dạng: Tên biến <- Biểu thức cần gán giá trị cho biến', trong đó, dấu <- biểu thị phép gán. Ví dụ: X <—c/b (biến X nhận giá trị bằng -c/bỵ, X <- / (biến X được gán giá trị của biến /); /<-/■+ 5 (biến i được gán giá trị hiện tại của /■ cộng thêm 5 đơn vị). Việc gán giá trị cho biến còn có thể thực hiện bằng câu lệnh nhập dữ liệu. Tuỳ theo ngôn ngữ lập trình, kí hiệu của câu lệnh gán cũng có thể khác nhau. Ví dụ, trong ngôn ngữ Pascal, người ta kí hiệu phép gán là dấu kép = để phân biệt với dấu bằng (=) của phép so sánh. Ví dụ 4. 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 và b. Kết quả gán vào biến nhớ X. X: =x+l; Tăng giá trị của biến nhớ X lên 1 đơn vị, kết quả gán trở lại biến X. Hằng Ngoài công cụ chính để lưu 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ưong 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. Dưới đây là ví dụ khai báo hằng trong Pascal: const pi = 3.14; bankinh = 2; Hình 27 trong đó: const là từ khoá để khai báo hằng, Các hằng pi, bankinh được gán giá trị tưong ứng là 3.14 và 2. Với khai báo 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 giá trị của hằng (bán kính) được sử dụng trong nhiều câu lệnh của chương trình. Nếu sử dụng hằng, khi cần thay đổi giá trị, ta chỉ cần chỉnh sửa một lần, tại nơi khai báo mà không phải tìm và sửa trong cả chương trình. Cần lưu ý rằng ta không thể dùng câu lệnh để thay đổi giá trị của hằng (như đối với biến) ở bất kì vị trí nào trong chương trình. Ví dụ, đối với các hằng p và bankinh đã khai báo ở trên, các câu lệnh gán sau đây trong chương trình là không hợp lệ: pi: = 3.1416; bankinh:= bankinh + 2; GHI NHÓ Biến và hằng là các đại lượng được đặt tên dùng để lưu 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. Biến vầ hằng phải được khai báo trước khi sử dụng. R32; Câu hổi vầ bài tập 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:= 4; b) X:= 3242; c) X:= '3242'; d) A:= 'Ha Noi'. Nêu sụ khác nhau giữa biến và hàng. Cho một vài ví dụ về khai báo biến và hằng. Giở sửta đã khai báo một hằngPivói giá trị 3.14. Có thể gán lại giá trị 3.1416 cho Pi trong phần thân chưong trình được không? Tại sao? Trong Pascal, khai báo nào sau đây là đúng? var tb: real; var 4hs: integer; const X : real; var R = 30; Hãy liệt kê các lỗi nếu có trong chưong trình dưới đây và sửa lại cho đúng; var a, b := integer; const c := begin a : = 200 b: = a/c; write(b); readln end. Hãy cho biết kiểu dữ liệu của các biến cần khai báo dùng để viết chưong trình để giãi các bài toán dưới đây: Tính diện tích s của hình tam giác với độ dài một cạnh a và chiều cao tưong ũng h (a và h là các số tụ nhiên đưạc nhập vào tù bàn phím). Tính kết quà c của phép chia lây phần nguyên và kết quá d của phép chia lấy phần dư của hai số nguyên a và b.

Show

Xem toàn bộ tài liệu Lớp 8: tại đây

Giải Bài Tập Tin Học 8 – Bài 4: Sử dụng biến và hằng trong chương trình giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

    • Sách Giáo Khoa Tin Học Lớp 8
    • Sách Giáo Viên Tin Học Lớp 8

    Bài 1 (trang 32 sgk Tin học lớp 8): 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) A:=4;

    b) X:=3242;

    c) X:= ‘3242’;

    d)A:=’Ha Noi’.

    Trả lời:

    a) Hợp lệ bởi 4 là số nguyên, mà số nguyên là tập con của số thực.

    b) Không hợp lệ bởi X là kiểu dữ liệu xâu, không thể gán giá trị thuộc kiểu dữ liệu số nguyên.

    c) Hợp lệ.

    d) Không hợp lệ bởi A được khai báo với kiểu dữ liệu số thực, còn ‘Ha Noi’ lại thuộc xâu kí tự.

    Bài 2 (trang 32 sgk Tin học lớp 8): Nêu sự khác nhau giữa biến và hằng và cho một vài ví dụ cụ thể về khai báo biến và hằng.

    Trả lời:

    – Biến 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. Để mở đầu khai báo ta dùng cú pháp “const”

    – Hằng cũng dùng để lưu trữ dữ liệu nhưng dữ liệu được hằng lưu trữ không thể thay đổi – trong suốt quá trình thực hiện chương trình. Để mở đầu khai báo ta dùng cú pháp “var”.

    – Ví dụ khai báo về hằng và biến:

    Hằng: const pi=3.14; Bankinh = 2; Biến: var m,n: integer; S, dientich: real; thong_bao: string;

    Bài 3 (trang 32 sgk Tin học lớp 8): 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?

    Trả lời:

    Ta không thể gán lại giá trị của Pi bởi tính chất của hằng là “Có giá trị không đổi trong suốt quá trình thực hiện chương trình”.

    Bài 4 (trang 32 sgk Tin học lớp 8): 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;

    Trả lời:

    a) Đúng;

    b) Sai bởi tên biến không tuân theo quy tắc ngôn ngữ lập trình: có chữ số ở đầu.

    c) Sai bởi khai báo hằng cần một giá trị ngay sau khi khai báo, còn “real” là tên kiểu dữ liệu của biến được khai báo.

    d) Sai bởi khai báo tên biến thì phía sau phải có kiểu dữ liệu chứ không phải giá trị.

    Bài 5 (trang 32 sgk Tin học lớp 8): Hãy liệt kê các lỗi có thể có trong chương trình dưới đây và sửa lại cho đúng:

    var a,b:= integer; // Dòng số 1. const c:=3; // Dòng số 2. begin // Dòng số 3. a:= 200; // Dòng số 4. b:= a/c; // Dòng số 5. write(b); // Dòng số 6. readln // Dòng số 7. end. // Dòng số 8.

    Trả lời:

    – Các lỗi của chương trình:

    Dòng số 1: Thừa dấu = và khai báo kiểu dữ liệu của b phải là số thực.

    Dòng số 2: Thừa dấu:

    Dòng số 3: Đúng.

    Dòng số 4: Đúng.

    Dòng số 5: Đúng.

    Dòng số 6: Đúng.

    Dòng số 7: Thiếu;

    Dòng số 8: Đúng.

    – Chương trình sau khi sửa lại:

    Biến được sử dụng để lưu trữ dữ liệu, giá trị của biến như thế nào khi thực hiện chương trình

    Bài 6 (trang 33 sgk Tin học lớp 8): Hãy cho biết kiểu dữ liệu của các biến cần khai báo dùng để viết chương trình để giải các bài toán dưới đây:

    a) Tính diện tích S của hình tam giác với độ dài một cạnh a và chiều cao tương ứng h (a và h là các số tự nhiên được nhập vào từ bàn phím).

    b) Tính kết quả c của phép chia lấy phần nguyên và kết quả d của phép chia lấy phần dư của hai số nguyên a và b.

    Trả lời:

    a) Ta sẽ có các biến cần khai báo: S là diện tích tam giác, a là độ dài cạnh, h là chiều cao tương ứng. Do a, h là các số tự nhiên nên S cũng là số tự nhiên, kiểu dữ liệu chung đều là integer;

    var S, a, h: integer;

    b) Ta sẽ có các biến cần khai báo: c là kết quả chia lấy phần nguyên, d là kết quả chia lấy phần dư; a,b đều là hai số nguyên. Do đó cả a,b,c,d đều là kiểu dữ liệu số nguyên.

    var c, a, b, d: integer;

    Tìm hiểu mở rộng (trang 33 sgk Tin học lớp 8): Em đã biết để có các kết quả tính toán đúng mục đích của chương trình, cần phải gán các giá trị dữ liệu thích hợp cho các biến. Hãy chạy chương trình dưới đây để tìm hiểu ngay sau khi khai báo biến (trước khi gán giá trị dữ liệu cụ thể), biến có nhận giá trị dữ liệu ban đầu nào không? Nêu nhận xét của em về giá trị dữ liệu của biến ngay sau khi khai báo.

    var A: integer; B: integer; C: integer; D: integer; begin writeln(A); writeln(B); writeln(C); writeln(D); readln; end.

    Trả lời:

    – Kết quả chạy chương trình:

    Biến được sử dụng để lưu trữ dữ liệu, giá trị của biến như thế nào khi thực hiện chương trình

    – Ta có thể thấy nếu không khai báo giá trị của biến thì chương trình sẽ tự động đặt giá trị của bằng 0. Ở một số ngôn ngữ lập trình khác thì nếu không khai báo biến thì biến sẽ tự động nhận một giá trị ngẫu nhiên.