C | C++
-
[C] example3. 게임 캐릭터 인포메이션 만들기
다음 코드를 완성하여 출력 예시와 같이 출력하는 프로그램을 작성해주세요. 소스 이름은 "example3. 게임 캐릭터 인포메이션 만들기.c"로 하시기 바랍니다. #include #include #define NAME_SIZE 100 int main() { char name[NAME_SIZE]; printf("캐릭터 이름을 입력해주세요. : "); gets_s(name, NAME_SIZE); char grade; int hp, mp, atk, def, speed; // -------------------------------------------------- // 여기에 들어갈 코드 작성 // // -------------------------------------------------- return 0;..
-
[C] example2. 점과 직선 사이의 거리 구하기
직선 ax+by+c = 0이 점 (x0, y0)를 지날 때, 점과 직선 사이의 거리는 다음과 같습니다. 헤더 파일을 포함하면, 제곱근을 구해 float 타입의 값으로 반환하는 함수인 sqrtf를 사용할 수 있습니다. sqrtf(9)는 3.000000이고, sqrtf(16)은 4.000000입니다. 인자로 식이 들어가도 상관 없으니 sqrtf(3.5*3.5)=3.50000이기도 하죠. 위 사실들을 참고하여, 직선과 점이 주어질 때, 점과 직선 사이의 거리를 구하는 프로그램을 작성해주세요. 단, 모든 입출력은 실수값을 입출력하도록 하고, 출력할 때에는 소수점 아래 두 번째 자릿수까지만 출력하도록 해주세요. 소스 이름은 "example2. 점과 직선 사이의 거리 구하기.c"로 하시기 바랍니다. [출력 예시] ..
-
[C] example1. 문자를 입력받아 아스키코드로 출력하기
char 타입의 문자는 아스키코드를 사용합니다. 영어 알파벳과 숫자, 몇 가지의 특수 문자를 표현 가능하죠. 또한 char 타입은 1바이트 정수 자료형으로도 취급됩니다. 위 사실들을 참고하여, 문자를 입력받아 10진수 아스키코드를 출력하는 프로그램을 작성해주세요. 소스 이름은 "example1. 문자를 입력받아 아스키코드 출력하기.c"로 하시기 바랍니다. [출력 예시] 문자를 입력하세요. : c 문자 "c"에 해당하는 아스키코드는 99입니다. (파랑색은 입력값입니다.) 더보기 #include int main() { char ch; printf("문자를 입력하세요. : "); scanf_s("%c", &ch, 1); // scanf_s("%c", &ch)도 맞습니다. printf("문자 \"%c\"에 해당..
-
[C] 6. printf를 좀 더 잘 써봅시다. <필드폭 및 소수점 조정, 이스케이프 문자>
지난 글에서 printf와 scanf를 다루면서 서식 문자까지 살펴보았었죠. 이번 글은 printf에 대해 조금의 보충 설명을 하는 글입니다. 중요도로 따지면 지난 글에 비해서는 떨어지니 쉬어가는 글, 가볍게 읽는 글로 생각하고 읽어주세요. printf에서, 서식 문자는 출력할 폭과 소수 자릿수를 지정할 수 있습니다. 특별한 출력을 하는 이스케이프 문자들이 있습니다. 필드폭 지정 필드폭이란, 서식 문자를 출력할 때 사용하는 공간의 폭입니다. 말해 무엇합니까. 이것은 직접 눈으로 보는 게 빠릅니다. 이번 소스의 이름은 "6. 필드폭 및 소수점 조정, 이스케이프 문자.c"입니다. #include int main() { int a, b; scanf_s("%d, %d", &a, &b); printf("%d + ..
-
[C] 5. 입출력은 프로그램의 근본입니다.
드디어 여태껏 쭉 써왔던 printf를 자세히 다룰 글이 나타났습니다. printf의 사용 경험이 여러분에겐 충분하기 때문에, 오늘 글은 매일 봤던 친구를 보는 것처럼 편하게 읽으실 수 있을 겁니다. 출력을 담당하는 printf, 입력을 담당하는 scanf가 이번 글의 주제입니다. scanf는 printf와 굉장히 유사합니다. stdio는 standard input output의 준말입니다. printf printf는 입출력 중 출력에 해당하는 한 함수입니다. 프로그램을 실행시켰다면 유의미한 동작 결과가 있어야겠죠. 그래서 프로그램은 출력이 필요합니다. 결과로 얻어지는 게 없다면 프로그램은 무의미합니다. printf는 문자열을 출력할 때 사용합니다. printf를 사용할 때는 함수의 이름인 printf를..
Computer Science
-
[CS] 이진수로 소수를 나타내는 법
십진수에 작은 값을 표현하는 소수 표현이 있듯이, 이진수에도 소수 표현이 존재합니다. 이 글에선 어떻게 이진수로 소수를 나타내는지 알아봅시다. 십진수를 이진수로 만들 때 정수 부분은 나눗셈을 통해 구했듯이, 소수 부분은 곱셈을 통해 구합니다. 이진수 소수 읽기 이진수 소수를 쓰기 전에 이진수 소수를 읽는 법부터 알아야겠죠? 기존에 알고 계시던 이진수 읽는 법과 다르지 않습니다! 각 자릿수 간엔 두 배 차이가 난다는 사실을 그대로 가지고 가면 됩니다. 1010.0101(2) = 23* 1 + 22 * 0 + 21 * 1 + 20 * 0 + 2-1 * 0 + 2-2 * 1 + 2-3 * 0 + 2-4 * 1 = 23 * 1 + 21 * 1 + 2-2 * 1 + 2-4 * 1 = 8 + 2 + 0.25 + 0..
-
[CS] 덧셈밖에 못하는 컴퓨터가 어떻게 2의 보수를 이용해 뺄셈을 할까요?
우리는 컴퓨터로 사칙연산과 복잡한 미적분까지 계산하지만, 근본적으로 컴퓨터는 덧셈밖에 하지 못 합니다. 멀리까지 가진 말고, 덧셈밖에 못하는 컴퓨터는 어떻게 뺄셈을 하는지 알아봅시다. 컴퓨터는 2의 보수를 이용하여 음수를 구현합니다. 뺄셈은 음수를 더하는 것 128 - 72는 128 + (-72)로 생각할 수 있죠? 음수의 표현 방법만 어떻게 만들어 낸다면, 뺄셈은 따로 구현할 필요가 없습니다! 컴퓨터는 이미 덧셈을 할 줄 아니까요! 그렇다면 어떻게 음수를 표현할 수 있을까요? 수의 범위가 정해져 있다면, 그 범위의 정가운데를 0으로 잡고 그보다 작은 건 음수로 취급하면 될까요? 예를 들어 0~256의 범위가 있을 때에 범위의 정가운데가 128이니, -128만큼 편향해서 0 → -128, 128 → 0,..
-
[CS] 비트와 바이트의 차이, 그리고 KB/MB/GB/TB
프로그램을 다운로드하고 업데이트하면서, 인터넷을 사용하면서, 혹은 프로그램의 용량을 확인하면서 비트와 바이트, KB/MB/GB/TB를 아주 많이 보셨을 겁니다. 그들은 무엇이고 어떤 차이가 있을까요? 비트는 컴퓨터가 정보를 저장하는 단위입니다. 정보의 저장 단위 1 바이트(Byte)는 8 비트(Bit)입니다. 바이트 단위끼리는, 접두어가 한 단계 올라갈 때마다 크기가 1000배가 된다고 생각하시면 됩니다. 네트워크 전송 속도에서 보이는 KB, MB, 게임과 영화의 용량으로 자주 보는 GB, 하드디스크의 용량으로 자주 보는 TB 정도를 제외하면 생소할 수도 있겠네요. 접두어(SI) 이름 계산법 비트(Bit) 바이트(Byte) 1 Byte = 8 Bit 킬로(103) 킬로바이트(KiloByte, KB) 1 ..
-
[CS] 이진법과 십진법 사이 변환하기, 컴퓨터와 이진법
숫자를 0과 1로만 나타내는 것이 이진법입니다. 진법 이해하기 십진법 숫자 1234를 봅시다. 자릿수별로 떼어서 보면, 1000 * 1 + 100 * 2 + 10 * 3 + 10 * 4이죠? 이는 곧 103 * 1 + 102 * 2 + 101 * 3 + 100 * 4와 같습니다. 자릿수간에 10배 차이가 나죠. n개의 자릿수 차이가 나면 10n배 차이가 나게 됩니다. a진법을 구성하는 방법이 이런 겁니다. 각 자릿수의 수를 c0, c1, c2, ⋯ 라 하면 a진법 수는 a0 * c0 + a1 * c1 + a2 * c2 + a3 * c3 + ⋯ + an * cn와 같이 표현됩니다. 자릿수간엔 a배 차이가 나죠. n개의 자릿수 차이가 나면 an배 차이가 나게 됩니다. 기호들이 많아서 눈에 안 들어오실 수도 ..
Classical Music - Story of Pieces
-
C.Debussy - Suite Bergamasque, L. 75 - III. Clair De Lune
(클릭하면 재생됩니다.) 드뷔시 베르가마스크 모음곡 제 3번, 달빛 Debussy Suite Bergamasque - III. Clair De Lune 연주 : 알렉시스 바이센베르크 Performance : Alexis Weissenberg 평온하게 숨쉬는, 음악사의 날카로운 모서리에 감긴 부드러운 음향 드뷔시의 은 에 포함된 세 번째 곡이며, 베르가마스크 모음곡은 드뷔시가 이탈리아 북부의 베르가모(Bergamo) 지방을 여행하고 돌아와 1890년에 작곡한 곡이다. 당시 드뷔시는 상징주의 시인들과 예술 세계에 깊이 동화하며 친분을 나눴는데, 폴 베를렌(Paul Verlaine 1844 - 1896)의 시집 《화려한 향연(Fêtes galantes)》을 읽고 그 중 에 영감을 받아 베르가마스크 모음곡을 작..
-
J.S.Bach(/F.Busoni) - Chaconne, Partita No.2 in D minor BWV 1004
(클릭하면 재생됩니다.) 바흐 라단조의 무반주 바이올린을 위한 파르티타 제 2번 / 샤콘느 Bach Partita For Solo Violin No. 2 in D Minor / Chaconne 연주 : 레이첼 포저 Performance : Rachel Podger (클릭하면 재생됩니다.) 바흐/부조니 라단조의 무반주 바이올린을 위한 파르티타 제 2번 / 샤콘느 (피아노 독주 판) Bach/Busoni Partita For Solo Violin No. 2 in D minor / Chaconne (Piano Solo Version) 연주 : 엘렌 그리모 Performance : Helene Grimaud 화려한 바흐를 대표하는 명곡 샤콘느(혹은 샤콘)는 특징적인 선율 혹은 화성을 반복하고 추가적인 음악적 재..
-
F.Chopin - Piano Sonata No. 2 op. 35
(클릭하면 재생됩니다) I Grave - Doppio movimento (48:51) II Scherzo (53:46) III Marche funebre - Lento (58:18) IV Finale - Presto (1:04:43) 쇼팽 피아노 소나타 2번 Chopin Piano Sonata No. 2 연주 : 알프레드 코르토 Performance : Alfred Cortot 쇼팽 피아노 음악의 정점 쇼팽 피아노 소나타 2번은 1937년에 먼저 3악장인 장송행진곡이 작곡되었고, 1940년에 나머지 악장들을 붙여 총 4악장의 피아노 소나타로 출판되었다. 쇼팽의 인생에 있어서 중요한 3명의 여인이 있다. 콘스탄챠 글라드코프스카(Konstacja Gladkowska), 마리아 보진스카(Maria Wodzin..
-
C.Saint-Saens - Danse Macabre op.40
(클릭하면 재생됩니다) 생상스 죽음의 무도 Saint-Saens Danse Macabre 오케스트라 : 영국 국립 필하모닉 관현악단 | 지휘 : 레오폴드 스토코프스키 Orchestra : The National Philharmonic Orchestra | Conductor : Leopold Stokowski (클릭하면 재생됩니다) 생상스/리스트 죽음의 무도 (피아노 독주 판) Saint-Saens/Liszt Danse Macabre (Piano Solo Version) 연주 : 아르나우두 코헨 Performance : Arnaldo Cohen 밤 12시, 해골들과 유령들이 일어나 춤을 춘다. 생상스의 죽음의 무도는 교향시이다. 교향시는 베를리오즈의 표제음악에 감명받은 리스트가 탄생시킨 음악 장르로, 시,..
-
L.Beethoven - Piano Concerto No.3 op.37
(클릭하면 재생됩니다) 베토벤 피아노 협주곡 3번 Beethoven Piano Concerto No. 3 피아노 : 마우리치오 폴리니 | 지휘 : 카를 뵘 Piano : Maurizio Pollini | Conductor : Karl Böhm 모범적이고 강렬한 피아노 협주곡, 베토벤의 시작 베토벤은 피아노 협주곡 3번을 1796년 즈음에 착수하여 1804년에 완성, 출판하였다. 초연은 베토벤 자신의 연주로 빈에서 이루어졌는데, 당시 피아노 부분이 완성되지 않아 대부분이 베토벤의 즉흥 연주였다고 한다. 곡을 홍수처럼 쏟아냈던 모차르트와 달리, 베토벤은 한 곡 한 곡 긴 작곡 시간을 소요했던 편인데, 이런 긴 시간을 걸쳐서도 후술할 귓병과 음악적 고뇌 때문에 더욱이 곡의 완성을 못한 것으로 추정된다. 그러나..
Poem
-
무지개 - 워즈워드
무지개 하늘의 뜬 무지개 바라보면 내 마음 뛰노나니, 나 어려서 그러하였고 다 자란 오늘에도 그러하거늘 나 늙어서도 그러할지어다. 아니면 지금이라도 나의 목숨 거둬가소서. 어린이는 어른의 아버지 바라노니 내 생애의 하루하루가 타고난 그대로의 경건함으로 이어지기를⋯
-
나 일찍이 너를 사랑했었네 - 푸시킨
나 일찍이 너를 사랑했었네 나 일찍이 너를 사랑했었네 그 사랑은 어쩌면 아직도 감춰진 불씨처럼 내 마음속에 살아있을지도 모르네 하지만 그것이 너를 낙심하게 하지 말기를, 차라리 잊어버리길 나는 조그만 괴로움도 너에게 주고 싶지 않거니. 말없이 사랑했었네, 절망적으로 사랑했었네 때론 수줍음이 때론 질투가 나를 괴롭혀도 나 진정 깊이 사랑했었네 그토록 애절하게 사랑했었네- 어떤 또 다른 발견으로 너를 만나도록 신은 이 사랑을 허락하셨네.
-
기도 - 타고르
기도 위험에서 벗어나게 해달라고 기도하지 말고 위험과 용감히 맞설 수 있게 해달라고 기도하게 하소서. 고통을 가라앉게 해달라고 청하지 말고 고통을 이겨내는 마음을 청할 수 있게 하소서. 생의 싸움터에서 아군을 찾지 말고 스스로의 힘을 찾아낼 수 있게 하소서. 불안과 두려움 속에서 구원을 갈망하지 말고 자유를 쟁취하는 인내심을 갖게 하소서. 성공 속에서만 당신의 은혜를 느끼는 비겁한 자가 아니라, 실의에 빠졌을 때야 말로 당신의 귀하신 손을 잡고 있음을 알아채게 하소서. 마하트마 간디의 "마하트마"를 지어준 사람, 라빈드라나트 타고르, 노벨문학상을 수상한 인도의 시인이다. 벵골어로 작품을 썼고, 방글라데시인들에게 국가의 상징으로 여겨질 정도로 벵골의 자존심이자 벵골인의 정체성을 정의하는 문호이기 때문에 방..
-
이 깊은 상처를 - 하이네
이 깊은 상처를 내 마음의 깊은 상처를 아름다운 꽃이 알기만 한다면 내 아픔을 달래주기 위해 나와 함께 눈물을 흘려주련만. 내 간절한 슬픔을 꾀꼬리가 안다면 흥겹게 지저귀어 내 외로움을 어쩌면 풀어줄 수도 있으련만. 나의 이 한숨을 저 별이 황금빛 별이 알기만 한다면 그 높은 곳에서 내려와 틀림없이 위로해 주겠건만. 하지만 나의 슬픔 아는 이 없네. 알아줄 사람은 오직 한 사람 내 가슴을 손톱으로 아프게 찢어놓은 한 사람. 하인리히 하이네는 이번에 처음 알게 된 시인으로, 세계 명시 모음집을 읽으면서 알게 되었다. 읽으면서 마음에 드는 시가 있다면 그 작가가 누구인지 기억하는 게 시를 읽는 하나의 재미인데, 시가 마음에 들 때마다 이름을 보니 하이네의 이름이 적혀있었다! 마음 깊은 곳의 꼬인 부분들을 풀..
-
별의 역설 - My
별의 역설 거센 비가 내리는 밤 먹구름 사이를 비집고 강에 박힌 별이 물살을 버티고 서 있었다 비는 하늘에서 땅으로 내리는 것이기에 본래 별은 비를 맞을 일이 없지만 그날 내가 본 별은 비를 맞고 있었다 어깨가 눌리고, 잡을 손을 놓치고, 목소리도 꺼져서─ 사람이 별을 보러 간다는 이치도 잊고 별이 사람을 보러 온 것이었다 나는 다만 그 작은 얼굴을 봐주었다