shoora
?>

Дан линейный однонаправленный список L1 1) Разработать функцию, которая переформирует список L1, переписав в начало списка его часть, начиная с заданной позиции (номер позиции передается в функцию 2) Разработать функцию вставки узла в упорядоченный по не возрастанию список. Сформировать такой список L2. 3) Разработать функцию, которая удаляет из L2 все повторяющиеся значения, оставляя одно из них. 2. Отчет по разработанной программе Условие задания, требования в соответствии с вариантом 1. Постановка задачи 2. Определение списка операций над списком, которые выявлены в процессе исследования задач дополнительного задания. 2.1 Определить структуру узла однонаправленного списка соответствии с вариантом. 2.2 Изобразить (рисунок) для каждой операции полученного списка выполнения операции существующем процесс однонаправленном списке. 2.3 Изобразите структуру данных, которая будет использоваться в операциях. 2.4 Привести алгоритм выполнения операции 2.5 Привести таблицу тестов для тестирования каждой операции 3. Представить код программы 4. Представить результат тестирования программы: скриншоты выполнения каждой операции. 5. Привести выводы по полученным знаниям и умениям 6. Список информационных источников, которые были использованы при выполнении задания.

Информатика

Ответы

ooottdi
Вариант для тех, кто любит и понимает множества.
const
  cs='бвгджз';
var
  s:string;
  i:integer;
  c:char;
  p,csg:set of char;
begin
  Writeln('Введите текст, разделяя слова запятыми, в конце поставьте точку');
  Readln(s);
  p:=[];
  for i:=1 to Length(cs) do Include(csg,cs[i]); { инициализация множества }
  s:=LowerCase(s); { приведение к нижнему регистру }
  i:=1; c:=s[1];
  while c<>'.' do begin
    { обработка нечетного слова }
    while not (c in [',','.']) do begin
      if (c in csg) and not (c in p) then Include(p,c);
      i:=i+1;
      c:=s[i]
    end;
    { обработка четного слова }
    if c<>'.' then begin i:=i+1; c:=s[i] end;
    while not(c in [',','.']) do begin
      if (c in csg) and (c in p) then Exclude(p,c);
      i:=i+1;
      c:=s[i]
    end;
    if c<>'.' then begin i:=i+1; c:=s[i] end
  end;
  s:='';
  for i:=1 to Length(cs) do if cs[i] in p then Write(cs[i])
end.

Тестовое решение:
Введите текст, разделяя слова запятыми, в конце поставьте точку
Это,пример,текста,созданного,для,проверки,программы.
гд

Вариант для тех, кто с множествами не дружит:
const
  cs='бвгджз';
var
  s,p:string;
  i,n:integer;
  c:char;
begin
  Writeln('Введите текст, разделяя слова запятыми, в конце поставьте точку');
  Readln(s);
  p:=''; n:=Length(cs);
  s:=LowerCase(s); { приведение к нижнему регистру }
  i:=1; c:=s[1];
  while c<>'.' do begin
    { обработка нечетного слова }
    while (c<>',') and (c<>'.') do begin
      if (Pos(c,cs)>0) and (Pos(c,p)=0) then p:=p+c;
      i:=i+1;
      c:=s[i]
    end;
    { обработка четного слова }
    if c<>'.' then begin i:=i+1; c:=s[i] end;
    while (c<>',') and (c<>'.') do begin
      if (Pos(c,cs)>0) and (Pos(c,p)=1) then p[Pos(c,p)]:='*';
      i:=i+1;
      c:=s[i]
    end;
    if c<>'.' then begin i:=i+1; c:=s[i] end
  end;
  for i:=1 to Length(cs) do if Pos(cs[i],p)>0 then Write(cs[i])
end.

Тестовое решение:
Введите текст, разделяя слова запятыми, в конце поставьте точку
Данная,фраза,предлагается,для,тестирования.
вг

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дан линейный однонаправленный список L1 1) Разработать функцию, которая переформирует список L1, переписав в начало списка его часть, начиная с заданной позиции (номер позиции передается в функцию 2) Разработать функцию вставки узла в упорядоченный по не возрастанию список. Сформировать такой список L2. 3) Разработать функцию, которая удаляет из L2 все повторяющиеся значения, оставляя одно из них. 2. Отчет по разработанной программе Условие задания, требования в соответствии с вариантом 1. Постановка задачи 2. Определение списка операций над списком, которые выявлены в процессе исследования задач дополнительного задания. 2.1 Определить структуру узла однонаправленного списка соответствии с вариантом. 2.2 Изобразить (рисунок) для каждой операции полученного списка выполнения операции существующем процесс однонаправленном списке. 2.3 Изобразите структуру данных, которая будет использоваться в операциях. 2.4 Привести алгоритм выполнения операции 2.5 Привести таблицу тестов для тестирования каждой операции 3. Представить код программы 4. Представить результат тестирования программы: скриншоты выполнения каждой операции. 5. Привести выводы по полученным знаниям и умениям 6. Список информационных источников, которые были использованы при выполнении задания.
Ваше имя (никнейм)*
Email*
Комментарий*