한 눈에 끝내는 고랭 기초
    • 01
      시작하기에 앞서
    • 강의대상
      Go란?
      실습 환경 구축 - 구름IDE
      Hello goorm! 출력해보기
    • 02
      변수와 상수
    • 콘솔 출력 함수의 기본
      변수의 선언과 초기화
      상수의 선언과 초기화
      간단한 덧셈
      잘못된 신상정보
    • 03
      연산자
    • 연산자 종류
      연산자 우선순위
      콘솔 입력 함수의 기본
      간단한 덧셈과 곱셈
      몫과 나머지
    • 04
      자료형
    • 자료형의 종류와 특징
      문자열의 표현
      자료형의 변환
      강제 형 변환
    • 05
      콘솔 출력과 입력 함수
    • 콘솔 출력 함수(Print)
      콘솔 입력 함수(Scan)
      정돈된 표
      신상정보 입력과 출력
    • 06
      반복문 - for
    • 오로지 for
      구구단
      빛나는 이등변삼각형
    • 07
      조건문 - if/else
    • 조건에 따른 실행과 흐름 분기
      7과 9의 배수
      두 수의 차
    • 08
      분기문 - switch
    • swich문에 의한 선택적 실행
      안좋은 계산기
    • 09
      제어문
    • break, continue, goto문
      구구단2
      두 수를 더하면 99
    • 10
      컬렉션
    • 배열(Array)
      슬라이스(Slice)
      맵(Map)
      역행렬
      가장 긴 이름
      중간고사 평균 점수
    • 11
      함수
    • Go언어에서의 함수
      전역변수와 지역변수
      매개변수
      반환값(리턴값)
      익명 함수
      오름차순 정렬
      아이패드를 사주는 조건
      역학적 에너지
    • 12
      클로저
    • 외부 변수 접근 : 클로저
      동전 정리
    • 13
      구조체와 메소드
    • 구조체
      메소드
      성적 저장 프로그램
      역학적 에너지2
    • 14
      인터페이스(interface)
    • 메소드의 집합 인터페이스
      직육면체와 원기둥
    • 15
      defer와 panic()
    • 지연 처리 defer
      종료하는 panic(), 복구하는 recover()
      엘리베이터
      중간고사 평균 점수2
    • 16
      에러 처리
    • 에러 처리의 기본
      에러 출력 및 처리
      중간고사 평균 점수3
    • 17
      고루틴(Goroutine)
    • 비동기 프로세스의 기본
      고루틴의 활용
      고루틴 실습
    • 18
      채널(Channel)
    • 고루틴의 데이터 통로 : 채널
      비동기 채널과 버퍼
      동기 채널
      채널 닫기
      송신 전용, 수신 전용 채널
      채널 select문
      고루틴 실습2
      메시지 전송
      동기 채널 실습
      비동기 채널 실습
    • 19
      패키지(package)
    • 패키지의 개념
    • 20
      실전 프로젝트 - 마일리지 상점
    • 프로젝트를 시작하기 앞서
      실습모드에서 실습
      마일리지 상점의 주요 기능
      필수 구조체와 매인 메뉴
      잔여 수량, 잔여 포인트 구현
    • 21
      실전 프로젝트 - 주문하기, 장바구니 담기
    • 구매 구현(1)
      구매 구현(2)
      장바구니에 담기
      장바구니 확인(1)
      장바구니 확인(2)
    • 22
      실전 프로젝트 - 고루틴으로 배송하기
    • 배송 상태 확인(1)
      배송 상태 확인(2)
      배송 상태 확인(3)
      최종 코드
    역학적 에너지2
    배우기
    13 구조체와 메소드
    역학적 에너지2

    함수 챕터에서 변수들을 사용해 기능을 수행하는 함수의 예제를 실습해봤습니다. '역학적 에너지'를 계산하는 프로그램을 실습했는데, 구조체와 메소드를 이용하면 이와 같은 프로그램을 체계적인 코드로 만들 수 있습니다. 왜냐하면 낙하하는 물체에 대한 정보를 구조체로 선언하고 정보를 활용한 다른 기능을 하는 함수를 메소드(위치 에너지, 운동 에너지)로 사용하면 되기 때문입니다. 그래서 함수 챕터에서 실습한 역학적 에너지를 구조체와 메소드를 활용해서 다시 만들어보도록 하겠습니다.


    • 아래 설명은 함수 챕터의 '역학적 에너지' 문제를 썼습니다.

    어떠한 물체가 수직으로 낙하하고 있습니다. 낙하하는 물체는 '역학적 에너지(Mechanical energy)'를 가지게 됩니다. 역학적 에너지란 물체의 속도와 질량을 가지고 측정하는 '운동 에너지(Kinetic energy)'와 '위치 에너지(Potential energy)'의 합으로 표현됩니다.

    낙하하는 물체는 바닥에 닿기 직전에 최고 운동 에너지와 최저 위치 에너지를, 낙하하기 직전 꼭대기에서는 최고 위치 에너지와 최저 운동 에너지를 지니면서 역학적 에너지가 보존됩니다.


    사용자에게 낙하하는 물체의 개수와 질량(m), 속도(v), 높이(h)를 사용자에게 입력받고 구조체와 메소드를 활용해 위치 에너지, 운동 에너지, 역학적 에너지를 구하는 실습을 해봅니다. 위치 에너지 공식은  이고, 위치 에너지 공식은 입니다. 역학적 에너지는 이 둘의 합입니다.

    실습 내용
    • 중력 가속도 값인 9.8을 상수로 선언 및 초기화합니다.
    • 질량(m), 속도(v), 높이(h), 운동 에너지(ke), 위치 에너지(pe), 역학적 에너지(me)를 필드 값으로 가지는 떨어지는 물체의 구조체를 선언합니다. 필드 값 자료형은 모두 float32입니다. 
    • 선언한 구조체를 receiver로 하는 메소드를 두 개 선언합니다. 각각 운동 에너지와 위치 에너지를 연산하고 출력하는 기능을 합니다.
    • 사용자에게 입력받을 물체의 개수, 질량, 속도, 높이 변수를 선언합니다.
    • 물체 구조체 객체들을 저장할 슬라이스를 생성합니다.
    • 사용자에게 입력받은 정보를 바탕으로 운동 에너지, 위치 에너지, 역학적 에너지를 연산하고순서대로 출력합니다.


    입력


    첫 번째 줄에 물체의 개수를 입력합니다.

    두 번째 줄부터 물체의 질량, 속도, 높이를 띄어쓰기 해서 입력합니다.


    출력


    물체의 운동 에너지, 위치 에너지, 역학적 에너지를 띄어쓰기해서 출력합니다. 각 객체마다 개행해서 출력합니다.

    입/출력 예시
    :
    공백
    :
    줄바꿈
    :
    예시 1
    입력
    5
    30210
    10240
    451
    30233
    19219
    출력
    6029403000
    2039203940
    5039.289.2
    6097029762
    4189.51675.79995865.3
    ⋇ 입출력 형식을 잘 지켜주세요
    질문하기