[프로그램] 파스칼 과목별성적
- 최초 등록일
- 2002.09.23
- 최종 저작일
- 2016.01
- 18페이지/ 한컴오피스
- 가격 1,000원
목차
1. 문제(Homework)
2. 알고리즘(설계)
3-1. 소스( 출력한글)
3-2. 소스( 출력영문)
4. 결과 및 결과 출력
5. 고찰 및 분석
본문내용
1. 문제(Homework)
․여러 학생의 과목별 점수를 입력하고, 이를 합산하여 Sorting하는 프로그램을 작성하라.
- 서브프로그램을 두 개 이상 정의하여 작성하라.
- 한 학생의 data는 학번, 이름, 과목별 성적(3과목 이상)으로 하라.
- 가능하면 EOLN, EOF를 이용하여 임의의 학생수 및 과목수에 대해 처리할 수 있도록 하라.
cf) Turbo Pascal 7(사용)
2. 알고리즘(설계)
․임의의 과목입력(SubjectNumber)
begin
writeln(종료: Ctrl+Z');
readln(과목입력);
while(EOF가 아닐 때)
begin
과목수:=과목수+1;
readln(과목입력);
end
리턴값 := 과목수;
end;
․학생의 학번, 이름입력(IDName_input)
begin
readln(학번);
readln(이름);
end;
<중 략>
이 프로그램은 먼저 과목을 임의로 입력 받고 그 다음에 학생을 임의로 입력 받는다.(MAX까지) 그 다음에 총점과 평균을 계산하고, 그 평균을 가지고 Sorting한다. Sorting방법은 아주 단순한 방법으로 key값과 다른 나머지를 모두 비교하는 방식이고 Sorting하는 동안에 ID와 Name, Grade를 바꿔준다. 마지막 출력문에서는 Sorting한 것을 또 평균내줘서 거기서 정렬된 평균값을 구한다..
파스칼은 우리가 주로 배우는 C나 C++과는 다른 모습을 보여줬다. 구조체 그 자체를 배열로 쓰려고 했지만 지원되지 않아서 이중배열을 썼으며, Loop의 조건으로 입력값을 받지도 못하였다. 그래서 EOF를 사용하여 임의의 과목과 학생을 받기에 어려웠다. 그렇지만 입력하라는 말을 먼저 출력해줌으로써 해결이 되었다. 그 의문점을 아직 해결하지 못하였지만 버퍼에 EOF를 조사하기 위하여 readln를 해서 먼저 검사해주는 것같다.
참고 자료
없음