From: Luciano <lrribeiro@gmail.com>
To: gcc-help@gcc.gnu.org
Subject: error with free format in read/print/write
Date: Mon, 19 Sep 2011 14:35:00 -0000 [thread overview]
Message-ID: <loom.20110919T151306-996@post.gmane.org> (raw)
Hello, my name is Luciano.
I have Fortran 4:4.5.2-1Ubuntu3 The GNU Fortran 95 compiler installed by
synaptic.
In man gfortran => gcc-4.5.2 2011-04-18
GFORTRAN(1)
When I read one variable in Pmat.prn the variable modify the value if not out is
formated. In original 1 space between numbers.
<file> Pmat.prn <file> Pmatout.prn - out formated
1.20 2.31 3.42 4.53 1.20 2.31 3.42 4.53
6.74 7.85 8.96 9.07 6.74 7.85 8.96 9.07
2.28 3.39 4.40 5.51 2.28 3.39 4.40 5.51
6.72 5.43 7.24 4.55 6.72 5.43 7.24 4.55
========================================================================
Free Format in Read and out with PRINT*
x = line 1 1.2000000 2.3099999 3.4200001 4.5300002
x 1 * 2 2.4000001 4.6199999 6.8400002 9.0600004
x 1 * 3 3.6000001 6.9299998 10.260000 13.590000
x 1 * 4 4.8000002 9.2399998 13.680000 18.120001
x = line 2 6.7399998 7.8499999 8.9600000 9.0699997
x 2 * 2 13.480000 15.700000 17.920000 18.139999
x 2 * 3 20.219999 23.549999 26.880001 27.209999
x 2 * 4 26.959999 31.400000 35.840000 36.279999
x = line 3 2.2800000 3.3900001 4.4000001 5.5100002
x 3 * 2 4.5599999 6.7800002 8.8000002 11.020000
x 3 * 3 6.8400002 10.170000 13.200001 16.530001
x 3 * 4 9.1199999 13.560000 17.600000 22.040001
x = line 4 6.7199998 5.4299998 7.2399998 4.5500002
x 4 * 2 13.440000 10.860000 14.480000 9.1000004
x 4 * 3 20.160000 16.289999 21.719999 13.650001
x 4 * 4 26.879999 21.719999 28.959999 18.200001
========================================================================
Formated Format in Read with WRITE
Line 1 - Out in Screen by Write*,formats (free format)
L---> 1.20 2.31 3.42 4.53
x did read with formated format and print with free format - screen by print
x = 1.2000000 2.3099999 3.4200001 4.5300002
x * 2 = 2.4000001 4.6199999 6.8400002 9.0600004
x * 3 = 3.6000001 6.9299998 10.260000 13.590000
x * 4 = 4.8000002 9.2399998 13.680000 18.120001
Line 2 - Out in Screen by Write*,formats (free format)
L---> 6.74 7.85 8.96 9.07
x did read with formated format and print with free format - screen by print
x = 6.7399998 7.8499999 8.9600000 9.0699997
x * 2 = 13.480000 15.700000 17.920000 18.139999
x * 3 = 20.219999 23.549999 26.880001 27.209999
x * 4 = 26.959999 31.400000 35.840000 36.279999
Line 3 - Out in Screen by Write*,formats (free format)
L---> 2.28 3.39 4.40 5.51
x did read with formated format and print with free format - screen by print
x = 2.2800000 3.3900001 4.4000001 5.5100002
x * 2 = 4.5599999 6.7800002 8.8000002 11.020000
x * 3 = 6.8400002 10.170000 13.200001 16.530001
x * 4 = 9.1199999 13.560000 17.600000 22.040001
Line 4 - Out in Screen by Write*,formats (free format)
L---> 6.72 5.43 7.24 4.55
x did read with formated format and print with free format - screen by print
x = 6.7199998 5.4299998 7.2399998 4.5500002
x * 2 = 13.440000 10.860000 14.480000 9.1000004
x * 3 = 20.160000 16.289999 21.719999 13.650001
x * 4 = 26.879999 21.719999 28.959999 18.200001
==========================================================================
program abre_aquivo
!
! ARQUIVO LIDO => Pmat.prn
! 1.20 2.31 3.42 4.53
! 6.74 7.85 8.96 9.07
! 2.28 3.39 4.40 5.51
! 6.72 5.43 7.24 4.55
!
! ARQUVIVO GRAVADO COM FORMATAÃÃO Pmatout.prn
! 1.20 2.31 3.42 4.53
! 6.74 7.85 8.96 9.07
! 2.28 3.39 4.40 5.51
! 6.72 5.43 7.24 4.55
!
implicit none
real ::a,b,c,d
integer::i
!
open(1,file='Pmat.prn')
open(2,file='Pmatout.prn')
!
print*,' '
print*,'Leitura livre'
!
do i=1,4
read(1,*)a,b,c,d
print*,'x = linha',i,' ',a,b,c,d
print*,"x ",i,' * 2 ', a*2,b*2,c*2,d*2
print*,"x ",i,' * 3 ', a*3,b*3,c*3,d*3
print*,"x ",i,' * 4 ', a*4,b*4,c*4,d*4
enddo
!
print*,' '
print*,'Leitura formatada'
!
rewind(1)
!
do i = 1,4
read(1,'(f4.2, 1x, f4.2, 1x, f4.2, 1x, f4.2)')a,b,c,d
write(*,'(f4.2, 1x, f4.2, 1x, f4.2, 1x, f4.2, 1x, a40)'),a,b,c,d,"<=== SaÃda
na Tela, via Write*,formatos "
write(2,'(f4.2, 1x, f4.2, 1x, f4.2, 1x, f4.2)')a,b,c,d
print*, 'x com leitura formatada e print formato livre"*" - Tela via
print', a,b,c,d
print*, 'x * 2 - com leitura formatada e print formato livre "*"
',a*2,b*2,c*2,d*2
print*, 'x * 3 - com leitura formatada e print formato livre "*"
',a*3,b*3,c*3,d*3
print*, 'x * 4 - com leitura formatada e print formato livre "*"
',a*4,b*4,c*4,d*4
enddo
close(1); close(2)
end
==========================================================================
Is this a problem with the compiler ? Or my processor can bad ?
My hardware is a Intel Core 2 Quad:
Memory: 2,GiB
Processor 0: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
Processor 1: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
Processor 2: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
Processor 3: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
System:
11.04(natty) - 64 bits - (Portuguese)
Kernel Linux 2.6.38-11-generic
GNOME 2.32.1
Thank for Gfortran!
Luciano R Ribeiro
--
reply other threads:[~2011-09-19 14:35 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=loom.20110919T151306-996@post.gmane.org \
--to=lrribeiro@gmail.com \
--cc=gcc-help@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).