본문 바로가기

College Computer Science60

[C 프로그래밍 실습] 중간고사 문제 1. 한 줄로 입력된 문자열의 사칙 연산을 수행하는 프로그램을 쓰시오. (20점) 연산자들(+, -, *, /)은 우선 순위가 동일하다. 피연산자와 연산자 사이에는 하나 이상의 공백으로 구분된다. 문자열 연산식을 한번에 읽어 들이고, 토큰으로 분할하여 처리한다. 아래 예시와 같이 연자자 사용 오류와 0으로 나누기 오류에 대해서만 처리한다. 2. 재귀호출 함수(recursive function)를 사용하여 string의 length를 계산하는 프로그램을 쓰시오. (20점) 3. 다음을 참고로 [파스칼의 삼각형]을 출력하는 프로그램을 작성하시오. (20점) 정수형 이차원 배열 pascal[10][10]을 선언 크기 입력 값에 따라 최대 10행까지 [파스칼의 삼각형]을 생성하여 저장 후 출력 pascal[n].. 2021. 1. 3.
[C 프로그래밍 실습] 문자와 문자열 (Lab 07) Program 1 : mystrlen() - strlen() 구현 (문자열 길이 구하는 함수) Program 2 : mystrcat() - strcat() 구현 (문자열 합치는 함수) Program 3 : delchar() 구현 (문자열에서 특정 문자를 삭제하는 함수) Program 4 : tolower(), toupper() (대문자 소문자 변환하는 함수) Program 5 : myatoi() - atoi() 구현 (문자열 정수로 변환하는 함수) Program 6 : myatoi(), 명령행 인자 Program 7 : strlwr(), strpbrk(), strstr(), strchr() Program 8 : strtok(), 문장 문자열 자르기, 배열에 단어 저장 Program 1 한 행을 표준입력으.. 2021. 1. 3.
[C 프로그래밍 실습] 함수 2 (Lab 06) Program 1 : 일차원 배열 비교하는 함수 (같은 배열인지 확인) Program 2 : 두 행렬의 합과 차 구하는 함수 Program 3 : 일차원 배열, 이차원 배열의 원소의 합 구하는 함수 (배열 포인터를 매개변수로) Program 4 : 배열 포인터 Program 5 : 일차원 배열 복사하는 함수, 일차원 배열 출력하는 함수 Program 6 : 1부터 n까지의 합 구하는 함수 (재귀함수) Program 7 : 문자 배열에서 대문자, 소문자, 숫자, 특수문자 개수 세는 함수 Program 8 : 난수 배열 생성 Program 1 다음과 같이 일차원 배열의 동등함을 검사하여 그 결과를 알아보는 프로그램을 작성하시오. 다음 배열 a와 b1, b2, b3에 대해 각각 검사하시오(함수 사용) void.. 2021. 1. 2.
[C 프로그래밍 실습] Report 02 Program 1 뎃셈, 뺄셈, 솝셈, 나눗셈, 나머지연산(%)을 지원하는 계산기 프로그램을 작성한다고 하자. 각연산이 몇번씩 나오는지 기억해서 화면에 출력하는 프로그램을 쓰시오. 연산자의 종류는 5가지(+, -, *, /, %) 연산식은 공백을 포함할 수 있다. 현재까지의 총 연산자의 회수를 출력한다. 예외 처리, 문자나 5가지 이외의 연산자가 사용된 연산식은 오류 메시지를 출력 1) 문제 해결 방법에 대한 설명 5가지 종류의 연산자를 입력 받으면 개수를 카운트 : 5가지 종류의 연산자를 입력 받기 위한 변수를 선언, 식을 입력 받은 후 문자를 하나씩 읽어 5가지 종류의 연산자가 나오면 변수에 값을 증가 연산식은 공백을 포함할 수 있음 : 공백을 입력으로 받아야 하기 때문에 scanf 입력 형식을 ‘%.. 2021. 1. 2.
[프로그래밍언어론] 과제 3 : 함수형 프로그래밍 (Functional Programming) 문제 이미 제출한 대다수의 학생이 Functional Programming의 원칙(No variables and assignments, No statements, No side-effects, Referential transparency)을 준수하지 않는 답안을 제출하였습니다. Functional Programming을 제대로 구사하려면 식과 값만 사용하여 프로그래밍 해야합니다. 이런 사고에 익숙해져야 다른 언어를 사용하더라도 함수형 프로그래밍의 장점을 살릴 수 있습니다. 앞에서도 언급했지만 이번에 과제로 나간 문제들은fold(reduce, foldr, foldl)를 사용하여 하나의 식으로 풀 수 있는 문제들입니다. 현재까지 단 한명의 학생만이 이런 취지에 매우 근접한 해답을 제출하였습니다. Code t.. 2020. 12. 20.
[프로그래밍언어론] 과제 2 : OOP 특성을 가진 언어로 구현하기 (Go 사용) 문제 Write a corresponding program for the given example below (in C++, Java and Python) using ONE of the other languages that have different OOP traits such as separation of types from their implementations (e.g. Go), multimethods (e.g. Julia), implementation-only inheritance thru mixin (e.g. Scala, Crystal), prototypes and delegation (e.g. Lua, Io), etc. You will be given better score if you can.. 2020. 12. 20.
[프로그래밍언어론] 과제 1 : 이터레이터 생성자 (Iterator Generator) 만들기 문제 Develop a program per each of the examples of the Python iterator generator for “sort”(quicksort) and “flatten” in ANY language of choice with the following constraints: You MUST NOT use any constructs that are similar or equivalent to the iterator generator of Python (such as “yield”). You have only to use ordinary control structures (if, while, ...) and/or procedure calls. You CAN utilize o.. 2020. 12. 20.
[C 프로그래밍 실습] 함수 1 (Lab 05) Program 1 : mypow( ) 함수 구현 Program 2 : 화씨-섭씨 변환 함수 구현 Program 3 : 최댓값 반환 함수 구현, 삼항연산자 Program 4 : 원 둘레와 넓이 반환 함수 구현 Program 5 : 단리와 복리 계산 함수 구현 Program 1 임의의 실수와 정수, m 과 n을 입력 받아 다음과 같은 mypow() 함수를 작성하여 mn의 결과를 출력하는 프로그램을 작성하시오. (한번만 호출하여 수행하면 됨) 함수 mypow(double m, int n)의 결과는 m^n #include 에 정의된 pow() 함수 와 mypow() 함수 결과를 모두 출력 #include #include double mypow(double m, int n) { if (n == 1) return .. 2020. 11. 21.
[C 프로그래밍 실습] 배열 (Lab 04) Program 1 : 배열의 크기, sizeof() Program 2 : 반복문으로 배열 복사 Program 3 : 반복문으로 배열 같은지 검사 Program 4 : 배열 요소의 총합과 평균 Program 5 : 배열 입력, 요소 빈도 검사 Program 6 : 이차원 배열 Program 7 : 이차원 배열, 행렬, 행렬의 곱 Program 8 : 이차원 배열, 행렬, 행렬의 합과 차 Program 1 다음을 참고로 배열을 초기화하고 반복문을 사용하여 배열의 모든 원소를 출력하는 프로그램을 작성하시오. 배열 double degree[] = {-5.34, 3.67, 19.76, 28.76, 35.63}; 배열의 크기를 계산( sizeof 함수 이용)하여 변수 size에 저장하고 반복문에서 사용 #inclu.. 2020. 11. 5.