쉽게 풀어 쓴 C언어 Express 1장 Exercise 문제
1. (1) 이진법
2. (2) 컴파일러
3. (2) 순서도
4. (3)->(2)->(5)->(1)->(6)->(4)
5. (2) 객체 지향 프로그래밍이 가능하다. 6. (1) 알고리즘
7. (1), (2), (3)
싱글벙글 재미로 보는 한국여자의 다양한 얼굴유형.jpg
8. (2)
9. (1)
10. 이미지의 경우, 각 픽셀의 밝기값이 숫자로 표현된다. 음악의 경우, 음파의 높이가 숫자
로 표현된다. 좀 더 자세한 내용을 인터넷에서 조사하여 본다.
11. * 아날로그 방식의 장점: 대용량의 저장이 가능하다. * 아날로그 방식의 단점: 잡음이나 왜곡에 약하다. 조작이나 변경이 어렵다. * 디지털 방식의 장점: 잡음에 강하다. 고기능의 추구가 가능하다. 소형화, 저가격화가 가능하다. 멀티미디어가 가능하게 되었다.
* 디지털 방식의 단점: 값을 표현하는 비트의 개수가 적은 경우에, 화질이나 음질이 떨어진다.
12. 0과 9까지를 사용하는 십진법에 비하여 0과 1만을 사용하는 이진법이 표현하기가 쉽기
때문이다. 즉 이진법은 간단한 스위치를 이용하여 0과 1을 표현할 수 있다. 이 스위치들은
전자 회로를 이용하여 간단하게 구현할 수 있다.
13. * MOV(Move): 데이터 이동 (전송)
* XCHG( Exchange Register/memory with Register ): 첫 번째 오퍼랜드와 두 번째 오퍼랜드 교환
* IN( Input from AL/AX to Fixed port ): 오퍼랜드로 지시된 포트로부터 AX에 데이터 입력
14.고대의 기계들은 정해진 기능만을 수행하는 반면에, 현대의 컴퓨터는 범용적인 기계로서 프로그램만 변경하면 다양한 기능을 수행할 수 있다.
15. * 컴퓨터 내부 부품 : CPU, RAM, 마더보드, 하드디스크, 그래픽카드, 케이스/파워서플라이, 시디롬, 플로피디스크드라이브, 사운드카드, 네트워크 카드(랜카드), 시디레코더, DVD드라이브
* 컴퓨터 외부 부품 : 모니터, 키보드, 마우스, 스캐너, 프린터
16. 인간이 문제를 해결하는 방법을 고안하여 한번만 알려주면 컴퓨터는 반복하여 불평없이
작업을 할 수 있기 때문이다.
17. * 기계어 : 특정 컴퓨터의 명령어를 이진수로 표시한 것이며 컴퓨터 하드웨어를 설계할 때 결정된다.
* 어셈블리어 : CPU의 명령어들을 이진수가 아닌 영어의 약자로 표기한 것이다.
* 고급언어 : 특정한 컴퓨터의 구조나 프로세서에 무관하게 독립적으로 프로그램을 작성할수 있는 언어
18. 객체 지향이란 실제 세계가 구성되어 있는 것과 비슷하게 소프트웨어도 설계하자는 것이다. 우리가 살고 있는 실제 세계는 여러 개의 객체(object)로 이루어져 있다. 객체란 실세계 또는 추상적으로 존재하는 사물을 객체(object)라고 한다.
19. 미리 정해진 특정 기능을 수행하기 위해 컴퓨터의 하드웨어와 소프트웨어가 조합된 전자 제어 시스템을 말한다.
20. 아이폰은 Objective-C , 안드로이드는 Java, 윈도폰은 C# 언어를 사용한다. 3가지 언어모두 객체 지향 언어이다.
21. (a) 프린터의 전원을 켠다->종이를 넣는다.->인쇄 버튼을 누른다.
(b) 상품을 선택한다->배송지를 입력한다.->결제를 한다
22. 사용자에게 두수를 입력받는다.-> 두수를 더하여 합을 sum에 저장한다.-> sum을 2로 나누어서 화면에 표시한다.
23. 시작 사용자로부터 반지름 r을 입력받는다.
d = 2 * r
cir = 3.14 * d
종료
24. 두 사람이 두 장의 카드를 뽑는다. -> 가장 큰 숫자의 카드를 비교한다. -> 더 큰 사람이 이기고 만약에 동일하면 나머지 한 장을 서로 비교한다. -> 더 큰 사람이 이기고 두 번째 카드도 같은 수일 경우 비기게 된다.
25. 10개의 숫자 중 가장 작은 숫자를 제일 첫 번째 있는 숫자와 위치를 바꾼다. -> 첫 번째 숫자를 제외하고 두 번째부터 10번째까지의 숫자 중 가장 작은 숫자를 두 번째 숫자와 위치를 바꾼다. -> 3번째부터 10번째까지 숫자 중 가장 작은 숫자를 3번째 숫자와 위치를 바꾼다. ->...-> 9번째부터 10번째까지 숫자 중 작은 숫자를 9번째 숫자와 위치를 바꾼다.
28. 첫 번째 컵에 우유가 담겨져 있고 두 번째 컵에 주스가 담겨져 있다고 가정한다. -> 첫번째 컵에 있는 것을 세 번째 컵에 옮긴다. -> 두 번째 컵에 있는 것을 첫 번째 컵에 옮긴다. -> 세 번째 있는 것을 두 번째 컵에 옮긴다. 29. (a) 숫자들의 목록의 처음에 있는 숫자와 찾고자 하는 숫자를 비교한다. -> 일치하지 않으면 다음 숫자와 비교한다. -> ,..., -> 끝에 있는 숫자와 비교하여 일치하자 않으면 탐색 실패
(b) 숫자들의 목록의 중간에 있는 숫자와 비교한다. -> 찾는 숫자가 중간에 있는 숫자보다 크면 뒷쪽에서 다시 반을 잘라 검색을 하고, 찾는 숫자보다 작으면 앞쪽에서 다시 반을 잘라 검색을 한다.-> 이런식으로 반복하여 숫자를 찾는다.
30. * 문법적인 오류 : The boy, whom(->who) was thought to be absent-minded, really had a very active mind.
* 논리적인 오류 : "This statement is false"
31. 차후에 생길지도모르는 버그 수정, 사용자의 추가 요구 사항 충족
32.
(1) 사용자로부터 정수 x를 입력받는다.
(2) 정수 i에 1을 대입한다. (3) 정수 n에 0을 대입한다. (4) x를 i로 나눈다. 나누어 떨어지면 약수의 개수 n을 하나 증가한다. (5) i를 하나 증가한다.
(6) i가 x보다 작거나 같으면 (4)로 돌아간다. (7) 약수의 개수 n이 2이면 소수이다.
'IT > 프로그래밍' 카테고리의 다른 글
쉽게 풀어 쓴 C언어 Express 3장 Exercise 문제 (0) | 2020.12.05 |
---|---|
쉽게 풀어 쓴 C언어 Express 2장 Exercise 문제 (0) | 2020.12.05 |
C언어 코딩 도장 연습문제 12.4 (0) | 2020.12.04 |
C언어 코딩 도장 연습문제 11.6 (0) | 2020.12.04 |
C언어 코딩 도장 연습문제 10.7 (0) | 2020.12.04 |
댓글