여러분 안녕!!

JoyCodingLab.(조이코딩연구소)

장샘 입니다(_ _)/

 

이번시간은 드디어 YBMIT COS 1(코딩스페셜리스트) 예제

마지막 10번 문제 해설 입니다!!

마지막이니 문제가 어려울 것으로 예상 됩니다.

 

자 집중하시고 같이 잘 풀어보도록 하시죠.

그럼 10번 문제 해설 시작합니다.

문제를 보니 정렬하는 프로그램 입니다.

정렬은 알고리즘 문제라고 보시면 됩니다.

기본적은 알고리즘에 관한 문제는 꼭? 출제 되는 경향이 있으니

다양한 알고리즘에 대해서 이해를 하셔야 됩니다.

어떤 알고리즘 문제인지 보시죠~

마지막 문제는 변수까지 많네요.

알고리즘 관련된건 변수를 많이 사용할 수 밖에 없습니다!

지시사항은을 보니 버블정렬 프로그램이란걸

알게 되었네요.

버블 정렬을 이용하여 오름차순으로 정렬하는겁니다.

오름차순과 내림차순을 혼동하시는 분은

계단을 생각하시면 됩니다.

올라 갈때 낮은곳 부터~ 높은 곳으로

내림차순은 높은 계단에서 낮은 쪽으로!

스크립트 코딩이 어마어마 하죠?ㅎㅎ

추가블럭에서 우리가 코딩을 해야 되는데

버블정렬 알고리즘을 처음부터 하라고 안합니다.

동작이 잘 되게 고치라고 되어있죠.

와!!! 처음부터 안만들어도 된다^^!!!

다른 문제풀이에서도 말씀 드렸지만

기본적으로 동작의 흐름과 이해를 완벽히 해야

수정을 할 수 있습니다.

어려운거에요!!!

그러니 알고리즘 공부를 열심히 하자!

 

보기 블럭에 있는 블럭만 이용해서 문제를 풀어야 됩니다.

정렬 추가 블럭을 보니 빠져 있는 부분이 있네요.

여기서!!!!! 빠져 있는 부분만 채우면 된다?

아닙니다!!!!

몇몇 분들이 오해를 하시는데

기존에 되어 있는 곳에서 고쳐야 될 수도 있는거에요!

문제는 이 추가 블럭이 잘 동작되도록 바꾸라고 한거지

중간에 빈칸을 채우는 문제가 아니라는 겁니다! OK??!

보기블럭들을 문제 있는 곳으로 복사를 해왔습니다.

보기 편하닌깐~~

이것도 한가지 시험 Tip이에요.

보기 블럭 스프라이트와 문제 스프라이트를

왔다갔다 하면 뭐가 있는지 잘 모르기 때문에

보기 블럭에 스크립트들이 많지 않다면

복사해와서 작업 하시는게 훨씬 더 시간을 절약 할 수 있습니다^^!

 

자 그나저나 우리는 버블정렬을 이용해서

오름차순을 해야 되는데

버블 정렬이 뭔지 아세요?

버블 정렬 이란?!

- 서로 이웃한 데이터들을 비교하며 가장 큰 데이터를 맨 뒤로 보내는 방식 입니다. -

자 위에 해당 블럭에 뭘 구현해야 될지 간단히 써봤습니다.

기본적으로 문제에도 나오 있듯이

리스트(4개의 각 블럭 : 9, 5, 6 ,2)들을 비교해야 되는거죠?

변수에 대한 이해가 잘 되어 있어야 넣을 수 있는 자세히 보죠.

Num은 ? 정렬할 목록의 수 입니다.

이번 문제에서는 몇인가요? 4개 입니다.

9,5,6,2 닌깐요~~~

J  :  n번째 수를 저장

K  : n+1번째 수를 저장

J하고 K가 필요한 이유는

그러면 각각의 숫자를 돌아가면서 비교 해야 되니 2개가 필요 한 거에요.

그리고 값을 바꾸기 위해서 바로 바꿀 수 없으니

Temp라는걸 이용해서 잠시 담아 두고 바꾸는 겁니다.!!

이전 설명에서 J가 여기서 필요한건 아셨죠?

J가 포함된 건 하나밖에 없었습니다.

Num - J 였죠.

그 안에 내용을 보면 다른 변수가 또 하나 증가하는걸 볼 수 있죠.

K까지 바꿔 줘야 겠죠?

흠...어려우신가요?? 잘 이해가 안될 때는

이렇게 해보시죠.

기존 문제의 전체 흐름도를 올려 놓고

각각의 반복문에 값을 넣어보면서 해보세요.

그러면 흐름이 조금씩 보일 겁니다.

위 화면 버블 정렬이 처음시작 되었을 때

해당 변수들이 갖고 있는 값입니다.

즉 무엇이냐.

리스트 4칸 중에 제일 앞칸에 가장 작은 것을

옮기기 위한 작업이다.

위 화면은 첫번째 칸을 비교하기 위해 두번째로 실행 되는 화면 입니다.

그래서 J는 아직 1이지만

중간 K는 2로 바뀌었죠~

옆으로 이동하면서 비교를 해야 되기 때문입니다.

즉 위와 같이 K+1를 넣어 줘야 되는곳을 알게 되는거죠.

자 이렇게 블럭을 추가 및 수정을 한뒤

실행을 보시죠.

먼저 4개의 리스트들을 9,5,6,2 정렬이 안된 숫자를 입력 후

