Week 9 - PowerPoint PPT Presentation

About This Presentation
Title:

Week 9

Description:

Week 9 – PowerPoint PPT presentation

Number of Views:33
Avg rating:3.0/5.0
Slides: 22
Provided by: DursunZa4
Category:
Tags: stepper | week

less

Transcript and Presenter's Notes

Title: Week 9


1
Week 9
  • More Control over
  • INPUT and OUTPUT (I / O)

2
More Control over INPUT and OUTPUT (I / O)
The input and output facilities of any
programming language are extremely important,
because it is through these features of the
language that communication between the user and
the program is carried out. F , therefore,
provides facilities for input and output at two
quite different levels. As are given before,
list-directed input and output statements that
provide the capability for straightforward input
from the keyboard and also the output to the
display or printer. These list-directed i/o -
statements, however, allow the user very little
control over the source or layout of the input
data.
3
More Control over INPUT and OUTPUT (I / O)
F allows the programmer, to specify exactly
how the data will be presented and interpreted,
from which of the available input units it is to
be read how the results are to be displayed to
which of the available output units the results
are to be sent.
4
INTERFACE between the USER and the COMPUTER
  • Considering the following 9 digit input data
    there are enormous number of possible
    interpretations
  • Data 1 2 3 4 5 6 7 8 9
  • 1 2 3 4 5 6 7 8 9
  • 1, 2, 3, 4, 5, 6, 7, 8, and 9
  • - 123, 456, 789
  • 12345 . 6789
  • 1.23, 0.45, 67, 8900
  • etc.

5
FORMATS and EDIT DESCRIPTORS
  • An input statement must contain three distinct
    types of information
  • where the data is to be found
  • where it is to be stored in the computers
    memory
  • how it is to be interpreted
  • Similarly, an output statement must define
  • where the results are currently stored
  • where they are to be sent
  • in what form they are to be displayed.

6
INPUT EDITING
EXAMPLES of INPUT DATA 123456789 read (
i 3, i 3, i 3 ) , n1, n2, n3 ! n1
123, n2 456, n5 789 read ( t 4, i 2,
t 8, i 2, t 2, i 4 ) , x, y, z ! x 45,
y 89, z 2345 read ( f 9.4 ) , real_num
! real_num 12345.6789 read ( f 3.1, f
2.2, f 3.0 ) , r1, r2, r3 ! r1 12.3, r2
0.45, r3 678.0
123456789
123456789
7
EXAMPLE for formatting of real numbers using f
edit descriptor depending on the two
different INPUT DATA
read ( f 3.1, f 2.2, f 3.0 ) , s1, s2,
s3 DATA 1 DATA 2
123456789 .23.56.8
---------------------- ----------------- s1
contains 12.3 0.23 s2 contains
0.45 0.5 s3 contains 678.0 6.8
8
EXAMPLEs for formatting of an input real number
in different ways using a edit descriptor
  • real number is 361.764
  • 361.764
  • 3.617642
  • 3617643
  • 0.0361764e4
  • 3617.64d-1
  • 3.61764 E 2
  • 361.7640

9
EXAMPLEs for formatting of an input character
type using a edit descriptor
  • character ( len 10 ) ch1
  • character ( len 6 ) ch2
  • character ( len 15 ) ch3
  • Depending on the above-given declaration the
    formats may have the following forms in read
    statements
  • read ( a10, a6, a15 ) , ch1, ch2, ch3
  • or
  • read ( a, a, a ) , n1, n2, n3

10
LOGICAL DATA - INPUT EDITING
The edit descriptor is used with logical data,
and takes the following form, where upper case
L is used to avoid the potential confusion with
the digit 1 that can be caused to human
readers by using the lower-case form L
w w caharacters are used to derive either a
true value, a false value or an error.
11
LOGICAL DATA - INPUT EDITING
  • Any of the following are acceptable as
    representing true
  • t
  • true
  • .T
  • .true.
  • truthful
  • while the following will all be interpreted as
    false
  • F
  • False
  • .f.
  • futile

