여러분 안녕!!!

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 시험은 채점을 컴퓨터가 판단하기 때문에

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

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

좋은거닌깐^^!!

자 어떠셨나요?

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

질문은 뭐다?

합격을 위한 지름길이다.

다들 화이팅 하고~~!!

아래 하트를 꾹 눌러줘야

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

그럼 정말 조이코딩연구소

장샘은 이만 물러갑니다.

휘리리릭!

뿅!!

+ Recent posts