파스칼 프로그래밍/따라하기

위키책, 위키책

이 문서는 덜 쓰였으며, 앞으로도 한동안 완성되지 않을 것입니다.


입문예제[+/-]

  • 코드 파일을 만듭니다. &File -> &New
  • 저장해 봅니다. &File -> Save &As
예제 설명을 위해 파일 이름은 HWorld.pas로 정하겠습니다.
  • 이 예제의 목적은 어떤 문자열을 출력하고 끝내는 프로그램을 만드는 것으로서, 프로그램의 간단한 구조에 대해 익히기 위한 것입니다.

Program[+/-]

  • Program은 프로그램의 시작을 알리는 도입부입니다.
    • Program 뒤의 값에 대해서는 본문을 참조하세요.
Program HWorld;
  • ; 는 문장의 종결을 뜻합니다. 파스칼은 모든 문장에서 종결의 의미로 ;을 쓸 것입니다. 눈에 보이는 형식이 칸이 띄어져 있거나, 줄이 띄어져 있는것과 관계없이 실제로 컴파일할때는 오직 ;만을 고려하게 됩니다.

begin ~ end[+/-]

  • beginend로 묶인부분이 실질적으로 프로그램이 실행되는 부분이며, 프로그램이 무엇을 할지를 구체적으로 서술하는 부분입니다.
  • 프로그램이 실행되면, 이 begin 뒤의 부분부터 한 줄씩 실행되며 특별한 오류가 없는 한 그대로 진행됩니다.
  • 이번 예제의 목적은 단순히 문자열을 출력하는 것이므로, 이 사이에 단순히 출력함수만 쓸 것입니다.
Program HWorld;
begin
  Write('HelloWorld');
end.
  • 생각해볼거리 : 이 코드는 HelloWorld를 출력해라는 프로시저 하나로 이루어져 있습니다. 그런데 왜 HelloWorld는 ' 두개로 묶여 있을까요?
    • 답 : 파스칼의 수많은 예약어, 함수, 변수 이름과 구분하기 위해, 단순한 문자열은 ' 두개로 둘러쌉니다. 문자열 내용 중 작은따옴표를 입력해야 할 때는 두개를 연달아 적습니다.
Write('L''Espero');

결과:

L'Espero

이번에는 HelloWorld를 세번 출력하도록 저것을 바꾸어 봅시다. 적절히 처리해보세요.

Program HWorld;
begin
  Write('HelloWorld');
  Write('HelloWorld');
  Write('HelloWorld');
end.

결과를 확인하셨나요?

아마 보기 좋지 않을것입니다. 한 줄을 띄워주기위해, Write대신 WriteLn을 씁니다. WriteLn은 실행 후 한 줄을 띄워줍니다. Write(#10)과 같은 효과를 가집니다. (이것에 대해서는 아스키코드에 관한 내용을 참고하세요.)

Program HWorld;
begin
  WriteLn('HelloWorld');
  WriteLn('HelloWorld');
  WriteLn('HelloWorld');
end.

이때, 갑자기 HelloWorld를 Hello World로 바꾸고 싶어졌다고 생각해봅시다. 그러면 우리는 HelloWorld를 세번이나 바꾸어야 합니다. 이런 것을 막기위해, 미리 저장해둘 수 있습니다.

var를 이용해 변수의 저장공간을 만들어둘 수 있습니다. 변수를 선언하는 위치나, 변수의 자료형은 본 페이지를 참조하세요. 문자열을 저장할 공간 S1을 만들어 HelloWorld를 저장하겠습니다.

Program HWorld;
Var
  S1: String;
begin
  S1 := 'HelloWorld';
  WriteLn(S1);
  WriteLn(S1);
  Write(S1);
end.

다섯째줄에서 :=는 대입 연산자입니다. 오른쪽의 내용을 왼쪽의 변수에 대입하게 됩니다.