2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

강의자료 344

학생이 파이썬으로 만든 지뢰찾기 게임을 분석해 봅니다.

13차시 수업중 마지막 차시에 그동안 배운 파이썬으로 프로그램을 만드는 시간을 가져 보았습니다. 학생이 만든 지뢰찾기 게임이네요. 동작상태는 거의 윈도우에서 보았던 지뢰찾기와 거의 똑같이 오른쪽 버튼 클릭시 X 표시로 깃발을 세우고 오른쪽 버튼 클릭시 버튼 주변의 지뢰 갯수를 보여주는 형식을 취했습니다. 다음은 학생이 만든 소스코드입니다. 소스보기 #지뢰 게임 만들기from tkinter import * from tkinter import ttk from tkinter import messagebox from random import randint from random import * N = 20 #게임판의 갯수를 20*20 의 크기로 만든다. bomb = 40 # 지뢰 갯수를 40개로 만든다. cnt ..

SW사고력 올림피아드 중등부 대상 답안 예시를 바라보며...

전자신문사에서 주최한 SW사고력 올림피아드 수상자 발표 및 대상자의 답안 예시가 나왔네요.^^ 원문보기 : http://ciobiz.etnews.com/news/article.html?id=20180116120011 4번문제를 보니 다음과 같은 문제가 출제 되었었나 보네요. 이 판을 이용한 새로운 방식의 게임을 개발하라는 내용의 문제였습니다. 저는 아무리 생각해도 바둑과 오목 밖에는 생각나지 않네요...^^ 이미 고정 관념에 사로 잡힌 산출물일것입니다. 하지만 대상을 받은 윤성주학생의 답안을 보니 새로운 게임도 무척이나 재미있고 흥미 있을것 같네요. 답안은 원문에서 확인해 보시면 좋을것 같구요. 이 학생은 게임의 룰을 일목요연하게 정리해 놓았습니다.-기본용어설명-행동하는 방법-사망규칙-특별규칙-특별한 경..

파이썬의 터틀을 이용한 하트 만들기

요즘 파이썬 특강을 하고 있는데...저희 원에서 한 학생이 다음과 같이 하트를 그리더라구요...^^ 저는 하트 그리는게 대수롭지 않다고 생각하고 무심결에 "잘했네~~" 라고 얘기 해 주고 나서 집에 와서 곰곰히 생각하니... 그 각도를 맞추는게 쉽지 않을것 같다는 생각이 들더라구요.^^ 작은 아들한테 "파이썬으로 하트 그릴수 있어?" 하고 물어 보니 "먼저 삼각형 각도 체크 해서 올라가다가 그 위에 반원을 두개 그리고 다시 내려오면 되는거 아니야?" 하네요... 나중에 시간되면 한번 그려 보라고 이야기 해 보기는 했지만 이 학생이 이 하트를 어떻게 그렸는지 무척이나 궁금해 지더라구요... 그래서 그 학생의 소스를 살짝 훔쳐 보았네요.^^ 학생의 소스 import turtlet = turtle.Turtle..

정보올림피아드 2017년 지역대회 예선 중등부 18번 문제 풀이

2018년 새해가 되면서 저에게는 또다른 책임감이 주어지네요.^^ 다름 아닌 저를 믿고 따라와 주는 학생들이 정보올림피아드라는 대회를 고대하고 있기 때문이랍니다. 이 학생들이 모두 좋은 성과가 나와 주면 저에게는 너무나 감사한 일이지만... 세상일이라는것이 모두다 제 마음 같지만은 않다보니 마음의 짐이 무거워 질수 밖에 없네요. 그래도 제가 해 줄수 있는 것은 학생들이 최선을 다해서 자신이 준비한 노력 만큼의 성과는 나올 수 있게 준비를 시켜 주는것이 제 역할이 아닌가 싶어요. 오늘은 작년에 출제된 지역대회 예선 중등부 18번 문제를 풀어 보도록 하겠습니다. 문제는 다음과 같습니다. C나 C++ 언어로 작성된 아래 식들 중에서값이 다른 것은 무엇인가? ① 373&1

2017년 정보올림피아드 전국본선문제 초2번 중1번 방배정하기

이제 2018년도 정보올림피아드 예선 준비 할 수 있는 기간이 3달 정도 밖에 안남았네요.^^ 학생들에게 별로 남은 시간이 많지 않다는 이야기를 해 주는데... 학생들은 항상 느긋하기만 하네요...^^ 전국대회 진출을 하기 위해서는 저희 같은 경우는 인천시에서 11등 안에 들어야 전국대회를 나가는데 말이죠... 그런데 저희 원에서 준비하는 학생들 전원이 진출을 했으면 하는 바램도 가져 보지만...저희 같이 오픈한지 몇개월 되지 않은 곳에서 3-4명의 티켓을 가져 온다고 하는것은 정말 너무 많은 욕심을 부리는 것 같아...내심 제 마음만 조마조마 해지네요.^^ 알고리즘이란게 정보올림피아드 대회만을 목적으로 배우는 것은 아니지만...아무래도 학생들이 어떤 성과물이라도 나타난다면 그보다 더욱 더 흥미 진진한 ..