시작을 누르게 되면

오름차순으로 정렬된 결과를 보실 수 있습니다!!!

자 어떠신가요?!!

드디어 COS 1급 예제 문제 모든 해설을 완료 하였습니다.

공식적인 해설집이 없어서 급하게 만드느라

정신이 없었지만 많은 도움이 되길 바랍니다.

관련 질문은 항상 환영인거 아시죠?

요즘 코딩 선생님 양성을 위해서도

쉽고 잼있고 가르쳐 드릴려고 노력 중 입니다.

제 수업을 들으시는 분들과 COS 1급을 취득하시고 싶은

분들에게 도움이 되길 바라며..

YBMIT 공식 COS1급 예제 문제 풀이 연재를

이것으로 끝내도록 하겠습니다^^!!!

그럼 조이코딩연구소

장샘은 이만..

물러갑니다!!!!!

휘리리릭!!!!

뿅!!

아래 위 하트 공감 클릭은 돈이 들지 않아요!!!

관심은 제겐 항상 큰 힘입니다!!

P.S : 질문도 무료 인거 아시죠?ㅎㅎ

 

 

여러분 안녕!

JoyCodingLab.(조이코딩연구소)

장샘 입니다^^!

 

이번 시간에는 YBMIT COS1급 공식 예제 문제

9번 문제를 풀어보도록 하겠습니다.

COS 기출문제는 YBM에서 올려주지 않지만

실제 나왔던 유형에 대해서 설명을 조금씩 드리고 있으니

도움이 되길 바랍니다.

 

자 그러면 9번 문제 해설 들어갑니다~!

이번 문제는 엿치기-0-? 프로그램 이네요.

이번 문제의 변수는 4가지가 있네요.

I, 진행, 플레이어1,2

잘 파악한뒤에 지시사항을 봅시다.

코딩스프라이트는 단 하나! 고양이네요.

지시사항을 보니 8번문제서 봤던 내용과

비슷하네요.

결과2블록을 수정해서

기존의 결과1 추가블럭을 대신해서 대체 하는 문제 입니다.

자 스프라이트가 3개가 있ㅈ만

우리는 고양이만 집중해서 봅시다!!

궁금증은 나중에 시간이 많을 때 보시고 ㅎ

자 문제를 기억하시죠?

정의학기 결과2를 결과1를 수정해야 됩니다.

문제가 기존 문제에서 만약에~라면 3개로 바꾸는

문제였습니다.

이런 문제가 실제로도 나옵니다.

기존의 없던걸 바꾸라는 문제도 있지만

기존이 있던 블럭에서 한정된 블럭으로만 같은 기능을

만들게 하는 문제가 꼭? 나옵니다.

이건 완벽하게 이해를 하지 못하면 못하니 연습 많이!

어찌됏건 만약~라면을 보면

마지막 만약 ~가 아니면 이부분도

사실은 만약에라고 바꿀 수 있는 겁니다.

그래서 위와 같이 3개로 나눌 수 있겠죠?

기존 만약 플레이어> 플레이어2라면은 그대로 쓰면 되고

만약 플레이어1 = 플레이어2가 같다면도 그대로 쓰면 되고

플레이어1=플레이어2가 아니라면을 새롭게 만드는거죠.

무엇으로 만드냐?

조건이 하나밖에 안남았죠.

플레이어1 > 플레이어2 이 조건은 이미 나왔고

플레이어 1 = 플레이어 2 이조건도 이미나왔으니

나머지는 플레이어 1 < 플레이어2 밖에 안남은거죠.

자 깔끔하게 정리를 하자면 위와 같이 비교가 되겠네요.

결과2 추가블럭을 정리해봅시다.

그리고 기존에 있떤 결과1를 지우고

우리가 새로 만든 결과2로 대체 합니다.

이렇게 마무리를 할 수 있겠네요.

동작을 해봐서 기존의 동작과 같은 결과가 나오는지

꼭 확인하기요!!!!

 

자 이번시간에는 COS1급 예제 9번 문제를 풀어봤습니다.

다들 이해가 잘 되셨길 바라며~

모르는 부분이나 궁금한 부분은

마음속으로 담아 두지 말고

꼭 질문해서 알아가야 되요!!

아셨죠?ㅎㅎ

그럼 조이코딩연구소

장샘 이만

물러가겠습니다.

휘리리릭

뿅!!!

여러분 안녕~!

JoyCodingLab.(조이코딩연구소)

장샘 입니다^^!!

 

이제 드디어 YBMIT COS 1급 공식 예제 문제 풀이가 3개 남았습니다.

조금씩 어려워지고 있지만 목적달성을 해야겠죠?

그럼 COS 1급 예제 8번째 문제 풀이

시작하겠습니다!!~

사다리꼴의 넓이를 계산하는 프로그램을 만드는 문제 입니다.

처음부터 우리가 다 만들어야 될까요?

그건 시간이 부족하겠죠~

일단 변수가 엄청 많이 있네요.

총 5개가 되니 자세히 읽어보고~

코딩 스프라이트는 하나 입니다("고양이")

지시사항을 보면 2개가 있네요.

1) 계산2 추가블록의 성능을 개선하기 위한 수정~!

2) 깃발 클릭했을 때 계산2 블럭을 실행하는거네요.

(기존 계산1를 지우고 대체 하면 끝)

유의사항을 보면 영역에 주어진 블록만 이용합니다.

