Nhập và xuất dữ liệu đơn giản

9 311 1
Nhập và xuất dữ liệu đơn giản

Đang tải... (xem toàn văn)

Thông tin tài liệu

Nhập xuất liệu đơn giản Nhập xuất liệu đơn giản Bởi: PGS TS NGƯT Phạm Văn Huấn Các lệnh xuất nhập liệu Máy tính nhập liệu từ nguồn, thiết bị khác Tương tự, ta hướng xuất liệu thiết bị khác Trong chương này, ta xét cách nhập liệu từ bàn phím xuất liệu hình máy in Việc xuất nhập liệu có dùng file liệu xét chương Lệnh xuất liệu định hướng hình: PRINT * , Danh sách mục in Lệnh nhập liệu từ bàn phím: READ * , Danh sách biến Các mục in lệnh in hằng, biến, biểu thức Nếu danh sách mục in có từ hai mục trở lên, mục phải cách dấu phảy Trong danh sách biến lệnh nhập (đọc) liệu, có biến cần đọc liệu, biến phải liệt kê cách dấu phảy Các mục in dòng hình theo thứ tự liệt kê danh sách Nếu danh sách mục in nào, máy tính đơn giản xuống dòng hình Thí dụ, xét đoạn chương trình sau đây: GOC = 30.0 PRINT* , ' Khi X = ', GOC , ' 1/2 SinX = ', 0.5 * SIN (GOC * * 3.141593 / 180.) Ghi chú:Trong lệnh PRINT vừa có dấu nối dòng Ở dùng dấu hoa thị bên hình nhữ nhật nhỏ * để phân biệt với dấu hoa thị bình thường ký hiệu 1/9 Nhập xuất liệu đơn giản phép tính nhân Từ sau sách dòng lệnh có dấu nối dòng quy ước dùng ký hiệu Còn soạn chương trình hình máy tính, nói mục 1.5, chương 1, cần viết dấu hoa thị vào vị trí thứ dòng lệnh Ta thấy danh sách mục in lệnh PRINT có mục liệt kê theo thứ tự là: 1) Cụm chữ ' Khi X =' 2) Biến có tên GOC lưu giá trị 30° 3) Cụm chữ ' 1/2 SinX =' 4) Biểu thức 0.5 * SIN (GOC * 3.141593 / 180.0) biểu thị nửa sin góc 30° đổi thành rađian Như vậy, mục in thứ thứ ba văn bản, mục in thứ giá trị biến số thực GOC mục in thứ tư biểu thức số thực Trước in mục thứ tư, máy tính phải tính giá trị biểu thức (bằng 0,25), sau in giá trị lên hình Kết hình sau: Khi X = 30.00000 1/2 SinX = 0.2500000 Hãy ý với lệnh PRINT * mục in cụm liệu văn in ta nhìn thấy dòng lệnh, ký tự một, kể dấu trống Các giá trị biến biểu thức thực in sau khoảng trống số chữ số có nghĩa sau dấu chấm thập phân khác Nếu giá trị biến số nhỏ lớn, máy in giá trị dạng biểu diễn E D (xem mục 2.1) Kiểu in liệu gọi in không định dạng hay in format Chú ý rằng, READ *, sau dấu phảy danh sách biến, thực lệnh này, máy tính chờ ta gõ từ bàn phím giá trị (các ký tự văn bản, số nguyên, số thực ) tương xứng kiểu với danh sách biến, giá trị cách dấu phảy hay dấu trống, riêng ký tự văn phải nằm cặp dấu nháy (' ') Kết thúc danh sách giá trị phải gõ lệnh phím Enter (?) Máy tính gán giá trị nhận từ bàn phím vào biến tương ứng danh sách biến lệnh READ Nếu ta gõ chưa đủ số giá trị theo danh sách biến, máy chờ ta gõ đủ giá trị kết thúc thực lệnh READ Nếu kiểu liệu gõ vào sai so với kiểu liệu biến, chương trình ngừng thực báo lỗi chạy chương trình Thí dụ lệnh READ * , I , NAM , TEMP , GHICHU 2/9 Nhập xuất liệu đơn giản đòi hỏi ta gõ vào từ bàn phím số nguyên cho biến I, số nguyên cho biến NAM số thực cho biến TEMP, xâu ký tự cho biến văn GHICHU, muốn nhập yêu cầu ta gõ vào bàn phím sau: 1982 25.36 'SL quan trac' ? hay 1,1982,25.36,'SL quan trac' ? Lệnh in có quy cách (có định dạng): PRINT k , Danh sách mục in Cũng giống lệnh in không định dạng, danh sách mục in hằng, biến hay biểu thức cần in theo thứ tự liệt kê Tham số k nguyên dương tới nhãn lệnh FORMAT mô tả quy cách in thông tin vị trí in, khoảng cách mục in, số chữ số thập phân cần in giá trị số thực Dạng tổng quát lệnh FORMAT sau: k FORMAT (Danh sách đặc tả) k nhãn dòng lệnh FORMAT Danh sách đặc tả nằm cặp dấu ngoặc đơn báo cho máy tính biết cách dãn dòng theo chiều thẳng đứng bố trí ký tự dòng thông tin in Nếu in giấy máy in, tùy chọn dãn dòng báo cho máy in điều khiển kéo giấy để in sang đầu trang mới, xuống dòng mới, xuống hai dòng hay in dòng thời Máy tính thiết lập dòng in bên nhớ trước thực in dòng lên giấy Vùng nhớ bên gọi vùng đệmbuffer Những ký tự vùng buffer gọi ký tự điều khiển kéo giấy máy in có ý nghĩa sau: Sang trang Dấu trống Xuống dòng Xuống hai dòng + Không xuống dòng Bây ta làm quen với đặc tả đơn giản sau Trong chương trở lại vấn đề định dạng phức tạp làm việc với file liệu Các đặc tả lệnh FORMAT 1) Các đặc tả văn thường dùng để xuất liệu ký tự, đoạn văn bản, hay dùng in tiêu đề báo cáo Đặc tả văn cho phép đưa ký tự trực tiếp vào buffer Các ký tự phải nằm cặp dấu nháy hay dấu ngoặc kép Thí dụ: 3/9 Nhập xuất liệu đơn giản PRINT 4 FORMAT ('1' , 'KET QUA THI NGHIEM') Ta dùng đặc tảwH w − số vị trí để xuất liệu văn Thí dụ PRINT , Y FORMAT (16H TICH PHAN BANG , F9.3) 2) Đặc tảnX chèn n dấu trống vào ghi, thường dùng để tiêu đề báo cáo, thí dụ: PRINT 35 35 FORMAT ('1' , 25X , 'THI NGHIEM SO 1') 3) Đặc tảAw dùng cho biến xâu ký tự, thông tin văn bản, tùy chọn w báo cho máy tính số vị trí giành cho biến xâu ký tự (văn bản) cần in Mục văn in lề bên phải 4) Đặc tảIw dùng cho số nguyên, w số vị trí dùng để in giá trị số nguyên 5) Đặc tả Fw.d dùng biểu diễn dạng thập phân số thực, w − tổng số vị trí dành cho số thực kể dấu chấm thập phân, d − số chữ số thập phân sau dấu chấm Trong hai đặc tả I w F w d số in lề bên phải Nếu đặc tả thiếu vị trí để biểu diễn giá trị, giá trị số không in ra, mà vị trí in xuất dấu (*) để báo hiệu cho ta biết đặc tả lệnh FORMAT không phù hợp, cấp thiếu vị trí so với giá trị đại lượng cần in 6) Đặc tả Ew.d dùng ghi dạng luỹ thừa giá trị lớn nhỏ ta chưa hình dung rõ độ lớn đại lượng Thông thường hai lệnh PRINT FORMAT kèm gần Thí dụ: PRINT , I, NAM, TEMP, GHICHU FORMAT (1X, I3, I8, F10.2, 1X, A20) Sau lệnh READ liệu gõ vào từ bàn phím nói mục 3.2.1, kết cặp lệnh in hình sau: 1982 25.36 SL quan trac 4/9 Nhập xuất liệu đơn giản 7) Các đặc tảAw, Iw, Fw.d Ew.d dùng với lệnh đọc số liệu 8) Đối với giá trị lôgictrong Fortran dùng đặc tả Lw, w − số vị trí giành cho liệu Thí dụ theo lệnh 16 FORMAT (L5) vị trí giành cho biến có chữ T, giá trị TRUE gán vào biến lôgic lệnh đọc Khi xuất, chữ T F (tương ứng với TRUE FALSE in vị trí thứ 5, tức vị trí cuối bên phải vị trí 9) Chúng ta sử dụng số đặc điểm bổ sung cách viết đặc tả lệnh FORMAT nhằm nâng cao chất lượng ghi, theo ý định biểu diễn hay làm cho lệnh FORMAT trông ngắn gọn Có thể dùng cách đây: Cách viết lặp lại đặc tả: Thí dụ cặp lệnh sau hoàn toàn tương đương: 10 FORMAT (3X, I2, 3X, I2) 10 FORMAT (2 (3X, I2)) 20 FORMAT (1X, F4.1, F4.1, 1X, I3, 1X, I3, 1X, I3) 20 FORMAT (1X, 2F4.1, (1X, I3)) Dùng dấu gạch chéo (/) lệnh FORMAT kết thúc dòng in trước bắt đầu đặc tả sau Thí dụ, cần in dòng tiêu đề bảng số với tiêu đề cột, dùng: PRINT 5 FORMAT (1X, 'KET QUA QUAN TRAC' // 2X, 'Gio', 3X, * 'Toc do', 3X, 'Huong') Sau in xong đoạn văn KET QUA QUAN TRAC, dấu gạch chéo thứ dẫn cho máy kết thúc dòng, xuống dòng mới, dấu gạch chéo thứ hai dẫn bỏ qua dòng không in, phát sinh dòng trống trước in tiêu đề cột dòng thứ ba ta thấy đây: ***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.*** Dùng đặc tả bảngT, TR, TL để lề trái tiêu đề cột bảng số Thí dụ cặp lệnh nhãn sau tương đương với nhau: 5/9 Nhập xuất liệu đơn giản 600 FORMAT (F6.1, 15X, I7) 600 FORMAT (F6.1, T22, I7) lệnh thứ hai: sau ghi số thực với vị trí, nhảy tới vị trí 22 để bắt đầu ghi số nguyên 85 FORMAT (1X, 25X, 'Do cao', 5X, 'Huong') 85 FORMAT (T27, 'Do cao', TR5, 'Huong') lệnh thứ hai: nhảy tới vị trí thứ 27 để ghi tiêu đề "Do cao", sau có đặc tả TR5 xuất phát từ vị trí thời nhảy sang phải vị trí để ghi tiêu đề "Huong" Đặc tả \ có tác dụng ngăn không xuống dòng lệnh in đọc Có thể dùng đặc tả trường hợp muốn viết lời nhắc yêu cầu người dùng nhập thông tin từ bàn phím sau viết lời nhắc không xuống dòng, nháy đứng dòng sau lời nhắc chờ người dùng nhập thông tin từ bàn phím theo yêu cầu lệnh đọc Thí dụ nhóm lệnh sau làm chức đó: PRINT 7 FORMAT (1X, 'Ten file so lieu: ', \) READ (*, '(A50)') NAME Về số lượng đặc tả: Khi số đặc tả nhiều số mục danh sách mục in, thí dụ: PRINT 1, TOCDO, KHOANG FORMAT (4 F5.2) máy chọn lấy số tối đa đặc tả cần dùng, số đặc tả lại bị bỏ qua Trong trường hợp lệnh in có mục in - giá trị số thực, lệnh FORMAT có đặc tả số thực, số đặc tả thừa Máy chọn lấy hai đặc tả in bình thường mong muốn Khi số đặc tả số mục in, thí dụ lệnh in sau: PRINT 20, TEM, VOL 20 FORMAT (1X, f6.2) 6/9 Nhập xuất liệu đơn giản Trong trường hợp máy mục in đặc tả hết danh sách đặc tả, sau xảy hai khả năng: 1) In buffer bắt đầu buffer 2) Quay trở lại đầu danh sách đặc tả gặp dấu ngoặc đơn trái lại cặp mục in, đặc tả cho mục in lại Trong lệnh in giá trị TEM theo đặc tả F6.2 Vì đặc tả cho VOL nên ta làm sau: 1) In giá trị TEM sau vị trí trống 2) Khi quay trở lại phía đầu danh sách đặc tả (dấu ngoặc trái) F6.2 cho giá trị VOL Sau ta đạt tới đầu danh sách dấu trống để in VOL Do TEM VOL in hai dòng riêng biệt Trong Fortran 90 cho phép tham số độ rộng đặc tả, số lần lặp đặc tả biến Thí dụ FORMAT (F.) Bài tập Viết đoạn chương trình đọc giá trị vào hai biến thực A B, đổi giá trị hai biến cho Điều xảy thực chương trình sau ta nhập vào bàn phím số 1, dấu phảy, số 10 dấu chấm gõ phím Enter PRINT *, ' Cho cac gia tri cua hai so nguyen I1, I2 ! ' READ * , IDAU, ICUOI PRINT 4, IDAU, ICUOI FORMAT (1X, 'I1 = ', I5, 'I2 = ', I5) END Mô tả in lên hình thực lệnh đây: REAL X X = ?27.632 7/9 Nhập xuất liệu đơn giản PRINT , X FORMAT (1X, 'X = ', F7.1, ' DEGREES') Mô tả in máy in thực lệnh đây: A = 3.184 PRINT 1 FORMAT (1X, '0') PRINT 2 FORMAT ('+' , '- = ' , F5.2) Mô tả in lên hình thực lệnh đây: REAL DIST , VEL DIST = 28732.5 VEL = ?2.6 PRINT 10, DIST, VEL 10 FORMAT (1X, 'DISTANCE = ' , E10.3, * 5X , 'VELOCITY = ' , F5.2) Viết đoạn chương trình nhập vào từ bàn phím tên môn thi học kỳ với điểm thi môn Tính điểm trung bình in lên hình thành bảng có hình thức sau: BANG DIEM THI HOC KY -TT TEN MON HOC DIEM -1 Tên môn thứ 8/9 Nhập xuất liệu đơn giản Tên môn thứ Tên môn thứ Tên môn thứ Tên môn thứ -Diem trung binh hoc ky 7,8 9/9 ... GHICHU 2/9 Nhập xuất liệu đơn giản đòi hỏi ta gõ vào từ bàn phím số nguyên cho biến I, số nguyên cho biến NAM số thực cho biến TEMP, xâu ký tự cho biến văn GHICHU, muốn nhập yêu cầu ta gõ vào bàn... tiếp vào buffer Các ký tự phải nằm cặp dấu nháy hay dấu ngoặc kép Thí dụ: 3/9 Nhập xuất liệu đơn giản PRINT 4 FORMAT ('1' , 'KET QUA THI NGHIEM') Ta dùng đặc tảwH w − số vị trí để xuất liệu văn... Sau lệnh READ liệu gõ vào từ bàn phím nói mục 3.2.1, kết cặp lệnh in hình sau: 1982 25.36 SL quan trac 4/9 Nhập xuất liệu đơn giản 7) Các đặc tảAw, Iw, Fw.d Ew.d dùng với lệnh đọc số liệu 8) Đối

Ngày đăng: 29/12/2015, 10:08

Từ khóa liên quan

Mục lục

  • Nhập và xuất dữ liệu đơn giản

  • Các lệnh xuất và nhập dữ liệu

  • Các đặc tả trong lệnh FORMAT

Tài liệu cùng người dùng

Tài liệu liên quan