12
OUTPUT EDITING
The following figure shows the main edit
descriptor that are available for
output. EXAMPLE for i edit descriptor tom
23 dick 715 harry -12 print
, ( i 5, i 5, i 5 ), tom, dick,
harry This statement produce following line of
output (where the symbol represents a space
) 23715-12
13
OUTPUT EDITING
EXAMPLE for f edit descriptor x
3.14159 y -275.3024 z 12.9999 print ,
( f 10.3, f 10.3, f 10.3 ), x, y,
z This statement produce following line of
output (where the symbol represents a space
) 3.142-275.302-13.00
14
OUTPUT EDITING
EXAMPLE program tabular_output real,
parameter third 1.0 / 3.0 real
x integer i do i 1, 10
x 1.0 print ( f 15.4, f 15.4, f
15.4 ), x, sqrt (x), xthird end
do end program tabular_output
15
OUTPUT EDITING
In the above-given program the same edit
descriptor has been repeated several times. A
number, called a repeat count, may be placed
before the i, f, a or L edit
descriptors to indicate how many times they are
to be repeated . Depending on this, the format
could be written more succinctly and It is
possible to write it more clearly.
EXAMPLE print ( i 5, i 5, i 5, f 6.2,
f 6.2, f 6.2, f 6.2 ), x, y, z, d, e, f, g or
better print ( 3 i 5, 4 f 6.2 ), x,
y, z, d, e, f, g
16
Exercise 2
  • program test1
  • integer a,b
  • realc,d
  • read "(i4,t1,i4,t1,f4.1,t1,f4.2)",a,b,c,d
  • print "(i4,a,i5,a,i5,a,f6.2,a,f6.2,a,f8.3)",a,
  • " minus",b," is",a-b,"",c," minus",d, "
    is",c-d
  • end program test1

17
Exercise 3
  • program test2
  • character(len6)a,b,c
  • read "(a8,t1,a4,t1,a)",a,b,c
  • print "(a10,tr12,a4,tr30,a)",a,b,c
  • print "(a,t10,a,t52,a)",a,b,c
  • end program test2

18
  • program five_digit_numbers
  • integeri
  • integer,dimension(12)arr
  • arr (/12345, 23456, 34567, 45678,
  • 90123, 12340, 24680, 46802,
  • 13579, 35791, 57913, 69649/)
  • ! output for single column format example
  • print,"Single column of numbers"
  • do i 1 , 12
  • print "(t8,i2,1x,i5)",i,arr(i)
  • end do
  • ! output for four rows of three numbers
  • print "(2/t3,a/)","Four rows of three numbers "
  • print "(t8,i2,1x,3(i5,1x))", 1,arr(13)
  • print "(t8,i2,1x,3(i5,1x))", 2,arr(46)
  • print "(t8,i2,1x,3(i5,1x))", 3,arr(79)
  • print "(t8,i2,1x,3(i5,1x))", 4,arr(1012)
  • ! a single line of numbers

19
  • program multi_record_example
  • real a,b
  • a 12.25
  • b 23.50
  • write(unit6,fmt"(t10,a,3/,a,f6.2,a,f6.2,a"//"
  • f7.2,2/,a,f10.3)")
  • "Multi-record example",
  • " The sum of ",a," and",b," is", ab,
  • " Their product is",ab
  • end program multi_record_example

20
  • program railway_time_table
  • integer,parametern5
  • integeri
  • real,dimension(n)arrival,departure
  • integer,dimension(n)platform
  • character(len10),dimension(n)destination
  • arrival(/9.23, 9.28, 10.41, 10.48, 11.15/)
  • departure(/9.25, 9.32, 10.53, 10.53, 11.18/)
  • platform(/2, 1, 3, 2, 1/)
  • destination(/"Edinburgh"," London","Sheffield",
  • "Newcastle"," London"/)
  • write(unit6,fmt"(/a/2x,7(''),3x,9(''),3x,8(''
    ),3x,11(''))")
  • " Arrival Departure Platform
    Destination"
  • do i 1 , n
  • write(unit6,fmt"(3x,f5.2,6x,f5.2,8x,i1,8x,a10)")
  • arrival(i),departure(i),platform(i),desti
    nation(i)
  • end do
  • end program railway_time_table

21
  • program test2
  • character(len6)a,b,c
  • print , "........................ STEPPER...
    Entering PROGRAM. Press Enter"
  • print,"program test2"
  • read
  • print , "........................ STEPPER...
    Before READ. Press Enter"
  • print,"read ""(a8,t1,a4,t1,a)"",a,b,c"
  • read
  • read "(a8,t1,a4,t1,a)",a,b,c
  • print , "........................ STEPPER...
    After READ. Press Enter"
  • read
  • print "(a8,tr2,a4,tr3,a)",a,b,c
  • print,"print ""(a8,tr2,a4,tr3,a)"",a,b,c"
  • print , "........................ STEPPER...
    After PRINT. Press Enter"
  • read
  • print "(a,t10,a,tr2,a)",a,b,c
  • print,"print ""(a,t10,a,tr2,a)"",a,b,c"
  • print , "........................ STEPPER...
    After PRINT. Press Enter"
  • read
Write a Comment
User Comments (0)
About PowerShow.com