Есть ответ 👍

Сделать программу и блок схему ! на паскале. : определить сколько раз в тексте встречается слово "давши". исходный текст: не давши слово-крепись, а давши - держись

174
368
Посмотреть ответы 2

Ответы на вопрос:


Поставленную можно решать разными способами. можно озаботиться красотой алгоритма, можно - эффективностью выполнения программы, можно еще много чем. в связи с тем, что в настоящее время компьютеры большой вычислительной мощностью, а проста, выберем алгоритм, который имеет минимальную трудоемкость в написании и понятен внешне, хотя, быть может, в чем-то не совсем оптимален с точки зрения вычислительного процесса. речь идет об использовании встроенной функции языка паскаль - функции pos. конечно, использование функции posex, появившейся в pascal.abc, было бы эффективнее, но будем придерживаться классической версии. функция pos позволяет найти позицию первого от начала строки вхождения в эту строку подстроки. если вхождения нет - функция возвращает ноль. принимая оставшуюся после найденного вхождения часть строки за новую строку и повторяя поиск, можно найти все вхождения. не говорит, как организован ввод текста. дело в том, что в паскале строка не может содержать переход к новой строке, а текст задан двумя строками. можно организовать ввод двух строк, можно задать текст строковыми константами, можно организовать ввод из файла. считая, что смысл в поиске вхождений, принимаем способ текста несущественным и задаем текст двумя строковыми константами. это потребует выполнения алгоритма для каждой строки, следоватеьно, нам потребуется пользовательская функция, к которой мы будем обращаться. const   c1='не давши слово-крепись,';   c2='а давши - держись';   cc='давши'; { искомый контекст } function kol(c,ci: string): integer;   {количество вхождений ci а c } var   p,k,l,li: integer; begin   k: =0;   li: =length(ci);   l: =length(c);   repeat       p: =pos(ci,c);       if p> 0 then       begin           l: =length(c);           inc(k);           if p+li< l then c: =copy(c,p+li,l-(p+li-1))       end   until (p=0) or (p+li> =l);   kol: =k end; begin   writeln('количество вхождений равно ',kol(c1,cc)+kol(c2,cc)) end. вывод решения: количество вхождений равно 2

A) функция print не имеет () б) ошибка, нет српвнения, нет then в) нет if, ошибка г) ошибка в теле условия( ошибка в присваивании )

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS