From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,HTML_FONT_LOW_CONTRAST, HTML_MESSAGE,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from minnie.tuhs.org (minnie.tuhs.org [45.79.103.53]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 96361685 for ; Mon, 3 Dec 2018 16:26:52 +0000 (UTC) Received: by minnie.tuhs.org (Postfix, from userid 112) id 82563A207B; Tue, 4 Dec 2018 02:26:51 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id CFDAFA1CEB; Tue, 4 Dec 2018 02:26:05 +1000 (AEST) Received: by minnie.tuhs.org (Postfix, from userid 112) id 2C347A1CE4; Tue, 4 Dec 2018 02:25:58 +1000 (AEST) Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by minnie.tuhs.org (Postfix) with ESMTPS id 0EDB694A37 for ; Tue, 4 Dec 2018 02:25:52 +1000 (AEST) Received: by mail-wm1-f41.google.com with SMTP id r11-v6so6495535wmb.2 for ; Mon, 03 Dec 2018 08:25:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ccc.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=QrQ5Cy4pISqC+UXDrx2v5TTLQVDHG9DQ8iIT9LxH4vE=; b=cWsSESkYXG640rOsDmq0cOIn2EReUxJY69G7K2bYZzQDYK75nOOy9UMB/wcSOLR7ZH B8yMzNHqKExNTtz7Gy7cE30z+V1+TFaha05uK1VeVUZpYh/lkQWUhQawb2pP2Aamc6+c hRDZe0Q2I4U6sJMWrMXze3SI4HjR/fmJuKGFY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=QrQ5Cy4pISqC+UXDrx2v5TTLQVDHG9DQ8iIT9LxH4vE=; b=QRdIRe5SORDzgs8+dVamPsCHZQm2LaoDoeBXSjeBHw09Z9xMERyeVLWMNUH3B8HMLS 5f74MCrSELwlVu40V2KG5HpXdHYot+L5EL3vdXGNg8+5gORgyyGY8GnjGspvIKuOU5Ii hU2x5tO8Gw0jAXiV9pAi43VbWAbhSzB5EiFA0HzulQdOg2DuxWH07ENBOQolhOc2ESce zgrXxkmMXFa//DtoTFFKWL3YTrgoXF9N4xuvr/Ev881SS3jXCh6gXiXCetXlHn4TgY7U 8WUCPHsyYrNzbBTk9USYhj98gEWUj+EnHVnCA56X/Q/w0RQsk3Jzf1WQ0t51y7ecZm+W PPWw== X-Gm-Message-State: AA+aEWbFwz0hWxGIzlHQMnkekk1G4p+YC+TzxSp3ZI5ZBwV/ZOULky/n SowoWpM18iKF/t8QiZIbk8DdEod0PXhSQFENw/uoMhngFjw= X-Google-Smtp-Source: AFSGD/VGkDqCpLAapetfujXNJcQJXJ3pei3T1RY22i6msyu6Agtd7zX7FH47BCy6uJyk/uGEHiIk1kCvkJEE6Wb+Gw0= X-Received: by 2002:a1c:aad2:: with SMTP id t201mr2912226wme.148.1543854350380; Mon, 03 Dec 2018 08:25:50 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Clem Cole Date: Mon, 3 Dec 2018 11:25:23 -0500 Message-ID: To: Dave Horsfall Content-Type: multipart/alternative; boundary="00000000000023cd44057c209a23" Subject: Re: [TUHS] Happy birthday, John Backus! X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: The Eunuchs Hysterical Society Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --00000000000023cd44057c209a23 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, Dec 2, 2018 at 5:18 PM Dave Horsfall wrote: > Yeah, it was a nice language at the time; the engineers loved it, Dave at this risk of piling-on, I feel like to I need to comment because while I personally to not use it, my customers do. It's still an excellent tool, and the reality is that Fortran has pretty much paid my salary for almost every computer firm I have worked since I left grad school. That's 5 start-ups and too many large firms to count. Fortran2018 (which was release just last week BTW) is hardly the language I learned in the early 1970s (Fortran-IV) or my father a dozen or so years previous to me. Knocking modern Fortran is sort of like saying, "Any vehicle that is made by Ford sucks because the Model T was not as good as what we can do today." I fear your are making statements about Fortran-2 - maybe 77 or even 90. But the language is niether dead nor useless. Check out an answer I did for quora last summer: Clem Cole's answer to Is the future of Fortran Programming Dead I also point out, if you watch the nightly news on TV, you are using Fortran. Pretty much, all the weather data internationally is crunched on Fortran codes. The same is true for most 'large science.' As for why we will still use it is that *the work (the math) has not changed (If it ain= =E2=80=99t broke, don=E2=80=99t fix it). And most importantly, history has shown that = it has never been economically interesting to bother (or at least so far).* Plea= se read my Quora answers to see a much more detailed analysis of that statement. > but tthe computer scientists hated it I get it. But ... at least we were taught it. I'm saddened to say my fairly recent CS major daughter was never shown it in her days in college. In a funny twist of fate, her grandfather (my Dad) was taught Fortran in 1958 at a course at her college (Carleton) via an NSF grant. As I have said elsewhere, in the 70's the CMU CS Dept, was arguing with the Engineering school. In those days, the CS Dept said, "Fortran was dead." But like the Phoenix, it is seems to get be getting more beautiful and stronger with each reincarnation. > (have you ever tried to debug a FORTRAN program that somebody else wrote?= ). Hrrumft. You can write bad code is *any* language. See the annual obscure C prize. FWIW: This little gem is legal Fortran-IV. The last time I compiled it on my Mac, a Fortran2013 draft comforming compiler, Inte= l Fortran's ifort, will accept thios deck also with no special switches BTW. That said, the last time I checked it on my Mac, ifort generated incorrect code (it was reported as a bug, I'm not sure of the status of the fix and I have not updated the compiler since last summer): C This FORTRAN program may be compiled and run on a Norsk Data C computer running SINTRAN and the FTN compiler. It uses only C FORTRAN reserved words, and contains just one numerical C constant, in a character string (a format specifier). When C you run it, it prints a well known mathematical construct... C C Even FORTRAN is a block structured programming language: C PROGRAM ;PROGRAM;INTEGERIF,INTEGER,GOTO,IMPLICIT;REALREAL,DIMENSION,EXTERNA AL,FORMAT,END;INTEGERLOGICAL;REALCOMPLEX,DATA,CALL,ASSIGN,CHARACTER R;DOFORIF=3DINTEGER,INTEGER;ENDDO;INTEGER=3DIF+IF;GOTO=3DINTEGER*INTEG= ER* *INTEGER*INTEGER-INTEGER-IF;CALLFUNCTION(IMPLICIT,REAL,DIMENSION,EX XTERNAL,FORMAT,END,LOGICAL,COMPLEX,DATA,CALL,ASSIGN,CHARACTER);CALL LSUBROUTINE(IMPLICIT,LOGICAL,GOTO,IF,INTEGER);END;SUBROUTINEFUNCTIO ON(IMPLICIT,REAL,DIMENSION,EXTERNAL,FORMAT,END,LOGICAL,COMPLEX,DATA A,CALL,ASSIGN,CHARACTER);RETURN;END;SUBROUTINESUBROUTINE(IMPLICIT,L LOGICAL,GOTO,IF,INTEGER);INTEGERGOTO,IMPLICIT(GOTO),LOGICAL(GOTO),I IF,INTEGER,EXTERNAL,RETURN;DOFOREXTERNAL=3DIF,GOTO;DOFORRETURN=3DINTEG= E ER,EXTERNAL-IF;IMPLICIT(RETURN)=3DLOGICAL(RETURN)+LOGICAL(RETURN-IF); ;ENDDO;IMPLICIT(IF)=3DIF;IMPLICIT(EXTERNAL)=3DIF;DOFORRETURN=3DIF,GOTO= -EX XTERNAL;WRITE(IF,'(''$ '')');ENDDO;DOFORRETURN=3DIF,EXTERNAL;WRITE(I IF,'(''$''I4)')IMPLICIT(RETURN);ENDDO;WRITE(IF,'( /)');DOFORRETURN=3D =3DIF,GOTO;LOGICAL(RETURN)=3DIMPLICIT(RETURN);ENDDO;ENDDO;END The output should be something like this: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1 1 12 66 220 495 792 924 792 495 220 66 12 1 I admit, I'm glad I'm not a compiler writer. But they do have an amazing product that is very useful to a lot of people and still quite popular. BTW: Here is the same program, in a bit more readable form: PROGRAM BLOCK INTEGER I1,I2,I3,I4,I5 DIMENSION I1(13),I2(13) I4=3D1 I5=3D2 I3=3D13 CALL PASCAL(I1,I2,I3,I4,I5) END SUBROUTINE PASCAL(IP1,IP2,IP3,IP4,IP5) INTEGER IP3,IP1(IP3),IP2(IP3),IP4,IP5 INTEGER IP6,IP7 DO IP6=3DIP4,IP3 DO IP7=3DIP5,IP6-IP4 IP1(IP7)=3DIP2(IP7)+IP2(IP7-IP4) ENDDO IP1(IP4)=3DIP4 IP1(IP6)=3DIP4 DO IP7=3DIP4,IP3-IP6 WRITE(*,'(" "$)') ENDDO DO IP7=3DIP4,IP6 WRITE(*,'(I4$)') IP1(IP7) ENDDO WRITE(*,*) DO IP7=3DIP4,IP3 IP2(IP7)=3DIP1(IP7) ENDDO ENDDO END =E1=90=A7 --00000000000023cd44057c209a23 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On S= un, Dec 2, 2018 at 5:18 PM Dave Horsfall <dave@horsfall.org> wrote:
Yeah, it was a nice language at the time; the engineers loved it,
Dave at this risk of piling-on, I feel like to I need t= o comment because while I personally to not use it, my customers do.=C2=A0 = It's still an excellent tool, and the reality is that Fortran has prett= y much paid my salary for almost every computer firm I have worked since I = left grad school.=C2=A0 =C2=A0That's 5 start-ups and too many large fir= ms to count.=C2=A0 =C2=A0
Fortran2= 018 (which was release just last week BTW) is hardly the language I learned= in the early 1970s (Fortran-IV) or my father a dozen or so years previous = to me.=C2=A0 Knocking modern Fortran i= s sort of like saying, "Any vehicle that is made by Ford sucks because= the Model T was not as good as what we can do today."=C2=A0 I fear yo= ur are making statements about Fortran-2 - maybe 77 or even 90.=C2=A0 =C2= =A0But the language is niether dead nor useless.=C2=A0 =C2=A0Check out an a= nswer I did for quora last summer:=C2=A0=C2=A0Clem Cole&#= 39;s answer to Is the future of Fortran Programming Dead<= /div>

I also point out, if you wat= ch the nightly news on TV, you are using Fortran.=C2=A0 Pretty much, all th= e weather data internationally is crunched on Fortran codes.=C2=A0 The same= is true for most 'large science.'=C2=A0 =C2=A0As for why we will still use it is that the work = (the math) has not changed (If it ain=E2=80=99t broke, don=E2=80= =99t fix it). And most importantly, history has shown that it has never bee= n economically interesting to bother (or at least so far).=C2=A0 =C2=A0Please read my Quora answers to see a = much more detailed analysis of that statement.
=C2=A0
but tthe computer scientists hated i= t
I get it.=C2=A0 =C2=A0But ... at= least we were taught it.=C2=A0 I'm saddened to say my fairly recent CS= major daughter was never shown it in her days in college.=C2=A0 In a funny= twist of fate, her grandfather (my Dad) was taught Fortran in 1958 at a co= urse at her college (Carleton) via an NSF grant.=C2=A0=C2=A0 =C2=A0

=
As I have said elsewhere, in the = 70's the CMU CS Dept, was arguing with the Engineering school.=C2=A0 = =C2=A0In those days, the CS Dept said, "Fortran was dead."=C2=A0 = =C2=A0But like the Phoenix, it is seems to get be getting more beautiful an= d stronger with each reincarnation.

=C2=A0
=
(have you ever tried to debug a FORTRA= N program that somebody else wrote?).
Hrrumft.=C2=A0 =C2=A0 You can write bad code is any=C2=A0l= anguage.=C2=A0=C2=A0 See the annu= al obscure C prize.=C2=A0 =C2=A0FWIW:=C2=A0 This little gem is legal Fortra= n-IV.=C2=A0 =C2=A0The last time I compiled it on my Mac, a Fortran2013 draf= t comforming compiler,=C2=A0Intel Fortran's=C2=A0=C2=A0ifort, will accept=C2=A0thios deck also with= no special switches BTW.=C2=A0 That said, the last time I checked i= t on my Mac, ifort generated incorrect code (it was reported as a bug, I= 9;m not sure of the status of the fix and I have not updated the compiler s= ince last summer):

C=C2=A0 =C2=A0 This FORTRAN progra= m may be compiled and run on a Norsk Data
C=C2=A0 =C2=A0 computer ru= nning SINTRAN and the FTN compiler.=C2=A0 It uses only
C=C2=A0 =C2= =A0 FORTRAN reserved words, and contains just one numerical
C=C2=A0 = =C2=A0 constant, in a character string (a format specifier).=C2=A0 When
C=C2=A0 =C2=A0 you run it, it prints a well known mathematical construc= t...
C
C=C2=A0 =C2=A0 Even FORTRAN is a block structured prog= ramming language:
C
=C2=A0 =C2=A0 =C2=A0 PROGRAM
=C2= =A0 =C2=A0 =C2=A0;PROGRAM;INTEGERIF,INTEGER,GOTO,IMPLICIT;REALREAL,DIMENSIO= N,EXTERNA
=C2=A0 =C2=A0 =C2=A0AL,FORMAT,END;INTEGERLOGICAL;REALCOMPL= EX,DATA,CALL,ASSIGN,CHARACTER
=C2=A0 =C2=A0 =C2=A0R;DOFORIF=3DINTEGE= R,INTEGER;ENDDO;INTEGER=3DIF+IF;GOTO=3DINTEGER*INTEGER*
=C2=A0 =C2= =A0 =C2=A0*INTEGER*INTEGER-INTEGER-IF;CALLFUNCTION(IMPLICIT,REAL,DIMENSION,= EX
=C2=A0 =C2=A0 =C2=A0XTERNAL,FORMAT,END,LOGICAL,COMPLEX,DATA,CALL,= ASSIGN,CHARACTER);CALL
=C2=A0 =C2=A0 =C2=A0LSUBROUTINE(IMPLICIT,LOGI= CAL,GOTO,IF,INTEGER);END;SUBROUTINEFUNCTIO
=C2=A0 =C2=A0 =C2=A0ON(IM= PLICIT,REAL,DIMENSION,EXTERNAL,FORMAT,END,LOGICAL,COMPLEX,DATA
=
=C2= =A0 =C2=A0 =C2=A0A,CALL,ASSIGN,CHARACTER);RETURN;END;SUBROUTINESUBROUTINE(I= MPLICIT,L
=C2=A0 =C2=A0 =C2=A0LOGICAL,GOTO,IF,INTEGER);INTEGERGOTO,I= MPLICIT(GOTO),LOGICAL(GOTO),I
=C2=A0 =C2=A0 =C2=A0IF,INTEGER,EXTERNA= L,RETURN;DOFOREXTERNAL=3DIF,GOTO;DOFORRETURN=3DINTEGE
=C2=A0 =C2=A0 = =C2=A0ER,EXTERNAL-IF;IMPLICIT(RETURN)=3DLOGICAL(RETURN)+LOGICAL(RETURN-IF);=
=C2=A0 =C2=A0 =C2=A0;ENDDO;IMPLICIT(IF)=3DIF;IMPLICIT(EXTERNAL)=3DI= F;DOFORRETURN=3DIF,GOTO-EX
=C2=A0 =C2=A0 =C2=A0XTERNAL;WRITE(IF,'= ;(''$=C2=A0 '')');ENDDO;DOFORRETURN=3DIF,EXTERNAL;WRITE= (I
=C2=A0 =C2=A0 =C2=A0IF,'(''$''I4)')IMPLIC= IT(RETURN);ENDDO;WRITE(IF,'( /)');DOFORRETURN=3D
= =C2=A0 =C2=A0 =C2=A0=3DIF,GOTO;LOGICAL(RETURN)=3DIMPLICIT(RETURN);ENDDO;END= DO;END



The output should be something lik= e this:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A01=C2=A0
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A01=C2=A0 =C2=A01=C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A01=C2=A0 =C2=A02=C2=A0 =C2=A01= =C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A01=C2=A0 =C2=A03=C2=A0 =C2=A03=C2=A0 =C2=A01=C2=A0
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A01=C2= =A0 =C2=A04=C2=A0 =C2=A06=C2=A0 =C2=A04=C2=A0 =C2=A01=C2=A0
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A01=C2=A0 =C2=A05=C2= =A0 10=C2=A0 10=C2=A0 =C2=A05=C2=A0 =C2=A01=C2=A0
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A01=C2=A0 =C2=A06=C2=A0 15=C2=A0 20=C2= =A0 15=C2=A0 =C2=A06=C2=A0 =C2=A01=C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A01=C2=A0 =C2=A07=C2=A0 21=C2=A0 35=C2=A0 35=C2=A0 21=C2= =A0 =C2=A07=C2=A0 =C2=A01=C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A01=C2=A0 =C2=A08=C2=A0 28=C2=A0 56=C2=A0 70=C2=A0 56=C2=A0 28=C2=A0 = =C2=A08=C2=A0 =C2=A01=C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A01=C2= =A0 =C2=A09=C2=A0 36=C2=A0 84 126 126=C2=A0 84=C2=A0 36=C2=A0 =C2=A09=C2=A0= =C2=A01=C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A01=C2=A0 10=C2=A0 45 120 21= 0 252 210 120=C2=A0 45=C2=A0 10=C2=A0 =C2=A01=C2=A0
=C2=A0 =C2=A0 = =C2=A01=C2=A0 11=C2=A0 55 165 330 462 462 330 165=C2=A0 55=C2=A0 11=C2=A0 = =C2=A01=C2=A0
=C2=A0 =C2=A01=C2=A0 12=C2=A0 66 220 495 79= 2 924 792 495 220=C2=A0 66=C2=A0 12=C2=A0 =C2=A01=C2=A0




I admit, I'm glad I'm not a compiler w= riter.=C2=A0 =C2=A0But they do have an amazing product that is very useful = to a lot of people and still quite popular.=C2=A0 BTW:=C2=A0 Here is the sa= me program, in a bit more readable form:

=C2=A0 =C2=A0 =C2=A0 PROGRAM BLOCK
=C2=A0 =C2=A0 =C2=A0 INTEGER I1,= I2,I3,I4,I5
=C2=A0 =C2=A0 =C2=A0 DIMENSION I1(13),I2(13)
=C2= =A0 =C2=A0 =C2=A0 I4=3D1
=C2=A0 =C2=A0 =C2=A0 I5=3D2
=C2=A0 = =C2=A0 =C2=A0 I3=3D13
=C2=A0 =C2=A0 =C2=A0 CALL PASCAL(I1,I2,I3,I4,I= 5)
=C2=A0 =C2=A0 =C2=A0 END

=C2=A0 =C2=A0 =C2=A0= SUBROUTINE PASCAL(IP1,IP2,IP3,IP4,IP5)
=C2=A0 =C2=A0 =C2=A0 INTEGER= IP3,IP1(IP3),IP2(IP3),IP4,IP5
=C2=A0 =C2=A0 =C2=A0 INTEGER IP6,IP7<= /font>
=C2=A0 =C2=A0 =C2=A0 DO IP6=3DIP4,IP3
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0DO IP7=3DIP5,IP6-IP4
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 IP1(IP7)=3DIP2(IP7)+IP2(IP7-IP4)
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0ENDDO
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0IP1(IP4)=3DIP4
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0IP1(IP6)=3DIP4
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0DO IP7=3DIP4,IP3-IP6
=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 WRITE(*,'("=C2=A0 "$)')
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0ENDDO
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0DO I= P7=3DIP4,IP6
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 WRITE(*,'= (I4$)') IP1(IP7)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ENDDO<= /div>
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0WRITE(*,*)
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0DO IP7=3DIP4,IP3
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 IP2(IP7)=3DIP1(IP7)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ENDDO
=C2=A0 =C2=A0 =C2=A0 ENDDO
=C2=A0 =C2=A0 =C2=A0 END



3D""=E1=90=A7
--00000000000023cd44057c209a23--