Chơng 8 Các lệnh xuất, nhập dữ liệu
8.2.2. Nhập dữ liệu kiểu ký tự hay chuỗ i: Ta dùng lện h:
Ví dụ7 : Cho khai báo : Var Ho_ten : String[18];
Phai : String[3]; Khoi_thi : Char;
Muốn nhập dữ liệu cho ba biến Ho_ten, Phai, Khoi_thita phải dùng ba lệnh : Readln(Ho_ten);
Readln(Phai);
Readln(Khoi_thi);
READLN(Biến_1, biến_2,..., biến_k)
Khi nhập, ta gõ : Le Van Hung ↵
nam ↵
B ↵
Kết quả, ba biến sẽ có giá trị là : Ho_ten = ‘Le Van Hung’, Phai = ‘nam’ và Khoi_thi = ‘B’.
Khác với dữ liệu số, ta không nên dùng một lệnh Readln để nhập dữ liệu cho hai hay nhiều biến kiểu ký tự hay kiểu chuỗi, vì dễ có những nhầm lẫn.
Chú ý :
Biến kiểu logic không nhập đợc từ bàn phím.
Dữ liệu nhập phải phù hợp với kiểu của biến, chẳng hạn, khi gặp lệnh Readln(n), trong đó n là biến nguyên; mà ta gõ 3.5 ↵ thì bị lỗi vì n là biến nguyên, còn 3.5 là số thực.
Lệnh READLN; là một dạng nhập dữ liệu đặc biệt vì nó không có biến nào
để nhập dữ liệu vào. Lệnh này thờng đợc dùng khi muốn tạm dừng chơng trình để xem kết quả trên màn hình, xem xong, gõ phím Enter thì chơng trình chạy tiếp.
Ví dụ 8 : Lập trình tính diện tích S của hình thang với đáy dài a, đáy ngắn b, chiều cao h nhập từ bàn phím. Program Vidu_8; Uses Crt; Var a, b, h, S : Real; Begin ClrScr;
Write(’Nhập giá trị của a, b, h : ’); Readln(a, b, h); S := (a+b)*h/2;
Write(’Diện tích S = ’,S:1:5); Readln
End.
Màn hình khi chạy chơng trình :
Chú ý : Ta có thể nhập a, b, h bằng các lệnh : Readln(a); Readln(b); Readln(h).
Ví dụ 9 : Lập trình tính điểm trung bình cộng kết quả kiểm tra 3 học phần của lớp tin học căn bản, trong đó : Dos hệ số 2, Window hệ số 1 và Pascal hệ số 3.
Nhập giá trị của a, b, h : 5 3 4 ↵ Diện tích S = 16.00000
Thuật giải.
- Nhập điểm môn Dos, Window, Pascal lần lợt vào ba biến Dos, Win và Pas. - Tính điểm trung bình đa vào biến TB.
- Xuất nội dung biến TB.
Program Vidu_9;
Uses Crt;
Var
Dos, Win, Pas : Byte; TB : Real;
Begin
ClrScr;
Write(’Điểm môn DOS : ’); Readln(Dos); Write(’Điểm môn WINDOW : ’); Readln(Win); Write(’Điểm môn PASCAL : ’); Readln(Pas); TB := (Dos*2 + Win + Pas*3)/6;
Wtiteln(’Trung bình cộng 3 môn : ’,TB:1:1); Readln
End.
Câu hỏi - Bài tập
[8.1] Giải thích sự khác nhau giữa hai lệnh sau :
Write(15 + 20); và Write(’15 + 20’);
[8.2] Chơng trình sau cho kết quả gì ?
Begin
Writeln(False>True:6); Writeln(‘1’>’2’);
End.
[8.3] Viết chơng trình nhập vào từ bàn phím độ dài ba cạnh của một tam giác ABC, rồi tính diện tích và các đờng cao của tam giác.
[8.4] Viết chơng trình nhập vào từ bàn phím thời gian của một công việc nào đó là N giây. Hãy chuyển đổi và viết ra trên màn hình số thời gian trên dới dạng bao nhiêu giờ, bao nhiêu phút, bao nhiêu giây.
Ví dụ :
[8.5] Viết chơng trình tính tổng các chữ số của một số có hai chữ số. Ví dụ :
Cho biết N (giây) : 36125 ↵ N = 10 giờ, 2 phút, 5 giây.
Nhập N (có 2 chữ số) : -49 ↵ Tổng các chữ số của -49 là 5.
[8.6] Viết chơng trình tính tổng các chữ số của một số có ba chữ số.
[8.7] Viết chơng trình nhập vào tên, đơn giá, số lợng của hai mặt hàng và in ra hoá đơn tính tiền theo mẫu sau :
[8.8] Bài toán gửi tiền tiết kiệm. Một khách hàng gửi tiền tiết kiệm, cứ mỗi một
kỳ (1 tháng, 3 tháng, ...) đến ngân hàng gửi một số tiền D và một năm gửi N kỳ. Biết rằng lãi suất trong một năm là Rate.
Viết chơng trình cho biết sau thời gian Y năm ngời khách hàng trên nhận đ- ợc bao nhiêu tiền. Trong đó D, N, Rate và Y nhập vào từ bàn phím.
Hớng dẫn : Đặt R = Rate/N. Số tiền thu đợc (lời + vốn) sau Y năm là :
R R R R D A Y N 1) ) 1 )(( 1 ( + + . − = .
[8.9] Bài toán vay trả góp. Một khách hàng đến ngân hàng vay một số tiền A và
muốn đợc trả món nợ trên trong thời gian Y năm, mỗi năm trả N lần. Biết rằng lãi suất mỗi năm là Rate.
Viết chơng trình cho biết mỗi lần khách hàng trên phải trả bao nhiêu tiền. Trong đó D, N, Rate và Y nhập vào từ bàn phím.
Hớng dẫn : Đặt R = Rate/N. Số tiền khách hàng phải trả cho ngân hàng mỗi kỳ là : ( ) NY R AR P − + − = 1 1 .
HOA DON BAN HANG --- oOo ---
STT Ten mat hang So luong Don gia Thanh tien ---
Tong cong :
TP. Ho Chi Minh, Ngày thang nam