본문 바로가기

공부/과제

컴퓨팅적사고 문제해결(2019년 4월 14일 컴퓨팅적 사고 수업 과제) 1

1. 일상생활 속에서 컴퓨팅사고를 통해 해결할 수 있는 효율적인 문제는 무엇인가?

  고기의 무게에 따라 달라지는 가격을 머릿속으로 계산하기에는 비효율적일 수가 있다. 컴퓨팅적 사고를 통해 이를

  통해 이를 프로그램으로 만들면 이 문제를 효율적으로 해결할 수 있다.

 

2. 이 문제의 핵심은 무엇을 해결하고자 한 것인가?

  정육점에서 고기를 구입하면 고기의 무게(양)에 따라서 가격이 달라지는 것을 볼 수가 있다. 거기에서 오는 가격의

  혼란을 해결하고자 한다.

 

3. 이 문제를 통해 알 수 있는 것은 무엇인가?

  고기의 무게에 따라 달라지는 가격을 계산해볼 수 있다.

 

4. 해결을 위한 알고리즘을 순서도로 작성해보자.

파워포인트를 이용해 작성했다.

5. 해결을 위한 알고리즘을 pseudo code로 작성해 봅시다.

  

{

   int opt;

   int num; //변수선언

   printf("삼겹살이면 0, 삼겹살이 아니면 1로 입력하세요");

   printf("선택?: ");

   scanf("%d", &opt); //입력값 저장

 

   if(opt==1) //조건1

      printf("아직은 지원하지않는 기능입니다."); //삼겹살외엔 계산안함

 

   else //조건2

   {

      printf("몇 g인지 입력해주세요.(100단위로만 가능하며, 1000g 초과는 계산되지 않습니다.)");

      scanf("%d", &num); //무게값 저장

 

      if(num>1000)

      printf("계산 가능한 무게를 입력해 주십시오."); //계산범위초과

 

      else if(num<100)

      printf("계산 가능한 무게를 입력해 주십시오."); //계산범위초과

 

      else

      {

         if(num=100)

         printf("2000원 입니다.");

 

         else if(num=200)

         printf("4000원 입니다.");

 

         else if(num=300)

         printf("6000원 입니다.");

 

         else if(num=400)

         printf("8000원 입니다.");

 

         else if(num=500)

         printf("10000원 입니다.");

 

         else if(num=600)

         printf("12000원 입니다.");

 

         else if(num=700)

         printf("14000원 입니다.");

 

         else if(num=800)

         printf("16000원 입니다.");

 

         else if(num=900)

         printf("18000원 입니다.");

 

         else if(num=1000)

         printf("20000원 입니다.");

 

         else

         printf("100단위로 입력해주십시오"); //계산가능 값의 범위안에  있는 숫자들중에서 100단위가 아닌 숫자들은 전부 계산을 거부한다.

      }

   }

 

   return 0; //종료

}

 추가) pseudo code라는 것을 막상 쓰려하니 잘안되서 C로 작성해보았다.

 

 

 여담) 계산식을 넣어서 처리할 수도 있었지만, 아직 C언어에 대해 모르는게 많아 if구문으로 노가다할 수 밖에 없었다.

         다음에 실력이 더 늘면 쫌더 효율적인 방법으로 해결해 볼 것이다.