Одним з перших комп’ютерів, який по праву можна вважати програмованим, був створений німецьким інженером Конрадом Цузе (1910-1995). Ще у школі, він створив машину для розміну грошей. Починаючи з 1934, будучи студентом технічного ВНЗ, він приступив до створення універсальної обчислювальної машини, яка була б програмованою, і могла вирішувати задачі будь-якого рівня складності.Почавши спочатку з десяткової системи, Цузе віддав перевагу все ж таки двійковій системі. І тут він проявив неабиякі здібності. Знаючи про роботи Буля не більше, ніж про машину Беббіджа, він, проте, використовував у задуманому ним комп’ютері принципи булевої алгебри. В кінці 30-х – початку 40-х років ним було побудовано у домашніх умовах декілька рахункових машин і комп’ютерів для здійснення складних інженерних розрахунків (Z1, Z2 – перша буква від прізвища Zuse). У роботі йому допомагали лише кілька друзів, знайомі виділили Цузе невелику суму грошей на його дослідження. Слід зазначити, що тоді як за розробниками американських автоматичних обчислювальних систем стояли цілі університети, Міністерство оборони США і такі могутні компанії, як IBM, Цузе діяв самостійно, на свій страх і ризик.Машина Цузе складалася з кількох блоків: керуючий пристрій, обчислювальний блок на основі електромеханічних реле, пристрій введення-виведення і, нарешті, пам'ять! Останнє варто відзначити особливо: саме Цузе створив перший зразок механічної «оперативної пам'яті» (на основі рухливих металевих стрижнів) і отримав на нього патент в 1936 р. Таким чином, його пристрій був здатний зберігати у своїй пам'яті проміжні результати розрахунків, а значить, і виконувані ним операції могли бути набагато сложніші.Машини Цузе управлялися за до програми на перфорованій стрічці, яка виготовлялась з бракованої кіноплівки (через дефіцит паперу у роки війни). Як основні елементи машин використовувалися електромеханічні реле.
Var max1,max2,min1,min2,i:integer; ar:array[1..n] of integer; begin max1:=integer.MinValue; max2:=integer.MinValue; min1:=integer.MaxValue; min2:=integer.MaxValue; for i:=1 to n do begin readln(ar[i]); if (ar[i]<max1) and (ar[i]>max2) then max2:=ar[i] else if ar[i]>max1 then begin max2:=max1; max1:=ar[i]; end; if (ar[i]>min1) and (ar[i]<min2) then min2:=ar[i] else if ar[i]<min1 then begin max2:=max1; min1:=ar[i]; end; end; writeln('Сумма максимумов:',max1+max2); writeln('Cумма минимумов:',min1+min2); end.
Пример ввода: 1 2 3 4 5 Пример вывода: Сумма максимумов:9 Cумма минимумов:3
begin s1:=copy(s,1,pos(' ',s)-1);{копируем первое слово до пробела} for i:=pos(' ',s)+1 to length(s) do{смотрим строку дальше} if (copy(s,i,length(s1))=s1){если набор символов совпадает с этим словом} and(s[i-1]=' '){и перед ним пробел} and((s[i+length(s1)]=' '){и за ним пробел} or(i+length(s1)-1=length(s))) then{или это последнее слово} begin k:=1;{фиксируем совпадение} s2:=s1;{запоминаем слово} write('Одинаковые слова ',s2);{выводим на экран} readln; exit;{выходим из программы, нужно только 1 пару} end; delete(s,1,pos(' ',s));{удаляем первое слово, следующее первое} end; if k=0 then write('Нет двух одинаковых слов'); readln end.