레알메카 [문제] 다음의 결과와 같이 배열을 0부터 100까지 무작위로 생성하고, 숫자를 정렬한 후 지정된 큰 수 찾기를 하는 LABVIEW 프로그램을 작성하시오
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

레알메카 [문제] 다음의 결과와 같이 배열을 0부터 100까지 무작위로 생성하고, 숫자를 정렬한 후 지정된 큰 수 찾기를 하는 LABVIEW 프로그램을 작성하시오에 대한 보고서 자료입니다.

목차

[문제] 다음의 결과와 같이 배열을 0부터 100까지 무작위로 생성하고, 숫자를 정렬한 후 지정된 큰 수 찾기를 하는 LABVIEW 프로그램을 작성하시오.


I. 데이터들의 비교를 통하여 오름차순 하였을 때 각각의 데이터의 자리를 찾는 방법

II. 데이터들의 비교를 통하여 바로 자리를 바꾸는 방법

본문내용

대한 설명
For Loop : Loop 안의 명령을 입력된 횟수만큼 반복 실행한다.
Case Structure : 입력된 변수가 참일 경우 True에 입력된 명령이 실행되며, 입력된 변수가 거짓일 경우 False에 입력된 명령이 실행된다.
Random Number : 0~1까지 임의의 난수를 생성한다.
Greater? : 위에 입력된 값이 아래 입력된 값보다 클 경우 참, 작을 경우 거짓을 출력한다.
Feedback Node : For Loop나 While Loop에서 Node나 Node 그룹의 출력을 그 node나 node 그룹의 입력으로 연결할 loop가 한 반복을 끝내면 데이터를 저장하고, 다음 반복의 loop에 그 값을 전달한다.
Shift Register : 이전 반복의 값을 loop를 통해 다음 반복으로 전달하고자 할 때 사용한다.
Delete From Array : 입력된 index의 데이터를 지우고, 각각 지워진 상태의 array와 지워진 데이터 두 가지를 출력한다.
Insert Into Array : 입력된 index에 새로운 데이터를 끼워 넣는다.
Index Array : Array에서 원하는 위치의 데이터 값을 출력한다.
3. block diagram에서 각각의 function을 활용한 이유를 설명
1) For Loop를 이용한 임의의 난수 15개 만들기
0~1까지 임의의 난수를 만들어주는 Random number에 100을 곱하여 0~100까지 임의의 난수를 생성하게 하여, For Loop에 넣는다. For Loop의 반복 횟수는 15로 지정하여, 15번 반복 실행하게 한다. 이때 생성된 15개의 난수들은 반복이 끝나기 전까지 Auto-Indexed Tunnel에 저장되어 있다가 loop의 반복이 끝났을 때 한번에 Array1으로 출력된다.
2) 각각의 데이터를 비교하여, 자리 바꾸기
Array1으로 가는 array에서 wire를 이용하여 끌어와 ①번 For Loop 안의 ⑤번 Feedback Node의 초기 값에 연결한다. ⑤번 Feedback Node의 출력변수는 다시 ②번 For Loop 안의 ⑥번 Feedback Node의 초기 값에 연결하고, ⑥번 Feedback Node의 출력변수는 Index Array와 Case Structure 안의 Delete From Array에 연결한다. Index Array의 ③번 출력 값은 ①번 For Loop의 에 맞는 데이터가 출력되며, ④번 출력 값은 ②번 For Loop의 Shift Register에 맞는 데이터가 출력된다.
프로그램 실행 시 ①번 For Loop의 가 0일 때, ③번 데이터가 ④번 데이터보다 클 경우 True가 성립되므로 Case Structure에서 Delete From Array에서 ④번의 데이터가 array로부터 분리되어 Insert Into Array를 이용하여 Delete From Array에서 출력된 array의 0번 자리에 들어가게 되고, 작을 경우에는 Falser가 성립되므로 그대로 통과하게 된다.
②번 For Loop가 15번 실행이 끝나면 ①번 For Loop의 가 1이 되고 ②번 For Loop의 Shift Register의 초기 값은 1로 바뀐다. 이럴 경우 이미 array의 0번 자리에는 최솟값이 들어가 있으므로 크기 비교를 할 필요가 없기 때문에 0번 자리는 제외하고 크기 비교를 할 수 있도록 초기 값이 1씩 증가하게 바꾸어 두었다. 또한 ②번 For Loop의 반복횟수는 Shift Register와는 다르게 15에서 1씩 감소하게 되어있는데 이유는 크기 비교를 할 데이터가 하나씩 줄어들었기 때문이다.
최종적으로 ①번 For Loop의 가 0일 때는 array의 0번 자리에 최솟값이 들어가고, 가 1일 때는 array의 1번 자리에 두 번째로 작은 값이 들어가며, 마지막 반복횟수인 가 14일 때는 14번 자리에 최댓값이 들어가므로 Array1의 데이터들이 오름차순으로 정렬된 Array2가 출력된다.
3) 원하는 크기의 큰 수 찾기
Array2에서 wire를 생성하여 For Loop 밖의 Index Array에 연결한다. 원하는 크기의 숫자를 각각 Control1, Control2, Control3에 입력하고, 입력된 숫자를 15에서 빼주면 그 때의 위치가 지정한 큰 수의 위치가 되므로 Index Array의 index에 연결한다. 이때의 출력된 데이터를 각각 Indicator1, Indicator2, Indicator3에 연결하여 데이터를 출력한다.
  • 가격6,300
  • 페이지수9페이지
  • 등록일2015.06.25
  • 저작시기2014.9
  • 파일형식한글(hwp)
  • 자료번호#974601
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니