Слово «алгоритм» происходит от имени великого Персидского учёного Мухаммеда аль-Хорезми́, жившего в первой половине IX ве́ка (точные годы его жизни неизвестны, но считается, что он родился около 780 года, а умер около 850). «Аль-Хорезми» означает «из Хорезма» (исторической области в нынешнем Узбекистане, центром которой был город Хива).
Около 825 года аль-Хорезми написал сочинение, в котором впервые дал описание придуманной в Индии позиционной десятичной системы счисления. К сожалению, арабский оригинал его книги не сохранился, так что её оригинальное название нам неизвестно. Аль-Хорезми сформулировал правила вычислений в новой системе и, вероятно, впервые использовал цифру 0 для обозначения пропущенной позиции в записи числа (её индийское название арабы перевели как as-sifr или просто sifr, отсюда такие слова, как цифра и шифр). Приблизительно в это же время индийские цифры начали применять и другие арабские учёные. В первой половине XII века книга аль-Хорезми в латинском переводе проникла в Европу. Переводчик, имя которого до нас не дошло, дал ей название «Algoritmi de numero Indorum» («Индийское искусство счёта, сочинение Аль-Хорезми»).
Таким образом, мы видим, что латинизированное имя аль-Хорезми было вынесено в заглавие книги, и сегодня ни у кого нет сомнений, что слово «алгоритм» попало в европейские языки именно благодаря этому сочинению. Однако вопрос о его смысле длительное время вызывал ожесточённые споры. На протяжении многих веков происхождению слова давались самые разные объяснения.
Одни выводили algorism из греческих algiros (больной) и arithmos (число). Из такого объяснения не очень ясно, почему числа именно «больные». Или же лингвистам больными казались люди, имеющие несчастье заниматься вычислениями? Своё объяснение предлагала и знаменитая энциклопедия Брокгауза и Ефрона (1890 год). В ней алгорифм (кстати, до революции использовалось написание алгориѳм, через «фиту») производится «от арабского слова Аль-Горетм, т. е. корень». Разумеется, эти объяснения вряд ли можно счесть убедительными.
#include <iostream>
using namespace std;
int main ()
{
setlocale(0, "");
int i = 0; // инициализируем счетчик цикла.
int sum = 0; // инициализируем счетчик суммы.
do {// выполняем цикл.
i++;
sum += i;
} while (i < 1000); // пока выполняется условие.
cout << "Сумма чисел от 1 до 1000 = " << sum << endl;
return 0;
}
Объяснение:
Цикл do while
Цикл do while очень похож на цикл while. Единственное их различие в том, что при выполнении цикла do while один проход цикла будет выполнен независимо от условия. Решение задачи на поиск суммы чисел от 1 до 1000, с применением цикла do while.
Принципиального отличия нет, но если присвоить переменной i значение, большее, чем 1000, то цикл все равно выполнит хотя бы один проход.
s2:=s2+chr(ord(s1[i]+key));
скобка не на месте. Надо так:
s2:=s2+chr(ord(s1[i])+key);