자 실제 8번 문제 입니다.

계산2에 대한 정의하기는 이미 되어있고

계산2에 대한 블록도 미리 꺼내져 있네요~

지시사항에 맞게 2개에 대해서 코딩을 하면 될거 같네요.

자 1번 지시사항에서 윗변과 아랫변을 합산 변수로

대체하는 작업을 해야 됩니다.

자 또다시 나왔습니다

정하기로 해야 되나요? 바꾸기로 해야되나요?

맞습니다. 정하기죠. 바꾸기는 해당 값을 또 더하는 개념이죠?

윗변 + 아랫변을 이렇게 함으로써 합산에 넣습니다.

자 합산에 넣었으면 해당 스크립트 블럭을 어디다가

넣어야 될까요?

반복문 밖에 꺼내 놓으라고 되어있죠?

반복하기 앞으로 꺼내 놓고 다음 문제를 봅시다

넓이를 구하는 공식을 합산을 넣어서

다시 수정을 해야 됩니다.

합산은 윗변 + 아랫변이닌깐

넓이는 공식이 나와있으니 그대로~

(높이 * 합산) / 2 입니다.

위와 같이 수정을 하면 되겠죠?

자 이렇게 코딩한 계산2 추가블럭에 대해서

코딩을 완성 시키고

기존에 있던 계산1을 계산2로 대체 합니다.

 

자 여기서 시험 Tip 입니다.

자 시험을 보실려고 하는 분들이 궁금해 하는점

이렇게 계산2로 대체 했을 때 기존의 블럭들은

어떻게 둬야 둬야 되느냐???

지우시면 됩니다.

공식 예제 정답을 보시면 기존의 계산1은

지워져 있습니다.

 

사실 문제 자체의 목적은 해당 되는 계산식을

잘 수정 하는 것과 수정된 블럭을

기존의 블록을 대체 할 수 있느냐를 보는 문제였습니다.

 

자 이번 시간에는 COS1급 공식 예제 8번 문제풀이를

끝내겠습니다.

그럼 이만

조이코딩연구소

장샘은 이만 물러갑니다.

휘리리릭!!

뿅!!!!

 

 

여러분 안녕!!!

JoyCodingLab.(조이코딩연구소)

장샘 입니다!!

 

어김없이 오늘도 COS1급 예제 문제 풀이를 진행 합니다.

코딩 자격증(코딩 스페셜리스트 자격증) 1급의

공식 1급 예제 문제 6번 풀이를 시작합니다!!

문제를 보니 마법사가 유령을 잡는 거네요.

변수는 3개가 있습니다.

위치, 점수, 체력

이번 문제에서 이용을 과연 할까요?

실제 코딩할 스프라이트는 별이네요.

일단 코딩블럭은 한개 입니다.

별~~ 스타~~

지시사항은 2가지가 있네요.

그중에 유의사항을 잘 보십시요.

지시사항에서 설명한 블록만 이용해라!!

이것을 어기면 넌 점수를 못받는다!!!

이 소리죠!!? 명심하고 문제를 잘 보시죠.

지시사항이 2개 입니다.

깃발을 클릭했을 때, 스페이스 키를 눌렀을 때!

문제를 보게 되면 스프라이트가 3개가 있죠?

마법사, 유령, 별

우리의 지시사항을 별 스프라이트를 코딩하는거죠?

나는 호기심이 너무 많아서 마법사랑~유령이랑

어떻게 코딩이 되어 있는지 보고싶다잉~~ㅎ

시험문제는 언제 푸실래요...ㅠㅠ...

우린 시간이 없습니다.

다른건 보지말고 바로 지시항에 있는 별만 봅시다!!!

자 첫번째 지시사항을 보면

위와 같은 코딩블럭들을 가지고 올 수 있겠네요.

점수를 100점 증가시키라고 했는데

정하기를 해야되요? 아니면 바꾸기를 해야되요?

계속해서 더해지는건 바꾸기죠?

100점으로 정해버리면

아무리 유령을 맞춰도 100점이 끝이에요 -0-!!!

기존에 되어있는 만약~~~라면에

지시사항대로 추가해 봅시다.

자 다음은 2번째 지시사항

스페이스 키를 눌렀을 때!!

빨강색으로 줄을 친 부분을 보면

아래와 같은 코딩블럭들이 딱 떠 올라야 되요.

어라??? 그런데 이상한 부분이 있지 않아요?

마지막에 분명 이동하게 하시오. 라고 되었는데

얼만큼 어떻게 이동하라는지 안나와 있넹??

일단 이동빼고 지시사항대로 코딩을 해봅시다.

이동을 도대체 어쩌라는거야 -0-!!!

기존 코딩 블럭에 이동에 대한 명령이 이미

스페이스키를 눌렀을 때 되어있습니다.

문제에서 특정한 값을 주지 않고

지시사항을 따라서 해라 라고 했을 때는

이미 되어있는 코딩 블럭도 있다라는 거에요.

이럴 땐 해당 스프라이트 블럭의 다른 부분도

잘 보셔야 되요.

분명 스페이스키를 눌렀을 때 이동이라고 했으니

스페이스키를 눌렀을 때가 따로 없나 잘 찾아봐야 되는거죠!!

자 위와 같이 잘 하셨다면 무난하게

구현이 된걸 보실 수 있을겁니다.

자 그럼 COS1급 예제 문제 6번!!

이걸로 끝내겠습니다.

