ADVERTISEMENT

「포트란」은 인간언어와 비슷한 컴퓨터의 언어

중앙일보

입력

지면보기

종합 12면

설정된 어떤 문제를 컴퓨터로 처리할때 복잡하고 어려운 기계언어를 사용하지 않고 우리가 보롱 사용하는 인간의 언어와 비슷한 구조로 되어진 포트란이나 코볼등의 언어로 좀더 손쉽고 편리하게 프로그램을 작성할 수 있음은 이미 명했었다.
그러면 약간 무리가 될지 모르셨으나 아주 간단한 하나의 프로그램을 작성해 봄으로써 컴퓨터 프로그래밍이 무엇이고 컴퓨터 언어는 어떤 식으로 되어있는 가를 알아 보기로 한다.
사용하려는 언어는 포트란인데 포트란언어는 우리가 수학에서 사용하는 수식의 형태를 그대로 기입하여표현할 수 있어 특히 과학기술 계산에 널리 이용되는 아주 편리한 컴퓨터언어다.
주어진 문제는 1에서부티 100까지 l씩 증가하면서 연속적으로 변하는 모든 숫자를 합하여 그 답을 구하는 일을 컴퓨터로 처리하고자 하는 것이다. 물론 이런 정도의 작업을 컴퓨터로 처리할 필요야 없겠지만 컴퓨터의 프로그래밍 기법을 이해하기 위해 일부러 들어왔다.
포트란언어에서는 =라는 기호가 아주 많이 쓰이는데 이때의 =기호는 수학에서 처럼 같다는 의미가 아니라 =기호의 오른쪽에 기입된 수식을 계산하여 왼족에서 지정한 기억장소에 기억시킨다는 의미를 가진다.
즉 포트란에서 =을 포함하는 명령은 언제나「기억장소명=수식」이라는 일정한 형식을 가진다. 이때 기억장소의 이름은 영문자로 시작되는영문, 숫자의 조합으로 만들어진다. 따라서 K=l 이라는 명령의 의미는 K는 l이라는 뜻이 아니고 「K라는 이름이 붙어있는 기억장소에 숫자 1을 기억시켜라」하는 의미가 된다.
한걸음 더 나아가서 K=K+1이라는 명령의 의미는 「기억장소 K의현재의 기억내용에 1을 더하여 그결과를 다시 K라는 기억장소에 기억시켜라」 는 명령어로 컴퓨터의 프로그래밍에서 많이 사용되는 중요한 누적기법이다.
=기호가 포함되는 포트란의 명령에서는 언제나 =의 오른쪽에 기입된계산을 먼저 수행한후 그 결과를 =의 왼쪽에 기입된 기억장소에 기억시키게된다.

<그림>1은 기억장소 K에 초기조건으로 1을 기억시킨후 K=K+1이라는 명령에 의하여 K의 기억내용을 1씩 증가시키면서 K가 100이될때까지 반복하여 변화시키는 과정을 나타내고 있다.
우리들은 여기서 마름모로 표시된 판단기호의 역할을 특히 주의 깊게 생각해 보아야 하는데, 판단기호는 K가 l00에 도달하기 전까지는 K=K+1이라는 똑같은 명령을 반본시켜 K가 l씩 증가되도록 해주며, K가 l00이 되었을때는 반복처리를 중단하고 다음 작업으로 진행 될수있도록 하는 루프를 수행하고있다.

<그림2>는 완성된 플로차트다. M=M+K라는 명령은 기억장소 M의 내용에 K를 더하여 그 결과를 M에다시 보관시키라는 명령이다. 즉 K는 l씩 증가하지만 M은 K씩 증가한다. 따라서 기억장소 M은 K가 l에서부터 100이 될때까지 l씩 증가하면서 변해가는 모든값을 합하여보관하는 역할을 담당하고, K가 l00이 되어 루프를 빠져나왔을 때에는 M에는 1에서 100까지의 숫자의 합이 기억되어져 있게 되므로 기억장소 M의 값을 인쇄해 내기만하면 정답(5,050)이 된다.

<그림3>은 완성된 플로차트의 내용을 순서에따라 컴퓨터가 직접 작업을 수행할수 있도록 포트란언어로 기입하여 프로그램을 완성한 것이다. 프로그램의 내용중 iF(K-100)2,3,3은 판단내용을 포트란 언어로표기한 것으로 만약 K-100의 계살결과가 음수면 2번으로, 0이거나 양수면 3번으로 점프하라는 명령이며, 점프할 번호는 왼쪽에 별도로 기입되어있는뎨 이것은 루프와 동일한 기능을 가진다.
이렇게 하여 작성된 프로그램은 키펀처에 의해 컴퓨터에 입력되고 다시 작업이 진행되어 원하는 결과를얻계된다.

ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT