Nếu muốn hiện thi giá trị của biến D ra màn hình ta dùng lệnh nào để viết trong chương trình

Các nội dung chính

Việc nhập xuất dữ liệu là đều luôn phải làm ở bất cứ chương trình nào! Ở Pascal, việc nhập xuất dữ liệu sẽ gồm các loại:

  • Xuất dữ liệu ra màn hình.
  • Nhập dữ liệu từ bàn phím.
  • Xuất dữ liệu ra tập tin.
  • Nhập dữ liệu từ tập tin.

Ở phần này, chúng ta cùng tìm hiểu các nhập xuất dữ liệu thông qua 2 thành phần cơ bản của máy tính là bàn phím và màn hình. Phần nhập xuất qua tập tin các bạn có thể xem tại đây

Xuất dữ liệu

Các bạn còn nhớ chương trình sau đây chứ?

Program Hello_World; Uses CRT; Begin Writeln['Hello, World!']; Readkey; End.

Ở chương trình trên lệnh Writeln[‘Hello, World!’]; dùng để viết dòng chữ Hello, World! ra màn hình. Writeln là lệnh dùng để xuất dữ liệu trong Pascal với cú pháp như sau:

Writeln[];

Ngoài ra còn có Write cũng cùng chức năng với Writeln. Writeln viết xong sẽ viết thêm dấu xuống dòng, còn Write thì không.

Write[];

Với là các giá trị sẽ được in ra màn hình, nếu có nhiều nội dung cần viết thì chúng được ngăn cách với nhau bởi dấu phẩy ,. Có các loại sau:

Văn bản

Văn bản cần được viết ra giống y như trong câu lệnh. Đây được gọi là các chuỗi kí tự và phải bắt đầu và kết thúc với một dấu trích dẫn đơn [dấu nháy đơn] '.

Ví dụ: Writeln[‘Hello, I am Pascal!’]; sẽ viết ra Hello, I am Pascal!.

Nội dung các biến

result := 5; Writeln [result];

Sẽ viết ra màn hình 5

Giá trị của biểu thức

a := 5; b := 3; Writeln [a + b];

Sẽ viết ra màn hình 8

Một lệnh Writeln có thể kết hợp cả 2 hay 3 loại. Ví dụ:

result := 5; Writeln['The Result is: ', result]; { The Result is: 5 } index := 3; Writeln['A[', index, '] = ', result]; { A[3] = 5 } a := 3; b := 5; c:= 7; Writeln['A[', index, '] = ', a + b + c]; { A[3] = 8 }

Khi giá trị của một biến hoặc một biểu thức là một số thực thì mặc định nó được ghi ra dưới dạng dấu phẩy động, ta cần định dạng lại số thực như sau:

Writeln['The Result is: ', 4 / 3]; { The Result is: 7.5000000000000000E-001 } Writeln['The Result is: ', 4 / 3 :0:2]; { The Result is: 0.75 }

:0:2 là dùng để định dạng số. Trong đó :0 là chừa 0 khoảng trống để in phần nguyên và :2 là in 2 chữ số ở phần thập phân. Muốn 4 số phần thập phân thì dùng :0:4

Lệnh Writeln có thể được dùng mà không cần chỉ định các giá trị cần được in ra! Khi không chỉ định các giá trị cần in ra thì lệnh Writeln sẽ in ra 1 dấu xuống dòng

Nhập dữ liệu

Nhập dữ liệu tức là đưa một thông tin nào đó vào chương trình. Cú pháp cơ bản để nhập dữ liệu từ bàn phím vào Pascal như sau:

Trong đó là danh sách các biến cần được nhập dữ liệu từ bàn phím và được ngăn cách với nhau vởi dấu phẩy , Lệnh Read xử lý đầu vào dưới dạng một chuỗi các kí tự với các dòng ngăn cách nhau bởi một kí tự kết thúc dòng. Các biến được đọc bằng Read có thể nằm trên 1 hoặc nhiều dòng, miễn sau chúng được ngăn cách nhau bởi dấu cách trắng, dấu Tab hay dấu xuống dòng là được.

Pascal còn có lệnh Readln để đọc dữ liệu đầu vào mà mỗi biến nằm riêng trên 1 dòng. Nếu có nhiều giá trị nằm chung 1 dòng thì lệnh Readln sẽ chỉ đọc giá trị đầu tiên. Readln có cú pháp như sau:

Readln[];

Giả sử khi chạy chương trình người ta nhập dữ liệu đầu vào như sau: 45 97 3

1 2 3

Ví dụ như a, b, c, d đều là số nguyên thì các lệnh ReadReadln sẽ đọc được nội dung như sau:

Read[a]; { a = 45 } Read[b]; { b = 97 }

Readln[a]; { a = 45 } Read[b]; { b = 1 }

Read[a, b, c, d]; { a = 45, b = 97, c = 3, d = 1 }

Readln[a, b]; {a = 45, b = 97 } Readln[c, d]; { c = 1, d = 2 }

Khi đọc bằng số nguyên, tất cả các khoảng trống được bỏ qua cho đến khi tìm thấy một số. Sau đó, tất cả các số tiếp theo sẽ được đọc, cho đến khi chạm tới một ký tự không phải số.

