Слово «алгоритм» происходит от имени великого узбекского учёного Мухаммеда аль-Хорезми́, жившего в первой половине IX ве́ка (точные годы его жизни неизвестны, но считается, что он родился около 780 года, а умер около 850). «Аль-Хорезми» означает «из Хорезма» (исторической области в нынешнем Узбекистане, центром которой был город Хива).
Около 825 года аль-Хорезми написал сочинение, в котором впервые дал описание придуманной в Индии позиционной десятичной системы счисления. К сожалению, арабский оригинал его книги не сохранился, так что её оригинальное название нам неизвестно. Аль-Хорезми сформулировал правила вычислений в новой системе и, вероятно, впервые использовал цифру 0 для обозначения пропущенной позиции в записи числа (её индийское название арабы перевели как as-sifr или просто sifr, отсюда такие слова, как цифра и шифр). Приблизительно в это же время индийские цифры начали применять и другие арабские учёные. В первой половине XII века книга аль-Хорезми в латинском переводе проникла в Европу. Переводчик, имя которого до нас не дошло, дал ей название «Algoritmi de numero Indorum» («Индийское искусство счёта, сочинение Аль-Хорезми»).
Первая программа предназначена ТОЛЬКО для Pascal.ABC, в другой среде она работать не будет. Она самая короткая и простая. Метод Split разбивает исходную строку на слова по символу пробела и формирует динамический массив. Что бы мы ни вводили, мы всегда будем получать в результате то, что требовалось. (понятно, что если слов будет меньше трех, будем получать то, что ввели).
var s: string; ms: array of string;
begin Write('Введите три слова через пробел: '); Readln(s); ms := s.Split(' '); Writeln(ms[0] + ' ' + ms[2] + ' ' + ms[1]) end.
Вторая программа реализуется в любой версии Pascal. Её недостаток в том, что она правильно работает только тогда, когда введена фраза из трех слов, разделенных пробелом. Это простейший линейный алгоритм.
var s, s1, s2, s3: string; n, p: integer;
begin Write('Введите три слова через пробел: '); Readln(s); n := Length(s); p := Pos(' ', s); s1 := Copy(s, 1, p - 1); s3 := Copy(s, p + 1, n - p); p := Pos(' ', s3); s2 := Copy(s3, 1, p - 1); n := Length(s3); s3 := Copy(s3, p + 1, n - p); Writeln(s1 + ' ' + s3 + ' ' + s2) end.
Третья программа также реализуема в любой версии Pascal и содержит "классический" работы со строкой, состоящий в последовательном анализе каждого символа. Имеет защиту на случай, если слов будет больше или меньше трех.
var s: string; ms: array[1..3] of string; i, n, p, j: integer;
begin Write('Введите три слова через пробел: '); Readln(s); { Алгоритм: Просматриваем все символы строки начиная с позиции p и при обнаружении пробела в позиции q заносим в массив очередное слово, копируя q-p символов, начиная с p. Затем заносим в p значение q+1 и продолжаем просмотр. При старте принимаем p=1 } p := 1; j := 0; n := Length(s); for i := 1 to n do if s[i] = ' ' then begin j := j + 1; if j <= 3 then begin{ если введено больше двух пробелов } ms[j] := Copy(s, p, i - p); p := i + 1 end end; if j < 3 then ms[3] := Copy(s, p, n - p + 1); Writeln(ms[1] + ' ' + ms[3] + ' ' + ms[2]) end.
Все три программы опробованы и результаты их работы одинаковы:
Введите три слова через пробел: Зебра полосатая лошадь Зебра лошадь полосатая
11) к системному 12) Операционная система – это набор программ, обеспечивающий организацию вычислительного процесса на ПК. 13)Основные задачи ОС: 1. Увеличение пропускной ПК за счет организации непрерывной обработки потока задач с автоматическим переходом от одной задачи к другой и эффективного распределения ресурсов ПК по нескольким задачам. 2. Уменьшение времени реакции системы на запросы пользователей и времени на формирование ответов пользователям от ПК. 3. Упрощение работы разработчиков программных средств и обслуживающего персонала за счет предоставления им значительного количества языков программирования и разнообразных сервисных программ. Операционные системы предназначены для выполнения следующих функций: 1. Управление данными. 2. Управление задачами. 3. Связь с пользователем.
Около 825 года аль-Хорезми написал сочинение, в котором впервые дал описание придуманной в Индии позиционной десятичной системы счисления. К сожалению, арабский оригинал его книги не сохранился, так что её оригинальное название нам неизвестно. Аль-Хорезми сформулировал правила вычислений в новой системе и, вероятно, впервые использовал цифру 0 для обозначения пропущенной позиции в записи числа (её индийское название арабы перевели как as-sifr или просто sifr, отсюда такие слова, как цифра и шифр). Приблизительно в это же время индийские цифры начали применять и другие арабские учёные. В первой половине XII века книга аль-Хорезми в латинском переводе проникла в Европу. Переводчик, имя которого до нас не дошло, дал ей название «Algoritmi de numero Indorum» («Индийское искусство счёта, сочинение Аль-Хорезми»).