본문 바로가기
반응형

포트란21

포트란 강좌 :: 배열 (가변할당) 보호되어 있는 글 입니다. 2022. 6. 17.
포트란 강좌 :: CASE 문 CASE 구문 IF-ELSE IF 구문과 같이 광범위하게 사용하지는 않지만, 몇몇 선택구조를 구현하는데 유용한 CASE 구문 SELECT CASE (선택자 index) CASE (expression 1) statement 1 CASE (expression 2) statement 2 : CASE(expression n) statement n END SELECT 선택자 index는 정수, 문자, 논리식이 될 수 있다. expression은 선택자가 가질 수 있는 값의 목록 또는 DEFAULT 이다. CASE 구문이 실행될 때, 선택자가 expression 1 값에 해당된다면, 문블럭1이 실행되고 END SELECT 문 다음에 나오는 문으로 이동한다. 선택자가 expression 1값에 해당되지 않을 경우, .. 2022. 6. 16.
포트란 강좌 :: IF와 IF-ELSE 문 단순 논리 IF 구문 IF (논리식) 실행문 (논리식)이 참이면 실행문이 실행되고, 거짓이면 넘어간다. if (2.0 =0 ) then print*,’실근’ else print*,’허근’ endif End program test_if IF-ELSE IF 구문 IF (논리식1) THEN 문블럭1 ELSE IF (논리식2) THEN 문블럭2 ELSE IF (논리식3) THEN 문블럭3 : ELSE 문블럭n END IF 주의! 들여쓰기를 통해서 if, else, end if 간의 혼돈을 줄여야 한다. 기명 IF 구문(named construct) 구문명 : IF (논리식) THEN : END IF 구문명 예) outer: if (x > longer ) then longer = x y = longer * 2 i.. 2022. 6. 16.
포트란 강좌 :: 논리식 논리식 (logical expression) 단순 논리식(simple logical expression) 형식 1. 논리상수 (.TRUE. 또는 .FALSE.) 2. 논리변수 3. 아래 관계식 형태 expr1 관계연산자 expr2 (expr는 수치 또는 문자식) 관계 연산자 기호 의미 = == /= .LT. .GT. .LE. .GE. .EQ. .NE. ~보다 작은 ~보다 큰 ~보다 작거나 같은 ~보다 크거나 같은 ~와 같은 ~와 같지 않은 주의! == 는 같음을 표시하는 관계 연산자 = 은 대입 연산자 수치형 데이터 x = 3.0 * b * c 의 경우, 수치연산이 논리식보다 우선 실행되므로, (a ** 3) >= (3.0 * b .. 2022. 6. 16.
포트란 강좌 :: 입력과 출력 (I/O) 입력문 : 변수값들을 입력 - read 문 표준입력문 : 키보드로 입력 출력문 : 변수값들을 출력 – print / write 문 표준출력문 : 화면으로 출력 입력(input)과 출력(output) - 자동서식 입출력문 1. 입력문 형식 read *, input-list 또는 read(* , *) input-list input-list에는 변수 등이 올 수 있고, input값들은 키보드를 통해서 입력되고 input-list에 할당된다. 프로그램이 실행 중 read문을 만나면, input-list의 모든 변수값의 입력이 될 때까지, 프로그램 실행은 일시 중지되고, 입력이 완료되면 다음 실행지점으로 자동 이동한다. input 값을 입력할 때의 규칙 1. read문이 실행될 때 마다, 입력대기 줄(line)에.. 2022. 6. 16.
포트란 강좌 :: 연산과 함수 연산(Operation)과 함수(Function) 연산자 산술연산자 ( **, *, /, +, - ) 관계연산자 ( ==, /=, >=, , =, , < ) 와 결합된 표현식 •논리식: 논리연산자 (.not. , .and. , .or. , .eqv. , .neqv. ) 와 결합된 표현식 •문자식: 문자연산자(//)와 결합된 표현식 기호 우선순위 이름 사용법 수학식 Fortran 표기 ( ) 1 괄호 a+b(x+y) .. 2022. 6. 14.
포트란 강좌 :: 데이터 유형, 상수, 변수 Fortran의 기본적인 5가지 데이터 유형 수치형 상수 정수형 integer 실수형 real 복소수형 complex 비수치형 상수 문자형 character 논리형 logical 사용 예 정수형 실수형 고정형 지수형 바른 예 0 137 -2315 +17745 1.234 -0.01536 +56473. 3.372E2 0.3372E3 337.2E0 33720E-2 잘못된 예 9,999 16.0 --5 7- 12,345 63 문자형 (문자열) 논리형 바른 예 “PDQ123-A” ‘C.H. Park “Don’t” .TRUE. .FALSE. 잘못된 예 ‘PDQ123-A” Don’t .T. .F. True False 정수형 소수점(.), 콤마(,)를 갖지 않는 십진수 실수형 십진수나 지수표현으로 나타냄. 소수점(.).. 2022. 6. 14.
포트란 강좌 :: 프로그램 구성과 코딩 방법 Fortran 프로그램의 일반적인 형식 형식 program 프로그램명 선언 부분 실행 부분 부프로그램 부분 end program 프로그램명 예문 program Example implicit none real :: distance, velocity, & time real :: list integer :: list character(len = n ) :: list ! 또는 character( n ) :: list 형선언자 :: v_1 = e_1, .... , v_n = c_n 형선언자, parameter :: n_1 = c1, ... n_n = c_n read *, input-list print *, output-list stop end program Example 포트란95 기본 코딩 방법 포트란은 영문 .. 2022. 6. 9.
포트란 기본 예제7 (순환구조 DO loop) 순환구조의 종류 1. DO (횟수 제어 순환구조) (구조명 : ) do [var = 초기값, 끝값, (증분)] 실행문 end do do 이후 [ ] 내용이 없는 구조도 가능 2. DO WHILE (조건적 순환구조) (구조명 : ) do while (조건) 실행문 end do (예제) f(x) = x^3 + 4x^2 - 10 = 0 근을 bisection method (이분법) 로 계산하는 프로그램 이분법 계산과정 1) 입력한 양 끝단점 a,b의 함수 f(a), f(b)의 부호가 같으면 a,b 사이에 근이 없다. 2) f(a), f(b)의 부호가 다르면 a, b, 사이에 근이 존재 3) 근이 있는 경우, 중앙점 p를 계산하고 함수 f(p)를 계산한다. 4) f(a)와f(p)의 부호가 같으면, 근은 p와 b.. 2022. 6. 9.
728x90