그럼 오늘도

조이코딩연구소 장샘은

이만 물러갑니다.

휘리리릭!!!

뿅!!!!

하트 안누르고 갈거죠?

다 알고 있음 -0-!!ㅋㅋ

여러분 안녕!!!

JoyCodingLab.(조이코딩연구소)

장샘 입니다^^!!

 

오늘은 COS 1급 자격증(코딩스페셜리스트 자격증) 공식 예제 문제

7번을 풀어 보도록 하죠.

요즘 강의가 부쩍 많아져서 생각보다 많이 못 올리고 있습니다..

많은 분들에게 도움이 되길 바라며..아자아자!!

 

7번 문제 시작 하도록 하죠!.

문제가 3!!6!!9!! 게임 프로그램 이네요~

동작과정을 살펴 보면

우리가 흔히 알고 있는 369를 만들어 놓은거네요.

중요한 변수는 2가지 입니다.

I와 판별이라는 변수의 내용을 먼저

꼼꼼히 읽어 보시기 바랍니다!

다음은 코딩 스프라이트는 1개 입니다.

지시사항 문제는 2가지네요.

1) 클릭했을 때와

2) 삼육구 추가 블럭에 대한 내용이네요.

유이사항은 주어진 블록만 이용해라!!!

실제 문제를 볼까요?~

각 지시사항을 살펴 보면

이번문제에는 짜여져 있는 코드를 얼마나

잘 분석하는지를 보는 문제 입니다.

고쳐야 될 포인트는 딱 2가지 밖에 없지만

전체 흐름을 이해 못한다면 고칠 수 없기에..

뭐 2가지만 고치면되지!!^^!

하지만...

사실 새로 만드는거 보다 이렇게 주여진

거에서 몇개 고치는게

더 어렵다!! 그래도 우리는 차근차근..봅시다.

첫번째 깃발을 클릭했을 때

위치를 변경하시오! 라고 했죠?

그뜻은 말 그대로 새로운 것을 추가하지 말고

기존의 있는 코딩 블럭을 위치만 변경하여

원하는 정답을 만들어내라!! 이겁니다. 

자자 클릭 했을 때를 보면

단순하게 판별과 I 변수를 1로 정하고

무한 반복하기 안에

삼육구 추가 블럭과

묻고 기다리기가 있네요.

우리 스크래치의 기본적인 프로그래밍은

순차적이다!!!!

그렇다면 삼육구 추가 블럭이 실행 되고

삼육구~삼육구~를 묻고 기다린다는 뜻인데..

말도 안하고 삼육구를 할 수 있나요? 없죠?!

저 2개의 위치를 바꿔 봅시다.

요롷게~~~

다음으로는 2번째 문제 입니다.

자 우리 3,6,9 게임을 어떻게 하나요??

3,6,9에 해당되는 차례에는 박수를 치죠?

하지만 현재 2,5,7을 외쳐도 틀렸다고 나오고 있다고 하네요.

이 부분을 고쳐야 될거 같아요.

자 어디를 고쳐야 되려나...

2,5,7을 입력하였을 때

틀렸습니다. 나오는 부분을 먼저 찾아봅시다.

문제를 보면 "틀렸습니다" 하는 부분이

2곳이 존재하고 있습니다.

그렇다면 둘중에 하나가 틀렸다는 소리네요.

조금더 자세히 봐야겠어요.

"틀렸습니다"의 기준이

만약에~~라면, 아니면 이라고 2 곳으로 나눠져 있는걸

볼 수 있죠???

"만약에 3,6,9 라면" 이곳은 우리가 원하는 곳이 아닐겁니다.

왜????????????

2,5,7 이곳이 틀렸다고 했으닌깐~

그렇다면 밑에 부분이 틀린 부분일 거라 생각이 되네요.

조금더!!! 들어가 봅시당~

대답과 판별을 에서 판별을 2만큼 바꿔주는것이

잘못되었네요.

저 부분을~몇으로 바꾼다?

"2" --> "1"로 바꿔야

하나씩 증가하면서 비교를 잘 하겠죠?

이렇게 바꾸면 끝!!

자 실행해 봅시다!!!

 

잘 실행이 되시나요???

이번문제는 코딩의 흐름을 얼마나 잘 이해했느냐

그리고 수정능력 조금 프로그래밍적인 언어로 바꾸면

디버깅을 얼마나 잘하느냐를 알아보는 문제 입니다.

 

앞서 이야기 드렸지만 내가 새로 만드는거 보다

남의 만들어 놓은것을 이해하고 바꾸는게

훨씬 어렵습니다.

그만큼 많은 시간을 드려서 공부를 하셔야 되요!

 

자 그럼 COS 1급 문제 공식 예제 문제

7번 문제 풀이를 하였습니다.

 

다들 고생하셨고!!

일단 밑에 공감 하트나 댓글 하나 달아주시면

좋을텐데, 참 힘이 날텐데~~~

바쁘실테니 빠이욤!ㅎㅎ

이만

조이코딩연구소

장샘은 물러 갑니다

휘리리릭!!

뿅!!


 

여러분 안녕!!

JoyCodingLab.(조이코딩연구소)

장샘 입니다.!!

오늘도 어김없이 COS 1급 예제문제 5번을 풀어보도록 하지요.

코딩스페셜리스트 자격증을 위하여 한걸음 더 다가가 봅시다!

 

자 5번 문제 풀이 입니다.

