Computer Science
-
3. 배열Computer Science/Boostcourse CS50 2021. 12. 24. 02:27
비슷한 종류의 데이터들을 여러 개의 변수로 하나 하나 선언하기에는 시간도 많이 걸릴뿐더러 효율적이지 못한 방법이라고 할 수 있습니다. 그렇기에 다수의 데이터를 관리하기 위해서는 하나의 변수에 데이터들을 담아 편리하게 사용할 수 있는 배열이 필요한 것입니다. 배열은 특정 자료형의 변수를 선언하고 사이즈를 지정해주게 되면 메모리상 어딘가에 특정 크기만큼 연속적인 자리를 차지하게 되며, 비슷한 값들을 모아서 저장하고 싶을 때 사용하는 것입니다. 이때, 데이터들을 하나의 변수로 관리할 수 있다는 점이 시간적 측면에서 봤을 때 배열을 사용하는 이유가 아닐까 싶습니다. 일반적으로 변수를 선언할 때는 (변수의 자료형) (변수명)의 형식으로 작성하고, 이와 비슷하게 배열의 변수는 (변수의 자료형)..
-
2-2 음식메뉴 소개 프로그램Computer Science/Boostcourse CS50 2021. 12. 24. 02:23
C언어를 이용한 두번째 프로그램으로 설명해 볼 프로그램은 요일을 입력했을 때 각 요일별로 어떤 음식이 나오는지 프로그램 사용자에게 알려주는 프로그램입니다. 이번 프로그램의 소스코드 길이는 짧으므로 두개의 문단으로 나누어 소개해보겠습니다. #include #include #define SIZE 10 void food_list(char* day, int* replay); // 음식 리스트 int main() { int replay; char day[SIZE], check; printf("===============THIS WEEK FOOD MENU===============\n"); while(1) { printf("요일을 입력하세요: "); scanf("%s",day); food_list(day, &rep..
-
2-1 재고량 관리 프로그램Computer Science/Boostcourse CS50 2021. 12. 24. 02:19
네이버 부스트코스 대외활동을 진행하면서 만들어 봤던 첫번째 C언어 프로그램은 바로 구조체, 함수, 배열, 반복문, 조건문를 이용한 재고량 관리 프로그램입니다. 부족한 부분이 있겠지만, 나름대로 기능을 나누고 함수화하여 최대한 사용자 관점에서 가독성을 생각하며 구현해보았습니다. #include #include #include #include #define SIZE 30 typedef struct { int inventory, order, remain_inventory, price; double sales, TAX; char name[SIZE]; }PRODUCT; int cnt = 0; // 물품 종류 수 void product_input(PRODUCT* p); // 재고 관리 void product_ini..
-
2. C언어Computer Science/Boostcourse CS50 2021. 12. 24. 02:08
이번에는 C언어가 어떤 분야에서 주로 사용이 되는지, 특징은 무엇인지 살펴보려 합니다. C언어는 실질적으로 모든 컴퓨터 시스템에서 사용할 수 있는 프로그래밍 언어로, 전반적으로 쉬운 편에 속합니다. 또한 메모리를 관리하기 수월해 공간적으로도 효율적이며 타 언어에 비해 빠른 속도를 갖고 있죠. 하지만 절차 지향 프로그래밍 언어로써 구체적인 구현을 요구합니다. 하드웨어 제어뿐만 아니라 소프트웨어를 작성할수도 있으며, 대표적으로는 특정 하드웨어를 최적화 시키기 위하여 임베디드 프로그래밍에 가장 많이 쓰이는 편입니다. 이외에도 전자, 가전제품 관련 프로그램 개발 및 사물인터넷 제어에도 C언어가 사용됩니다. C에서 파생된 언어인 C++, C#은 게임 프로그래밍에서도 자주 쓰이는 언어이고, J..
-
1. 컴퓨팅 사고Computer Science/Boostcourse CS50 2021. 12. 24. 02:02
"컴퓨팅 사고력"이란 말을 들어보신 분도 있으실테고, 낯선 분도 계실겁니다. 들어봤다 하더라도 정확히 어떤 의미인지는 모르는 경우가 많습니다. 사실 컴퓨팅 사고는 저희가 어떠한 문제를 해결할 때에도 적용될 수 있을 것 같습니다. 문제를 해결하기 위한 접근 방법 중의 하나로서, 문제를 분해하고 어떻게 해결할 것인지 파악하는 것이 바로 "컴퓨팅 사고"입니다. 컴퓨팅 사고의 과정을 알아보기 전 컴퓨티 과학에 대해서 소개하고자 합니다. 컴퓨터 과학은 문제 해결에 대한 학문을 뜻하고, 여기서 말하는 문제 해결이란 아래 그림과 같이 입력을 전달받아 출력을 만들어내는 과정인데 이 과정 속의 중간에 있는 과정이 바로 컴퓨터 과학이라고 말할 수 있습니다. 그렇다면 문제 해결을 위해 어떠한 과정으로 컴퓨..