본문 바로가기
정보처리기사

[정보처리기사] 반복문이란?|for 문 c,java,python 작성법

by 공불러 2023. 5. 24.
728x90
반응형

[정보처리기사] 반복문이란?|for 문 c,java,python 작성법 

뗄래야 뗼 수 없는 기본적인 문법 반복문

자꾸봐도 또 헷갈리는 거 같아요.

2중이상으로 늘어나면 머리가 점점 복잡해지죠..

일단은 for문이 뭔지 왜 쓰는지 알아보도록 하겠습니다.

반복문 그림

목차

     

     

    정보처리기사에서 반복문 중요한가?

    무조건, 알아야합니다. 매회 1개 이상 반드시 출제되고 있습니다. 2중~4중까지 다양합니다. 반복문을 주고 출력결과를 묻는 문제가 많습니다.

    반복문을 활용한 정렬, 지뢰찾기 등을 물어봅니다. 반복문을 활용하는 방법을 알아두는 것이 좋습니다.

     

    왜 i, j, k를 쓰는 건가요?

    왜 i, j, k를 써야하나

    꼭 i,j,k를 써야하는 것은 아닙니다. 반복문에서 i, j, k와 같은 변수는 보통 반복을 제어하는 데 사용됩니다. 이러한 변수명은 관례적으로 사용되는 이름으로, 주로 순차적으로 값을 증가시키면서 반복문을 실행하는 용도로 선택됩니다. 하지만 i, j, k 외에도 다른 변수명을 마음껏 작성해도 무관합니다. 다음과 같은 이유들이 있을 수 있다.

     

    관례적인 변수명

    3차원 i, j, k

    i, j, k는 반복문에서 자주 사용되는 관례적인 변수명입니다. 많은 프로그래머들이 관례적으로 i를 첫 번째 반복 변수, j를 두 번째 반복 변수, k를 세 번째 반복 변수로 사용합니다.

    왜 이러한 관례가 생겼는 지 추축해보면, 물리나 수학에서 3차원을 표현할 때, 스칼라값은 x,y,z으로 벡터 값은 i, j ,k로 표현해 왔습니다. 그러므로 코딩할때, 반복문을 하나의 차원으로 보고 1차원은 i, 2차원은 j, 3차원은 k로 하는 것으로 보입니다.

    이 관례는 꼭 지켜야하는 것은 아니지만, 이미 깊숙히 자리 잡은 관례이기 때문에 디버깅 및 다른 개발자들이 확인할 때, 불편하지 않을 겁니다.

     

    가독성

    i, j, k와 같은 짧은 변수명은 코드를 간결하게 유지할 수 있어 가독성을 높일 수 있습니다. 반복문에서 변수의 역할이 명확하고, 코드 라인 수를 줄여줄 수 있습니다.

     

    수학적 관례

    i, j, k는 수학에서 인덱싱이나 루프와 관련된 관례적인 표기법입니다. 행렬이나 벡터의 인덱스, 연속된 루프 변수 등과 관련하여 사용될 때 자연스럽게 사용되기도 합니다.

     

    코드 호환성

    많은 프로그래밍 언어에서 기본적으로 제공하는 반복문 예제 및 문서에 i, j, k와 같은 변수명이 사용되어 있기 때문에, 이러한 관례를 따르면 코드를 보다 쉽게 이해하고 활용할 수 있습니다.

    이러한 이유들로 i, j, k 변수명이 반복문에서 널리 사용되고 있지만, 실제로 변수명은 선택적이며 코드의 가독성과 의도를 잘 전달할 수 있는 변수명을 사용하는 것이 중요합니다. 따라서 반복문에서 변수명을 선택할 때에는 코드의 목적과 문맥을 고려하여 적절한 변수명을 선택하는 것이 좋습니다.


    반복문이란?

    반복문이란?

     

    반복문은 프로그래밍에서 자주 사용되는 개념으로, 동일한 코드 블록을 여러 번 실행하는 데 사용됩니다. 반복문은 특정 조건을 만족하는 동안 코드를 반복해서 실행하거나, 주어진 횟수나 범위 내에서 코드를 반복해서 실행하는 데에 사용됩니다. 이를 통해 코드를 간결하게 작성하고 반복적인 작업을 자동화할 수 있습니다.



    일반적으로 가장 많이 사용되는 두 가지 종류의 반복문은 "for" 반복문과 "while" 반복문입니다.

     

    for 문

    for 반복문은 주어진 횟수나 범위 내에서 코드를 반복 실행하는 데 사용됩니다. 일반적인 구조는 다음과 같습니다

     

    C, Java, Python 모두 반복적으로 코드를 실행하는 데 사용되는 반복문입니다. 

    C와 Java에서는 반복할 횟수를 지정하는 for 키워드와 반복할 값을 저장하는 변수를 사용합니다. 

    Python에서는 반복할 범위를 지정하는 range() 함수를 사용합니다.

     

    • 초기 변수: for 문의 왼쪽 괄호 내부에 위치합니다. (int =1) 변수를 선언하는 부분
    • 조건 변수: 초기 변수와 증가 변수 사이에 위치. (i < 10) i가 10보다 작을때까지 즉, i가 1이면, 9번 반복
    • 증가 변수: 가장 뒤에 작성하며, 얼만큼씩 증갈지 정하는 변수. i++ 1씩 증가 (++가 1씩 증가하는 연산자임)

    C언어에서 반복문

    for (int i = 0; i < 10; i++) {
      printf("%d\n", i);
    }

    JAVA에서 반복문

    for (int i = 0; i < 10; i++) {
      System.out.println(i);
    }

    python에서 반복문

    for i in range(10):
      print(i)

     


    반복문으로 구구단 만들기

    구구단을 반복문을 사용하여 만들 수 있습니다. 일반적으로 2중첩된 반복문을 사용하여 구현합니다. 

    C언어에서 구구단 만들기

    for 문을 사용하여 변수 i를 2부터 9까지 반복합니다. 이 변수 i는 구구단의 단을 나타냅니다.
    내부에 중첩된 for 문을 사용하여 변수 j를 1부터 9까지 반복하며, i와 j의 값을 곱한 결과를 계산하여 출력합니다.

    #include <stdio.h>
    
    int main() {
        int i, j;
        
        for (i = 2; i < 10; i++) {
            printf("%d단\n", i);
            for (j = 1; j < 10; j++) {
                int result = i * j;
                printf("%d x %d = %d\n", i, j, result);
            }
            printf("\n");
        }
        
        return 0;
    }

    JAVA에서 구구단 만들기

    for 문을 사용하여 변수 i를 2부터 9까지 반복합니다. 이 변수 i는 구구단의 단을 나타냅니다.
    내부에 중첩된 for 문을 사용하여 변수 j를 1부터 9까지 반복하며, i와 j의 값을 곱한 결과를 계산하여 출력합니다.
    Python:

    public class Main {
        public static void main(String[] args) {
            for (int i = 2; i < 10; i++) {
                System.out.println(i + "단");
                for (int j = 1; j < 10; j++) {
                    int result = i * j;
                    System.out.println(i + " x " + j + " = " + result);
                }
                System.out.println();
            }
        }
    }

    Python에서 구구단 만들기

    for 문을 사용하여 range(2, 10) 범위의 값들을 변수 i에 할당합니다. 이 변수 i는 구구단의 단을 나타냅니다.
    내부에 중첩된 for 문을 사용하여 range(1, 10) 범위의 값들을 변수 j에 할당하며, i와 j의 값을 곱한 결과를 계산하여 출력합니다.

    for i in range(2, 10):
        print(f"{i}단")
        for j in range(1, 10):
            result = i * j
            print(f"{i} x {j} = {result}")
        print()
    728x90
    반응형

    댓글