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

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

👇
Открыть все ответы
Ответ:
Вариант для тех, кто любит и понимает множества.
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.

Тестовое решение:
Введите текст, разделяя слова запятыми, в конце поставьте точку
Данная,фраза,предлагается,для,тестирования.
вг
4,4(16 оценок)
Ответ:
alinaklepcova
alinaklepcova
08.07.2021
Задача 1, Pascal.ABC.Net

const
  sAlpha='';
  sDigit='0123456789';
var
  c,c1:char;
begin
  Write('Введите символ: '); Readln(c);
  c1:=LowerCase(c);
  if Pos(c1,sAlpha)>0 then Writeln('Введена буква ',c)
  else
    if Pos(c1,sDigit)>0 then Writeln('Введена цифра ',c)
    else Writeln('Введен спецсимвол ',c)
end.

Программирование задачи №2 - большая работа, требующая многих часов, если не имеется готовых наработок для программирования шахматной игры. Давать подобные задачи для решения на данном Сервисе - бесполезное занятие, такое не задают даже на олимпиадах.
4,7(96 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