Составить программу в turbo pascal 7.0, в которой с оператора repeat необходимо протабулировать функцию y=cos(x/3+0.3) в диапазоне параметра от 0 до 6 с шагом 0.2.буду за решение.
Const x0=0; xn=6; h=0.2; var x,y:real; i,n:integer; begin n:=round((xn-x0)/h)+1; x:=x0-h; for i:=1 to n do begin x:=x+h; y:=cos(x/3+0.3); writeln(x:4:1,y:8:3); end; end.
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.
Информационный поток - процесс передачи информации от одного объекта другому.При этом информация может видоизменяться, кодироваться, преобразововаться из одного вида сигналов в другие.Основные устройства компьютера - клавиатура, мышь, монитор, видео плата, процессор, ОЗУ, контроллеры, запоминающие устройства(накопители).Процессор это сердце компьютера, главный наблюдатель в процессе информационных потоков компьютера.При включении процессор инициирует процесс загрузки программ из накопителей в озу, он просит котроллеры чтобы поток данных загружался напрямую, по возможности, из накопителей в ОЗУ, минуя внутреннюю память процессора.Время от времени он опрашивает устройства ввода, мышь клавиатуру, на предмет сигналов, в которых закодированны нажатые кнопки, позиции курсора, итд... Если процессор зависнет, зациклится, то нажатия на кнопки не приведут ни к чему,т.к эти устройства никто не опрашивает.Программы, выполняющиеся на процессоре, могут "попросить" процессор выводить информацию на монитор, подавая комманды.Обрабатывая эти комманды процессор, отправляет данные в видео плату, или в котроллер видеоплаты.Видеоплата, получая данные из процессора в свой видео буфер, преобразует их в аналого-цифровой формат для подачи уже в монитор через кабель.
var x,y:real; i,n:integer;
begin
n:=round((xn-x0)/h)+1;
x:=x0-h;
for i:=1 to n do
begin
x:=x+h;
y:=cos(x/3+0.3);
writeln(x:4:1,y:8:3);
end;
end.
Результат:
0.0 0.955
0.2 0.934
0.4 0.908
0.6 0.878
0.8 0.844
1.0 0.806
1.2 0.765
1.4 0.720
1.6 0.672
1.8 0.622
2.0 0.568
2.2 0.512
2.4 0.454
2.6 0.393
2.8 0.331
3.0 0.267
3.2 0.203
3.4 0.137
3.6 0.071
3.8 0.004
4.0 -0.062
4.2 -0.129
4.4 -0.195
4.6 -0.260
4.8 -0.323
5.0 -0.386
5.2 -0.446
5.4 -0.505
5.6 -0.561
5.8 -0.615
6.0 -0.666