М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Belka172
Belka172
10.02.2020 17:31 •  Информатика

Дана последовательность, содержащая от 2 до 30 слов, в каждом из от 1 до 8 символов строчных латинских букв между соседними словами-не менее одного пробела, за последним словом-точка. составить программу на языке паскаль 1) все слова, которые встречаются в последовательность по одному разу

👇
Ответ:
ch32
ch32
10.02.2020
Var
  ast:array[1..30] of string;

procedure GetWord(s: string; var ib: integer; var pWord: string; var l: integer);
// Возвращает слово pWord, которое является подстрокой s
// Разделителем слов являются один и более пробелов.
// ib при вызове процедуры указывает на позицию в строке s,
// начиная с которой ведется поиск слова.
// При выходе из процедуры ib - позиция начала найденного слова,
// l- длина найденного слова, l=0 если слово не найдено.
var
  i, n: integer;
  w: string;
begin
  n := Length(s);
  l := 0;
  w := '';
  if ib >= n then begin
    ib := n;
    pWord := ''
  end
  else begin
    i := ib;
    while (s[i] = ' ') and (i < n) do i := i + 1;
    ib := i;
    w := '';
    while (s[i] <> ' ') and (i < n) do
    begin
      w := w + s[i];
      i := i + 1
    end;
    if i < n then begin
      l := i - ib;
      pWord := w
    end
    else begin
      l := i - ib + 1;
      pWord := w + s[n]
    end;
    if pWord[l]='.' then pWord:=Copy(pWord,1,l-1)
  end
end;

procedure SortWords(n:integer);
// Сортировка первых n элементов массива ast
var
  i,j:integer;
  s:string;
begin
  for i:=1 to n-1 do
    begin
    if ast[i]>ast[i+1] then
      begin
      s:=ast[i]; ast[i]:=ast[i+1]; ast[i+1]:=s;
      j:=i;
      while j>1 do
        if ast[j]<ast[j-1] then
          begin
          s:=ast[j]; ast[j]:=ast[j-1]; ast[j-1]:=s;
          j:=j-1
          end
        else j:=0
      end
    end
end;

var
  s,st:string;
  p,n,i,len:integer;
  Flag:Boolean;
begin
  st:='    aquila non captat muscas   ';
  st:=st+'dolus an   virtus quis in hoste requirat  ';
  st:=st+'de mortuis aut bene aut nihil ';
  st:=st+'esse oportet ut vivas non vivere ut edas.';
  p:=1; i:=1; len:=1; n:=0;
  while len>0 do
    begin
    GetWord(st,p,ast[i],len);
    if len>0 then begin
      p:=p+len;
      n:=n+1;
      i:=i+1
      end
    end;
  for i:=1 to n do write(ast[i],' ');
  SortWords(n);
  writeln;
  writeln;
  s:=ast[1];
  Flag:=True;
  for i:=2 to n do
    if ast[i]<>s then
      begin
      If Flag then write(s,' ')
      else Flag:=True;
      s:=ast[i];
      end
    else Flag:=False;
  if Flag then write(ast[n],' ');
  writeln
end.

Тестовое решение:
aquila non captat muscas dolus an virtus quis in hoste requirat de mortuis aut bene aut nihil esse oportet ut vivas non vivere ut edas

an aquila bene captat de dolus edas esse hoste in mortuis muscas nihil oportet quis requirat virtus vivas vivere
4,5(75 оценок)
Открыть все ответы
Ответ:
Стас1326
Стас1326
10.02.2020
Граф - множество вершин и ребер, соединяющих эти вершины.
Он несет информацию об элементах системы и связи между ними.
Элементы системы изображаются как вершины или узлы графа.
Отношения между ними изображаются как ребра или дуги графа.
Деревом называют ациклический (то есть между любыми вершинами есть только один путь), связный (то есть от любой вершины графа можно добраться в другую) граф.
Корень дерева - это вершина с нулевой степенью захода (то есть в нее не ведут другие ребра). Для неориентированного графа это просто выбранная нами вершина.
Ветви - это ребра дерева.
Листья дерева - это вершины с нулевой степенью исхода (то есть из них не выходят ребра), т.е. не имеющих поддеревьев.
Надеюсь объяснил доступно.
4,7(71 оценок)
Ответ:
chiastr
chiastr
10.02.2020
1. Таблицы сложения и умножения:
\begin{array}{ccc}&#10;\mathbf{+}&\mathbf{0}&\mathbf{1}\\&#10;\mathbf{0} & 0 & 1\\&#10;\mathbf{1} & 1 & 10 &#10;\end{array}

\begin{array}{ccc}&#10;\mathbf{\times}&\mathbf{0}&\mathbf{1}\\&#10;\mathbf{0} & 0 & 0\\&#10;\mathbf{1} & 0 & 1 &#10;\end{array}

Вычисления во вложении. Последнее деление на самом деле можно было бы "в столбик" и не писать, и так понятно, какой будет результат.

2. Переводим в двоичную систему счисления и дописываем вперед незначащие нули, пока не наберётся 8 знаков:
5_{10}=2^2+2^0=101_{2}\to\mathtt{00000101}\\&#10;255_{10} = 256-1=2^8-1=11111111_2\to\mathtt{11111111}

3. Добавляется знаковый бит: дописываем вперед 0, если число положительное, и 1, если отрицательное. Для неотрицательных чисел по сути ничего не меняется, а отрицательные представляем в дополнительном коде: меняем все биты на противоположные и добавляем к результату 1.
56_{10}=2^5+2^4+2^3=11100_2\to\mathtt{00011100}
-56: меняем биты на противоположные (получаем 11100011) и добавляем 1. Окончательно получается \mathtt{11100100}
1.составить таблицы сложения и умножения в двоичной системе счисления и выполнить вычисления: а) 111
4,7(58 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