프로그램 : 알고리즘이 추상적이고 이상적인 절차를 기술한 것이라면 프로그램은 실제 컴퓨터가 과제를 완료하기 위해 수행해야하는 모든 단계를 구체적으로 서술한 것이다.
또한, 프로그램은 알고리즘과 달리 불충분한 메모리, 제한된 프로세서 속도, 악의적으로 잘못된 입력 등의 실질적인 문제도 신경써야한다.
어셈블리 언어 : 프로세서의 명령어와 일대일로 연결된 언어로, 명령어가 이진수로 인코딩되는 특정한 방식과 메모리에 정보가 배치되는 방식 등을 알고 있다. 또한 특정 아키텍처에 특화되어 있기 때문에 다른 프로세서용으로 변환하려 하면 완전히 새로 작성되어야 한다.
포트란(FORTRAN) : 수식 변환(Formula Translation)에서 이름이 유래된 언어로 과학과 공학 분야에서 계산을 표현하는 데 사용된 언어
코볼(COBOL) : 사무 데이터 처리를 목적으로 사용된 언어로 재고 관리, 송장 작성, 급여 계산 등에 사용되는 자료 구조와 계산을 쉽게 표현할 수 있는 특징이 있다.
베이직(BASIC) : 프로그래밍 교육을 위한 쉬운 언어로 만들어졌으며 컴퓨팅 자원을 적게 필요로 해서 개인용 컴퓨터에서 사용할 수 있는 첫 번째 고수준 언어이다.
포트란, 코볼, 베이직 -> 특정 응용 분야의 특화
시스템 프로그래밍 -> 어셈블러, 컴파일, 텍스트 편집기 및 운영체제까지 작성할 수 있는 언어
#include <stdio.h>
int main() {
int num, sum;
sum = 0;
while (scanf("%d", &num) != EOF && num != 0)
sum = sum + num;
printf("%d\n", sum);
return 0;
}
#include <iostream>
int main() {
int num, sum;
sum = 0;
while (cin >> num && num != 0)
sum = sum + num;
cout << sum << endl;
return 0;
}
import java.util.*;
class Addup {
public static void main (String [] args) {
Scanner keyboard = new Scanner(System);
int num, sum;
sum = 0;
num = keyboard.nextInt();
while (num != 0) {
sum = sum + num;
num = keyboard.nextInt();
}
System.out.println(su,);
}
}
var num, sum;
sum = 0;
num = prompt("Enter new value, or 0 to end");
while (num != 0) {
sum = sum + num;
num = prompt("Enter new value, or 0 to end");
}
alert(sum);
sum = 0
num = input()
while num != '0':
sum = sum + int(num)
num = input()
print(sum)