needmoreeasy EN 한국어
배우기

30 — 상점: 재고와 잔액

★★★★☆ (4/5)프로젝트
선수 지식
24 — 퀴즈, 25 — 계산기
결과물
물건을 팔 때마다 재고가 줄고 잔액이 늘어나는 작은 상점

상점 프로그램이 기억해야 할 것은 두 가지입니다 — 물건마다 몇 개 남았는지와 돈이 얼마인지입니다. 앞의 것은 이름마다 숫자 하나이므로 표의 모양이고, 뒤의 것은 숫자 하나입니다.

단계

  1. 재고를 표에 담습니다. 물건 이름이 이름이고, 남은 개수가 값입니다:

    재고는 빈 표
    재고에 사과를 5로 넣어
    재고에 빵을 2로 넣어
    재고의 사과 말해줘
    
    실행해 보기 →

    5가 나옵니다.

  2. 없는 물건을 찾으면 프로그램이 멈춥니다. 그래서 먼저 있는지 묻습니다:

    재고는 빈 표
    재고에 사과를 5로 넣어
    만약에 재고에 우유가 있으면
        재고의 우유 말해줘
    아니면
        그런 물건은 없습니다 말해줘
    끝
    
    실행해 보기 →
  3. 표의 숫자를 줄이는 것은 세 걸음입니다 — 꺼내고, 바꾸고, 다시 넣습니다:

    재고는 빈 표
    재고에 사과를 5로 넣어
    남은수는 재고의 사과
    남은수에서 1 빼
    재고에 사과를 남은수로 넣어
    재고의 사과 말해줘
    
    실행해 보기 →

    4가 나옵니다. 표 안의 값을 바로 고치는 문장은 아직 없어서, 이 세 줄이 그 자리를 대신합니다.

  4. 0개 남은 것을 또 팔면 안 됩니다. 팔기 전에 개수를 봅니다:

    남은수는 0
    만약에 남은수가 0보다 크면
        팝니다 말해줘
    아니면
        다 팔렸습니다 말해줘
    끝
    
    실행해 보기 →
  5. 전체입니다. 하나 팔면 재고가 하나 줄고, 돈이 십만큼 줄어듭니다:

    재고는 빈 표
    재고에 사과를 5로 넣어
    재고에 빵을 2로 넣어
    돈은 100
    물건을 물어봐 무엇을 살까요
    만약에 재고에 물건이 있으면
        남은수는 재고의 물건
        만약에 남은수가 0보다 크면
            남은수에서 1 빼
            재고에 물건을 남은수로 넣어
            돈에서 10 빼
            샀습니다 말해줘
            물건 말해줘
            남은수 말해줘
        아니면
            다 팔렸습니다 말해줘
        끝
    아니면
        그런 물건은 없습니다 말해줘
    끝
    돈 말해줘
    
    실행해 보기 →

직접 해보기

물건마다 값이 다르게 해 보세요 — 값표라는 표를 하나 더 두고 재고와 같은 이름을 쓰면 됩니다. 그리고 파는 대신 채워 넣는 쪽도 만들어 보세요. 빼 자리에 더해를 쓰면 됩니다.

배운 것

  • 이름마다 숫자 하나를 기억할 때는 표가 맞습니다.
  • 없는 이름을 꺼내면 멈추므로 먼저 있는지 묻습니다.
  • 표 안의 숫자를 바꾸는 것은 꺼내기·바꾸기·다시 넣기 세 걸음입니다.
  • 팔기 전에 개수를 보는 것이 0보다 아래로 내려가지 않게 하는 방법입니다.

GitHub에서 이 문서 보기