Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Обработка символьной информации. Процедуры и функции обработки строк.⇐ ПредыдущаяСтр 15 из 15
Процедуры обработки строк Delete (St, Poz, N) – удаление N символов строки St, начиная с позиции Poz. Insert (Str1, Str2, Poz) – вставка строки Str1 в строку Str2, начиная с позиции Poz. Пример: Var S1, S2, S3: String[11]; ... S1: =' Pentium '; S2: ='V'; S3: =Insert (S1, S2, 10); В результате выполнения последнего выражения значение строки S3 станет равным 'Pentium V'. Str (I, St) – преобразование числового значения величины I (целого или вещественного типа) и помещение результата в строку St. После I может записываться формат, аналогичный формату вывода. Если в формате указано недостаточное для вывода количество разрядов, поле вывода расширяется автоматически до нужной длины. Val (St, I, Cod) – преобразует значение St в величину целочисленного или вещественного типа и помещает результат в I. Значение St не должно содержать незначащих пробелов в начале и в конце. Cod — целочисленная переменная. Если во время операции преобразования ошибки не обнаружено, значение Cod равно нулю, если ошибка обнаружена (например, литерное значение переводится в цифровое), Cod будет содержать номер позиции первого ошибочного символа, а значение I не определено. Функции Copy (St, Poz, N) – выделяет из строки St подстроку длиной N символов, начиная с позиции Poz. Concat (Str1, Str2,..., StrN) – выполняет сцепление строк Str1, Str2,..., StrN в том порядке, в каком они указаны в списке параметров.
Pos (Str1, Str2) – обнаруживает первое появление в строке Str2 подстроки Str1. Результат имеет целочисленный тип и равен номеру той позиции, где находится первый символ подстроки Str1. Если в Str2 подстроки Str1 не найдено, результат равен 0. Примеры программ обработки строк 1. Дана строка. Слова в строке разделены одним пробелом, в конце строки точка. Распечатать слово максимальной длины. Program Max_Length; Var St, St1: String; n, i, ns, ds, d, d_max: Integer; Begin WriteLn ('Введите строку'); ReadLn(St); d: =Length(st); ns: =1; d_max: =0; For i: =1 to d do If ((St[i]=' ') or (St[i]='.')) then begin ds: =i-ns; If ds> d_max then begin d_max: =ds; st1: =Copy(st, ns, ds); end; ns: =i+1; end; WriteLn ('Слово максимальной длины: ', st1); End. 2. Дан текст Txt. Вставить строку St1 в текст Txt после строки St2. Program Vstavka; {вставка} Label m1; Var i, j, n, n1, n2, k, fl: Integer; str1, str2, txt: String; Begin WriteLn ('Введите исходный текст: '); ReadLn (txt); WriteLn ('Введите вставляемый текст: '); ReadLn (str1); WriteLn ('Введите текст, после которого нужна вставка: '); ReadLn (str2); n: =Length (txt); n1: =Length(str1); Скоро уа ура ура каникулы. n2: =Length (str2); For i: =1 to n do begin fl: =0; If (txt[i]=str2[1]) then begin j: =i; for k: =1 to n2 do begin if (txt[j]=str2[k]) then fl: =1 else begin fl: =0; goto m1; end; j: =j+1; end; end; If (fl< > 0) then begin insert (str1, txt, j); n: =n+n1; end; m1: end; WriteLn ('Полученный текст: '); WriteLn (txt); End. 3. Дан текст Txt. Заменить любое вхождение строки St1 на строку St2. Program zam; {замена} Label m1; Var d2, k: Integer; s, str1, str2, txt: String; Begin WriteLn('Введите исходный текст: '); ReadLn (txt); WriteLn ('Введите замещающий текст: '); ReadLn (str1); WriteLn ('Введите текст, вместо которого нужна замена: '); ReadLn (str2); d2: =Length(st2); Repeat k: =Pos(str2, txt); If k< > 0 then begin Delete (txt, k, d2); Insert(st1, txt, k); end; Until k=0; WriteLn('Полученный текст: '); WriteLn (txt); End. 4. Дан текст Txt. Удалить строку St из текста. Program Udal; {удаление} Var str, txt: String; n, k: Integer; Begin WriteLn('Введите исходный текст: '); ReadLn (txt); WriteLn ('Введите удаляемый текст: '); ReadLn (str); n: =Length(str); Repeat k: =Pos(str, txt); If k< > 0 then Delete (txt, k, n); Until k=0; WriteLn('Полученный текст: '); WriteLn (txt); End. 5. Дана строка, содержащая список фамилий, разделенных одним пробелом. Отсортировать его в алфавитном порядке. Program alf; Var st, z: String; A: array[1..10] of String[10]; i, k, j, sl, ds: Byte; Begin k: =1; WriteLn('Введи список фамилий: '); ReadLn(st); {получение из строки массива слов} For i: =1 to Length(st)-1 do If (st[i]=' ') then inc(k) else A[k]: =A[k]+st[i]; writeln; {сортировка массива слов} For j: =1 to k-1 do For sl: =1 to k-j do begin If Length(A[sl])< Length(A[sl+1]) then ds: =Length(A[sl+1]) else ds: =Length(A[sl]); For i: =1 to ds do begin If A[sl][i]> A[sl+1][i] then begin z: =A[sl]; A[sl]: =A[sl+1]; A[sl+1]: =z; break; end; If A[sl][i]< A[sl+1][i] then break; end; end; WriteLn ('Упорядоченный список: '); For i: =1 to k do Write(A[i], ' '); Repeat Until Keypressed; End. 6. Дан массив строк. Отсортировать его в алфавитном порядке. Program Sorta; Type indata=String[80]; mas=array[1..80] of indata; Var st: mas; i, n: integer; Procedure Sortstring(var inm: mas; n: Integer); Procedure Insort(L, R: Integer; var M: mas); Var a, b: indata; i, j: integer; Begin i: =L; j: =R; a: =M[(l+r)div 2]; Repeat While M[i]< a do i: =i+1; While A< m[j] do j: =j-1; If i< =j then begin b: =M[i]; M[i]: =M[j]; M[j]: =b; i: =i+1; j: =j-1; end; Until i> j; If l< j then Insort(l, j, m); If l< r then Insort(i, r, m); end; Begin Insort (1, n, inm); End; Begin {основная программа} WriteLn ('Введите количество строк'); ReadLn (n); WriteLn ('Введите строки'); For i: =1 to n do ReadLn (st[i]); WriteLn ('Исходный массив строк: '); For i: =1 to n do WriteLn (st[i]); Sortstring(st, n); WriteLn ('Отсортированный массив строк'); For i: =1 to n do WriteLn (st[i]); End. 7. Дан массив строк. Отсортировать его по длине строк. Program sortd; Type indata=String[80]; mas=array[1..80] of indata; Var St: mas; i, n: integer; Procedure Sortstring(var M: mas; n: integer); Var min, i_min, k, i, j: integer; r: indata; Begin For k: =1 to n-1 do begin min: =Length(M[k]); i_min: =k; For i: =k to n do If Length(M[i])< min then begin min: =Length(M[i]); i_min: =i; end; r: =M[k]; M[k]: =M[i_min]; M[i_min]: =r; end; End; Begin WriteLn ('Введите количество строк: '); ReadLn (n); WriteLn ('Введите строки: '); For i: =1 to n do ReadLn (St[i]); WriteLn ('Исходный массив строк: '); For i: =1 to n do WriteLn (St[i]); Sortstring(St, n); WriteLn ('Отсортированный массив строк'); For i: =1 to n do WriteLn (St[i]); End.
|