More actions
imported>jereneal20 No edit summary |
imported>jereneal20 No edit summary |
||
| Line 585: | Line 585: | ||
12.2중 for문을 이용하여 다음 모양의 별찍기를 작성해주세요 | 12.2중 for문을 이용하여 다음 모양의 별찍기를 작성해주세요 | ||
1. | 1. | ||
***** | ***** | ||
**** | |||
*** | |||
** | |||
* | |||
2. | |||
* | |||
** | |||
*** | |||
**** | **** | ||
***** | |||
***** | |||
13.혜림이누나, 상희누나만 푸는 과제: 다음 별찍기를 만들어주세요. | 13.혜림이누나, 상희누나만 푸는 과제: 다음 별찍기를 만들어주세요. | ||
n으로 일반화하여 입력받은 만큼 별찍기를 하도록 만들면 더욱 좋습니다. | n으로 일반화하여 입력받은 만큼 별찍기를 하도록 만들면 더욱 좋습니다. | ||
1. | 1. | ||
******* | ******* | ||
***** | |||
*** | |||
* | |||
2. | 2. | ||
* | |||
*** | |||
***** | |||
******* | ******* | ||
***** | |||
*** | |||
* | |||
2) | 2) | ||
위 과제가 너무 쉬웠던 분들을 위한 추가 과제 | 위 과제가 너무 쉬웠던 분들을 위한 추가 과제 | ||
| Line 641: | Line 641: | ||
2.배열에 숫자를 넣고, 그 배열에 특정 값이 있는지 찾는 프로그램(Search)을 작성해 주세요. | 2.배열에 숫자를 넣고, 그 배열에 특정 값이 있는지 찾는 프로그램(Search)을 작성해 주세요. | ||
---- | |||
[[새싹교실/2012/AClass]],[[새싹교실/2012]],[[2012년활동지도]] | |||
Latest revision as of 11:54, 16 June 2012
곽길문
복습과제
- 컴파일(Compile), 빌드(Build), 링크(Linking)에 대해 책에서 찾아보고 써 주세요.
-컴파일 : 프로그래밍언어로 코딩한 것을 컴퓨터가 이해할 수 있는 기계어 코드로 변환하는 작업
빌드: 컴파일과 링크를 합쳐 빌드라 한다. 빌드를 해야 컴퓨터가 실행할수 있는 형태의 기계 링크: 프로그램마다의 라이브러리를 내가 만든 것과 연결해 주는 작업
2.상수형, 변수형에 관해서 쓰고, 그 예를 2개만 들어주세요. -상수형 :상수는 변환 할 수 없는 고유의 수, 프로그램을 개발할 때 변경되어 발생 할 수 있는 버그등의 위험을 줄이기 위해 사용(#define,const)
변수형 (변수의 데이터 타입을 선언해 준다.int, float)
3.char형에 관해 써 주세요. ASCII코드를 통해 나타낸다는 것이 무엇을 의미하는지도 써 주세요. -char형(문자를 저장할 때 써주는 데이터 타입)
ascii코드는 표준으로 선택해서 문자를 표현함. 알파벳과 일부 특수문자를 포함하여 128개의 문자로 이루어짐
4.#include, 전처리과정이 무엇인지 쓰고, include의 예를 들어주세요. -전처리 과정이랑 컴퓨터가 코딩한 파일을 컴파일 하기 전에 여러 텍스트를 바꾸고 고치는 기능. include<stdio.h>
5.#define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.
- 확장성이 큰 것으로 , 긴 프로그램을 설계할 때 #define으로 정의된 것을 사용할수 있어서 편리하다.
6.++, --, &&, ||, +,-, !=, ==, = 이 무엇을 의미하는지 간단간단히 써 주세요.
-++:하나씩 증가시키는 것 --:하나씩 감소 &&:and ||:or +: 더하는 함수 -: 줄이는 함수 !=:not ==:같다 =:오른쪽의 값을 왼쪽에 할당
7.if, else, else if문을 이용한 프로그램을 하나 작성해주세요. else나 else if를 3번이상 써 주세요.
⁃ #include<stdio.h>
int main(void) { int num1; int num2;
printf(“relationships they satisfy: ”);
scanf(“%d%d”,&num1,&num2);
if(num1==num2){ printf(“%d is equal to %d\n”, num1,num2);
}else if(num1 != num2){ printf(“%d is not equal to %d\n”, num1, num2); }else if(num1 < num2){ printf(“%d is less than %d\n”, num1, num2); }else if(num1> num2){ printf(“%d is greater than %d\n”, num1, num2); }
return 0;
}
8.switch-case문을 이용한 간단한 프로그램을 하나 짜 보세요.(eg. Grade계산기 A,B,C) 성적 계산기의 경우 90점이상 A, 80점이상 B와 같은 구조입니다. 100점만점을 10으로 나누면 switch문으로 풀 수 있습니다.
- include <stdio.h>
int main() { int grade;
printf(“Enter the grades.\n”); scanf(“%d”,&grade);
switch(grade/10){
case 10: case 9: printf(“A”); break;
case 8: printf(“B”); break;
case 7: printf(“C”); break;
case 6: printf(“D”); break;
case 5: case 4: case 3: case 2: case 1: printf(“F”); break; }
}
9.while문을 이용한 프로그램을 하나 작성해 주세요. C수업시간이나 과제에 나온 것을 새로 짜보아도 좋습니다.
#include<stdio.h>
int main(){
int grade;
int counter=1;
while(counter <= 3){ printf(“Enter grade:”); scanf(“%d”, &grade); counter= counter +1;
} } 10.위 프로그램을 do-while문으로 바꿔 '똑같은'프로그램이 되도록 해보세요.
#include<stdio.h>
int main(){
int counter =1; int grade;
do { printf(“Enter grade:”); scanf(“%d”,&grade); counter = counter +1; }while(counter<=3);
} 11.위 프로그램을 for문으로 바꿔 풀어보세요.
#include<stdio.h>
int main(){
int counter =1; int grade;
for(counter<=3){
printf(“Enter grade:”); scanf(“%d”,&grade); counter = counter +1; } } 12.2중 for문을 이용하여 다음 모양의 별찍기를 작성해주세요.
파일 첨부
예습과제
예습을 위한 과제
1.함수가 무엇인지 쓰고, 예제 프로그램을 하나 만들어 주세요.
- 함수란 프로그램내에서 동일한 명령문들의 반복되는 부분을 모아놓은 집합체이다. 피연산자나 식과 같이, 함수는 데이터형과 값을 갖고 있다.
float addfun (para11,para2) // float 데이터형으로 정의된 함수 addfun 선언 float para1,para2; // 데이터형 선언 { float a; // 함수 내부의 지역 변수 a 선언 a= para1 + para2; return a; //반환값 선언 }
2.return이 무엇인지 써 주세요.
- return은 현재있는 함수에서 빠져나와 그 함수를 호출했던 곳으로 되돌아 가라는 뜻, 되돌아 가면서 그 함수를 호출했던 곳에 어떤 값을 반환하는 것,
return 0;은 0이라는 값을 반환하라는 의미
3.함수형이 무엇인지 쓰고, void타입은 왜 return하지 않는지 써주세요.
- 함수형 프로그래밍은 프로그래밍의 주된 구조가 함수 호출에 기반을 둔 프로그래밍을 말한다. 기존 명령형 언어로 작성한 프로그램보다 간결하고 더 추상적이며 이해하기 쉽고 형식적인 분석과 조작이 용이하다는 특징이 있다.
void는 값을 반한하지 않는다는 뜻이므로 return하지 않는다.
4.재귀함수가 무엇인지 써 주세요.
- 함수내에서 자기자신을 다시 호출하는 함수
5.배열이 무엇인지 쓰고, 왜 배열이란 개념이 나타났는지(왜 쓰는지) 써 주세요. -동일한 데이터형을 가진 자료구조로, 변수이름을 각각 다른 이름으로 사용해야 하는 번거러움을 줄이기 위해 사용한다.
6.배열을 사용한 간단한 프로그램을 하나 만들어보세요.
- include<stdio.h>
int main() {
int x[3]; sum =0;
x[0] = 10; x[1] = 9; x[2] = 8;
for (i=0;i<3;i++) sum+= x[i]; printf("%d\n",sum); }
한송이
1.컴파일(Compile), 빌드(Build), 링크(Linking)에 대해 책에서 찾아보고 써 주세요.
컴파일 : 작성된 *.c파일을 기계어로 변환하는 과정 빌드 : 실행파일을 만들어 내는 것 링크 : 기계어파일을 기타 라이브러리 파일과 묶어서 실행파일을 만드는 과정
2.상수형, 변수형에 관해서 쓰고, 그 예를 2개만 들어주세요.
상수형 : int, double.... ???
3.char형에 관해 써 주세요. ASCII코드를 통해 나타낸다는 것이 무엇을 의미하는지도 써 주세요.
문자형, 넓은 범위에서 보면 일종의 정수형으로 사용될수 있다.
4.#include, 전처리과정이 무엇인지 쓰고, include의 예를 들어주세요.
#include : 전처리 지시자,<stdio.h>같은 것을 찾아 지시자가 놓인 위치에 그 파일의
내용을 포함 시키도록 지시한다.
표준 입출력 라이브러리 함수를 사용하기 위해서 쓴다.
전처리 과정 : 컴파일러가 프로그램을 처리하기전에 특별한 일을 수행해주는 과정
5.#define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.
#define : 특정 대상을 정의함으로써 전처리기가 이를 특별하게 다루도록 하고싶을때 사용한다.
이렇게 정의된 특정 대상을 매크로 라고 한다. 매크로는 전처리기 과정에서 정의된
내용으로 확장된다.
- include<stdio.h>
- define MASSAGE " have a nice day!"
int main(void) { puts(MASSAGE); return 0; }
6.++, --, &&, ||, +,-, !=, ==, = 이 무엇을 의미하는지 간단간단히 써 주세요.
++ : 증가연산자 예)a++는 a=a+1과 같다 -- : 감소연산자 예)a--는 a=a-1과 같다 && : 논리 AND 예) a&&b : a,b모두 참이면 1이고 그렇지 않으면 0이다 || : 논리 OR 예)a||b : a,b중 적어도 한개가 참이면 1이고 그렇지 않으면 0이다 + : 더하기 - : 빼기 != : 같지 않다 == : 같다 = : 할당
7.if, else, else if문을 이용한 프로그램을 하나 작성해주세요. else나 else if를 3번이상 써 주세요.
- include<stdio.h>
int main(void) { int a=10;
if(a>0) { printf("a는 0보다 크다"); }
else if(a<0) { printf("a는 0보다 작다"); }
else if(a==0) { printf("a는 0이다"); } return 0;
}
8.switch-case문을 이용한 간단한 프로그램을 하나 짜 보세요.(eg. Grade계산기 A,B,C)
- include<stdio.h>
int main(void) { int a; printf("1~4중 숫자를 선택하세요"); scanf("%d",&a);
switch(a) { case 1: printf("1을 선택했다."); break;
case 2: printf("2을 선택했다."); break;
case 3: printf("3을 선택했다."); break;
case 4: printf("4을 선택했다."); break;
default : printf("잘못된 입력"); } return 0; }
9.while문을 이용한 프로그램을 하나 작성해 주세요. C수업시간이나 과제에 나온 것을 새로 짜보아도 좋습니다.
- include<stdio.h>
int main(void) { int a=1;
while(a<5) { a++; printf("%d\n",a); }
return 0;
}
10.위 프로그램을 do-while문으로 바꿔 '똑같은'프로그램이 되도록 해보세요.
- include<stdio.h>
int main(void) { int a=1;
do{ a++; printf("%d\n",a); } while(a<5);
return 0;
}
11.위 프로그램을 for문으로 바꿔 풀어보세요.
- include<stdio.h>
int main(void) { int a;
for(a=2;a<5;a++) { printf("%d\n",a); } return 0; }
12.2중 for문을 이용하여 다음 모양의 별찍기를 작성해주세요.
#include<stdio.h>
int main (void) {
int i,j;
printf("1\n") ;
for(i=1;i<=5;i++)
{
for(j=1;j<=i;j++) { printf(" "); }
for(j=5;j>=i;j--) { printf("*"); } printf("\n");
}
printf("2\n");
for(i=1;i<=5;i++) {
for(j=1;j<=i;j++) { printf("*"); }
for(j=5;j>=i;j--) { printf(" "); } printf("\n");
}
return 0; }
삼각형
- include<stdio.h>
int main (void) {
int i,j;
for(i=1;i<=5;i++)
{
for(j=0;j<i;j++) { printf(" "); }
for(j=5;j>=i;j--) { printf("*"); } for(j=4;j>=i;j--) { printf("*"); }
printf("\n");
}
return 0; }
도상희
- 컴파일(Compile), 빌드(Build), 링크(Linking)에 대해 책에서 찾아보고 써 주세요.
컴파일(Compile) : 컴퓨터가 이해할 수 있도록 기계어로 변환하는 과정 빌드(Build) : 소스파일이 다음 단계를 거쳐 실행파일이 생성되는 과정. 링크(Linking) : 컴파일된 코드를 라이브러리 파일과 연결시켜 주는 단계.
- 상수형, 변수형에 관해서 쓰고, 그 예를 2개만 들어주세요.
변수형 : 값을 저장하기 위한 공간, 데이터를 저장할 수 있는 메모리 공간에 붙여진 이름을 의미
- int a; (int형 변수 a 선언), float b(실수형 변수 b 선언)
상수형 : 변할 수 없는 고유의 수
- const int max=100; (int형 상수 max를 100으로 선언), #define AA 35(형태를 지정하지 않는 상수명 AA에 정수형 값을 대입)
- char형에 관해 써 주세요. ASCII코드를 통해 나타낸다는 것이 무엇을 의미하는지도 써 주세요.
Char 1바이트 크기의 정수형 변수 ASSCII코드를 통해 나타내는 것 : 숫자를 이용한 문자의 표현.
- #include, 전처리과정이 무엇인지 쓰고, include의 예를 들어주세요.
표준 라이브러리 함수를 사용하기 위해서 해당 함수의 선언을 포함하는 헤더파일을 포함해야한다.
- include <stdio.h>
- #define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.
매크로 상수를 정의할 때 사용. 01.c 첨부!
- ++, --, &&, ||, +,-, !=, ==, = 이 무엇을 의미하는지 간단간단히 써 주세요.
++ : 증가 연산자 -- : 감소 연산자 && : 논리 연산자; 피연산자가 모두 참이면 true를 반환(and의 의미) || : 논리 연산자 ;피연산 중 하나라도 참이면 ture를 반환(or의 의미) + : 덧셈 연산자 / 단항 연산자(피 연산자 하나) 기능도 지님 - : 뺄셈 연산자 / “ != : 같지 않은지 비교하는 관계 연산자 == : 같은지 비교하는 관계 연산자 = : 대입 연산자
- if, else, else if문을 이용한 프로그램을 하나 작성해주세요. else나 else if를 3번이상 써 주세요.
02.c 첨부!
- switch-case문을 이용한 간단한 프로그램을 하나 짜 보세요.(eg. Grade계산기 A,B,C)
-성적 계산기의 경우 90점이상 A, 80점이상 B와 같은 구조입니다. 100점만점을 10으로 나누면 switch문으로 풀 수 있습니다. 03.c 첨부!
- while문을 이용한 프로그램을 하나 작성해 주세요. C수업시간이나 과제에 나온 것을 새로 짜보아도 좋습니다.
04.c 첨부!
- 위 프로그램을 do-while문으로 바꿔 '똑같은'프로그램이 되도록 해보세요.
05.c 첨부!
- 위 프로그램을 for문으로 바꿔 풀어보세요.
06.c 첨부!
- 2중 for문을 이용하여 다음 모양의 별찍기를 작성해주세요.
07.c 첨부!
- 형변환에 관하여
자동 형 변환 1)대입 연산시 발생 : 오른쪽에 존재하는 데이터가 왼쪽에 존재하는 데이터의 자료형으로 자동 형 변환된다. (값의 표현 범위가 넓은 데이터로의 형 변환은 아무런 문제가 발생하지 않는다.) 2)산술 연산 과정에서의 형 변환 : 산술 연산 과정에서 일어나는 형 변환은 데이터의 손실이 최소화되는 방향으로 진행된다.
강제 형 변환(명시적 형 변환) 변수 앞에 괄호를 열고 자료형의 이름을 넣어준다.
- 삼항 연산자에 관하여
조건 ? 참 : 거짓 조건이 참이면 참문장 수행, 거짓이면 거짓 문장 수행
- 혜림이누나, 상희누나 과제를 for문을 각각 3개, 4개만 써서 해보세요.(hint 2*n-1)
08.c첨부 – 힌트(2*n-1)이용해서 다이아몬드 윗부분은 찍었는데 밑에는 못하겠네영!
- 함수가 무엇인지 쓰고, 예제 프로그램을 하나 만들어 주세요.
필요한 기능을 독립적으로 구현한 코드 09.c 첨부!
- return이 무엇인지 써 주세요.
현재의 함수에서 빠져나가는 것.
- 함수형이 무엇인지 쓰고, void타입은 왜 return하지 않는지 써주세요.
Void는 반환할 값이 없다고 선언한 것이므로 return 하지 않아도 된다.
- 재귀함수가 무엇인지 써 주세요.
자신이 스스로를 호출하는 함수
- 배열이 무엇인지 쓰고, 왜 배열이란 개념이 나타났는지(왜 쓰는지) 써 주세요.
사용자가 원하는 크기 만큼 변수를 선언할 수 있도록 해주는 변수 구조화 방법. 다수의 데이터를 저장하고 처리할 때 유용하게 사용되기 때문에
- 배열을 사용한 간단한 프로그램을 하나 만들어보세요.
10.c 첨부!
- 재귀함수를 이용한 프로그램을 하나 짜 보세요.(eg.1~n까지의 합, n!구하기등)
11.c 첨부!
- 배열에 숫자를 넣고, 그 배열에 특정 값이 있는지 찾는 프로그램(Search)을 작성해 주세요.
황혜림
1) 1.컴파일(Compile), 빌드(Build), 링크(Linking)에 대해 책에서 찾아보고 써 주세요. 컴파일(Compile)
- 고급언어로 작성된 프로그램을 기계어로 번역하는 것
빌드(Build)
- 컴파일+링크
링크(Linking)
- 라이브러리나 다른 파일에 있는 함수들과 연결시키는 과정
2.상수형, 변수형에 관해서 쓰고, 그 예를 2개만 들어주세요.
- 상수는 프로그램이 실행되는 동안 값이 변하지 않는 데이터이고, 변수는 데이터를 저장하는 데 사용되는 기억 장소의 이름이다.
3.char형에 관해 써 주세요. ASCII코드를 통해 나타낸다는 것이 무엇을 의미하는지도 써 주세요.
- ASCII문자코드는 영문자, 숫자, 특수문자 등을 포함한 128개의 문자를 7비트를 사용하여 표현한다. 8진수로 표현된 가로와 16진수로 표현된 세로를 모으면 해당 문자의 코드가 된다. ‘A’는 10진수 65에 대응되고 ‘a’는 97에 대응된다.
4.#include, 전처리과정이 무엇인지 쓰고, include의 예를 들어주세요.
- 컴파일러가 프로그램을 번역하기 전에 소스프로그램을 처리하는 과정
#include <stdio.h>
5.#define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.
- 프로그램에서 여러 번 사용되는 상수 값을 매크로 상수로 정의해서 사용하는 것
6.++, --, &&, ||, +,-, !=, ==, = 이 무엇을 의미하는지 간단간단히 써 주세요.
++ : 값을 1 증가 -- : 값을 1 감소 && : AND 연산자 || : OR 연산자 + : 값을 더해준다. - : 값을 빼준다. != : 같지 않으면 (비교) == : 같으면 (비교) = : 오른쪽의 값을 왼쪽에 넣어준다.
7.if, else, else if문을 이용한 프로그램을 하나 작성해주세요. else나 else if를 3번이상 써 주세요.
8.switch-case문을 이용한 간단한 프로그램을 하나 짜 보세요.(eg. Grade계산기 A,B,C)
성적 계산기의 경우 90점이상 A, 80점이상 B와 같은 구조입니다. 100점만점을 10으로 나누면 switch문으로 풀 수 있습니다.
9.while문을 이용한 프로그램을 하나 작성해 주세요. C수업시간이나 과제에 나온 것을 새로 짜보아도 좋습니다.
10.위 프로그램을 do-while문으로 바꿔 '똑같은'프로그램이 되도록 해보세요.
11.위 프로그램을 for문으로 바꿔 풀어보세요.
12.2중 for문을 이용하여 다음 모양의 별찍기를 작성해주세요
1.
*****
****
***
**
*
2.
*
**
***
****
*****
13.혜림이누나, 상희누나만 푸는 과제: 다음 별찍기를 만들어주세요. n으로 일반화하여 입력받은 만큼 별찍기를 하도록 만들면 더욱 좋습니다.
1. ******* ***** *** * 2. * *** ***** ******* ***** *** *
2)
위 과제가 너무 쉬웠던 분들을 위한 추가 과제 1.형변환에 관하여
- 묵시적 형 변환은 한 자료형에서 이 자료형의 값을 저장하는 데 필요한 기억 장소의 크기가 같거나 큰 다른 자료형으로 자동적으로 변환되는 것이고, 명시적 형 변환은 임시적으로 다른 형으로 변환하는 것
2.삼항 연산자에 관하여
? : 는 C언어의 유일한 삼항연산자이다. 피연산자가 세개가 필요한 연산자이다.
3.혜림이누나, 상희누나 과제를 for문을 각각 3개, 4개만 써서 해보세요.(hint 2*n-1)
- 두 번째 별찍기 for문 4개만 사용해서 하는 것은 못했습니다.
3) 예습을 위한 과제
1.함수가 무엇인지 쓰고, 예제 프로그램을 하나 만들어 주세요.
- 작은 프로그램, 서브프로그램
2.return이 무엇인지 써 주세요.
- 함수의 결과 값으로 돌려주는 명령어
3.함수형이 무엇인지 쓰고, void타입은 왜 return하지 않는지 써주세요.
- void타입은 리턴 할 값이 없을 때 사용하기 때문이다.
4.재귀함수가 무엇인지 써 주세요.
- 함수 본체를 수행하는 도중에 자신을 다시 호출하는 함수
5.배열이 무엇인지 쓰고, 왜 배열이란 개념이 나타났는지(왜 쓰는지) 써 주세요.
- 배열이란 같은 자료형의 변수 여러 개를 하나로 묶을 것을 말한다. 프로그램의 길이를 줄이기 위해서(?)
6.배열을 사용한 간단한 프로그램을 하나 만들어보세요.
4) 위 과제가 너무 쉬웠던 분들을 위한 추가 과제
1.재귀함수를 이용한 프로그램을 하나 짜 보세요.(eg.1~n까지의 합, n!구하기등)
2.배열에 숫자를 넣고, 그 배열에 특정 값이 있는지 찾는 프로그램(Search)을 작성해 주세요.