마찬가지로 mouviciel 및 에밀리오 Garavaglia이 언급 개념 컴퓨팅 앞선다. 그러나, 첫 번째 인스턴스 소프트웨어 루프는 루프이었다 에이다 러브 레이스를 계산하는 데 사용 베르누이 번호 에 설명 된대로 참고 G 의 그녀의 번역 찰스 배비지에 의해 발명 된 분석 엔진의 스케치 에 의해, LF Menabrea는 . 분석 엔진의 반복 기능은 Menabrea에 의해 초기에 주목됩니다 :
이를 이해하기 위해 일련의 작업을 시작할 때 바늘 C를 부서 2에, 바늘 B를 부서 5에, 바늘 A를 부서 9에 놓습니다. 다이얼 C의 해머; 두 번 치고 바늘 B가 두 구간을 넘어갑니다. 후자는 숫자 7을 나타내며, 이는 첫 번째 차이 열에서 숫자 5에 성공합니다. 다이얼 B의 해머가 차례대로 치는 것을 허용하면, 바늘 A가 7 개의 분할을 진행하는 동안 7 번 눌릴 것이다. 이것으로 이미 표시된 9에 추가 된 숫자 16은 연속적인 숫자 9입니다. 이제 우리는이 작업을 다시 시작하면 바늘 C로 시작하여 항상 부서 2에 남겨 두어야합니다.
분석 엔진의 루핑 메커니즘은 Menabrea의 회고록에 명시된 것처럼 Joseph Marie Jacquard의 기계식 직기 (1801) 에서 직접 상속됩니다 .
이제 기계 자체가 사람의 손에 의지하지 않고 어떻게 그 자체가 조작에 적합한 연속적인 처분을 가정 할 수 있는지를 물을 것이다. 이 문제의 해결책은 다음과 같은 방식으로 브로케이드 재료 제조에 사용되는 자카드의 장치에서 가져 왔습니다 .—
두 종류의 실은 보통 직조물로 구별됩니다. 하나는 날실 또는 종 방향 실이고, 다른 하나는 called 또는 횡실로서, 셔틀이라 불리는기구에 의해 이송되고 종 방향 실 또는 날실을 가로 지른다. 브로케이드 된 물건이 필요한 경우, 특정 스레드가 워프를 가로 지르는 것을 방지해야하며, 이는 재현 될 디자인의 특성에 의해 결정되는 연속에 따라 이루어진다. 이전에는이 과정이 길고 어려웠으며, 복사해야 할 디자인에 참석하여 실이 수행해야 할 움직임을 스스로 조절해야한다고 요구했습니다. 그런 다음 특히 다양한 색상의 실이 직물에 들어간 경우 물건에 대한이 설명의 높은 가격이 상승했습니다. 이 제조를 단순화하기 위해 Jacquard는 함께 행동해야 할 각 그룹의 실을 연결하는 계획을 세웠으며, 그 그룹에만 속하는 독특한 레버를 사용했습니다. 이 모든 레버는 막대로 끝나며, 하나의 묶음으로 묶여 있으며 보통 직사각형 받침대와 평행 육면체 형태입니다. 막대는 원통형이며 작은 간격으로 서로 분리되어 있습니다. 따라서, 실을 올리는 과정은 이러한 다양한 레버 암을 필요한 순서로 이동시키는 과정으로 해결된다. 이를 위해, 레버-암 다발의 섹션보다 다소 큰 직사각형의 판지가 취해진 다. 이 시트가 번들의베이스에 적용되고 전진 운동이 페이스트 보드에 전달되면,이 시트는 번들의 모든 막대와 함께 움직입니다. 결과적으로 각각에 연결된 스레드. 그러나 대지가 평평하지 않고 대지와 만나는 레버의 말단에 해당하는 구멍으로 뚫린 경우 각 레버가 후자가 움직일 때 대지를 통과하기 때문에 모두 그대로 유지됩니다. 장소. 따라서 우리는 보드 보드에있는 구멍의 위치를 결정하는 것이 쉽다는 것을 알 수 있습니다. 주어진 순간에 일정한 수의 레버와 결과적으로 실의 소포가 생겨나 고 나머지 부분은 그대로 유지됩니다 이었다. 이 패턴이 실행될 패턴에 의해 지시 된 법칙에 따라 연속적으로 반복된다고 가정하면, 우리는이 패턴이 재료에 재현 될 수 있다고 인식한다. 이를 위해 필요한 법에 따라 일련의 카드를 작성하면됩니다. 순서대로 적절한 순서로 배치하십시오. 그런 다음, 셔틀의 모든 스트로크에 대해 새로운면을 돌릴 수 있도록 연결된 다각형 빔을 통과시켜 레버면 다발에 대해 평행하게 추진됩니다. 스레드는 정기적으로 수행됩니다. 따라서, 브로케이드 조직은 이전에는 구하기 어려운 정밀하고 신속하게 제조 될 수 있음을 알 수있다.
자카드 직기는 반복 출력을 생성하도록 기계를 주문하는 맥락에서 루프를 매우 일찍 적용 하는 것입니다 .
자카드 룸의 기본 개념은 펀치 카드 및 후크 시스템이었습니다. 카드는 매우 두껍게 만들어졌으며 직사각형 구멍이 뚫려 있습니다. 직조에 사용 된 후크 및 바늘은 판지의 이들 구멍에 의해 안내되었다. 고리가 카드에 닿을 때 구멍이 뚫리지 않는 한 고정 된 상태로 유지되었습니다. 그런 다음 후크는 다른 나사산을 삽입하는 바늘로 구멍을 통과하여 원하는 패턴을 형성 할 수있었습니다. 복잡한 패턴은 많은 카드가 차례로 배열되고 /되거나 반복적으로 사용 됨으로써 달성되었습니다.
자카드 직기는 또한 초기 형태의 저장 프로그램으로 인식됩니다 .
지금까지 논의 된 계산 기계 개발의 많은 원동력이 수치 계산에서 비롯된 경우, 가장 초기 형태의 '저장된 프로그램'으로 이어진 동기는 매우 다른 출처, 즉 섬유 산업에서 나왔습니다. 우리는 계산 시스템의 기본 측면 중 하나가 정보를 표현하는 개념이라는 것을 이미 알고 있었지만, 명시 적으로하지 않았지만 지금까지 살펴본 모든 인공물에서이 아이디어의 적용을 식별 할 수 있습니다. 숫자 값에 대한 서면 표현 개발과 그로부터 발생하는 기계적 평행 점 개발. 따라서 주판 프레임에서 자갈의 정렬, 슬라이드 규칙에서 움직이는 스케일의 병치 및 Schickard, Pascal 및 Leibniz의 장치에서 톱니 기어 구성 는 산술 작업의 복잡한 프로세스를 단순화하려는 표현 기법의 모든 예입니다. 그러나, 계산 프로세스가 수행 될 수있는 수 이외의 정보 카테고리 및 그 표현이 존재한다. 1801 년 Joseph-Marie Jacquard가 개발 한 직조 기술은 이러한 범주의 한 예를 보여줍니다.
Charles Babbage는 Jacquard의 보관 절차를 Analytical Engine 에 적용했습니다.
분석 엔진에는 최신 디지털 컴퓨터에서 볼 수있는 많은 필수 기능이 있습니다. 천공 카드를 사용하여 프로그래밍 할 수 있었으며, 직물의 복잡한 패턴을 짜는 데 사용되는 자카드 직기에서 빌린 아이디어입니다. 엔진에는 숫자와 중간 결과를 저장할 수있는 'Store'와 산술 처리가 수행 된 별도의 'Mill'이 있습니다. 그것은 4 개의 산술 함수에 대한 내부 레퍼토리를 가지고 있으며 직접 곱셈과 나눗셈을 수행 할 수 있습니다. 또한 Babbage는이 용어를 사용하지 않았지만 조건부 분기, 반복 (반복), 마이크로 프로그래밍, 병렬 처리, 반복, 래칭, 폴링 및 펄스 형성과 같은 현대적인 이름을 가진 기능도 사용할 수있었습니다. 하드 카피 출력, 펀치 카드,
Jacquard에서 영감을 얻은 기계식 루프 및 보관 절차와 결합 된 Analytical Engine의 조건부 분기는 특히 Babbage의 프린터 를 print "...";
부품에 추가하는 경우 귀하의 예와 개념적으로 개념적으로 유사 합니다 .
분명히 기계식 루프는 자카드 직기보다 먼저 시작되었습니다. 루프 키 방식 으로 작동하는 최초의 알려진 장치 인 안티 키 테라 메커니즘 (100 BCE)이며, 역사를 더 자세히 살펴보면 (그리고 끔찍한 주제에서 벗어나면) 해시계 는 아마도 가장 오래된 사람이 만든 메커니즘 일 것입니다 물론 태양과 다른 항성 궤도의 반복 패턴에 따라 고리에 대한 이해가 분명합니다.
그러나 컴퓨팅 (및 계산 등)의 맥락에서 분석 엔진 및 Ada의 Bernoulli 숫자 계산 알고리즘은 루프를 도입하고 자 쿠드 직기와 적어도 일부 신용을 공유하며 그것.