[성결대학교 A+ 레포트] C++ 프로그래밍 문제만들기
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[성결대학교 A+ 레포트] C++ 프로그래밍 문제만들기에 대한 보고서 자료입니다.

목차

1. <보기>와 같은 소스 코드에 대해 여섯 친구가 이야기를 나누었다. 올바른 설명을 한 사람을 있는대로 고르시오. (부분점수 없음, 5점)
2. 다음 중 빌드 오류의 원인을 야기하는 코드는? (답을 고르지 않으면 0점, 답을 골랐으나 틀렸을 경우 -2점, 답을 맞췄을 경우 +3점)
3. <보기C>의 소스코드 결과로 출력되는 결과는 무엇인가? [8점]
4. 다음은 수준별 문제입니다. 자신이 자신있는 문제를 하나만 골라서 푸세요. (단, 2개 이상 풀시 수준별 문제는 모두 오답처리 합니다.) [4점]

본문내용

sum(0))
이 문제를 풀기 위해서는 경고 메시지가 뜬다는 사실 뿐만 아니라 프로그램 실행이 정상적으로 가능하다는 점 그리고 C++스타일 함수 표기법을 알고 있어야 문제를 맞출 수 있다.
지훈 : <보기>의 소스 코드에서는 using std::cout; 문장에서 cout 객체만 네임스페이스를 사용한다는 것을 알 수 있다. 따라서 <보기>의 E 문장에 std:: 접두어를 붙어야 한다. (std::string a = \"Happy\";)
기존 using namespace std; 에 익숙한 학생에게 함정을 제공하기 위한 문제의 의도였다.
수정 : 블록에서는 세미콜론을 쓰지 않는다.
블록에 대해 확실하게 알고 있지 않은 학생들이 있다면 그럴듯한 말로 답 유추가 어려웠을 것이다.
2. A) char ch[5] = \"Hello\";
[출제 의도] 컴파일러가 문자열을 저장할 때 널 문자를 자동으로 추가해서 저장한다는 것을 이해하고 있는가? [p62]
[객관식 문제에, 답을 고르지 않으면 0점, 답을 골랐으나 틀렸을 경우 -2점, 답을 맞췄을 경우 +3점을 부여한 까닭]
객관식의 경우 찍어서 맞추는 경우가 종종 있다. 시험의 변별력이 이렇게 객관식으로 찍어서 맞춰 석차가 올라가는 것을 방지하고자, 오답 시 -2점과 답을 고르지 않으면 0점을 제시하여 정확하게 알면 맞추고, 객관식을 함부로 찍지 못하도록 설계하였다.
[해설]
즉, Hello 문자에 널문자까지 포함하여 크기가 총 6인 문자열이 된다.
따라서 char ch[n] = \"Hello\"; 라 하였을 때 n은 6이상이거나, n이 없는 char ch[ ] = \"Hello\"; 문장이 되어야 한다.
3.
<출력결과>
3
-5
-32768
[출제 의도] unsigned, signed 개념과 오버플로우 개념을 이해하고 이 개념을 비트이동 연산자와 sizeof 연산자를 연결해서 소스코드를 이해할 수 있는가?
[해설]
<보기A>와 <보기A-answer>의 소스코드에서는 unsigned int, signed int, short int 형의 바이트 크기를 제시하였다. (컴퓨터마다 혹여 자료형마다 바이트수가 다를까봐 제시하였다.)
<보기B>와 <보기B-answer>의 소스코드에서는 pow( ) 함수 연산을 제시하였고, pow( ) 함수 연산은 고등학교 수학 과정에서 배우는 등비수열의 합으로도 충분히 구할 수 있으므로 연산된 값을 주지 않더라도 충분히 해결할 수 있는 문제이다. 즉, 시험문제 였다면 굳이 <보기B>를 제시하지 않았을 것이다. 그러한 까닭은 C++ 프로그래밍 수업계획서에 따르면, 역량명이 기초지식인 항목에 “수학, 기초과학 및 전문교양의 주요 이론을 일부 이해하고 있으며, 이들을 적용하여 부분적으로 전공문제들을 해결할 수 있다.”와 같이 명시되어 있기 때문에 중,고등학생의 수학적 기초지식에 대해 평가가 가능하다.
<보기C>에 있는 unsigned int형은 크기가 4바이트인 자료형이므로, 자료형의 범위는 0~2의 32 제곱 -1 까지이며 부호가 없는 정수형이므로 음수의 범위는 없다.
따라서 2의 32제곱 +3 은 오버플로우가 발생함을 이용해야 한다.
따라서 비트로 표현하면 다음과 같다.
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
최상위비트(MSB)최하위비트(LSB)
<보기C>에 있는 short int형은 크기가 2바이트인 자료형이라고 <보기A>에서 제시하였으므로, 자료형의 범위는 0~2의 15제곱 -1 과 -1~ -2의 15제곱 이다.
따라서 비트로 표현하면 다음과 같다.
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
최상위비트(MSB)최하위비트(LSB)
4. 수준별 문제의 의도
C++프로그래밍을 어려워하는 학생들부터 잘하는 학생들까지 한 문제로 변별력은 애매할 것이다. 따라서 단계별로 다른 점수를 부여하는 수준별 문제를 제시하였다.
4-A. using namespace std;
네임스페이스를 사용하여 std:: 접두어를 생략할 수 있다.
4-B. ++y
4-C. (소스코드)
#include
#include
using namespace std;
int main()
{
int i = 12345;
cout << \"123456789012345678901234567890\" << endl;
cout << setw(10) << i << endl;
cout << setw(20) << i << endl;
return 0; }
  • 가격500
  • 페이지수9페이지
  • 등록일2021.10.07
  • 저작시기2021.10
  • 파일형식한글(hwp)
  • 자료번호#1156739
본 자료는 최근 2주간 다운받은 회원이 없습니다.
다운로드 장바구니