본문 바로가기
RPA/UiPath 강좌

[UiPath-008] 제어문(조건문, 반복문)

by 천왕지짐 2023. 4. 2.

조건문
프로그래밍에서 특정 조건이 참(True)인 경우에만 특정 작업을 수행하도록 하는 제어문으로 If, If-else, switch 액티비티가 사용된다. , (True)인지 거짓(False)인지 판단할 때 사용한다.


조건분기(if)는 Flowchart, Sequence 내에서 모두 사용가능하나 주로 Sequence에서 사용하며 참일 경우 Then 부분을 실행하고 거짓일 경우에는 Else 부분을 실행한다.
플로 조건 분기(Flow Decision)는 Flowchart 내에서만 사용되며 참일 경우 True 부분을 실행하고 거짓일 경우에는 False 부분을 실행한다.

참인지 거짓인지를 판단하기 위해 값을 비교할 때 사용하는 연산자(기호)로 비교연산자(=, <>, >, <, >=, <=)와 논리연산자(and, or, Not)가 있다.


숫자를 입력받아 짝수인지 홀수인지를 확인하는 프로젝트
1) input dialog 액티비티를 가져다 놓은 후 더블클릭
2) 대화상자 제목에는 큰따옴표와 함께 “숫자입력”, 입력 레이블에는 “숫자를 입력하세요”라고 입력
3) 하단의 변수 클릭
4) 이름에는 Int_Num, 변수유형에는 Int32, 범위에는 Flowchart
5) 속성창에서 출력의 Result에 Ctrl+k를 누른 후 Int_Num 입력
6) input dialog 액티비티 밑에 Flow decision 액티비티 가져다 놓은 후 속성의 Condition의 ...을 클릭
7) Condition에 Int_Num mod 2 = 0 입력
8) message box 액티비티를 Flow Decision 양쪽에 배치
   (message box를 이동시키면 True나 False가 나타남)
9) 왼쪽 Message Box를 더블 클릭 후 “짝수입니다.” 입력, 오른쪽 Message Box를 더블 클릭 후 “홀수입니다.” 입력
10) 실행


반복문

프로그래밍에서 동일한 코드 블록을 여러 번 실행하도록 하는 제어문으로 주어진 조건이 참(True)인 동안 코드 블록을 실행하며, 조건이 거짓(False)이 되면 반복문을 빠져나온다.


반복문을 수행하는 액티비티는 여러가지가 있다.
 - While : 조건이 만족하면 본문을 계속 반복
 - Do While : 한번 실행 후 조건식과 일치하면 계속 반복
 - For Each : 배열(Array), 컬렉션(Collection)의 길이(개수)만큼 반복
 - For Each Row in Data Table : 데이터테이블의 Row 수만큼 반복
 - Flowchart의 화살표 : 화살표를 통해서 반복(화살표를 드래그함)

  
While 반복문 사용해보기
   1) Assign 액티비티를 가져다 놓은 후 int_Count = 1을 입력한다.(창 하단의 변수탭을 누른 후 int_Count 변수를 생성한다.)
   2) While 액티비티를 가져다 놓은 후 Condition에는 int_Count < 11 Body에는 Message Box 액티비티를 가져다 놓고 Int_Count를 입력한다.
   3) Assign 액티비티를 가져다 놓은 후 int_Count = int_Count + 1을 입력한다. 
   4) 를 눌러 실행시킨다.

  
[혼자서 해보기] While 반복문을 응용하여 Do While 반복문 예제를 만들어 보자.

  
For Each 반복문 사용해보기
   1) Assign 액티비티를 가져다 놓은 후 Ary_Name = {“이순신”,“홍길동”,“강감찬”}을 입력한다.
      (창 하단의 변수탭을 누른 후 Ary_Name 변수를 생성한 후 Type은 Array of [T]를 선택한 후 형식선택에서 System.String[]을 선택한다.)
   2) For Each 액티비티를 가져다 놓은 후 in 뒤에 Ary_Name을 각각 입력한다.
   3) 본문 안에 Write Line 액티비티를 가져다 놓은 후 Text에 item.ToString이라고 입력한다.
   4) 를 눌러 실행시킨다.

  
For Each Row in Data Table 반복문 사용해보기
   1) 아래와 같이 엑셀 데이터(책정보.xlsx)를 준비한다.
   2) 엑셀 데이터를 읽기위해 통합문서에 있는 Read Range를 사용하며 읽은 데이터를 미리 준비한 DT_book에 넣기 위해 속성 출력의 데이터 테이블에 Ctrl+k를 누른 후 DT_book을 입력한다.
   3) 창 하단의 변수탭을 눌러 DT_book의 변수 유형을 DataTable, 범위를 전체 Sequence로 지정한다. 
      (준비되어 있는 엑셀이 위와같이 Title, Type과 같이 제목이 있는 경우 Read Range 속성 옵션의 AddHeaders를 체크한다.)
   4) Read Range의 폴더창을 클릭해 위의 파일을 선택하고 “A1:A2”를 삭제한다.
   5) For Each Row in Data Table 액티비티를 가져다 놓은 후 in 다음에 DT_book을 입력한다.
   6) 본문(Body)에 󰍽 Message Box 액티비티를 가져다 놓은 후 CurrentRow.item(“title”).ToString이라고 입력한다. 
   7) 를 눌러 실행시킨다.


키포인트 
 
실제 값을 한칸씩 골라서 입력할때는 다음과 같은 양식을 따르게 된다.
DataTable명.rows(행).item(열)

우리가 만들었던 Table에서 첫번째 행의 두번째 값을 가져오려면 아래와 같이 표현해 주면 된다.
DT_Test.rows(0).item(1)

여기서 주의 할 점은 항상 찾고자 하는 값이 몇 번째 값인지를 찾을 때는 숫자 0부터 시작해서 하나씩 증가시켜 가면서 찾는 다는 것이다. 즉, 첫 번째 값을 찾고 싶으면 숫자 0을, 2번째 값을 찾고 싶으면 숫자 1을 입력하는 방식으로 입력해야 한다. 

댓글