지문을 보니 계산을 하는 프로그램 이네요.

네자리 숫자의 각 자리의 숫자를 더한다!

흠 어떻게 해야 될지 고민이 되겠네요.

계산 후에는 결과 값의 마지막! 숫자!!를 말합니다.

문제와 똑같이 코딩을 해서 결과 값이

위와 같이 2라고 나오면 정답이네요~

자 변수에는

N : 자릿수를 판단하기 위한 변수와

합 : 숫자들을 더한 합 변수가 있네요.

코딩 스프라이트에는 고양이 하나이고

문제를 보니 보기 블럭은 없어 보입니다.

대신 추가 블럭 형태로 코딩을 해야 되는거 같네요.

실제 문제를 한번 볼까요?

"계산"이라는 추가블럭이 정의되어 있고

그안에 우리가 코딩을 하면 되겠네요.

위 문제에서 중요하게 봐야될 부분이 있었죠!

뭐죠?

바로 "유의 사항" 이었습니다.

주어진 블럭이 아닌 자유롭게 코딩을 해라~~

제약없이 하는 것이기 때문에

결과만 같으면 됩니다.

자 계산 추가 블럭에도 매게변수가 있네요.

num이라고 되어있네요.

계산 7113 이라는 블럭의 "7113" 값이

정의하기 계산 num<--여기로 들어온다는 뜻이에요.

자 그럼 뭐 부터 해야 될까요?

문제에 보면 만약이라는 말이 보이셨나요?

오류! 말하기에 대한 정의가 있다? 없다?

전혀 없습니다.

문제의 맥락과 흐름을 이해하셔야 알 수 있는 문제네요.

뭐가 아니면 오류!말하기를 할까요?

Hint라고는 매게변수인 num밖에 없습니다.

즉, 우리는 자릿수에 대한 문제였으니

자릿수가 4개가 아니면 오류를 말하기! 라고

유추해 볼 수 있겠네요.

자 그럼 자릿수에 대한 판단은 어떻게 해야 될까요?

자 매게변수인 num의 길이가 4 자릿수 인지 구분하기 위해서

위와 같은 스프라이트를 가지고 와서 조합합니다.

위 부분의 스크립트는 연산에 존재 합니다~!

자 이렇게 되면 추가블럭으로 들어오는

"7113"(num)의 길이가 4면 더하기 진행

아니면 오류! 말하기 라고 구분이 되겠네요.

자 위와 같이 일단 코딩을 해봅니다.

그 다음으로 실제 이번 문제의 핵심

4자릿수의 숫자들을 각각 더해줘야 되는데

어떻게 해야 될까?

자 저는 기본적으로 뭔가 반복적으로 해야 된다고 생각하면

반복하기 스크립트 블럭을 생각합니다.

자릿수가 4자리니 4번 반복을 사용할 수 도 있고요

또는

num의 길이(자릿수 =4)번 반복하기를 사용해도 됩니다.

저는 2번 케이스로 진행을 하도록 하죠.

자 여기까지 잘 따라 오셨나요?

그러면 매게변수인 num의 자리수를 변경하면서

더하도록 합시다.

어떻게??

일단 각 글자의 자릿수를 알기 위해서

x 번째 글자(     ) 블럭을 이용합니다.

문제에서 변수N 기억하시죠?

자릿수를 판단하는 변수.

이것을 이용해야죠~

N번째는 반복이 4번 돌면서 자릿수 1,2,3,4 증가 될거에요.

num의 자리수를 하나씩 가지고 오는거죠.

가져와서 각각 더해줘야죠~~

어떻게??!!!

num의 N번째 글자를 더해서 합에 넣어 줘라!

자 조금더 쉽게 풀이를 하자면..

num = "7113"

N이 1일 때는 7 입니다.

N이 2일 때는 1 입니다.

N이 3일 때는 1 입니다.

N이 4일 때는 3 입니다.

자리수에 대한 개념이 정확히 파악하세요!!

첫번째 자리수는 글자의 첫 부분이 입니다.

혼동하지말기!!!!!!!!!!!!!!

자 이제 다 끝났네요^^!!!!

.

.

.

.

라고 생각하셨으면 조금더 공부하십니다 -0-!!!

뭐가 빠졌잖아요? 뭐죠?

맞습니다. N번째에 대해서 반복문이 구동될 때

N값도 하나씩 증가를 시켜줘야 겠죠?

그래서 N을 1만큼 바꾸기를 시행해 줍니다.

자 이제 정말 다 했습니다.

구동을 시켜 보도록 하죠.

전체의 합은 12이고

합의 마지막 숫자를 말하는 거였으니

2라고 정답이 나왔네요.

자 추가로~!!!

기존 YBM IT에 올라온 정답하고 다르게 버전으로 올려 봅니다.

반복문을 이용하는 방법만 다르고

나머지는 같습니다.

구현은 블럭사용은 자유였으니

각자 스스로 한번씩 다른 방법으로 해보세요~!!!

그럼 이만

이라고 하기에 수업을 들으시는 분들중에

오류의 케이스를 보너스로 보여 드립니다.!!

자 전체 합을 구할 때 위와 같이 구하면 되요? 안되요?

물론 되요!!!! 그러나~~!!!!

문제 중에 자리수에 대한 변수 N을 설명을 했었으니

N으로 자리수를 바꿔주는게

제대로된 정답이라고 보여집니다.

