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구문으로 노가다할 수 밖에 없었다.
다음에 실력이 더 늘면 쫌더 효율적인 방법으로 해결해 볼 것이다.
'공부 > 과제' 카테고리의 다른 글
2019년 4월 29일 중간고사과제(앱인벤터 그림판 앱 만들기), 느낀점 (1) | 2019.05.06 |
---|---|
컴퓨팅적사고 문제해결(2019년 4월 14일 컴퓨팅적 사고 수업 과제) 2, 과제에 대한 반성 (0) | 2019.05.06 |