Bài thực hành 3 tin học 8 trang 140

Bài thực hành 3 KHAI BÁO VÀ SỬ DỤNG BIÊN ■ 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. Nội dung 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 Sô' nguyên từ 0 đến 255. Integer Sô' nguyên từ - 32768 đến 32767. Real Sô' thực có giá trị tuyệt đối trong khoảng 2,9x10"39 đến 1,7x1038 và số 0. Char Kí tự trong bảng chữ cái. String Xâu kí tự gổm tối đa 255 kí tự. Cú pháp khai báo biến: var : ; trong đó: danh sách biến là danh sách một hoặc nhiều tên biến và đượ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. Ví dụ : var X,Y: bỵte; var So_nguyen: integer; var Chieu_cao, Can_nang: real; var Ho_va_Ten: string; BÀI 1. Viết chương trình Pascal có khai báo và sử dụng biến. Bài toán: Một cửa hàng cung cấp dịch vụ bán hàng thanh toán tại nhà. Khách hàng chỉ cần đăng kí số lượng mặt hàng cần mua, nhân viên cửa hàng sẽ giao hàng và nhận tiền thanh toán tại nhà khách hàng. Ngoài trị giá hàng hoá, khách hàng còn phải trả thêm phí dịch vụ. Hãy viết chương trình Pascal để tính tiền thanh toán trong trường hợp khách hàng chỉ mua một mặt hàng duy nhất. Gợi ý: Công thức cần tính: Tiền thanh toán = Đơn giá X Số lượng + Phí dịch vụ Khởi động Pascal. Gõ chương trình sau và tìm hiểu ý nghĩa của từng câu lệnh trong chương trình: program Tinh_tien; uses crt; var soluong: integer; dongia, thanhtien: real; thongbao: string; const phi=10000; begin clrscr; thongbao:= 'Tong so tien phai.thanh toan :'; { Nhap don gia va so luong hang} write('Don gia = '); readln(dongia); write('So luong = ');readln(soluong); thanhtien;= soluong*dongia+phi; (* In ra so tien phai tra* ) writeln(thongbao,thanhtien:10:2); readln end. Lưu 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ó. Chạy chương trình với các bộ dữ liệu (đơn giá và số lượng) như sau (1000, 20), (3500, 200), (1 8500, 1 23). Kiểm tra tính đúng của các kết quả in ra. Chạy chương trình với bộ dữ liệu (1, 3 5000). 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 nhập các sô' nguyên X và y, in giá trị của X và y ra màn hình. Sau đó hoán đổi các giá trị của X và y rồi in lại ra màn hình giá trị của X và y. Tham khảo chương trình sau: program hoan_doi; var X,y,z:integer; begin read(x,ỵ); writeln (x,1 ', ỵ) ; z: =x; x:=ỵ; y: =z; writeln (x,' ',ỵ); readln end. Lưu ý. Sau khi thực hiện câu lệnh x:=ỵ thì biến X có giá trị bằng y và giá trị ban đầu của biến X (lắ x) không còn nữa. Do vậy, trong chương trình phải dùng biến z lưu trữ giá trị X rồi mới thực hiện việc gán giá trị X cho biên ỵ nhờ câu lệnh y:=z. TỔNG KẾT 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 cách nhau bởi dấu phẩy. Cú pháp lệnh gán trong Pascal: := Lệnh read() hay readln(), trong đó danh sách biến là tên các biến đã khai báo, được sử dụng để nhập dữ liệu từ bàn phím. Sau khi nhập dữ liệu cần nhấn phím để xác nhận. Nếu giá trị nhập vào vượt quá phạm vi của biến thì kết quả tính toán thường sẽ sai. Nội dung nằm trong cặp dấu { và } bị bỏ qua khi dịch chương trình. Các chú thích được dùng để làm cho chương trình dễ đọc, dễ hiểu. Ngoài ra có thể sử dụng cặp các dấu (* và *) để tạo chú thích.

Giải bài: Bài thực hành 3 - Sách VNEN tin học lớp 8 trang 140. Phần dưới sẽ hướng dẫn trả lời và giải đáp các câu hỏi trong bài học. Cách làm chi tiết, dễ hiểu, Hi vọng các em học sinh nắm tốt kiến thức bài học.

Giả thiết a và b là biến kiểu Integer, em hãy cho biết lệnh sau đây nhằm thực hiện việc gì? Lệnh này đã thể hiện cấu trúc lệnh nào mà em đã học?

if a < b then writeln (a) else writeln (b);

=> Xem hướng dẫn giải

B. Hoạt động luyện tập

1. Để tìm hai số lớn hơn trong hai số a và b sau đó gán cho biến c, đoạn chương trình nào sau đây là sai cú pháp?

A. if a > b; then c := a; else c := b;

B. if a > b then c := a; else c := b;

C. if a > b then c := a else c := b;

D. if a > b then c := a; c := b;

=> Xem hướng dẫn giải

2. Em hãy cho biết trong 4 đoạn chương trình ở mục B.1 đoạn chương trình nào thực hiện được mục đích đề ra: tìm số lớn hơn trong hai số a, b và gán cho biến c? Hãy kiểm tra thông qua phần mềm Pascal.

=> Xem hướng dẫn giải

3. Em hãy làm bài tập sau: Ngay sau khi thực hiện mỗi câu lệnh dưới đây, giá trị của biến nguyên a sẽ là bao nhiêu nếu trước đó giá trị của a bằng 10?

A. if a > 8 then a := 8;

B. if a < 5 then a := 5;

C. if a < 7 then a := 7 else a := 13;

D. if a mod 2 = 0 then a := 6;

=> Xem hướng dẫn giải

4. Em hãy tìm hiểu chương trình sau đây:

a, Hãy cho biết chương trình trên nhằm mục đích gì?

b, Hãy soạn thảo, dịch và chạy thử chương trình với các bộ dữ liệu sau đây (180, 200); (200, 180); (200, 200). Quan sát và nhận xét kết quả nhận được.

c, Tìm chỗ chưa đúng trong chương trình và sửa lại để chương trình có kết quả đúng.

=> Xem hướng dẫn giải

5. Em hãy tìm hiểu và cho biết chương trình sau thực hiện công việc gì, sau đó soạn thảo và chạy thử trên Free Pascal để kiểm tra lại.

=> Xem hướng dẫn giải

C. Hoạt động vận dụng

Giả sử em muốn viết một chương trình như sau:

  • Người dùng gõ một số nguyên vào bàn phím;
  • Sau đó chương trình hiển thị thông báo cho biết đó là số chẵn hay số lẻ;

Hãy lập trình trong môi trường Free Pascal để thực hiện yêu cầu trên.

=> Xem hướng dẫn giải

Bài 1 (trang 34 sgk Tin học lớp 8): Viết chương trình Pascal có khai báo và sử dụng biến

Bài toán: Một cửa hàng cung cấp dịch vụ bán hàng thanh toán tại nhà. Khách hàng chỉ cần đăng kí số lượng mặt hàng cần mua, nhân viên cửa hàng sẽ trả hàng và nhận tiền thanh toán tại nhà khác hàng. Ngoài giá trị hàng hóa, khách hàng còn phải trả thêm phí dịch vụ. Hãy viết chương trình Pascal để tính tiền thanh toán trong trường hợp khách hàng chỉ mua một mặt hàng duy nhất.

Gợi ý: Công thức cần tính

Tiền thanh toán = Đơn giá x Số lượng + Phí dịch vụ

a. Khởi động Pascal. Gõ chương trình sau và tìm hiểu ý nghĩa từng câu lệnh

b. Lưu chương trình với ten TINHTIEN.PAS. Dịch và chỉnh sửa lỗi nếu có.

c. Chạy chương trình vơi các bộ dữ liệu (đơn giá và số lượng) như sau (1000,20), (3500,200), (18500,123). Kiểm tra tính đúng của các kết quả in ra..

d. Chạy chương trình với bộ dữ liệu (1,35000). 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.

Trả lời:

a. Chương trình và ghi chú

b. Tên chương trình:

c. Kết quả

d. Kết quả.

- Chương trình bị sai là do soluong thuộc kiểu dữ liệu integer chỉ đến giới hạn 32676 <35000 nên bị lỗi. Muốn sửa chương trình cho đúng ta cần phải cho biến soluong thuộc kiểu dữ liệu longint.

Bài 2 (trang 35 sgk Tin học lớp 8): Thử viết chương trình nhập số nguyên X và Y rồi in ra giá trị ra màn hinh. Sau đó hoán đổi các giá trị của X và Y rồi lai in ra màn hình.

Trả lời:

Giả thiết a và b là biến kiểu Integer, em hãy cho biết lệnh sau đây nhằm thực hiện việc gì? Lệnh này đã thể hiện cấu trúc lệnh nào mà em đã học?

if a < b then writeln (a) else writeln (b);

Xem lời giải

B. Hoạt động luyện tập

1. Để tìm hai số lớn hơn trong hai số a và b sau đó gán cho biến c, đoạn chương trình nào sau đây là sai cú pháp?

A. if a > b;   then c := a;    else c := b;

B. if a > b    then c := a;    else c := b;

C. if a > b    then c := a     else c := b;

D. if a > b    then c := a;    c := b;

Xem lời giải

2. Em hãy cho biết trong 4 đoạn chương trình ở mục B.1 đoạn chương trình nào thực hiện được mục đích đề ra: tìm số lớn hơn trong hai số a, b và gán cho biến c? Hãy kiểm tra thông qua phần mềm Pascal.

Xem lời giải

3. Em hãy làm bài tập sau: Ngay sau khi thực hiện mỗi câu lệnh dưới đây, giá trị của biến nguyên a sẽ là bao nhiêu nếu trước đó giá trị của a bằng 10?

A. if    a > 8    then  a := 8;

B. if    a < 5    then  a := 5;

C. if    a < 7    then  a := 7    else   a := 13;

D. if    a mod 2 = 0    then  a := 6;

Xem lời giải

4. Em hãy tìm hiểu chương trình sau đây:

a, Hãy cho biết chương trình trên nhằm mục đích gì?

b, Hãy soạn thảo, dịch và chạy thử chương trình với các bộ dữ liệu sau đây (180, 200); (200, 180); (200, 200). Quan sát và nhận xét kết quả nhận được.

c, Tìm chỗ chưa đúng trong chương trình và sửa lại để chương trình có kết quả đúng.

Xem lời giải

5. Em hãy tìm hiểu và cho biết chương trình sau thực hiện công việc gì, sau đó soạn thảo và chạy thử trên Free Pascal để kiểm tra lại.

Xem lời giải

C. Hoạt động vận dụng

Giả sử em muốn viết một chương trình như sau: 

  • Người dùng gõ một số nguyên vào bàn phím;
  • Sau đó chương trình hiển thị thông báo cho biết đó là số chẵn hay số lẻ;

Hãy lập trình trong môi trường Free Pascal để thực hiện yêu cầu trên.

Xem lời giải

Video liên quan

Chủ đề