
Функция Pos
Функция Pos (Str1, Str2) обнаруживает первое появление в строке Str2 подстроки Str1. Результат имеет целочисленный тип и равен номеру той позиции, где находится первый символ подстроки Str1. Если в Str2 подстроки Str1 не найдено, результат равен 0.
Str1 |
подстрока, вхождение которой нужно найти |
Str2 |
строка, в которой ищется вхождение подстроки |
Пример:
Исходные данные |
Команда |
Результат |
St:='abcdef' |
k:=Pos('de', St) |
k=4 |
St:='abcdef' |
m:=Pos('r', St) |
m=0 |
Str1:='cd' Str2:='abcdef' |
k:=Pos(Str1,Str2) |
k=3 |
---------------------------------------------------------------------------------------------------
Дана строка S и символ C. Определить, встречается ли символ C в строке S. Если встречается, то вывести на экран Yes, в противном случае — No.
Формат ввода:
c — символ
s — строка
Формат вывода:
Yes — если символ C встречается в строке s
No — если символа C нет в строке s
Пример ввода:
а
Я люблю математику!
Пример вывода:
Yes
program simvol;
var
s : string;
c : char;
p : longint;
begin
readln(c);
readln(s);
p:=pos(c,s);
if p=0
then writeln ('No')
else writeln('Yes');
end.
Строки\Встроенные процедуры и функции\Функция Pos\2 - "Игра"
Баллов: 4
Три мальчика играют в следующую игру: один называет букву, второй называет слово, а третий должен определить, встречается ли названная буква в названном слове. Если встречается, то третий мальчик должен сказать Yes, если не встречается — No. Напишите программу, которая поможет мальчику безошибочно ответить Yes или No.
Формат ввода:
c — символ
s — строка
Формат вывода:
Yes — если символ C встречается в строке s
No — если символа C нет в строке s
Пример ввода:
m
I am a string.
Пример вывода:
Yes
Строки\Встроенные процедуры и функции\Функция Pos\3 - "Слово"
Баллов: 5
Ниже представлена программа, которая определяет, встречается ли указанное слово (фраза) в строке. Напишите эту программу.
Формат ввода: s - строка sl - слово (фраза)Формат вывода: Yes - в случае, если встречается No - в случае, если не встречаетсяПример ввода: Мама мыла раму. мылоПример вывода: No
program simvol;
var
s,sl : string;
begin
readln(s);
readln(sl);
if pos(sl,s)<>0
then writeln('Yes')
else writeln('No');
end.
Строки\Встроенные процедуры и функции\Функция Pos\4 - "Незнайка"
Баллов: 5
Незнайка пишет одно слово неграмотно. Знайка предложил ему написать диктант. Незнайка очень волнуется, сможет ли он не допустить ошибок. Помогите ему определить, встречается ли это слово в диктанте.
Формат ввода: s - диктант sl - слово, которое Незнайка пишет неправильноФормат вывода: Yes - слово есть в диктанте No - слова нет в диктантеПример ввода: Мама мыла раму. мылаПример вывода: Yes
Строки\Встроенные процедуры и функции\Функция Pos\5 - "Первое вхождение" Баллов: 5
Ниже представлена программа, которая находит первое вхождение слова в строку и выводит на экран номер позиции, с которой начинается это слово в строке. Если такого слова нет, то выводится No. Напишите эту программу.
Формат ввода: s - строка sl - словоФормат вывода: i - номер первого вхождения No - в случае, если вхождений нетПример ввода: Мама мыла раму. рамуПример вывода: 11
program simvol;
var
s,sl : string;
i : longint;
begin
readln(s);
readln(sl);
i:=pos(sl,s);
if i=0
then writeln('No')
else writeln(i);
end.
Строки\Встроенные процедуры и функции\Функция Pos\6 - "Умка"
Баллов: 5
На Северном Полюсе белый медвежонок Умка увидел на ночном небе слово, образованное звездочками. А по холодному Атлантическому океану плыли льдины, на которых были написаны буквы, образующие слова. И медвежонок задумался: «Вот проплывет мимо меня слово, которое я вижу на небе… А интересно, с какой по счёту льдины это слово начнется, когда я его увижу в первый раз?..». Помогите Умке определить номер нужной льдины.
Формат ввода: s - слово на льдинах sl - слово на звездахФормат вывода: i - слово на льдинах No - если слово не найденоПример ввода: Белый медведь Умка. медведьПример вывода: 7
Строки\Встроенные процедуры и функции\Функция Pos\7 - "Все вхождения" Баллов: 6
Ниже представлена программа, которая находит все вхождения слова в строку и выводит номера позиций, с которых начинается слово в строке. Если нет ниодного такого слова в строке, то выводится No. Напишите эту программу.
Формат ввода: s - строка sl - словоФормат вывода: i1 - номер первого вхождения i2 - номер втрого вхождения ... iN - номер последнего вхождения No - в случае, если вхождений нет
Пример ввода: Мама мыла раму мыла мама. мылаПример вывода: 6 16
program simvol;
var
s,sl : string;
i : longint;
begin
readln(s);
readln(sl);
i:=pos(sl,s);
if i=0 then writeln('No');
while i<>0 do
begin
writeln(i);
s[i]:='~';
i:=pos(sl,s);
end;
end.
Строки\Встроенные процедуры и функции\Функция Pos\8 - "Винни-Пух" Баллов: 6
Винни-Пух зашел в свой домик, где у него аккуратно в ряд стояло много горшочков с медом, разного цвета и размера. На каждом горшочке был написан символ и, таким образом, горшки с медом образовывали предложение. Пух держал в руках пчелиный улей, на котором было написано слово. Тогда медведь почесал голову и сказал сам себе: «Сегодня на обед придут Пятачок, Сова и Ослик. Надо бы угостить их медом. Но какие же горшочки из такого разнообразия взять для обеда?...» . Подумав-подумав, Пух решил, что вначале найдет среди горшочков такие же слова как и на улее и возмет те горшочки, которые являются началом слова, написанного на улье. Помогите Вини-Пуху узнать номера нужных горшков с медом.
Формат ввода: s - предложение из горшочков sl - слово на улее Формат вывода: i1 - номер первого горшочка i2 - номер втрого горшочка ... iN - номер последнего горшочка No - в случае, если такого слова, как на улее нет
Пример ввода: Винни Пух и друзья Винни Пуха. Винни Пример вывода: 1 20
Строки\Встроенные процедуры и функции\Функция Pos\9 - "Количество вхождений" Баллов: 6
Ниже представлена программа, которая определяет сколько раз указанное слово встречается в строке.Напишите эту программу.
Формат ввода: s - строка sl - слово Формат вывода: k - количество вхождений Пример ввода: Мама мыла раму мыла мама. мыла Пример вывода: 2
program simvol;
var
s,sl : string;
i,k : longint;
begin
readln(s);
readln(sl);
i:=pos(sl,s);
k:=0;
while i<>0 do
begin
k:=k+1;
s[i]:='~';
i:=pos(sl,s);
end;
writeln(k);
end.
Строки\Встроенные процедуры и функции\Функция Pos\10 - "Детективный роман" Баллов: 6
В редакции работник набирал детективный роман. В тексте ему не раз встречалось незнакомое и очень забавное слово. После завершения набора книги, он заинтересовался, а сколько же раз ему встретилось это слово? Помогите работнику это выяснить.
Формат ввода: s - детективный роман sl - незнакомое словоФормат вывода: k - количество вхожденийПример ввода: Мама мыла раму мыла мама. мылаПример вывода: 2
Строки\Встроенные процедуры и функции\Функция Pos\11 - "Переход к маленьким буквам" Баллов: 5
Ниже представлена программа, которая все встречающиеся в строке большие русские буквы переводит в маленькие. Напишите эту программу.
Формат ввода: s - исходная строкаФормат вывода: p - преобразованная строкаПример ввода: МоЯ ПРограММаПример вывода: моя программа
program rus;
var
s,b,m : string;
i,k : longint;
begin
readln(s);
b:=’АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ’;
m:=’абвгдеёжзийклмнопрстуфхцчшщъыьэюя’;
for i:=1 to length(s) do
begin
k:=pos(s[i],b);
if k<>0 then s[i]:=m[k];
end;
writeln(s);
end.
Строки\Встроенные процедуры и функции\Функция Pos\12 - "Текст"
Баллов: 5
Маша печатала текст. Все буквы в тексте должны были быть маленькими. Но клавиатура у Маши была не совсем исправна и потому иногда у нее печатались большие буквы. Помогите Маше исправить текст.
Формат ввода: s - текст, напечатанный МашейФормат вывода: p - исправленный текстПример ввода: Я учусь В ШкоЛеПример вывода: я учусь в школе
Строки\Встроенные процедуры и функции\Функция Pos\13 - "Переход к большим буквам" Баллов: 5
Ниже представлена программа, которая все встречающиеся в строке маленькие русские буквы переводит в большие. Напишите эту программу.
Формат ввода: s - исходная строкаФормат вывода: p - преобразованная строкаПример ввода: МоЯ ПРограММаПример вывода: МОЯ ПРОГРАММА
program rus;
var
s,b,m : string;
i,k : longint;
begin
readln(s);
b:=’АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ’;
m:=’абвгдеёжзийклмнопрстуфхцчшщъыьэюя’;
for i:=1 to length(s) do
begin
k:=pos(s[i],m);
if k<>0 then s[i]:=b[k];
end;
writeln(s);
end.
Строки\Встроенные процедуры и функции\Функция Pos\14 - "Письмо Пятачка" Баллов: 5
Пятачок писал письмо Винни-Пуху. Как и в любом письме, он писал и большие и маленькие буквы. Но подумав, Пятачок решил, что Винни письмо понравится больше, если в нем все буквы будут большими. Помогите переписать письмо.
Формат ввода: s - исходное письмоФормат вывода: p - переписанное письмоПример ввода: ВиННи-пух и ПЯточокПример вывода: ВИННИ-ПУХ И ПЯТОЧОК
Строки\Встроенные процедуры и функции\Процедура Str\1 - "Цифры"
Баллов: 1