Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
61
Добавлен:
25.03.2015
Размер:
711.17 Кб
Скачать

Функция 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