정보올림피아드 지역대회 2017년 중등부 12번 문제 풀이

문제) 임의의 단순 무향 그래프 G=(V,E)의 라인 그래프(line graph) L(G)=(V’,E’) 는 아래와 같이 정의된다. V’=E 이며, E’={(e,e’)|e와 e’는 G에서 공통된 인접 정점을 갖는다 아래 그림은 어떤 다섯 개의 그래프 G1,G2,G3,G4,G5의 라인그래프를 나타낸 것이다. 이 중에서 원래 그래프가 한붓그리기가 불가능한 것은 무엇일까? 정답) G2 풀이)라인 그래프는 연결되어 있는 선을 정점으로 하는 그래프 입니다.참고 : https://ko.wikipedia.org/wiki/%EC%84%A0_%EA%B7%B8%EB%9E%98%ED%94%84 예를 들면 다음과 같습니다.이러한 그래프를 라인 그래프로 변경해 보면 위와 같이 표현 할 수 있습니다.각각의 라인을 정점으로 ..

2005년 정보올림피아드 예선 중등 1번 문제 풀이

다음과 같이 정육각형을 둘러싸고 있는 직사각형의 넓이가 60일 때 정육각형의 넓이는얼마인가? 문제풀이) 일반적으로 직사각형 내의 정육각형 넓이 구하는 형태는 직사각형의 각각의 길이가 주어진 경우가 나오는데 이 문제는 특이하게 직사각형의 넓이가 주어졌네요. 대략적인 눈대중으로 긴쪽의 길이가 10 짧은쪽의 길이가 6 이라고 생각하고 구하는 방법도 있지만 이것은 정확하지 않습니다.다음과 같이 정육각형의 꼭짓점끼리 선을 그어 보면정육각형이 여섯개의 정삼각형으로 이루어져 있는것을 확인하실수가 있습니다.이때 정육각형의 한변의 길이는 긴쪽의 1/2 의 길이 입니다.이렇게 되면 위의 빨간색 선의 길이는 긴쪽의 1/4의 길이가 되므로 아래쪽 흰색 삼각형을 위쪽으로 이동 시켜 본다고 하면 흰색 사각형의 면적은 60/4 인..

당신의 창의성을 키우는 ‘기억의 법칙과 습관의 힘’

원문 보기 : https://news.samsung.com/kr/%EB%8B%B9%EC%8B%A0%EC%9D%98-%EC%B0%BD%EC%9D%98%EC%84%B1%EC%9D%84-%ED%82%A4%EC%9A%B0%EB%8A%94-%EA%B8%B0%EC%96%B5%EC%9D%98-%EB%B2%95%EC%B9%99%EA%B3%BC-%EC%8A%B5%EA%B4%80%EC%9D%98-%ED%9E%98 오늘은 삼성뉴스룸에 올라온 당신의 창의성을 키우는 기억의 법칙과 습관의 힘에 대해서 링크를 걸어 보았습니다. 요즘에 제가 자꾸만 기억력이 감퇴하고 알고 있던것도 까마득하게 잊혀지고...매일매일 반복하는 일이 아닌 경우에는 정말 하루 전에 있던 일들도 몇달이 지난 일처럼 느껴지는 일들이 종종 발생하기 때문에 이런 ..

2011년도 정보올림피아드 초등 시도예선문제 7번 풀이

다음을 모두 만족하는 가장 작은 양의 정수를 7로 나눈 나머지는? - 2로 나누면 나머지가 1이다. - 3으로 나누면 나머지가 1이다. - 4로 나누면 나머지가 1이다. - 5로 나누면 나머지가 1이다 - 6으로 나누면 나머지가 1이다 문제 풀이)일반적으로 위와 같은 문제가 나오면 2,3,4,5,6 의 최소공배수 60 + 1 = 61 로 선택해서 나머지를 5로 선택하기 쉽다.하지만 위의 조건을 만족하는 가장 작은 수는 숫자 1이다.1을 7로 나눈 나머지는 1이다. 위와 유사한 문제로 다음과 같은 문제가 있을수 있다. - 2로 나누면 나머지가 1이다. - 3으로 나누면 나머지가 2이다. - 4로 나누면 나머지가 3이다. - 5로 나누면 나머지가 4이다 - 6으로 나누면 나머지가 5이다 이 경우는 2,3,4..

정보올림피아드 2015년 중등부 20번 문제 풀이

다음 중에서 C나 C++ 언어의 키워드에 속하는 것은? ① main ② function ③ double ④ the ⑤ face 정답은 3번 double 입니다. c언어를 막 접한 학생들은 1번 main 과 3번 double을 많이 헷갈려 하는데요.1번 main 함수는 프로그램의 시작을 의미하기는 하지만 키워드는 아니고 컴파일러에서 미리 정의 되어 있지는 않습니다. c언어의 키워드란 특별한 용도로 사용하는 어휘들로 식별자나 변수 이름으로 사용할 수 없습니다키워드는 다음과 같습니다. 정보올림피아드 문제 풀이 리스트 정리