2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

프로그래밍언어문법(C,C++,Python,JAVA)

4.1 용과 마을의 보물

원당컴1 2024. 7. 2. 09:08

목차 : https://wondangcom.tistory.com/2797

 

용과 마을의 보물

먼 옛날, 용이 마을을 지나가던 길에 마을 주민들이 모여 용에게 말했습니다. “용님, 우리 마을에는 보물이 있다고 합니다. 그 보물을 찾아주시면 큰 보상을 드리겠습니다.”

용은 마을 주민들의 부탁을 받아들였고, 마을 주변을 둘러보기 시작했습니다. 그러던 중, 큰 나무 뒤에서 작은 까만 상자를 발견했습니다. 상자에는 금화와 보석이 가득했습니다.

용은 상자를 열어보았습니다. 그런데 상자 안에는 두 개의 문이 있었습니다. 하나는 금으로 만들어진 문이고, 다른 하나는 은으로 만들어진 문이었습니다.

용은 주저하지 않고 금문을 열었습니다. 그러자 상자 안에서 불이 나왔고, 금화와 보석이 사라졌습니다. 용은 실망했습니다.

하지만 은문을 열어보니, 또 다른 보물이 있었습니다. 그것은 마을 주민들의 행복과 평화였습니다. 용은 이 보물을 마을 주민들에게 돌려주었습니다. 그리고 그 보상으로 마을 주민들은 용에게 큰 사랑과 감사를 표했습니다.

 

이 동화를 이용하여 선택제어문을 사용하여 프로그래밍을 해 보면 다음과 같습니다.

C언어

#include <stdio.h>

int main(void) {
    int choice;
    printf("1번문과 2번문 중 어떤 문을 여시겠습니까? (1 또는 2 입력): ");
    scanf("%d", &choice);

    if (choice == 1) {
        printf("금화와 보석이 사라졌습니다.\n");
    } 
    if (choice == 2) {
        printf("마을 주민들의 행복과 평화를 마을 주민들에게 돌려 주었습니다.\n");
    }

    return 0;
}

if (조건문)  { 실행구문 } 에서 조건문이 참인 경우 실행구문이 실행 됩니다.

C++

#include <iostream>

int main() {
    int choice;
    std::cout << "1번문과 2번문 중 어떤 문을 여시겠습니까? (1 또는 2 입력): ";
    std::cin >> choice;

    if (choice == 1) {
        std::cout << "금화와 보석이 사라졌습니다." << std::endl;
    } 
    if (choice == 2) {
        std::cout << "마을 주민들의 행복과 평화를 마을 주민들에게 돌려 주었습니다." << std::endl;
    }

    return 0;
}

if문은 동일합니다.

JAVA

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("1번문과 2번문 중 어떤 문을 여시겠습니까? (1 또는 2 입력): ");
        int choice = scanner.nextInt();

        if (choice == 1) {
            System.out.println("금화와 보석이 사라졌습니다.");
        } 
        if (choice == 2) {
            System.out.println("마을 주민들의 행복과 평화를 마을 주민들에게 돌려 주었습니다.");
        }
        
    }
}

if 문은 동일합니다.

Python

        choice = int(input("1번문과 2번문 중 어떤 문을 여시겠습니까? (1 또는 2 입력): "))
        if choice == 1:
            print("금화와 보석이 사라졌습니다.")
        if choice == 2:
            print("마을 주민들의 행복과 평화를 마을 주민들에게 돌려 주었습니다.")

다른 언어의 선택제어문은 if(조건문) { 실행구문 } 과 같이 {} 을 이용하여 실행구문의 블럭을 지정한 반면

Python 에서는 {} 으로 블럭을 지정하지 않고 :(콜론) 다음 줄에 ____(스페이스2칸 또는 4칸)을 이용하여 레벨을 지정하여 블럭을 지정합니다.

if 문 안쪽에서 실행되는 구문은 반드시 if문 안쪽의 스페이스를 기준으로 레벨을 맞춰 주어야 합니다.

이 부분이 파이썬의 장점인데 바로 가독성입니다.

다른 언어와 같은 경우 

    if (choice == 1) {
printf("금화와 보석이 사라졌습니다.\n");
    }

이런 식으로 코딩을 해도 컴파일에 문제가 없습니다.

하지만 파이썬에서 

        if choice == 1:
print("금화와 보석이 사라졌습니다.")

이렇게 코딩하면 바로 에러가 발생합니다.

이렇게 레벨을 맞추지 않는 경우 다른 언어에서 컴파일은 되지만 가독성이 떨어져서 유지보수나 버그가 발생했을때 원인을 찾기가 어려운데 비해 파이썬은 레벨을 맞추지 않으면 컴파일 자체가 되지 않으므로 나중에 유지보수나 버그 원인을 잡을때 쉽다는 장점이 있습니다.

 

인천 검단 원당컴퓨터 학원(T 032-565-5497)

#정보올림피아드

#검단신도시코딩

#원당동코딩

#마전동코딩

#왕길동코딩

#당하동코딩

#아라동코딩

#풍무동코딩

#불로동코딩

#검단동코딩

#검암동코딩

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기