Sponsored By
















ㅁ. 컴파일시 실행파일명을 변경 할 수 있다.

 

 

ㅁ. 방법

>

$> 컴파일러 원하는실행파일명 컴파일할_파일명

 

 

ㅁ. 예시

>

 

00. gfortran hello hello.f90 으로 컴파일 하자.

 

 

 

 

 

01. hello* 파일이 생긴것을 확인할 수 있다.







02. ./hello 로 실행시켜보면 정상작동됨을 확인할 수 있다.

 

 

 

 

 

 

 

ㅁ. 포트란도 마찬가지로 절차지향 언어이다.

최근들어서 객체지향도 접목시키긴 했지만, 아직까지 이해할때에는 절차지향언어로 생각하면 편리하다.

 

 

00. vi hello.f90 스크립트를 열어 포트란언어를 작성할 준비를 하자.







01. Formation은 다음과 같이 

>

PROGRAM 스크립트명 

실행부

EMD PRPGRAM 스크립트명







02. gfortran hello.f90 으로 컴파일 시켜준다.







03. a.out 파일이 생성된 것을 확인할 수 있다.







04. ./a.out 으로 실행시켜서 값이 제대로 출력되는지 확인해보자.

 

 

 

 

 

 

00. 아래 주소(링크)로 접속

http://tdm-gcc.tdragon.net/download

 

TDM-GCC : Download

A PHP Error was encountered Severity: Notice Message: Only variable references should be returned by reference Filename: core/Common.php Line Number: 257

tdm-gcc.tdragon.net

 

 

01. 자신의 버전에 알맞게 다운로드

>

 

 

 

 

 

 

02. 다운로드 받은 파일을 실행중 아래와 같은 화면이 나오면 gcc 옆 + 상자를 누른다.

>







03. fortran 을 체크해주고 인스톨을 마무리한다.

>

 

 

 

 

 

04. 윈도우 cmd창으로 들어가서 'gfortran -v'  을 실행하여 설치가 됐는지 확인하자.

 

 

 

 

 

 

05. 연습장에 hello world 를 코딩하고 hello.f90 으로 저장하자.

>

program test

print *, 'HELLO WORLD from smin'

end program test

 

 

 

 

 

06. cmd 내에서 'gfortran hello.f90' 을 입력하여 컴파일한다.

 

 

 

 

 

07. a.exe 가 생성된것을 확인하고 'a.exe' 를 입력하여 실행시켜서 정상작동됨을 확인할 수 있다.

 

 

 

      

 

내장기능을 이용한 옵저버패턴(Observer Pattern) 을 알아보자.

 

 

기본 코드는 내장기능을 이용하지 않은 이전 포스팅을 참고하자.

 

 

※. 참고 주소 : 

https://asterisco.tistory.com/202

 

[ JAVA/ 자바/ 패턴] Observer Pattern/ 옵저버패턴/ Observer패턴/ 옵저버 Pattern/ 자바패턴/ 패턴/ 자바/ 옵저버

옵저버패턴(Observer Pattern) 에 대해 알아보겠다. 옵저버 패턴은 Subject에서 각 객체(옵저버)들을 조절하며 데이터를 변경하거나 옵저버들을 추가 또는 제거등을 할 수 있는 기능이다. 00. Subject 인터페이스..

asterisco.tistory.com

 

 

01. WeatherData 의 import 두개를 추가하고 Observable 을 상속받고 내용을 조금 수정하자.







02. CurrentConditionsDisplay 클래스의 import를 넣고 Observer 를 다중 상속 받고 내용을 적절하게 수정하자.







03. 실행하면 결과는 같게 나온다.

 

 

 

 

 

 

 

 

 

 

******************** CurrentConditionsDisplay CLASS

 

package kr.or.komca.smin;

 

import java.util.Observable;

import java.util.Observer;

 

public class CurrentConditionsDisplay implements Observer, DisplayElement{

 

Observable observable ;

private float temperature;

private float humidity;

 

 

public CurrentConditionsDisplay(Observable observable){

this.observable = observable;

observable.addObserver(this);

 

}

 

@Override

public void update(Observable obs, Object arg){

 

if( obs instanceof WeatherData ){

WeatherData weatherData = (WeatherData) obs;

this.temperature = weatherData.getTemperature();

this.humidity = weatherData.getHumidity();

display();

}// if

 

}// update

 

@Override

public void display() {

// 변수에 저장된 값을 나타내어 준다.

System.out.println("Current conditions : " + temperature + " F degree and " + humidity + " % humidity");

}

 

}// MAIN

 

 

 

 

 

 

 

 

******************** WeatherData CLASS 

package kr.or.komca.smin;

 

import java.util.ArrayList;

import java.util.Observable;

import java.util.Observer;

 

public class WeatherData extends Observable{

 

private ArrayList observers;

private float temperature;

private float humidity;

private float pressure;

 

public WeatherData(){ }

 

public void measurementsChanged(){

setChanged();

notifyObservers();

 

}

 

public void setMeasurements(float temperature, float humidity, float pressure){

// 값들을 지정해주는 메소드

this.temperature = temperature;

this.humidity = humidity;

this.pressure = pressure;

measurementsChanged();

 

}

 

public float getTemperature() { return temperature; }

 

public float getHumidity() { return humidity; }

 

public float getPressure() { return pressure; }

 

 

}//MAIN

 

 

 

 

 



Sponsored By















+ Recent posts