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

Написать программу на паскале: удалить все слова, начинающиеся и заканчивающиеся на одну и ту же букву. (написать комментарий(что означает каждая переменная))

👇
Ответ:
sokolin2
sokolin2
13.08.2021
Var s: string;  // строка текста
    i,lf: integer;  // lf - номер первого символа отдельного слова в строке
                    // i - переменная цикла, для просмотра строки
begin
  write('строка: ');  readln(s);  // считывание слова
  i:=1; lf:=1;  // i:=1; - текущий символ слова - первый
                // lf:=1;  - lf указывает на первый символ слова   
  repeat       // цикл по строке 
    if s[i]=' ' then   // если очередной символ строки - пробел, то
    begin              // начало блока операторов
      if UpperCase(s[i-1])=UpperCase(s[lf]) then  // если последний символ

текущего
                            // слова равен первому символу слова без учета регистра,

то
      begin                 // начало блока операторов 
        delete(s,lf,i-lf+1);  // удаляем слово вместе с пробелом справа
        i:=lf;                // i:=lf;  - переменная i указывает на следующее слово
      end                     // конец блока операторов  
      else lf:=i+1;           // иначе, если первый символ слова не равен
                              // последнему символу слова, устанавливаем lf на
                              // первый символ следующего слова 
    end;                      // конец блока по условию, что очередной символ - пробел

    i:=i+1;                   // переходим к следующему символу в строке
  until  >length(s);          // если номер очередного символа строки больше
длины                              // строки, то выход из цикла по строке
                              // если в последнем слове текста есть совпадения
                              // первого и последнего символа
  if s[length(s)] in ['.','?','!'] then   // если текст заканчивается одним из знаков
.?!  
     if s[lf]=s[length(s)-1] then delete(s,lf-1,length(s)-lf+1) // сравниваем с
предпоследним
                              // если равны, то удаляем последнее слово  
     else                     // иначе ничего не делаем   
  else if s[lf]=s[length(s)] then delete(s,lf-1,length(s)-lf+2);   // если последний
                              // символ не .?!, то сравниваем первый символ
последнего
                              // слова с последним символом текста, если равны,
                              // то удаляем последнее слово
  writeln('новая строка: ',s);  // выводим новую строку на экран
end.     // конец программы

строка: Это озеро около заповедника.
новая строка: Это заповедника.

строка: Около этого заповедника находится озеро.
новая строка: этого заповедника находится.

строка: озеро около заповедника
новая строка: заповедника
4,8(99 оценок)
Открыть все ответы
Ответ:
eelina05
eelina05
13.08.2021

Путь к файлу на диске указывает, где именно (в какой папке) находится файл. Путь состоит из имени (буквы) дисковода, двоеточия и последовательности имён папок, вложенных одна в другую, в самой внутренней из которых лежит файл. Имена папок отделяются символом "обратный слеш": \

Например на диске Е есть папка Знания, в этой папке есть папка IT, в ней папка Задания, в ней папка Tasks, и в ней папка ответы. А в папке ответы лежит файл 30620535.jpg

Путь к файлу такой:

Е:\Знания\IT\Задания\Tasks\ответы

Полное имя файла состjит из пути и собственного имени файла:

Е:\Знания\IT\Задания\Tasks\ответы\30620535.jpg

4,4(81 оценок)
Ответ:
mikimouse9
mikimouse9
13.08.2021

Допустим, у меня операционная система Windows 10.

1} Физических дисководов два:

- первый разбит на три логических диска C:\, D:\ и F:\

- второй разбит на два логических диска G:\ и H:\

То есть всего логических дисководов 5.

2}

- имя файла состоит из собственно имени и расширения, разделённых точкой

- разрешены длинные имена файлов

- в имени файла запрещены символы  \ / ? : * " > < |

- нельзя использовать системные имена CON, NUL, AUX, PRN, COM1 - COM9, LPT1 - LPT9

- разрешены имена как на английском, так и на других языках

- разрешены пробелы в имени файла

3} Путь к файлу на диске указывает, где именно (в какой папке) находится файл. Путь состоит из имени (буквы) дисковода, двоеточия и последовательности имён папок, вложенных одна в другую, в самой внутренней из которых лежит файл. Имена папок отделяются символом "обратный слеш": \

Например на диске Е есть папка Знания, в этой папке есть папка IT, в ней папка Задания, в ней папка Tasks, и в ней папка ответы. А в папке ответы лежит файл 30678346.txt

Путь к файлу такой:

Е:\Знания\IT\Задания\Tasks\ответы

Полное имя файла состjит из пути и собственного имени файла:

Е:\Знания\IT\Задания\Tasks\ответы\30678346.txt

4,4(91 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