Есть ответ 👍

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

216
275
Посмотреть ответы 3

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

Nikodim39
4,5(62 оценок)

Странноватая , конечно. естественно, что в множестве нет порядка элементов, использование процедур (функций) здесь совершенно ни к чему. если учитывать все требования, то получится весьма корявая  программа. примерно вот такая: var s,s1: string; i: integer; mn: set of 'a'..'z'; function f(c: char; m: set of 'a'..'z'): boolean; begin f: =(not (c in m))and(c in ['a'..'z']) end; begin writeln('введите строку: '); readln(s); mn: =[]; s1: =''; for i: =1 to length(s) do   if f(s[i],mn) then   begin     mn: =mn+[s[i]];   s1: =s1+s[i]; end; writeln(s1); end.пример работы: введите строку : this is an example text.thisanexmpl

Напишу "современный" вариант решения. хотя бы для того, чтобы показать, насколько современные способы решения в том же паскале ушли вперед по сравнению с тем временем когда придумывались эти // pascalabc.net 3.0, сборка 1088 begin   var s: =readstring('введите строку: ');   var myset: =s.where(x-> x in ['a'..'z']).distinct;   writeln(myset) end. тестовое решение: введите строку: this is an example text. [t,h,i,s,a,n,e,x,m,p,l] а вот если воспользоваться "традиционной" работой с множеством, исходный порядок следования символов будет нарушен: // pascalabc.net 3.0, сборка 1088 var   myset: set of char; procedure addtoset(s: string; var pset: set of char); begin    foreach var c in s do       if c in ['a'..'z'] then include(pset,c) end; begin   var s: =readstring('введите строку: ');   addtoset(s,myset);   writeln(myset) end. тестовое решение: введите строку: this is an example text. {n,e,m,l,t,s,a,i,h,p,x}

  да тут все просто, в диапазоне от 0 до десяти символов в алфавите входят только 2^1=2 символа 2^2 =4 символа 2^3= 8 символов, так варианты 2^2 и 2^3 нам подходят тк символы первого текста кодируются 2 битами, а второго 3 битами, делим 3 на 2 и вуаля получаем 1,5, тоесть ответ первый алфавит- 4 символа  2- 8 символов      

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

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

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

Caktus Image

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

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

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

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

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

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

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

GTP TOP NEWS