Ví dụ người dùng nhập: 8352.38

Khi một số nguyên được đọc từ đầu vào ở trên, giá trị của nó sẽ là 8352. Nếu ngay sau đó, bạn đọc một ký tự, giá trị sẽ là . Vì đầu đọc đã dừng lại ở ký tự không phải chữ số.

Giả sử ta cố gắng đọc hai số nguyên. Điều đó sẽ không thực hiện được, bởi vì khi máy tính tìm dữ liệu để lấp đầy biến thứ hai, nó sẽ thấy . Và dừng lại vì nó không thể tìm thấy bất kỳ số nào để đọc.

Với các giá trị thực, máy tính cũng bỏ qua các khoảng cách [cách trắng hoặc Tab] và sau đó đọc vào nhiều nhất có thể. Tuy nhiên, nhiều trình biên dịch Pascal đặt một hạn chế bổ sung: nếu là số N0 < N < 1 thì nó phải có dạng 0.xxx. Vì vậy, .678 là không đọc được, nhưng 0.678 là đọc bình thường.

Hãy chắc chắn rằng tất cả các định danh trong danh sách đối số phải là các biến! Hằng không thể gán một giá trị.

Cú pháp:

printf ["chuỗi định dạng"[, đối mục 1, đối mục 2,…]];

Chức năng: Đưa kết quả các ra màn hình

- : dùng để định dạng cho dữ liệu xuất ra màn hình của các

- , …: là các mục dữ kiện cần in ra màn hình. Các có thể là biến, hằng hoặc biểu thức phải được định trị trước khi in ra.

- Chuỗi định dạng: được đặt trong cặp nháy kép [" "], gồm 3 loại:

+ Đối với chuỗi kí tự ghi như thế nào in ra giống như thế ấy.

+ Đối với những kí tự chuyển đổi dạng thức cho phép kết xuất giá trị của các đối mục ra màn hình tạm gọi là mã định dạng.

Sau đây là các dấu mô tả định dạng:

%c : Ký tự đơn

%s : Chuỗi

%d : Số nguyên hệ thập phân

%f : Số chấm động [ký hiệu thập phân]

%e : Số chấm động [ký hiệu có số mũ]

%g : Dùng %e hoặc %f, tuỳ theo loại nào ngắn hơn, không in các số 0 vô nghĩa

%x : Hệ 16 không dấu

%u : Số thập phân không dấu

%o : Số nguyên bát phân không dấu

l : Tiền tố dùng kèm với %d, %u, %x, %o để chỉ số nguyên dài [ví dụ %ld]

Ví dụ:

1

2

3

4

5

6

7

#include

void main [void]

{

       printf[“Hello!”];

}

//Cho ra màn hình kết quả: Hello

Ví dụ:

1

2

3

4

5

6

7

8

#include

void main [void]

{

     int n=61;

     printf[“Gia tri cua n la: %d”,n];

}

//Cho ra màn hình kết quả: Gia tri cua n la:61

//%d dùng để định dạng cho giá trị của n

// nếu thay %d thành %c thì kết quả cho ra màn hình là: Gia tri cua n la A, vì %c là mã định dạng cho ký tự, tương ứng với mã 65 là ký tự A

+ Các ký tự điều khiển và ký tự đặc biệt

\n : Nhảy xuống dòng kế tiếp canh về cột đầu tiên.

\t : Canh cột tab ngang.

\r : Nhảy về đầu hàng, không xuống hàng.

\a : Tiếng kêu bip.

\\ : In ra dấu \

\" : In ra dấu "

\' : In ra dấu '

%%: In ra dấu %

Vi dụ:

Lệnh nhập

Cú pháp: scanf ["chuỗi định dạng"[, đối mục 1, đối mục 2,…]];

Chức năng: Đọc dữ liệu từ bàn phím

- Đinh dạng tương tự như hàm printf

Ví dụ

1

2

3

4

5

6

7

8

#include

void main[void]

{

     float a,b,c

     printf["nhap vao he so a, b, c"];

     scanf["%f%f%f", &a,&b,&c];

}

 -Nhập vào 3 số a, b,c phải cách nhau bằng khoảng trắng hoặc enter.

- Các ký tự định dạng là tương ứng từng cặp 1 của các biến

- Ký tự & là ký tự lấy địa chỉ của biến vì hàm scanf sẽ đọc dữ liệu từ bàn phím lưu vào vùng địa chỉ được xác định 

Bài tập thực hành tự làm

1. Viết chương trình đọc vào 2 số nguyên và in ra kết quả của phép [+], phép trừ [-], phép nhân [*], phép chia [/].

2. Viết chương trình đọc từ bàn phím 3 số nguyên biểu diễn ngày, tháng, năm và xuất ra màn hình dưới dạng "ngay/thang/nam".

Bài tập có lời giải.

5. Viết chương trình C++ để tính các giá trị biểu thức và in kết quả.

[Tự học lập trình C] Câu lệnh điều khiển rẽ nhánh

[Tự học lập trình C] Mảng một chiều

Video liên quan

Chủ Đề