1.) программаға сәйкес операцияларды орындауға арналған компьютердің негізгі құрылғысы, қызметтік бөлігі. Көптеген жартылай өткізгішті элементтерден тұратын және компьютерде барлық есептеулер мен ақпарат өндеу жұмыстарын орындайтын электрондық микросхема. Қазіргі компьютерлерде бір немесе бірнеше процессорлар жұмыс істейді.
2.Процессор деген компьютердегі барлық қызметті атқарып тұрған адамның миы сияқты құрылғы, арифметикалық-логикалық қызметтер атқарады. процессорды CPU американдық компаниялар Intel, AMD жасап шығарады.
ОЗУ деген қысқа мерзімге мәлімет сақтауға арналған. компьютерде жасалып жатұан операциялардың бәрң осы озуда сақталады. компьютерді өшіргенде бәрі кетіп қалады.
Материнская плата деген компаның орталық астанасы. Процессор, озу, слоттар, жесткий диск бәрң соған қосып жалғанады.
Видеокарта деген графикалық ақпараттардың қалыпты жұмыс істеуіне арналған. Видео және ойындардың графикасына жауап беретін құрылғы осы.
var s, wd: string; i, j, m, n, pt, step: integer; Words, WordsSort: array[1..k] of string; InOrder: boolean;
begin Write('Введите строку: '); Readln(s); n := Length(s); pt := 1; m := 0; repeat // Пропускаем все символы до первого непробельного while pt <= n do if Ord(s[pt]) <= 32 then Inc(pt) else break; if pt <= n then begin // Выделяем очередное слово wd := ''; while pt <= n do if Ord(s[pt]) > 32 then begin wd := wd + s[pt];Inc(pt) end else break; if wd <> '' then begin Inc(m);Words[m] := wd end end until pt > n; // Теперь Words содержит все m слов. // Отсортируем их в массиве WordsSort методом Шелла for i := 1 to m do WordsSort[i] := Words[i]; step := m div 2; while step > 0 do begin for j := m - step downto 1 do begin i := j; while i <= m - step do begin if WordsSort[i] > WordsSort[i + step] then begin wd := WordsSort[i]; WordsSort[i] := WordsSort[i + 1]; WordsSort[i + 1] := wd end; i := i + step end end; step := step div 2 end; // Осталось поэлементно сравнить оба массива InOrder := true; i := 1; while InOrder and (i <= m) do begin InOrder := (Words[i] = WordsSort[i]); Inc(i) end; if m = 0 then Writeln('Строка не содержит слов') else if InOrder then Writeln('Cлова упорядочены') else Writeln('Cлова не упорядочены') end.
Введите строку: слово1 слово2 слово4 слово3 слово5 Cлова не упорядочены
"Современный" вариант решения на Паскале:
// PascalABC.Net 3.0, сборка 1064 var s:string; begin Write('Введите строку: '); Readln(s); var Delim:=Range(0,32).Select(x->Chr(x)).ToArray; var Words:=s.Split(Delim).Where(x->x<>''); var WordsSort:=Words.Sorted; if Words.SequenceEqual(WordsSort) then Writeln('Cлова упорядочены') else Writeln('Cлова не упорядочены') end.
1.) программаға сәйкес операцияларды орындауға арналған компьютердің негізгі құрылғысы, қызметтік бөлігі. Көптеген жартылай өткізгішті элементтерден тұратын және компьютерде барлық есептеулер мен ақпарат өндеу жұмыстарын орындайтын электрондық микросхема. Қазіргі компьютерлерде бір немесе бірнеше процессорлар жұмыс істейді.
2.Процессор деген компьютердегі барлық қызметті атқарып тұрған адамның миы сияқты құрылғы, арифметикалық-логикалық қызметтер атқарады. процессорды CPU американдық компаниялар Intel, AMD жасап шығарады.
ОЗУ деген қысқа мерзімге мәлімет сақтауға арналған. компьютерде жасалып жатұан операциялардың бәрң осы озуда сақталады. компьютерді өшіргенде бәрі кетіп қалады.
Материнская плата деген компаның орталық астанасы. Процессор, озу, слоттар, жесткий диск бәрң соған қосып жалғанады.
Видеокарта деген графикалық ақпараттардың қалыпты жұмыс істеуіне арналған. Видео және ойындардың графикасына жауап беретін құрылғы осы.
Объяснение:
// PascalABC.Net 3.0, сборка 1064
const
k = 100;
var
s, wd: string;
i, j, m, n, pt, step: integer;
Words, WordsSort: array[1..k] of string;
InOrder: boolean;
begin
Write('Введите строку: '); Readln(s);
n := Length(s); pt := 1; m := 0;
repeat
// Пропускаем все символы до первого непробельного
while pt <= n do
if Ord(s[pt]) <= 32 then Inc(pt) else break;
if pt <= n then begin
// Выделяем очередное слово
wd := '';
while pt <= n do
if Ord(s[pt]) > 32 then begin wd := wd + s[pt];Inc(pt) end
else break;
if wd <> '' then begin Inc(m);Words[m] := wd end
end
until pt > n;
// Теперь Words содержит все m слов.
// Отсортируем их в массиве WordsSort методом Шелла
for i := 1 to m do WordsSort[i] := Words[i];
step := m div 2;
while step > 0 do begin
for j := m - step downto 1 do begin
i := j;
while i <= m - step do begin
if WordsSort[i] > WordsSort[i + step] then begin
wd := WordsSort[i];
WordsSort[i] := WordsSort[i + 1];
WordsSort[i + 1] := wd
end;
i := i + step
end
end;
step := step div 2
end;
// Осталось поэлементно сравнить оба массива
InOrder := true; i := 1;
while InOrder and (i <= m) do
begin InOrder := (Words[i] = WordsSort[i]); Inc(i) end;
if m = 0 then Writeln('Строка не содержит слов')
else
if InOrder then Writeln('Cлова упорядочены')
else Writeln('Cлова не упорядочены')
end.
Тестовое решение:
Введите строку: слово1 слово2 слово3 слово4 слово5
Cлова упорядочены
Введите строку: слово1 слово2 слово4 слово3 слово5
Cлова не упорядочены
"Современный" вариант решения на Паскале:
// PascalABC.Net 3.0, сборка 1064
var
s:string;
begin
Write('Введите строку: '); Readln(s);
var Delim:=Range(0,32).Select(x->Chr(x)).ToArray;
var Words:=s.Split(Delim).Where(x->x<>'');
var WordsSort:=Words.Sorted;
if Words.SequenceEqual(WordsSort) then Writeln('Cлова упорядочены')
else Writeln('Cлова не упорядочены')
end.
Тестовое решение совпадает с вышеприведенным.