COS 시험은 채점을 컴퓨터가 판단하기 때문에

부분점수를 줄 수 있을지 모르나

부분 점수보다는 각 문제마다 다 맞으면

좋은거닌깐^^!!

자 어떠셨나요?

문제 하나에서도 배울게 많습니다.

질문은 뭐다?

합격을 위한 지름길이다.

다들 화이팅 하고~~!!

아래 하트를 꾹 눌러줘야

힘이 나겠죠?ㅋㅋㅋㅋㅋㅋㅋ

그럼 정말 조이코딩연구소

장샘은 이만 물러갑니다.

휘리리릭!

뿅!!

 

여러분 안녕~~

JoyCodingLab.(조이코딩연구소)

장샘 입니다!!

COS 1급 예제 문제 풀이를 하고 있습니다.

COS 기출문제에 대한 응용 부분도 말씀을 많이 드릴려고 하닌깐

열심히 공부하시죠!!

이번 시간에는 4번째 문제를 풀어볼 시간입니다.

자 문제 한번 볼까요?

드디어 4번 문제에서 수학의 개념을 알아야

풀 수 있는 문제가 나오기 시작합니다.

자 일단 1부터 100까지 소수의 합을 계산하고

각각 계산 된 소수의합을 구하는거네요

변수는 4가지로 나와있습니다.

수학적 개념이 들어가는 문제가 출제되었을 때는

변수의 대한 이해가 100% 되셔야 됩니다.

그래야 문제를 이해하고 코딩을 하실 수 있습니다.

그나마 다행인건 스프라이트는 1개이네요.

추가 블럭 문제가 인거 같습니다.

순서도를 보고 1부터 100까지의 숫자들 중에서

소수들의 합만 계산하면 되는데...

지금 이런 생각든다!!? 안든다???

오랫동안 수학을 내려놓고 계셨던 분들이라면...

그런 분들을 위한 쏴비스~~

동영상 보시고!!

개념을 정확히 이해하셔야 되요!!!

그다음에 순서도를 한번 쭉 보시기 바랍니다.

사실 순서도가 마음에 들지는 않아요 -ㅅ-...

각 블럭에 대한 일관성도 없고. 흠...

뭐 그래도 우리는 해내야 됩니다!!!

자 실제 문제를 보게 되면~

보기 블럭에 나와 있는 것만 이용해서

문제를 풀어 주셔야 됩니다.

자 실제 순서도와 비교해서

우리가 어딜 구현해야 되느냐를 파악해야겠죠?

기존의 추가 블럭(초기화) 부분을

순서도에서 확인을 먼저 하시기 바랍니다.

그래야 소수합계산을 순서도 보고 구현 할테니!!

 

자 어떠세요 바로 헷갈리시나요?

어디서 헷갈리세요?

피제수 > 100이 예? 아니오?로 구분되어 있는데?

보기블럭에서 IF를 찾으려니 보이시나요?

없습니다..-0-!

매칭을 시켜보면 보기 블럭에서

바로~!

이게 바로 매칭이 되실거에요.

결국 피제수가 100보다 클때 까지닌깐

피제수가 100보다 크면 YES

작으면 NO라고 생각하시고 코딩을 시작하시면 되요.

자 그리고 코딩을 하다보면

순서도에서 "?" 라고 나온 부분이 보일거에요.

이 부분이 바로 진짜 만약에 ~라면 부분이

들어가게 되는 곳이네요.

기본적으로 소수에 대한 이해가 있으셔야 풀 수 있어용.!

위와 같이 쭉 쭉 진행을 해보시면

짜잔.

정답 코딩을 하실 수 있습니다.

자 처음으로 수학적 개념이 들어간

문제를 풀게 되었습니다.

1급은 특히나 알고리즘적인 부분이 꽤 출제가 되요.

다양한 알고리즘을 공부를 하시는게

좋습니다!!^^!!

추가적으로~!

여기서 혼동해야 되지 말아야 될부분이 뭐다?

다른 블럭을 사용하지 않는다!!!

아셨죠???

자 그럼 오늘은 4번째 문제를 풀어봤습니다.

그럼 이만 조이코딩연구소

장샘은 이만..

물러갑니다!!

휘리릭!

뿅!!

질문은 여러분들을 위한 거에요!

많이 물어보시고 얻어가셔야

합격하겠죵?!ㅎㅎ

 

 

여러분 안녕!!!

JoyCodingLab.(조이코딩연구소)

장샘입니다!!!

생각보다 쉬운 1,2번문제를 넘어 오셨으니

3번 문제를 파악해 보시죠.

자 3번 문제 입니다.

꼭짓점의 수와 길이를 입력받아 정다각형을 그리는 프로그램을 만드는 거군요.

이번에 변수는 2개가 나오네요.

꼭짓점과 길이

자 변수 2개가 있는 문제에서 확인 해 봅시다.

이미 만들어져 있네요. 그러면 구지 만들 필요가 없으니 패스.

자 코딩 스프라이트는 1개 입니다.

고양이 하나입니다.

상황설명이 엄청 길어요.!!

이럴땐 차근차근 잘 읽어보셔야되요.

문제 자체가 이해가 안가면

코딩 자체가 불가능 하닌깐요~

COS1급은 문제 자체를 이해 못해서

못푸는 경우가 있습니다.

코딩 블럭이 어디에 있는지 어떤 역활을 하는지

100% 이해 한들 COS 시험에서 원하는

