총 205개
-
고려대학교 객체지향프로그래밍 A+ 기말고사 치팅시트2025.05.101. 프로그래밍 언어 프로그래밍 언어는 컴퓨터가 수행할 수 있는 모든 것을 설명할 수 있어야 하며, 프로그래머가 의도한 바를 정확히 표현할 수 있어야 합니다. 튜링 기계는 무한한 테이프, 읽기/쓰기/삭제 장치, 상태 테이블을 가지고 있으며 튜링 완전하거나 튜링 동등합니다. 실제 컴퓨터는 선형 한정 레지스터 기계(거의 만족)입니다. 대부분의 언어가 튜링 완전하기 때문에 문제가 되지 않습니다. 프로그래밍 언어는 오류 방지, 사용성 등의 기준을 만족해야 합니다. 2. 프로그래밍 패러다임 프로그래밍 패러다임은 좋은 프로그래밍 언어의 기준을...2025.05.10
-
[A+레포트] 어셈블리어의 특징과 명령어 형식을 설명하시오.2025.01.131. 어셈블리어의 개념 및 특징 어셈블리어는 컴퓨터 아키텍처에 밀접하게 연관된 저수준 프로그래밍 언어입니다. 이는 기계어 코드에 대응하는 기호적인 명령어를 사용하여 프로그래밍을 수행합니다. 어셈블리어의 가장 큰 특징은 기계어와의 1:1 대응 관계에 있습니다. 이로 인해 프로그래머는 컴퓨터의 작동 원리와 메모리 구조를 정확히 이해하고, 이를 바탕으로 최적화된 코드를 작성할 수 있습니다. 그러나 어셈블리어의 사용은 코드의 가독성이 낮고, 작성 및 유지 보수가 어렵다는 단점이 있습니다. 2. 어셈블리어의 명령어 형식과 구조 어셈블리어의 ...2025.01.13
-
서강대학교 23년도 마이크로프로세서응용실험 5주차 Lab05 결과레포트 (A+자료)2025.01.121. 마이크로프로세서 이 자료는 마이크로프로세서응용실험 5주차 실험 보고서로, 프로그램의 흐름을 변경하는 branch 명령어의 동작을 이해하고, branch with link 명령어의 특징을 알아보며, conditional execution을 위한 suffix의 종류와 의미를 알아보는 내용을 다루고 있습니다. 또한 jump table을 이용한 분기 방식과 loop unrolling을 통한 성능 향상 방법 등을 실험하고 분석하고 있습니다. 2. 어셈블리 프로그래밍 이 자료는 ARM 아키텍처의 어셈블리 프로그래밍 기법을 다루고 있습니다...2025.01.12
-
컴퓨터개론-자료구조와 알고리즘의 관계에 대해 사례를 들어서 설명하고 관계의 중요성에 대해 기술하시오.2025.01.151. 알고리즘 알고리즘은 특정 문제를 해결하기 위한 일련의 절차나 방법을 의미합니다. 이는 주어진 입력에 대해 원하는 출력을 얻기 위한 명확하고 정확한 단계들의 집합입니다. 알고리즘은 여러 가지 형태로 나타날 수 있으며, 대표적인 유형으로는 정렬 알고리즘, 검색 알고리즘, 그래프 알고리즘, 동적 프로그래밍 알고리즘 등이 있습니다. 알고리즘의 효율성은 입력 크기에 따른 실행 시간과 메모리 사용량으로 평가되며, 효율적인 알고리즘 설계와 구현은 프로그래밍에서 매우 중요한 요소입니다. 2. 자료구조 자료구조는 데이터를 구성하고 조직화하는 ...2025.01.15
-
매트랩2025.01.141. 매트랩 내장 함수 매트랩에는 많은 내장 함수들이 있다. 이를 내장 함수라고 한다. 예를 들어 cos(pi)는 -1 값을 출력한다. 라디안을 디그리로 표현하고 싶으면 cosd(180)을 사용하면 -1이 출력된다. 이러한 함수들은 매트랩에서 제공하는 내장 함수이다. 새로운 함수를 만들고 싶으면 function으로 시작하여 end로 끝나는 사용자 정의 함수를 만들 수 있다. 2. 조건문 조건문은 일정 조건을 의미한다. if, elseif는 만약에를 의미한다. if문 예제에서는 점수에 따라 A, B, C 등의 등급을 표기하는 방법을 ...2025.01.14
-
순환적인 피보나치 수열 프로그램과 반복적인 피보나치 수열 프로그램의 수행 시간 비교2025.05.061. 피보나치 수열 피보나치 수열은 많은 프로그래밍 문제에서 자주 등장하는 기본적인 수열 중 하나입니다. 이 수열을 구하는 방법에는 순환적인 방법과 반복적인 방법이 있습니다. 순환적인 방법은 재귀적인 호출을 사용하여 수행 시간이 지수적으로 증가하지만, 반복적인 방법은 루프를 사용하여 이전 값들을 저장하고 활용하여 더 효율적입니다. 대규모 데이터 처리를 필요로 하는 경우에는 반복적인 방법이 더 적합합니다. 2. 순환적인 피보나치 수열 프로그램 순환적인 피보나치 수열 프로그램은 재귀적인 호출을 사용하므로 수행 시간이 지수적으로 증가합니...2025.05.06
-
배열의 정의, 선언, 초기화 및 활용2025.05.051. 배열의 정의 배열은 C언어에서 연속적인 메모리 영역에 동일한 데이터 타입의 여러 요소를 저장할 수 있는 구조입니다. 배열을 사용하면 데이터를 더욱 구조화된 방식으로 저장하고 접근할 수 있습니다. 2. 1차원 배열 선언 1차원 배열을 선언하려면 데이터 타입, 배열 이름, 배열 크기를 지정해야 합니다. 예를 들어, int arr[5]는 크기가 5인 int형 1차원 배열을 선언하는 것입니다. 3. 배열 활용 사례 배열은 시계열 데이터 저장, 문자열 처리, 정렬 및 검색 알고리즘 구현, 행렬 및 벡터 연산 등 다양한 상황에서 활용됩니...2025.05.05
-
재귀알고리즘의 정의와 단점과 이를 극복하기 위한 방안2025.01.021. 재귀알고리즘의 정의와 작동 방식 재귀알고리즘은 자기 자신을 호출하여 문제를 해결하는 알고리즘으로, 함수 내에서 자기 자신을 다시 호출하면서 작동한다. 이러한 재귀 호출은 함수 호출 스택에 쌓이며, 재귀가 끝나면 스택에서 제거된다. 재귀알고리즘은 간단하게 작성할 수 있으며, 일부 문제에서는 반복문을 사용하는 것보다 더 효율적인 해결 방법을 제공한다. 그러나 재귀 호출이 많아지면 성능 저하 및 스택 오버플로우 등의 문제가 발생할 수 있으므로 적절한 조절이 필요하다. 2. 재귀알고리즘의 단점 재귀알고리즘은 반복문보다 코드의 가독성이...2025.01.02
-
매크로 프로세서의 기능에 대한 조사2025.05.071. 매크로 정의와 확장 매크로 프로세서는 프로그래머가 코드를 작성할 때 작업을 단순화하고 코드의 재사용성을 높이는 도구로 사용됩니다. 매크로 프로세서는 프로그램에서 자주 사용되는 코드 조각이나 패턴을 단순한 키워드로 정의할 수 있게 해줍니다. 이렇게 정의된 키워드는 나중에 코드에서 사용될 때 자동으로 원래의 코드 조각이나 패턴으로 확장되어집니다. 이 과정은 매크로 확장이라고 합니다. 매크로 확장의 장점은 코드 중복의 최소화, 가독성 향상 등입니다. 2. 매개변수화된 매크로 매크로 프로세서는 매개변수화된 매크로를 지원하여, 프로그래...2025.05.07
-
2023년 1학기 알고리즘 출석수업 만점 받은 과제물2025.01.241. 이진 탐색 이진 탐색은 정렬된 상태의 데이터 중 원하는 값을 탐색하는 알고리즘이다. 이진 탐색은 먼저 주어진 데이터 중 중앙값이 목표 값과 일치하는 지 비교한다. 그리고 데이터가 정렬되어 있음을 이용해, 중앙값이 목표 값보다 작다면 중앙값보다 큰 값을 지니는 쪽, 중앙값이 목표 값보다 크다면 중앙값보다 작은 값을 지니는 쪽에 대해 다시 중앙값과 목표 값을 비교하며 데이터를 절반씩 줄여가는 과정을 반복하며 원하는 값을 찾는다. 2. 퀵 정렬 퀵 정렬은 데이터 중 하나의 값을 피벗으로 뽑고 데이터를 그 값보다 큰 쪽과 작은 쪽으로...2025.01.24
