70 likes | 317 Views
정보처리 기사 실기 알고리즘 ( 최대값 , 최소값 , 근접값 ). 최대값. Option Explicit Dim 시작줄 , 끝줄 , 레코드번호 , 현재레코드 Dim 최대값 최대값 = 0 ‘ 가장 작은값은 초기값으로 지정 For 레코드번호 = 1 To 끝줄 If 최대값 < Val( 현재레코드 ) Then 최대값 = Val( 현재레코드 ) End If Next. 6 10. 최대값. Option Explicit
E N D
정보처리 기사 실기알고리즘(최대값,최소값,근접값)
최대값 Option Explicit Dim 시작줄, 끝줄, 레코드번호, 현재레코드 Dim 최대값 최대값 = 0‘가장 작은값은 초기값으로 지정 For 레코드번호 = 1 To 끝줄 If 최대값 < Val(현재레코드) Then 최대값 = Val(현재레코드) End If Next
6 10 최대값 Option Explicit Dim 시작줄, 끝줄, 레코드번호, 현재레코드 Dim 최대값 Private Sub Form_Initialize() ‘주어진 레코드에서 가장 큰값 구하기 시작줄 = Val(Left(Command, InStr(Command, " "))) 끝줄 = Val(Mid(Command, InStr(Command, " "))) Open "C:\C_it\data\abc0803.txt" For Input As #1 Open "C:\C_it\data\ans0803.txt" For Output As #2 최대값 = 0 ‘가장 작은값은 초기값으로 지정 For 레코드번호 = 1 To 끝줄 If 레코드번호 < 시작줄 Then Line Input #1, 현재레코드 Else Line Input #1, 현재레코드 If 최대값 < Val(현재레코드) Then 최대값 = Val(현재레코드) End If End If Next Print #2, 최대값 Close #1 Close #2 End Sub
최소값 Option Explicit Dim 시작줄, 끝줄, 레코드번호, 현재레코드 Dim 최소값 최소값 = 999‘가장 큰값을 초기값으로 지정 For 레코드번호 = 1 To 끝줄 If 최소값 >= Val(현재레코드) Then 최소값 = Val(현재레코드) End If Next
6 10 최소값 Option Explicit Dim 시작줄, 끝줄, 레코드번호, 현재레코드 Dim 최소값 Private Sub Form_Initialize() ‘주어진 레코드에서 가장 작은값 구하기 시작줄 = Val(Left(Command, InStr(Command, " "))) 끝줄 = Val(Mid(Command, InStr(Command, " "))) Open "C:\C_it\data\abc0807.txt" For Input As #1 Open "C:\C_it\data\ans0807.txt" For Output As #2 최소값 = 999 ‘가장 큰값을 초기값으로 지정 For 레코드번호 = 1 To 끝줄 If 레코드번호 < 시작줄 Then Line Input #1, 현재레코드 Else Line Input #1, 현재레코드 If 최소값 >= Val(현재레코드) Then 최소값 = Val(현재레코드) End If End If Next Print #2, 최소값 Close #1 Close #2 End Sub
근접값 Option Explicit Dim 시작줄, 끝줄, 레코드번호, 현재레코드 Dim 차이최소값, 차이, 근접값 차이최소값 = 999 ' 가장 큰값으로 초기값 지정 For 레코드번호 = 1 To 끝줄 차이 = Val(현재레코드) - 300 ' 현재레코드 값에서 300을 뺀다 If Abs(차이최소값) > Abs(차이) Then ' 절대값으로 환산하여 비교 차이최소값 = 차이 ' 현재 차이가 더 적으면 교체 근접값 = Val(현재레코드) ' 현재레코드값을 근접값으로 저장 End If End If Next
6 10 근접값 Option Explicit Dim 시작줄, 끝줄, 레코드번호, 현재레코드 Dim 차이최소값, 차이, 근접값 Private Sub Form_Initialize() ' 레코드중 300에 가장 가까운 근접값 구하기 시작줄 = Val(Left(Command, InStr(Command, " "))) 끝줄 = Val(Mid(Command, InStr(Command, " "))) Open "C:\C_it\data\abc0807.txt" For Input As #1 Open "C:\C_it\data\ans0808.txt" For Output As #2 차이최소값 = 999 ' 가장 큰값으로 초기값 지정 For 레코드번호 = 1 To 끝줄 If 레코드번호 < 시작줄 Then Line Input #1, 현재레코드 Else Line Input #1, 현재레코드 차이 = Val(현재레코드) - 300 ' 현재레코드 값에서 300을 뺀다 If Abs(차이최소값) > Abs(차이) Then ' 절대값으로 환산하여 현재 차이와 기존 차이값 비교 차이최소값 = 차이 ' 현재 차이가 더 적으면 차이최소값으로 저장 근접값 = Val(현재레코드) ' 현재레코드값을 근접값으로 저장 End If End If Next Print #2, 근접값 Close #1 Close #2 End Sub