기능을 구현을 못하면 도로묵이닌깐요~~!

자 다시 문제로 돌아가서 상황설명을 잘 읽어보면

꼭짓점 수가 다른 정다각형을 그릴 경우를 만드는거네요.

거기에 길이 변수를 조정 할 수 있고요.

상황설명을 어느정도 이해 했으니

지시사항을 보시죠.

추가블럭이 나왔네요.

 

기존에 없던 추가블럭을 만들어 줘야 되는 문제 입니다.

문제를 보시면 "보기 블럭"이 있죠???

"보기 블럭"을 이용해서 문제를 푸셔야 됩니다.

자 고양이 스프라이트에 보면

추가블럭에서 인자값들 받아 오는 값들이

꼭짓점과 길이가 있네요.

이미 보기 블럭에 다 있으니 저걸 이용하면 되겠어요.

추가블럭이 실행 되는 곳을 보면

펜내리기 이후에 추가블럭이 실행이 되죠??

그 뜻은 추가블럭은 그림을 그리는 역활을 하는 블럭인거죠.

자 "보기 블럭"을 하나씩 보시죠.

1) X번 반복 하기
 -> 원하는 꼭짓점만큼 그려야 되니 꼭짓점 변수를 넣어주면 되겠네요.

2) X만큼 움직이기
 -> 주어진 변수는 꼭짓점과 길이인데 뭘까요? 당연히 길이 겠죠?

길이 만큼 움직여야 그려질테닌깐용~

3) X도 돌기
 -> 이건 주어진 꼭짓점 만큼 돌아야 되는데

    남은 변수는 꼭짓점 하나 남았네요.

    자 그러면 어떻게 해야되나??

도형을 한바퀴 돌면 360도이니

주어진 360도 나누기 꼭짓점를 해주면

얼마만큼 돌지 결정이 됩니다.

자 보기블럭에 구성을 했으니

복사를 해서 실제 코딩이 실행 될

고양이 스프라이트로 넘어가시죠.

자 추가블럭 정다각형에 붙여놓고

실행을 시켜보세요.

아래와 같이 나와야 될거에요.

여러분이 실행한것과 같은 화면이 나오나요?

동작은 되는데 고양이 위치가 다르죠?

맞습니다. 제가 임의로 바꾼거에요.

여러분들 보기 편하시게 저는 시작할 때

위치를 0,0으로 위치시켜서 실행 시켰어요.

 

자 3번 문제에서 잘 기억해야 될 포인트 정리 해보죠.

1) 보기 블럭에 있는 것만 가지고 시험을 풀어야 된다.

임의로 바꾸시거나 추가하시면 안되요!! 감점입니다.

2) 아주 기본적인 사칙연사에 대한 이해가 완벽해야 된다!

나누기의 위치를 정확히 하셔야 됩니다!

 

추가적으로 많은 분들이 보기 블럭에 대한 질문이 있는걸 보고

2가지 정도 정리를 해봤습니다.

 

Q1) 보기 블럭을 사용하면 지워야 되나요???

A1) 아니요. 구지 지우지 않으셔도 되요.

Q2) 그러면 시험 볼때는 어떻게 해야 될까요?

A2) 보기 블럭에서 직접 구성한 뒤 복사를 하셔도 되고요

아니면 구현될 스프라이트에서 필요한 부분을

보기 블럭을 가지고 온 뒤 구성 해서 복사하셔도 됩니다.

 

자 어떠셨나요??

화이팅 하시고 위에 설명 한 내용도

동영상으로 간략하게 만들어봤으니

보시면 더 쉽게 이해 되실겁니다.

그럼 이만 조이코딩연구소 장샘은

이만 물러 갑니다!!!

휘리리릭!!!

뿅!!!

밑에 공감 하트 한번 눌러주면 소원이 없겠네 ㅠㅠ..

 

스크립트 3개를 가지고 문제를 해결해 봅시다.

1) 데이터 변수

2) 동작

3) 이벤트

2번 문제 해설 입니다.

자 2번은 설명을 보면 비밀번호를 입력하여 금고를 여는 프로그램 입니다.

동작과정은 한번 지문을 읽어보시고요.

2번문제에서 바로 변수에 대한 설명이 나오네요.

변수는 무엇이다?

락앤락 통이다. 왜??

우리가 담고 싶은걸 담는 통이닌깐~

수업을 들으신 분들은 잘 기억 하리라 믿습니다. ㅎㅎ

자 2번문제의 변수는 두가지네요.

i(아이), 회전 이라는 2가지의 변수를 사용해야 됩니다.

그럼 바로 변수를 만들어야 겠죠?

라고 생각하시겠지만 데이터 스크립트에 가보면 이미 만들어져 있네요.

자 그러면 꼼꼼히 문제를 읽어봅시다.

코딩 스프라이트는 2가지로 나눠져 있어요.

Turn과 번호키에 각각 해당 되는 코딩을 하시면 됩니다.

문제에 나와있지 않은 곳에서는 하시면 된다?

나는 다른 스프라이트를 막 건드려도 자신있다!!! 할 수 있는데??

나중에 스스로 프로그램을 만들고 싶을 때 만드시고,

우리는 시험에 합격을 해야 되니..ㅎㅎ

다른건 건들지 말도록 합시다.

자 먼저 Turn에 대한 부분을 보시죠.

Turn라는 스프라이트를 클릭 했을 때 "회전"메시지를 방송 하자.

