- 1 -
데이터 구조 1 실습 (1주차)
2021. 3. 3
1. 초단위의 시간을 입력받아서 시, 분, 초 단위로 변환하여 출력하라.
a. 문제를 IOPE 챠트를 이용하여 분석하라.
I: 초단위 시간 – t : integer O: 시 – hour: integer
분 – minute: integer 초 – second: integer P: hour = tmp / 60
minute= tmp mod 60 여기에서 tmp = t / 60 second= t mod 60
E: t = 1234 => minute = 1234 / 60 = 20 second = 1234 mod 60 = 34 hour = 0
b. 순서도 인터프리터인 RAPTOR을 설치하라. (http://raptor.martincarlisle.com)
c. RATPOR를 이용하여 위의 문제를 해결하는 순서도를 작성하고, 실행시켜라. (다음 공란에 작성한 순서도를 그려라)
출력형태:
1234seconds => 0hours 20minutes 34seconds 12345seconds => ?hours ?minutes ?seconds
d. SPARKS 언어를 이용하여 c)에서 작성된 순서도를 의사코드로 표현하라.
- 2 -
e. d)에서 작성된 의사코드를 C 프로그램으로 작성하고, 실행시켜라.
2. 문제 1을 다음과 같이 수정하고 같은 방법으로 해결하라:
i.. 사용자로부터 초단위 정수를 입력받아서 calc_times() 함수에 전달한다.
ii. calc_times() 함수는 전달받은 초단위 정수로부터 시, 분, 초를 구하고, 이러한 값들을 호출자에게 매개변수를 통해서 반환한다.
iii. 프로그램은 calc_times()로부터 전달받은 값들을 다음과 같이 출력하라.
12345 seconds = 3 hours 25 minutes 45 seconds
a. RATPOR를 이용하여 위의 문제를 해결하는 순서도를 작성하고, 실행시켜라. (다음 공란에 작성한 순서도를 그려라)
b. SPARKS 언어를 이용하여 c)에서 작성된 순서도를 의사코드로 표현하라.
- 3 -
c. d)에서 작성된 의사코드를 C 프로그램으로 작성하고, 실행시켜라.