목록분류 전체보기 (185)
cyphen156
4학년 1학기를 마치고 여름방학동안 뭐할까 고민하다가 친구가 졸작하는 내내 추천해줬던 노암 니산, 시몬 쇼켄의 「밑바닥부터 만드는 컴퓨팅 시스템」을 보면서 가상머신을 하나 만들어보기로했다. 여태까지 내가 전자기기를 만들어본건 라디오, 컴퓨터 조립하기, 이어폰 자가수리하기 같이 하드웨어를 직접 조작하고, 만들어 봤었지만, 논리적인 구현을 하는것은 이번이 처음이라서 엄청 기대가 된다. 이 책은 내가 여태까지 배워왔던 것들을 총 집합하는 것으로 아직 개념정리가 덜 된 부분들도 많을 예정이라 실수가 많을 것 같지만 포스팅을 멈추지 않고 계속 나아가 책 마무리까지 정리 할 수 있기를 바란다. 책에서는 Nand2Tetris라는 사이트를 통해 책을 읽는 독자들에게 최대한 도움을 주려 한다는 것을 밝히고 있으니 이 사..
개인 문제풀이임으로 오답이 있을 수 있습니다. 아래 함수를 호출하여 입력 정수의 절댓값을 계산하는 프로그램을 작성하라. 단, 함수 내부에서 3항 연산자를 써야 한다. 입출력 형식은 자유로이 할 수 있다. int abs(int num); #define_CRT_SECURE_NO_WARNINGS #include int abs(int num); int main(void) { int num; scanf("%d", &num); printf("%d", abs(num)); return 0; } int abs(int num) { return (num >= 0) ? num : -num; } 아래 함수를 호출하되 알파벳 소문자 하나를 입력받아 그것이 자음이면 Consonant라고 출력하고 모음이면 Vowel이라고 출력하는 ..
조건문 조건문 = 분기점! 조건문에서는 주어진 조건에 따라 참과 거짓으로 나뉘어 실행할 코드의 분기를 결정하는데 사용됩니다. 만약 조건문 괄호 안의 연산이 참이면 코드를 실행하고, 거짓이면 실행하지 않고 다음 코드를 실행하거나, 다른 조건을 연산한 뒤 코드를 실행합니다. If else조건문 // 예제 5-1 #define _CRT_SECURE_NO_WARNINGS #include void Odd_Even(int n) { if (n % 2 == 1) {// 만약 괄호안의 조건이 참이면 바로 아래 중괄호 안의 명령을 실행하고, printf("Odd number.\n"); } else {// 거짓이면 아래 명령을 실행한다. printf("Even number.\n"); } return; } int main()..
게임엔진을 사용하는게 아니라 만들어보는건 어떨까? 라는 생각이 들어서 책을 찾게 됬고, 네오플블로그 책방에서 이득우(청강문화산업대학교)교수님의 게임수학이라는 책을 알게되었다. 이산수학도 못하면서 무슨 게임수학? 이라는 생각도 들지만 마침 졸업작품도 끝났고, 그간 미뤄둿던 C언어 정리도 할 겸 그냥 일단 읽고, 시간을 들여서 구현해보기로 했다. 도입부에서는 메타버스가 뭔지 이 기술을 위해서 필요한 수학적 지식들과 어떤방식으로 구현되는지에 대해 간단하게 소개해 주고 있다. 메타버스는 뭘까? 책에서는 메타버스가 코로나 시대에 사회적 거리두기 시행에 따라 사람들의 생활이 가상공간으로 많이 옮겨왔고, 익숙해 졌기 때문에 초월을 의미하는 메타와 우주/세계관을 의미하는 유니버스의 합성어로 메타버스가 탄생했다고 소개하..
드디어 5.16일 발표를 마치고 졸업작품 전시회가 끝낫다. 정말 아쉬움이 많이 남는 프로젝트였고, 하고싶은것을 모두 하지는 못햇다. 리액트 네이티브로 크로스 플랫폼 개발을 하려 했으나 맥북이 없어서 IOS는 빌드하지 못하고 가상머신 환경에서 테스트만 해보았고, 안드로이드 베이스로 개발했기 때문에 웹앱으로 리빌딩 하는 과정에서 생긴 수십개의 라이브러리 관련 버그들을 수정하다가 결국 발표일에 완료하지 못해 안드로이드 어플리케이션만을 공개했다. 대부분 UX와 관련되어 웹 앱에서는 터치기능을 구현하는게 힘들기 때문에 라이브러리 호환이 안되서 생기는 문제들이엇지만 이미 개발된 기능을 포기하고 라이브러리를 바꿔서 쓸 수는 없었다. 발표한 앱은 소형 팀 프로젝트, 동아리 활동을 위해 각 사용자들의 할 일을 달력에 등..
개인 문제풀이임으로 오답이 있을 수 있습니다. 두 정수를 입력받아 첫 번째 정수가 두 번째 정수보다 크거나 같으면 1을, 그렇지 않으면 0을 되돌려주는 함수를 작성하고 main에서 그 함수를 불러 결과를 출력하는 프로그램을 작성하라. 함수 원형은 int is_larger(int f, int s);로 한다. [hint] 논리 연산의 결과는 1이나 0이고 그것을 함수 리턴값으로 돌려준다. > Enter two integers. > 3 3(Enter) > Result is 1. #define _CRT_SECURE_NO_WARNINGS #include int is_larger(int f, int s) { if (f >= s) { return 1; } else { return 0; } } int main() { ..
※주의 주인장의 개인적 사견이 매우 많이 들어가 있습니다. 저도 공부하고 있는 입장이므로 피드백 환영합니다. 함수(function)는 뭘까? 함수는 특정한 기능을 수행하기 위해 호출을 받으면 무언가(인자 = 매개변수 = 파라미터/parameters)를 전달받아 호출자에게 결과를 돌려주는 명령문들의 집합체라고합니다. 단순하게 생각하면 수학에서의 함수 f(x) : y = 2x + 4라고 할 때, f(x)는 함수명, y는 return되는 결과물, 2(x) + 4는 함수를 호출했을때 실행되는 명령문, x는 함수로 전달되는 인자값이라고 생각하면 됩니다. 함수는 왜 쓰는가? 처음에는 궂이 함수를 따로 만들어서 작업을 처리할 필요 없이 main에서 처리하면 편하고 쉽지 않겟느냐?라는 의문이 들 수 있습니다. 지금은 ..
개인 문제풀이임으로 오답이 있을 수 있습니다. 두 개의 자연수를 입력받아 첫 번째 수를 두 번째 수로 나눈 몫과 나머지를 출력하라. > Enter dividend. > 21(Enter) > 4(Enter) > Quotient is 5. Remainder is 1. #define _CRT_SECURE_NO_WARNINGS #include int main() { int num1, num2; printf("Enter dividend.\n"); scanf("%d %d", &num1, &num2); getchar(); printf("Quotient is %d. Remainder is %d\n", num1 / num2, num1 % num2); return 0; } 섭씨 온도를 C라고 했을 때 그에 해당하는 화씨 ..