Tuesday, August 9, 2016

포트란 90 moving_average






+

포트란의 고유 기능 할당 소개 : 읽기 제 4 장, 예를 trig. f. 1/31 과학 계산기, 과학자와 엔지니어들이 사인, 코사인, 자연 로그, 그리고 더 많은 같은 일반적인 기능의 결과를 얻기 위해 쉬운 방법이 필요 실현이되기 전에 긴 인해 숙제 4를 시작합니다. 이러한 요구는 여러분의 인생을 더 쉽게 만드는 기능 (내장 함수)에 내장의 긴 목록의 결과로, 각 포트란 표준으로 간주되고있다. 나는 현재 표준 (포트란 90)의 모든 기능을 포함하지 않습니다, 하지만 당신이 나중에 토론에서 몇 가지 중요한 것들을 제공합니다. 그들은 또한 스프레드 시트에 표시하기 때문에 내장 함수를 사용하는 구문은, 당신에게 매우 익숙 할 수 있습니다. I 상자 A2에서 상자 A1의 속도의 크기 및 (라디안) 속도와 X 축 사이의 각도를 입력하면, I는 화학식 A1의 COS와 상자 A3의 유속의 x 성분을 계산할 수 (A2). 포트란에서이 결과는 우리가 하나의 간단한 정의를 필요에 이동하기 전에 velx의 VEL의 COS (angrad)로 지정 문을 얻을 수 있습니다. 위의 예에서 angrad에서 함수 코사인의 인수이다. 일부 기본 내장 함수 ABS (X) - X의 iabs의 절대 값 (I) - 정수의 절대 값은 I (전 90 포트란는 정수 인자처럼 didn를 t 복근.) 죄 (x)는 - x의 사인을 반환합니다 (x는 하지의 정수) COS (X)는 - 로 계산 전자 (2.7183) -. x의 탄젠트 (x는 정수가 아닌) 특급 (X)를 반환 - (x는 정수가 아닌) 황갈색 (x)는 x의 코사인을 반환 x 및 전력 (x는 정수가 아닌) (X) 로그 - (X)의 자연 대수를 산출한다 (x는 정수가 아닌 0) LOG10이 (X) - (x는 정수가 아닌 0)베이스를 X 10 대수를 산출 ASIN (x는) - 아크 탄젠트 (역 탄젠트)를 반환 - (x는 진짜) ATAN (x)는 x의 아크 코사인 (역 코사인)을 반환 - x의 아크 사인 (역 사인)를 반환 ACOS (x)는 (여기서 x는 진짜) X의 SQRT (X) (X는 진짜) - x의 제곱근을 반환합니다 (x는 정수가 아닌 0) NINT (x)는 - 실수 X 분에 가장 가까운 정수를 돌려줍니다 (X1, X2를.) - 반환 X1의 최소 X2. 최대 (인수는 같은 유형이어야합니다) (X1, X2.) - X1의 최대를 돌려 X2. 최대 및 최소 기능을한다는 점에서 그들이 인자의 수를 가지고 특이 (인수는 같은 유형이어야합니다). 일반적인 형태의 최소 및 최대는 포트란 77 표준의 manditory 일부가 아니었지만, 이 기능을 볼 수 많은 포트란 77 코드에서 포트란 (90)에 있습니다 (. X1, X2) amax1 - X1, X2의 최대치를 돌려줍니다. (. I1, I2) 실수로 amax0 (인수 진짜) - I2를 I1의 최대치를 돌려줍니다. 실수 (인수가 정수) max0 (. I1, I2)로 - I1, I2의 최대치를 돌려줍니다. X1의 최대를 돌려 X2 - 정수로 max1 (. X1, X2) (인수는 정수). 정수로 비슷한 형태의 분 동안 등장 (인수 진짜). 또한 로그 및 LOG10은 포트란 77의 옵션 형태였다에서 이전 프로그램은 종종 편지 쓰기 실제의 특성이 아닌 정수 값으로 함수 이름을 시작하여 alog 및 alog10를 사용합니다. 일반적으로 포트란 77은 구체적으로 반환 할 인수 형식과 값 형식에 대한 기능의 적절한 따기에 의존했다. 포트란 90 내장 함수의 주제에 있지만, 그것은 당신이 예 ranges. f에서 본 두 가지를 주목할 필요가있다. 프로그램에 유용 하나의 관련 기능은 기계의 범위에서 실행. 작은 (X)는 - 실제 인수가 큰 (x)는 x의 현재 컴퓨터에 표시 할 수있는 가장 작은 양수 반환 - 실제 인자 x 정밀도에 대한 현재 컴퓨터에서 표현 될 수있는 가장 큰 양수를 반환합니다 (X) - 반환 실제 인수에 대한 현재 컴퓨터의 A 대략 소수점 정밀도가 가능 속도에 대한 일부 댓글 당신은, 그 삼각를 실현 로그인해야 X 및 특급 내장 함수는 필요한 컴퓨터 시간의 측면에서 상대적으로 비싸다. 다음 죄 (0.1)가 필요한 곳​​마다 새로운 변수 sin0p1를 사용 sin0p1 죄 (0.1) : 자주 죄 (0.1)의 값이 필요한 경우, 같은 과제에 한 번 함수를 사용합니다. EXP 및 로그의 높은 비용 또한 오퍼레이터의 사용에 반영된다. 일반적으로 컴파일러 삽입 코드 동등한 x 및 y 결과와 같은 표현은 특급합니다 (Y 로그 (X)). 그러나, 대부분의 컴파일러들은 y는 정수 경우, 하나 이상의 승산 (X X X 2, X 3, X의 X의 X, 등)를 사용하여 실현하기에 충분히 스마트하다. 이러한 컴파일러는 곱셈과 특급 및 로그의 조합 사이에, Y의 크기면에서 손익분기 점을 알고 논리가 포함되어 있습니다. 항상 빠른 그래서 지수에 대한 유형의 선택에주의, X 2 × 2.0보다 프로그램이다. 속도 또한 SQRT 내장 함수의 존재에 영향을 미치는 요인이다. 이것은 다수의 제곱근을 계산하기위한 특정 알고리즘, 즉 0.5 전원 수를 높이는 것보다 항상 더 빠르다. 옵션 오히려 0.5 ×보다 사용 SQRT (X)를 존재합니다. 내 경험 SQRT에서 (SQRT (x)는) 0.25 X보다 빠릅니다. 우리는 속도의 주제에있는 동안, 우리는 다른 작업의 상대 속도를 검토해야합니다. 추가 및 빼기는 항상 빠른입니다. 곱하기 두 번째 온다. 나누기 곱하기보다 느리게, 하지만 크게 SQRT보다 빠릅니다. 당신은 변수 x 자주 (이상 2 ~ 3 회)로 분할하려는 경우, 그것은 또 다른 변수를 정의하는 것이 좋습니다 당신이로 나눈 것이다 RX에 의해 다음 곱셈, 방정식 수신 1./x와 RX 말입니다 엑스. 내장 함수를 사용하는 샘플 프로그램이 내장 함수의 예제 샘플 프로그램 trig. f을 연구하고 유용한 시작으로 최신 숙제이다. 검토 질문 몇 가지 검토 질문이 재료에 대한 지식을 테스트합니다. 포트란에서 많은 새로운 언어 기능이 있지만 당신은 표준 FORTRAN 77을 사용하는 경우 포트란 90 F ORTRAN 77으로 변환 한 수준 / 여기에 홈의 도움까지 포트란 (90)의 일부는, 따라서, 당신은 쉽게 포트란 90로 전환 할 수 있습니다 (90)는, 당신이 그들을 사용할 필요가 없습니다. 이 문서에서는 FORTRAN 77 포트란 90 표준의 차이점을 강조하고이 문서를 보완하기 위해 포트란 90로 전환하는 길을 시작하는 데 몇 가지 컴파일 예제를 제공은 SCD 기술 컨설팅 사무소는 포트란 (90) 정보의 새로운 세트를 만들었습니다 온라인 ConsultWeb합니다. ConsultWeb의 URL은 다음과 같습니다 포트란 90 정보 링크를 선택합니다. ConsultWeb 포트란 90 도움말 사이트는, 언어 변경, UNIX 환경, 성능 문제, 새로운 기능을 만들어 사용하는 소스 관리, 코드를 검사 컴파일 및 링크를 포함하여, CF90 컴파일 시스템에 크레이 CF77에서 이주의 실제 문제를 강조한다. 90 기사 쟌느 아담스, 젠 Dodson 보낸 (뉴 멕시코 대학)에 의해 포트란 90 튜토리얼 및 포트란 (90) 자주 묻는 질문 (FAQ) 목록으로 포트란의 SCD 컴퓨팅 뉴스에서 재 인쇄. 크레이 프로그래밍 환경 2.0이 올 봄 출시되었을 때 왜 지금 변환, 크레이 포트란 90 (CF90) 컴파일러는 지원 포트란 컴파일러로 CRAY PVP 시스템에 대한 시스템을 컴파일 CF77를 교체했다. SCD는 CRAY Y-MP (안테)를 대체 크레이 C90를 인수했기 때문에 포트란 90로 변환하면 높은 우선 순위가되고있다. SCD는 또한 크레이 J90se, Ouray에 인수했다. 이 기계에 유일한 포트란 컴파일러는 포트란 90 컴파일러 (CF90)입니다. 다른 새로운 Crays 취득하는 경우, 그들도 유일한 포트란 컴파일러로 CF90이있을 것이다. SCD는 여전히 같은 CRAY Y-MP (shavano) 우리의 오래된 시스템에 CF77 컴파일 시스템을 제공 할 수 있지만 CF77에 무슨 일이 일어날 지, 모든 새로운 크레이 시스템은 기본 컴파일 시스템으로 CF90 함께 제공됩니다. CF77은 가능한 한 빨리 CF90를 사용하여 실행 코드를 얻기에 중점을두고, 과도 컴파일러 전용으로 고려되어야한다. 지금 포트란 90로 자신의 코드를 변환해야 C90 (안테)에서 실행 계획 사용자. 포트란 90로 변환 : 문제 및 답변은​​ 다음 변환이 바람해야한다 표준 포트란 (77 또는 90)를 사용하고 있습니다. FORTRAN 77 사용자는 사용 된 모든 문은 선의의 FORTRAN 77 문입니다 제공 포트란 90로 변환하는 FORTRAN 77 프로그램을 거의 변경해야합니다. 전술 한 바와 같이, 포트란 90 FORTRAN 언어 (77)의 상위이다. 프로그램을 변환하는 어려움 중 일부는 포트란 90 표준에없는 FORTRAN 77 표준에 크레이의 확장입니다 문에서 온다. 문은 FORTRAN 77 표준에있는 경우, 포트란 90 컴파일러를 사용하여 실행하는 거의 변화 (있는 경우)이있을 것이다. 물론, 필연적으로 새로운 컴파일러의 변화와 함께 제어 파일 및 명령 줄 변경이 있습니다. 그리고 새로운 컴파일러는 과거에 사용 된 그 어느 이종 수있다 최적화 기능을 제공합니다. 변환 작업은 DO가 (, 그런데, 다양한 변환 루틴을 사용하여 수행 할 수 있습니다) 포트란 90 벡터 표시에 루프 변경이 필요하지 않습니다. 프로그램은 포트란 90 컴파일러에서 실행 한 후, 나중에 새로운 기능을 활용할 수 있습니다. 질문에 명령문의 종류에 따라, 소스 코드의 변환에 다른 접근법이있다. 표준 FORTRAN 77 코드 후술 몇 가지주의 제외한 어려움없이 컴파일한다. 표준 FORTRAN 77 문 : 몇 가지주의 사항 표준 포트란에, 몇 가지 예외를 제외하고, 77 표준 문이 컴파일 포트란 (90) 예외 중 하나는 표준 목록의 새 이름과 동일 사용자가 제공하는 함수의 이름입니다 포트란 90 기능. 예 행렬 숫자 또는 논리 행렬에 곱 않는 포트란 90 MATMUL, 수 있습니다. 당신은 또한 MATMUL라는 함수를 가지고 자신 만의 루틴을 사용하려는 경우, 당신은 당신의 일상 외부 선언 또는 이름을 변경해야합니다. 충돌을 일으킬 수있는 또 다른 일반적으로 사용되는 이름은 포트란 90 내장 함수 SUM입니다. 포트란 (90)가 0.0을 생산하는 반면 G 형식 편집 기술자, 출력에 0.0E 00 생산하고 있습니다. 목록의 문자 수가 기록의 문자 수 미만이면 포트란 90 목록 지시 문자 뒤에 빈 패드되지 않는다. FORTRAN 77 따라이 프로세서를 떠났다. 이 기능에 의존하는 경우, OPEN 문에 NO PAD를 사용합니다. 실제 상수는 배정도 정수를 초기화하는 데 사용되는 경우, 실제 상수의 정밀도가 포트란 90 FORTRAN (77)에 사용되는 사용되는 더 정밀한 허용. 데이터는 DATA 문에서 초기화되는 경우, 데이터가 포트란 90 주하는 SAVE 77 FORTRAN이 프로세서에 의존하게 때문이다. FORTRAN 77을 확장 포트란 (90)와 크레이 포트란 문을 연장하지만, 크레이 포트란 문은 포트란 90에없는 : 포트란 표준에는 이중 복합 유형이 없습니다. 크레이 NAMELIST은 포트란 90 NAMELIST 다릅니다. 두 양식은 포트란 90 컴파일러에서 허용됩니다. 다른 시스템에 포트에 프로그램을 계획하는 경우, 표준 순응 NAMELIST를 사용합니다..T 같은 단일 문자 약어..TRUE합니다. 및. A..AND합니다. 등은 표준에없는, 하지만 크레이 CF77 컴파일러에서 사용할 수 있습니다. 크레이 CF77 컴파일러는 이러한 경우에 허용됩니다. 논리 고유 사업자의 해석은 포트란 표준에 (true 또는 false) 논리 값을 초래한다. 다음은 크레이 포트란에서와 같이 부울 식에 마스킹 연산자로 해석되지 않습니다. XOR. 크레이 추가 추가 연산자입니다. 표준에없는 크레이 CF77 포트란 시스템 라이브러리 루틴들이있다. 그러나 이러한 루틴은 호환성을 위해 크레이 포트란 90 컴파일러에 남아 있습니다. 이전 크레이 CF77 포트란에서 태스킹 지침 중 일부는 표준 포트란 (90)에없는 DO ALL 문에 의해 대체되었습니다 EXIT 및 표준 포트란 (90) DO GLOBAL의 CASE 구조에 의해 대체되었습니다 DO ALL 문은 크레이입니다 등 포트란 (90) REAL 4 종류의 매개 변수는 표준에 대신 사용됩니다 포트란 90 표준 순응하지 않습니다. 그러나 두 형태의 재귀가 크레이 FORTRAN 77,하지만 약간 다른 형태로 크레이 포트란 (90)에 있습니다. 포트란 90에서, 단어 재귀 재귀 절차에 표시해야합니다. 재귀는 일반적으로 비효율적 영향을 최적화하기 때문에 그것은 때문에 컴파일러 작가에 대한 효율성 고려 사항의 표준 요구했다. 이 두 가지 구현이 다른 동안 90 포인터 크레이 포트란 (90)에 모두 크레이 포인터 및 포트란, 그들은 사용자 스틱의 경우 하나의 형태 또는 다른 충돌하지 않습니다. 크레이 포인터 그러나 비표준 적격이다. 포트란 (90)는 CF77 이상의 유형 검사 더 엄격하다. 포인터는 CF77에서와 같이 정수 유형과 호환되지 않습니다. 포트란 90에서, 포인터는 데이터의 특정 타입에 자신의 종류 및 점이다. 포트란 90 크레이 포트란 포인터의 직선 번역 표준 포인터로 인해 생성에 복사 및 임시 배열을 할당 해제에 상당한 오버 헤드를 추가 할 수 있습니다. 포트란 95 초안 표준 문 (95)은 아직 검토하고 투표가되고있다 포트란. 최종 투표은이 표준에서 몇 가지 새로운 기능은있다 초 1997 년에 완료되어야한다. 그들은 FORALL 문 및 구축, PURE 원소 기능, 몇 가지 새로운 내장 함수 (NULL 및 CPU TIME) 및 포인터 기본 초기화를 포함한다. 대부분의 사항은 포트란 95 초안 문서를 준비 포트란 90로 하였다. 포트란 90/95 언어 구조 : 매우 큰 크기로 무기한 성장하고 얼마나 오래된 소프트웨어는 새로운 시스템에서 실행할 수 있도록하는 방법에서 언어를 유지하는 방법에 대한 이동은 해결하기 어려운 두 가지 문제입니다. 이러한 이유로, 언어 아키텍처 (삭제) 더 이상 새로운, 이전 퇴행성, 그리고 표준 무엇인지 기능 정의 포트란 90을 위해 개발되었다. 퇴행성 기능 목록은 약간 다른 특징에 아마도 새로운에 사용 및 / 또는 중복 된 것들로부터 유래 하였다. 삭제 된 기능은 현재 퇴행성 기능 목록에서 각각의 표준 개정주기를 선택 하였다. 그러나, 이러한 모든 기능은 사용자가 공개 검토주기에 불평 특히, 삭제되지 않습니다. 기능은 언어로부터 제거하기 전에 적어도 하나의 표준 개정주기가 요구된다. 삭제되지 않는 기능 다루기 표 1 삭제됨 특징은 모든 사용되지 않는 기능은 표준 여전히. 점차적으로 이제 FORTRAN 77 및 포트란 (90)와 변환 FORTRAN 77 프로그램을 준수하는 표준이있는 경우 포트란 90로 전환을 시작 할 수 있어야합니다, 사용할 필요가 없습니다 사이의 기본적인 차이로 도입 된 새 포트란 90 기능 추가 처음에는 포트란 90의 새로운 기능 중 하나. 이 새로운 기능은 편리가 프로그램에 도입 될 수있다. 구축 중첩 된 배열 표기, 모듈, 및 많은 새로운 내장 프로 시저의 사용은 당신이 새로운 기능을 사용하기 시작하는 데 사용할 수 많은 교과서와 자습서가 있습니다 포트란 (90)의 새로운 것들의 목록 중입니다. 포트란 90 표준의 사본은 SCD 컨설팅 사무실에서 메사 연구소의 방 17 사용할 수 있습니다. 다음은 크레이 포트란 90 컴파일러를 호출하는 방법을 보여주는 몇 가지 예입니다. 제어 파일 변경 및 명령 행 : 크레이 포트란 90 컴파일러에 대한 정보를 상세 크레이 시스템에서 포트란 90 컴파일러를 사용하여이 F90 매뉴얼 페이지에서 온라인으로 볼 수 있으며, 사례 별 지원은 SCD 기술 컨설팅 센터에서 얻을 수 있습니다 . 참고 : 크레이 시스템 cf77 및 F90에서 최적화의 기본 레벨이 - O 2 (중간 최적화)입니다. 이에 비해, 더 최적화는 스팍 플랫폼에서 F77에서 수행되지 않습니다. cf77 : cf77 - o file. exe가 file. f cf90 : F90 - o file. exe가 file. f 자동 멀티 태스킹을 켭니다 : cf77 : cf77 - Zp file. f의 cf90 : F90 사용자 멀티 태스킹 지시를 해석하지 마십시오 - O task2 file. f을 : cf77 : cf77의 file. f의 cf90 : cf77 : cf77 - Zu의 file. f의 cf90 : F90의 file. f의 cf90 : F90 - O 작업 1 file. f의 cf77 : cf77의 file. f F90​​ - O task0 file. f 해석 사용자는 지시를 멀티 태스킹 - L / usr / 지방 / lib에 - lncarm - lncaro cf90 : F90 file. f - L / usr / 지방 / lib에 - lncarm - lncaro NCAR 그래픽 라이브러리와 컴파일 cf77 : cf77 file. f - L / usr / 지방 / lib에 - lncarg - lncarg GKS - lncarg - lX11의 cf90 C : cf90 file. f - L / usr / local / lib 등의 - lncarg - lncarg GKS - lncarg - lX11 컴파일 전용 (메이크업에 사용) C : cf77 : cf77 - c 파일. F cf90 : F90 - c file. f 링크 전용 (메이크업에 사용) : cf77 : cf77의 file1.o의 file2.o의의 cf90 : F90 file1.o file2.o의 정적 메모리로 컴파일 cf77 : cf77 : cf77의 - a 정적 file. f의 cf90 : F90 - ev file. f 부정 값으로 미리 설정 변수를 컴파일 추가 정보와 지원에 대한 자세한 내용은 CF90에 CF77에서 코드 변환에, 303-497-1278에서 SCD 컨설턴트 전화, 바이 드롭 룸 17 메사 연구소에 사무실을 컨설팅, 또는 consult1 ncar. ucar. edu에게 전자 메일을 보내주십시오. 당신의 출력 배열의 모양을 개선 배열의 사용을 이해 우리가 10 숫자의 평균을 찾을 것을 상상하자 : 배열 및 포맷 된 I / O는 할 수있을 것입니다이 워크 시트의 말까지 목표로하고있다. 온 (조) 방법은 다음 프로그램에 나타낸다. 이 방법은, 지저분 입력을 많이 포함하고 오류가 발생하는 경향이 있습니다. 우리는이 주변의 방법은 배열을 사용하는 숫자의 수천을 처리해야한다면 상상해보십시오. 배열은 우리가 첨자를 통해 액세스 할 수있는 목록입니다. 우리가 그것을 선언 할 때 우리가 배열을 사용하고 있는지 FORTRAN에 나타 내기 위해, 우리는 단지 그 크기를 지정합니다. 이 코드 조각은 배열 X 100 메모리 위치를 할당합니다. 개별 위치에 액세스하려면 배열 요소라고합니다. 우리는 우리가 첫 번째 요소에 배열 x와 (3)의 66 번째 요소에 숫자 4를 할당 여기에 첨자를 사용합니다. 이제, 우리는 배열을 사용하여 다시 쓸 것이다 s는이 워크 시트의 시작 프로그램 AV로 돌아가 보자. 우리가 입력하면 프로그램이 배열의 전체 내용을 인쇄 할 수 있음을 알 수 있습니다. 이 프로그램의 또 다른 이점은 거의 변화, 우리는 그것이 우리의 목록에있는 항목의 수를 처리 할 수​​ 있다는 것이다. 이 좋은 프로그래밍의 예입니다 참고 : 우리는 매개 변수의 데이터 형식을 사용하여 또 다른이에 향상시킬 수 있습니다. 코드는 우리가 어떤 크기의 번호 목록의 평균을 찾기 위해 일은 단지 파라미터 IMAX의 크기를 변경하는 유지 보수가 용이하다. 또한 메모리를 동적으로 할당하여 런타임 배열의 크기를 할당 할 수있다. 다음 프로그램은 우리가 배열의 크기를 모르는 어레이들의 사용 예를 보여준다. 프로그램은 alloc. f95이라고하고 웹 페이지를 복사 할 수있다. 특히 굵은 라인에 있습니다. 배열 벡터를 선언하는 새로운 방법은 크기가 실행 시간에 결정됩니다 즉이 할당 가능한 것입니다 컴파일러를 알려줍니다. 우리는 그들이 입력합니다 얼마나 많은 숫자 사용자에게 요청하는 프로그램을 작성 또한 7 절 운동 5.1이보고하며, 이 값을 아이 맥스 (IMAX)를 호출합니다. 두 배열, a와 b에 아이 맥스 (IMAX) 요소를 할당합니다. A와 아이 맥스 숫자 읽기와 b에 동일한 작업을 수행. A, B 배열을 인쇄하고 a와 b의 합을 출력. sumalloc. f95와 시도를 비교합니다. 배열의 장점 배열 마법 하나는 간단한 산술 연산자를 사용하여 모든 요소에 대한 작업을 쉽게 할 수 있다는 것입니다. 자신의 컴퓨터에 운동 5.2 복사 프로그램 ramagic. f95 및 data. txt 파일. 프로그램을 실행하고 출력을 검사합니다. 운동 5.3은 0.1의 단계에서 0과 0.9 사이의 값으로 10 요소 배열 X를 채우는 프로그램을 작성하라. 프로그램을 단순화하기 위해 배열의 속성을 사용 죄 (x)와 COS (X)의 값을 인쇄합니다. ramagic2.f95와 답변을 비교합니다. 다중 차원 배열은 우리가 지금까지 살펴 보았다 배열 한 차원이었다. 즉, 하나의 첨자를 사용하여 액세스 번호를 하나의 목록입니다. 개념 1 차원 배열은 벡터와 유사한 방식으로 작동한다. 우리는 또한 개념적으로 행렬에 해당하는 두 개의 차원 배열을 사용할 수 있습니다. 25의 정수 위치와 저장 공간을 설정한다. 다음 프로그램은 2 행과 3 열이있는 2 차원 배열을 만듭니다. 그것은 1, 열 2와 2, 3 열 3 등으로 열 1의 모든 위치를 채 웁니다. FORTRAN 실제로 최대 7 치수, 거의 필요하지 않은 기능의 배열의 사용을 할 수 있습니다. 4 4 배열, 즉 형태의 행렬을 항등 행렬을 생성하여 운동을 5.4 : 1 내지 10의 1 내지 20 및 1 내지 30 우리 쓴다 징 첨자 B A 확장 정밀도 3 차원 어레이를 지정하고 출력한다. 우리가 실제로 출력이 섹션의 끝에서 행과 열의 행렬 요소는 우리가이 작업을 수행하는 방법을 정확히 표시해야한다 수 있다면 좋을 마에 같으면. 당신의 출력이 모습을 더 잘 제어 할 수있는 방법이있는 경우 출력 포맷 이제 궁금 할 것이다. 지금까지 우리는 s는 쓰기 인쇄 제표에 대한 어떤 s의 기본 출력 옵션을 사용하고있다 : 5.5 복사 format. f95을 연습하고, 그것을 당신은 쓰기 및 형식 문은 쌍으로 오는 것을 볼 수 있습니다 실행합니다. 우리 환언 출력 장치, 스크린 등이 예 (A)에 사용된다. 형식 문은 실제로 프로그램에서 어디든 갈 수 있지만, 관례 우리는 일반적으로 프로그램의 마지막에 모두 함께 단지 관련 기록 후를 걸거나. 그것은 취향의 문제에요. 여기에 까다로운 부분은 사양입니다. 정수, 실수, 문자 변수에 대한 다른 사양이 있습니다. 정수 사양 오른쪽 여백 n은 라인 당 출력 정수의 번호 인쇄되는 실제 폭이 m 미만인 경우 (존재하는 경우 부호 포함) m 인쇄 예약 문자 공간 개수이다 정당화. 생략 할 경우, 하나의 숫자는 한 줄에 출력됩니다. 부동 소수점 사양 오른쪽 m, 그리고 소수점 (존재하는 경우 부호 포함) 인쇄 예약 공백 문자의 수 정당화. 실제 폭이 m 미만인 경우, 공백 인쇄 N 라인 당 출력 실수의 수이다. 생략 할 경우, 하나의 숫자는 한 줄에 출력됩니다. D 적은 공간이 필요하다면 0의 충전 개수의 소수 부분을 위해 예약 공간의 개수이다. 소수 부분이 너무 넓은 경우는 반올림됩니다. 출력 (m)에 대한 전체 폭이 너무 작 으면, FORTRAN 것 단지 출력들. 소수점 이하 자릿수 (m)의 수는 기호 (있는 경우)에 포함 필드의 전체 폭이다 기본적으로 할 좋은 넓은 해요 당신은 어떤 문제가 지수 사양 일반 실제 D를 출력 nEm. d 대체 사양을 형성을 t 원 문자 E와 기호, 소수점 및 소수의 자리수. 다시 확인 제대로 인쇄되어있는 필드를 보장하기 좋은 넓은 해요. 여기서 n은 라인 당 출력 지수 숫자의 수입니다. 생략 할 경우, 하나의 숫자는 한 줄에 출력됩니다. 운동 5.6 형식으로 포맷 사양을 사용 : 예 문자 사양 일반 양식 n은 m n을 문자열의 수 m 출력 예 문자의 최대 수입니다 인쇄하는 것입니다. 가이드로 F95은 0.1 단위로 X의 값의 테이블을 생성한다. myoutput라는 파일로 출력을 작성합니다. 있는지 확인까지 깔끔하게 컬럼에 출력 라인. 예제 프로그램은 neatoutput. f95 웹 사이트에서 사용할 수 있습니다. 지금까지 배열을 작성하는 마 루프를 암시, 우리는 입력 배열의 출력에 사용했던 방법은이 방법으로 문제는 행과 열이 출력에 유지되지 않습니다 것입니다. 대안, 그리고 깔끔한 방법은 묵시적​​가 쓰기 문에서 루프을 사용하는 것입니다. 운동 5.4에서 운동 5.7 당신은 생산과 행렬하는 프로그램을 작성했다. 당신이 깔끔하게 포맷 매트릭스 화면을 만들기 위해 지금 포맷에 대해 알고있는 것을 적용합니다. 웹 사이트에서 사용할 수있는 예제 identity1.f95가 있습니다.




No comments:

Post a Comment