방송 어디서 하죠? 깜짝 이벤트 스크립트에 있습니다.

이미 방송에 대한 메세지도 만들어져 있네요.

그냥 가져다가 사용하시면 됩니다.

자 다음은 번호키로 이동 하시죠.

몇몇 분들이 헷갈려 하시는 부분이 있는데

해당 스프라이트에서 문제의 지시사항을 잘 보고 하셔야 되는데

그 지시사항외에 것을 건드리시면 틀리거나

점수가 깍일 수 도 있습니다.

잘 보고 하셔야 되요.

회전 메세지를 받았을 때,라고 되어있으니

문제에도 회전받았을때 스크립트에 나와있네요.

회전 변수를 1만큼 바꾸시오

이 의미는 회전변수 = 회전 변수 + 1 이다. 라는 뜻입니다.

만약 회전변수 현재 3 이라고 가정 했을 때,

회전 변수를 1 만큼 바꾸시오를 사용하면

회전 변수 = 3 + 1, 즉 4가 되라는 뜻입니다.

다음으로는 I 변수를 '0'으로 정하시오.

데이터의 변수를 정하기와 x만큼 바꾸기가 있는데 정하는건

해당 변수에 갯수를 지정하는 거에요..

조금더 쉽게 해볼까요?

어머니가 이런 명령을 내립니다.

락앤락 통에 수박 조각을 5개로 정해라.

우리는 수박 조각을 락앤락 통에 5개 넣으면 끝!!!

얼마 후에..

만약 어머니가 이런 명을 내립니다.

락앤락 통에 수박 조각을 6만큼 바꾸시오.

그럼 락앤락 통에 수박은 몇개??

기존 란애락통에 수박조각이 5개 + 6개를해서 총 11개로 바꾸는거에요.

간단하죠?? 시험은 어떻게 응용이 될까??

계속 +1 바꿔 줬는데 -(마이너스)도 사용할 문제가 나오겠죠? 꼭 해보세요!

다음 문제는 반 시계 방향으로 '36'도 돌게 하시오..

동작의 회전하기 스크립트에는 2가지 있습니다.

왼쪽 돌기,,,오른쪽 돌기..

긴장하다보면 반 시계 방향을

틀리는 경우가 발생하기도 해요.

긴장하지 말고 정확하게 코딩 하기요.ㅎㅎ

자 이걸로 2번 문제도 깔끔하게 끝.

여기서 자주 헷가리는게 뭐다?

데이터 변수의 바꾸시오와 정하시오.

이 개념 명확하게 이해하고 넘어 갑시다.

 

 

안녕하십니까.

Joy Coding Lab.(조이코딩연구소)

좡샘~~~입니다.

 

코딩 스페셜리스트 COS(1급,2급,3급)에 대해서 YBM IT에 샘플문제와 정답이 있는데

해설에 대한 내용은 인터넷에 찾아 볼 수가 없네요.

코딩 자격증에도 관심들이 많으시고..

YBM 코딩자격증에도 관심이 많으시니..

사람들에게 직접 설명도 하고 있지만

많은 분들에게 도움이 될 수 연재 해볼게요.

 

총 10문제로 각 문제에 대해서

설명을 할테니 궁금하신 내용이나

모르는 내용은 질문해주세요.

질문 엄청 많이 사랑합니다.

 

자 1번문제 한번 볼까요?

자 먼저 봐야 될것은 뭐죠?

설명과 동작과정을 대략적으로 파악합니다.

그리고 코딩 스프라이트가 몇개가 있는지

확인을 해야겠죠?

2개의 스프라이트가 있네요

갈색 고양이와 회색 고양이가 있습니다.

그 다음에 각각의 지시사항이 뭐가 있는지

파악을 합니다.

자 스크래치 프로그램을 보시죠.

자 각각의 스프라이트 중에 하나를 볼게요.

비워 있는곳에 지시사항에 따라서

코딩을 시작해 봅니다.

자 벽에 닿았는지를 넣어주고

2초동안 이겼다!를 말하고

크기를 120%로 정해주면 끝.

자 정리를 하자면..

1번 문제 해설

1번 문제의 주요 스크립트 5가지 입니다.

1) 이벤트
2) 동작
3) 형태
4) 제어
5) 관찰

기본적으로 위치의 초기화 부분을 먼저 코딩을 해주셔야 됩니다.

각 스프라이트에 대해 초기화 위치를 스크립트를 코딩 합니다.

이벤트 -> 깃발을 클릭했을 때

동작의 각 위치로 이동하기를 하여 준비를 합니다.

다음으로 제어와 관찰 그리고

형태의 스크립트를 결합하여

벽에 닿았을 때 이겼다!를 2초동안 말하고

형태의 크기를 120%로 바꿔 주면 끝!!

1번문제에서 특별히 어려울 건 없다고 생각이 드네요.

하지만 실제 시험에서도 1번이 쉬울거라는 생각은?

절대 하시면 안됩니다.

사실 랜덤형식으로 문제가 나오기 때문에

1번 문제부터 어려울 수 있어요.

 

question.pdf

시험문제 입니다.

projectA.sb2

문제 파일 입니다.

01.sb2

정답 파일 입니다.

자 그럼 이만

조이코딩연구소

장샘은 이만 물러갑니다.

휘리릭

뿅!!!

하트클릭는 저에겐 항상 힘인거 아시죠?ㅎ

+ Recent posts