Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

n .

o o o
v
.o v
o o
v
l k
o
v o lk o
o lk o k
lk o k sh
o Îáðàçîâàòåëüíûé k sh
k sh
ïðîåêò ¾Øêîëêîâî¿ • Èíôîðìàòèêà, 11 êëàññ • 2021-2022 ó÷åáíûé ãîä
e
sh e
li
n
e n
e Èíôîðìàòèêà. i n 24 Çàäàíèå. Òåîðèÿ li n
n l n .o
li n . o o
o
n .o
Ñòðîêà â ïðîãðàììèðîâàíèè  ýòî ìàññèâ ñèìâîëîâ. Ñëåäîâàòåëüíî, ìû ìîæåì
v
o o
v
. o
v o lk
âçàèìîäåéñòâîâàòü ñ íèìè, êàê ñ ìàññèâàìè, òî åñòü îáðàùàòüñÿ ê ñèìâîëó ïî èíäåê-
o
v
o
lk
o
o
l k
k
o
ñó è ñðàâíèâàòü èõ. Ýòî ðàáîòàåò êàê â Python, òàê è â C++, è â Pascal. Òàêæå âî âñåõ
k
o
lk
h
k
o
sh
k s h

sh òð¼õ ÿçûêàõ ìû ìîæåì èíèöèàëèçèðîâàòü ñòðîêó ñèìâîëüíîé ïîñëåäîâàòåëüíîñòüþ:


s
e
l i n
e
e in
Äåéñòâèå n
e Python C++ li
n Pascal n
l
.o
n
li n o o
Èíèöèàëèçàöèÿ s = "str123" string s = "str123"; var s: string = 'str123';
o
n
o
.o v
o
.
o
v
.
Âûâîä 1 ýëåìåíòà print(s[1]) cout ¾ s[1];
v
o o
v write(s[1]);
l k
o
o
lk
lk k
Ðåçóëüòàò âûâîäà t
lk
o
o t kso
s h
o k sh
sh
k
Çàìåòèì, ÷òî â Ïèòîíå è C++ íóìåðàöèÿ ñòðîêè íà÷èíàåòñÿ ñ íóëÿ, òîãäà êàê â
s h
e i n
e
Ïàñêàëå - ñ åäèíèöû.
e
li
n
e
l in n
l
.o
Python n
li
n
.o
n
o
. o
n
v
o
Äàâàéòå ðåøèì ïðîñòåéøóþ çàäà÷ó: âûâåñòè êîëè÷åñòâî ïàð îäèíàêîâûõ ñèìâî-
o
.o
o
v
o
k
o
v
l k
o
o
ëîâ â ïðîèçâîëüíîé ñòðîêå, ââåä¼ííîé ïîëüçîâàòåëåì. Ïàðîé ñ÷èòàåòñÿ äâà ñèìâîëà
o
v
lk o
l
h
k
lk o k
ñòîÿùèõ îäèí çà äðóãèì íåïîñðåäñòâåííî.
k
o
s h
k sh
s
e
sh Íàïðèìåð, åñëè ïîëüçîâàòåëü ââåä¼ò AABBCC, ïðîãðàììà äîëæíà âûâåñòè 3.
e n
e
l i n
Ðåøåíèå. li
n
e
n
l i n
o
n
li
o
.o
n
.
n
string =.oinput() .o
#èíèöèàëèçèðóåì ïåðåìåííóþ string v
o
ââîäîì ñ o
êîíñîëè,
v
÷åé
o o k
o v k l
#òèï oïî
v óìîë÷àíèþ ýòî str, o o
l k òî åñòü string ol k
lk o k s h
o k sh
k s h e
shcounter = 0 #çàâîäèì ñ÷¼ò÷èê ïàð e
l i n
e n
e
l in n
in li o
n .o
l
for i in range(len(string)-1): n .
#çàâîäèì öèêë îòo0 äî (íåâêëþ÷èòåëüíî) o
o
n .o v o
v
. o
#äëèíû oñòðîêè ìèíóñ îäèí, v÷òîáû íå áûëî âûõîäà k
o çà ãðàíèöû ìàññèâà lk
v o l o
o - ôóíêöèÿ, âîçâðàùàþùàÿ
#len(s) lk o
äëèíó ïåðåìåííîé s òèïà strhk
lk k
o h
k s
o h s
k s e
shif string[i] == string[i+1]: #ñðàâíèâàåì i-ûé è i+1-ûée ýëåìåíòû l i n
e n
e
l in n
counter n += 1 #óâåëè÷èâàåì li ñ÷¼ò÷èê ïðè íàõîæäåíèè n ïàðû .o
li n . o o
n .o o o
v
.o v
o o
v
l k
o
print(counter)
v #âûâîäèì kêîëè÷åñòâî
o íóæíûõ ïàðlk k
o
o l o
lk o k s h
k
o h
k sh
s 1 e
sh e
l i n
e n
e i n li n
n l n .o
n .o o o
v
.o v
o o
v
l k
o
v o lk o
o lk o k
lk o k sh
k
o C++ sh
k sh
e
sh Ïðèíöèïèàëüíî íà óðîâíå ÅÃÝøíûõe çàäà÷ ñòðîêè â C++ níè÷åì íå îòëè÷àþòñÿ
e n
i li
l n
îò ñòðîê â Python.
li n
e
Åäèíñòâåííîå îòëè÷èå
n
li
n
 äëèíó ñòðîêè
.o
nìû ïîëó÷àåì ñ ïîìîùüþ
o
. o
ôóíêöèè .size(),
o
n à òàêæå ñòðîêè oíàäî
. o ïîäêëþ÷àòü êàê áèáëèîòåêó
o
v
o ñ ïîìîùüþk
o
vêîìàí-

äû â oíà÷àëå
v
o ïðîãðàììû: #include
k
o
v
<string>. olk k
o
l
l
o
Äàâàéòå
lk ðåøèì ïðåäûäóùóþ
k
o çàäà÷ó: shk sh

sh
k Ðåøåíèå. sh
e n
e
e in li
e i n l n
#include <iostream> n l n .o
li n . o o
#include o<string>
n .o v
o o
v
. o
o v k
o lk
v o l o
o lk o h
k
lk namespace std; ko
using k s
k
o h sh
s e
sh e
l i n
int main() e n
e
l in n
n li n .o
{ li n . o o
n .o o o
v
string.os; //îáúÿâëÿåì è vèíèöèàëèçèðóåì
o o
v
ïåðåìåííóþ òèïà string l k
o o k o
v
cino >> s; //ñ÷èòûâàåìlkçíà÷åíèå ñ êëàâèàòóðû l k
o h
l k o k s
oint counter = 0; h //îáúÿâëÿåì
k è èíèöèàëèçèðóåì
sh ñ÷¼ò÷èê
k s e
sh for (int i = 0; i < s.size()-1; i++){ //öèêëîì for èä¼ì e äî äëèíû ñòðîêè-1
l i n
e n
if (s[i] e == s[i+1]){ //ñðàâíèâàåì
i n ñîñåäíèå li
ñèìâîëû n
in l o
n .o
l n . o
counter++;
n //óâåëè÷èâàåì
.o ñ÷¼ò÷èê íà 1, oåñëè ñèìâîëû îäèíàêîâû v
.o o v o
}o v k
o lk
v o l o
}lko lk k
o h
k
o s
o
k cout << counter;sh
k
//âûâîäèì êîëè÷åñòâî shïàð
e
sh} e
l i n
e n
e
l in n
n li n .o
li n . o o
o
n .o v
o o
v
. o
o v k
o lk
v o l o
o lk o h
k
lk o k s
k
o h
k sh
s e
sh e
l i n
e n
e
l in n
n li n .o
li n . o o
n .o o o
v
.o v
o o
v
l k
o o k o
v l
o lk o h
k
lk o k s
k
o h
k sh
s 2 e
sh e
l i n
e n
e i n li n
n l n .o
n .o o o
v
.o v
o o
v
l k
o
v o lk o
o lk o k
lk o k sh
k
o Pascal sh
k sh
e
sh Äâà êëþ÷åâûõ îòëè÷èÿ ñòðîê â Ïàñêàëå îò Ïèòîíîâñêèõlinè eÏëþñîâûõ  ýòî íó- li
n
e n
ìåðàöèÿ ñ åäèíèöû,
li n
e
è ôóíêöèÿ, âîçâðàùàþùàÿ
n
li
n
äëèíó.o
ñòðîêè
n - length(s), ãäå
o
. os -
ñòðîêîâàÿ.oïåðåìåííàÿ.
n
o
.o
o
v
o
k
o
v

Ñíîâà
v ðåøèì çàäà÷ó, êîòîðóþ
o
k
o
v
ðàçáèðàëè ðàíåå:
lk k
o
l

o
Ðåøåíèå.
o
lk k
o
l o
sh
k sh
k sh e
sh var e
li
n
e i n
e n
iïåðåìåííóþ l n
s:string; //îáúÿâëÿåì
n ñòðîêîâóþ l n .o
li o
n .o o
i, counter:n integer; //îáúÿâëÿåì
. öåëî÷èñëåííûå oïåðåìåííûå v
o . o v o
o v k
o lk
v o l o
o l k o k
lk
begin
k
o h
k sh
o s
h
k read(s); //ñ÷èòàåì sh ñòðîêó ÷åðåç ñòàíäàðòíûé ââîä e
s e i n
for i:= 1 toe (length(s)-1) do //öèêëîì n
e for èä¼ì äîlinäëèíû ñòðîêè - 1 nl
li n .o
if s[i]li=n s[i+1] then //ñðàâíèâàåì
n ñîñåäíèå .ýëåìåíòû
o o
n .o o o
v
.o
counter:= counter + v1; o //óâåëè÷èâàåì ñ÷¼ò÷èê, o
v åñëè îíè ðàâíû
l k
o o k o
v
writeln(counter); //âûâîäèì êîëè÷åñòâî ïàð l
k
o lk k
o h
k
l o s
end.
o k sh
k s h e
sh e n
 öåëîì, èíôîðìàöèè î ñòðîêàõ âûøå äîñòàòî÷íî äëÿ ðåøåíèÿ ëþáûõ çàäà÷ 24
e n
e
li
n
n
l i

èç ÊÅÃÝ. Îäíàêî, ñåé÷àñ áóäåò ïðèâåäåíà áîëåå ãëóáîêàÿ òåîðèÿ, ïðèìåíèìàÿ äëÿ
li
n
n
l i
. o
n
o
.o
n .o
ñòðîê â ïèòîíå, ÷òî ìîæåò òàêæå îêàçàòüñÿ ïîëåçíûì äëÿ ðåøåíèÿ çàäà÷:
o o
v
.o v
o o
v
lk
o o k o
v l
k
o lk k
o h
k
l o s
k
o h
k sh
s e
sh e
l i n
e n
e
l in n
n li n .o
li n . o o
o
n .o v
o o
v
. o
o v k
o lk
v o l o
o lk o h
k
lk o k s
k
o h
k sh
s e
sh e
l i n
e n
e
l in n
n li n .o
li n . o o
n .o o o
v
.o v
o o
v
l k
o o k o
v l
o lk o h
k
lk o k s
k
o h
k sh
s 3 e
sh e
l i n
e n
e i n li n
n l n .o
n .o o o
v
.o v
o o
v
l k
o
v o lk o
o lk o k
lk o k sh
Ñòðîêè â ÿçûêå Python
k
o
sh
 ýòî âñòðîåííûå îáúåêòû, ñîçäàâàåìûå ñ ïîìîùüþ ñïåöè- e
k sh
shàëüíûõ ëèòåðàëîâ, îòíîñÿùèåñÿ ê íåèçìåíÿåìîìó òèïó äàííûõ n è ïðåäñòàâëÿþùèå
e n
e i li
l n
ñîáîé ïîñëåäîâàòåëüíîñòè
l i n
e
ñèìâîëîâ,
n
li èíòåðôåéñ äîñòóïàon
n
.
ê êîòîðûì îñíîâàí o
íà
.o èõ
ñìåùåíèè,.oàn ñàìè ñèìâîëû ïðåäñòàâëÿþò
o
.o ñîáîé ïîðÿäêîâûå
o
v
o íîìåðà êîäîâûõ
k
o
v òî÷åê

òàáëèöû
o
v áàçîâîãî ñèìâîëüíîãî
o
k
o íàáîðà è ïî îòäåëüíîñòè
v
o
lk ìîãóò ðàññìàòðèâàòüñÿ,
k
o
l
êàê
l
ñòðîêè
o
lk åäèíè÷íîé äëèíû. k
o
sh
k sh
k sh e
sh e
li
n
Ñàìîå ãëàâíîåe  ýëåìåíòû ñòðîê iníåâîçìîæíî
e èçìåíèòü l íàïðÿìóþ, à òðåáóåòñÿ in n
n .o
ëèáî ñîçäàâàòü
n
li íîâóþ ñòðîêó, ëèáî
n
.o
nïåðåçàïèñûâàòü ñóùåñòâóþùóþ.
l
o
. o Ìíîãèå ìåòîäû
v
o
è ôóíêöèè
o
. ýòî óæå äåëàþò çàvâàñ, íî òåì íå ìåíåå o
o o
k
îá ýòîì ñòîèò çíàòü. lk
v o
v o l o
o lk o k
lk o k sh
o Ïðèìåð: k sh
k sh e
sh e
li
n
s = 'o fludilka' e n
e
lin n
n äåëàòü íåëüçÿ l i n .o
s[0] = 'a' #Òàê
li n .o o
n . o o v
s = 'a' .+o s[1:] #Òàê ìîæíîvo v o
o o lk
v o lk o
o lk
Âîçìîæíî, âîçíèê âîïðîñ  ÷òî ýòî òàêîåh çàïèñàíî â òðåòüåé sñòðîêå?
h o
Ïî÷åìó k
lk k
o k

h
ñòîèò çíàê '+'? Ïî÷åìó
k
o
sh â íîìåðå ñòðîêè ñòîèò ÷èñëî è êàêèå-òî äâîåòî÷èÿ? Ñàìîå e
s
e n
s
âðåìÿ óçíàòü áàçîâûå
e
äåéñòâèÿ ñî ñòðîêàìè,
n
e ÷òîáû ýòî ïîíÿòü.
l i n
n
li
n li n .o
li n .o o
n .o o o
v
.o v
o o
v
lk
o
v k
o lk k
o
o l o
lk o k s h
o k sh
k sh e
sh e
li
n
e n
e in li n
i n l n .o
l n .o o
n .o o o
v
.o v
o o
v
lk
o
v o lk o
o lk o k
lk o k sh
o k sh
k sh e
sh e
li
n
e n
e n li n
i n li n .o
l n .o o
n .o o o
v
.o v
o o
v
lk
o
v o lk o
o lk o k
lk o k sh
o k sh
k sh 4 e
sh e
l i n
e n
e
l in n
n l i n .o
n .o o o
v
.o v
o o
v
l k
o
v o lk o
o lk o k
lk o k sh
1) Êîíêàòåíàöèÿ (÷òî
k
o
sh
îçíà÷àåò "ñëîæåíèå"ñòðîê)
k sh
e
sh Ê ïðèìåðó, ìû õîòèì ñëîæåíèåì ñòðîê 'ÃÓ' è 'ÀÐ' ïîëó÷èòü ñòðîêó
e 'ÃÓÀÐ' [Ãëóáî- l i n
e n
n li n
êîóâàæàåìûéliÀëåêñàíäð
n
e
Ðîìàíîâè÷].
n
l Êàê ýòî ìîæíî ñäåëàòü?
i
. o
n Ñ ïîìîùüþ ñèìâîëà
o
. o
ñëîæåíèÿ.oìåæäó
n äâóìÿ ñòðîêàìè:
o
.o
o
v
o
k
o
v
o v l
v k
o lk k
o
s1 =ko'ÃÓ' l o
l o k sh
s2o
k = 'ÀÐ'
k sh
sh e
sh print(s1 + s2) e
li
n
e
lin n
#'ÃÓÀÐ' n
e
lin n .o
li n .o o
n o o v
2) Äóáëèðîâàíèå
o
.o ñòðîêè. Àvåñëè
o
.
ìû õîòèì âûðàçèòü íå ïðîñòî óâàæåíèå, à âîñ-
o
v
lk
o
k
õèùåíèå?
k
o
v Òîãäà íàì ïîìîæåò
l k îïåðàòîð '*':
o
k
o h
l
k
o
l o s
o
print('ÃÓÀÐ
k ' * 3)sh
k sh
h e
s e n
#'ÃÓÀÐ ÃÓÀÐ ÃÓÀÐ' e in li
e n l n
n li n .o
3) Êàê óçíàòü
o
n
li
äëèíó ñòðîêè? Îáðàùåíèå
.o ïî èíäåêñó ê ñèìâîëàì ñòðîêè:
n
o
.o
o
v
o
. o v
o v o lk
s = 'ÃÓÀÐ'
v k
o lk k
o
o l o
n o=lklen(s) #Âñòðîåííàÿ o
k ôóíêöèÿ len h
k sh
s
h
k
for i in range(n): sh e
s e i n
e n l
print(s[i], e end = '') i n li n
n l n .o
print() nli n . o o
.o o o
v
.o v
o o
v
lk
o o k o
v l
#Îäíàêî,
k
o ê ýëåìåíòàì ñòðîêèlk ìîæíî îáðàùàòüñÿ k
o ÷åðåç îïåðàòîðhin. k
l o s
o
#Îòëè÷èå
k â òîì, ÷òîhk sh
s e
sh#îáðàùåíèå èäåò íå ïî èíäåêñó, à ïî ñàìîìó íàëè÷èþ ýëåìåíòà e â ñòðîêå. l i n
e n
e
l in n
n li n .o
li n . o o
for x in os: n .o v
o o
v
. o
o
print(x, v
end = '') #Àíàëîãè÷íûé ðåçóëüòàò k
o lk
v o l o
o lk o h
k
lk
print() o k s
k
o h
k sh
s e
sh e
l i n
#Òàêæå ìîæíî îáðàùàòüñÿ
e
ê ýëåìåíòàì n
e ñ êîíöà
l in n
n li n .o
#èñïîëüçóÿ îòðèöàòåëüíûå
li èíäåêñû.
n ×òîáû îáðàòèòüñÿ . o ê ïîñëåäíåìó ýëåìåíòó,
o
n .o o o
v
.o
#íóæíî íàïèñàòü s[-1], ê ïðåäïîñëåäíåìó
v
o s[-2] o
vè òàê äàëåå.
l k
o o k o
v l
o lk o h
k
lk o k s
k
o h
k sh
s 5 e
sh e
l i n
e n
e i n li n
n l n .o
n .o o o
v
.o v
o o
v
l k
o
v o lk o
o lk o k
lk o k sh
for
k
k
o i in range(n-1,h-1, -1): sh
h s e
s e n
print(s[i], end = '') e n li
e n li n
print() in li n .o
l n .o o
n .o o o
v
.o v
o o
v
lk
o
#Ïîëíûé
v àíàëîã o lk o
o lk o k
lk o k sh
k
o h
k sh
hfor i in range(1, sn+1): e
s e n
e in li
print(s[-i],
e end = '') l n
n l in n .o
print() li n .o o
n .o o o
v
.o o v
4) Ñðåçû.
v
o o
v
l k
o
o
lk
lk k
o
×òî
lk ýòî òàêîå? Ïîëíàÿ àíàëîãèÿ ïåðåáîðóhk
o
k
o â öèêëå for ïî èíäåêñàì
o
sh ñ êàêèì-òî
s høàãîì
k k, êîòîðàÿ âîçâðàùàåò
sh íîâóþ ñòðîêó ñ çàäàííûìè ïàðàìåòðàìè.
s
e n
e
Âåðíåìñÿ ê ôðàãìåíòó
e
êîäà: i n
e
l in n
l i

in l n .o
l
s = 'o fludilka' n .o o
n .o o o
v
.o o o
v
lk
s = 'a'o + s[1:] v
v o lk o
o lk o k

k
Ñðåç  ýòî êàê ðàç òå
o
l k
h
ñàìûå
k
o ñòðàííûå äâîåòî÷èÿ.
s h À êàêîé àíàëîã
k sýòîìó
h
êîäó åñòü
sháåç ñðåçîâ? s
n
e
l i n
e
e
e in li n
s = 'o fludilka'n l n .o
li o
n .o o
s_new = .'a'n . o v
o o v o
o v o lk
v o lk o
k
o lk k
o h
k
for o
l i in range(1, len(s)): s
k
o h
k sh
s_new += s[i] s e
sh e
li
n
e n
e in li n
i n l n .o
print(s_new)l n .o o
n .o o o
v
.o
#'a fludilka' v
o o
v
lk
o
v o lk o
o lk o k
lk o k sh
o k sh
sh
k Òî åñòü, ñðåçû ïîçâîëÿþò
sh èçáàâëÿòüñÿ îò ëèøíèõ öèêëîâ efor, òàê êàê ÿâëÿþò- ne
ñÿ èõ àíàëîãîì eäëÿ âñåõ èòåðèðóåìûõ n
eîáúåêòîâ â ïèòîíå. iÑèíòàêñèñ
l
n ñëåäóþùèé:n
li
li .o
item[START:STOP:STEP]
li n  ñðåç îòn ýëåìåíòà ñ íîìåðîì.START, äî STOP (íå oâêëþ-
o
n
n .o o v
÷àÿ åãî),o.ñoøàãîì STEP. Ñîáñòâåííî,
v
o ñèíòàêñèñ êàê oóvôóíêöèè range(START,
l k
o STOP,
STEP).
k
o
v
lk
o
k
o
l k
h
k
o
l o s
o k sh
k sh 6 e
sh e
l i n
e n
e
l in n
n l i n .o
n .o o o
v
.o v
o o
v
l k
o
v o lk o
o lk o k
lk o k sh
k
oÏðèìåðû: sh
k sh
e
sh e
li
n
n
s = 'À ðîçà óïàëà
e íà ëàïó Àçîðà'ine li n
n l n .o
li n .o o
o
n .o v
o o
v
s1 = s[2:] . o
o v o lk
v k
o lk k
o
#s1 k=o 'ðîçà óïàëà íà ëàïó
l Àçîðà' o
l o k sh
k
o h
k sh
s e
sh s2 = s[7:20] e
li
n
e
l in n
e ëàïó'
#s2 = 'óïàëàiníà l in n .o
l n .o o
n .o o o
v
.o v
o o
v
lk
o
s3 = s[3:len(s)-3:3] o k o
v l
o lk o k
#s3lk= 'î à ïÀ' o k sh
k
o h
k sh
s h Òåïåðü î ñàìûõ ÷àñòî èñïîëüçóåìûõeôóíêöèÿõ è ìåòîäàõinñòðîê
s
e (ïîìèìî âûøå-line
îïèñàííûõ): ine li
n
n
l
. o
n

1) S.nd(str, .oÂîçâðàùàåò íîìåð v


n [start],[end])  Ïîèñê ïîäñòðîêè â ñòðîêå. ïåðâîãî
l n o
. o o
.o o v o
âõîæäåíèÿ
v
o èëè -1 è S.rnd(str, o
v[start],[end])  Ïîèñê
lk
oïîäñòðîêè â ñòðîêå. Âîçâðàùàåò
o
l k
k
íîìåð
lk ïîñëåäíåãî âõîæäåíèÿ
o
k
o
l èëè -1. h
k
o
sh
k

k 1.5) Áîëåå ïðèÿòíûé sh àíàëîã  'something' in s. Åñëè åñòü  òî âûâåäåò True, åñëè e
o s
h e n
s
íåò False. e
l i n
n
li
e in
2) S.replace(øàáëîí,
li
n çàìåíà, [maxcount])
o
n
l  Çàìåíà øàáëîíà
.o
n íà çàìåíó. maxcount
o
. o
v
îãðàíè÷èâàåò.o êîëè÷åñòâî çàìåí.
n
v
o
.
o
v
o
l k
o
o
3) oS.count(str,
v [start],[end])
l k  Âîçâðàùàåò êîëè÷åñòâî
o
o
lk íåïåðåñåêàþùèõñÿ k
o âõîæäå-
íèé
k
o ïîäñòðîêè â äèàïàçîíå
lk
h
k [íà÷àëî, êîíåö] (0
o
shè äëèíà ñòðîêè ïî óìîë÷àíèþ).
k s h

sh 4) ord(ñèìâîë)  Ñèìâîë â åãî êîä ASCII è chr(÷èñëî)  e Êîä ASCII â ñèìâîë.


s e
i n
in è òðåáóåòñÿ ÷òî-òî l
Äîâîëüíî ïîëåçíî, e åñëè òàê èëè èíà÷å
li
n
e
ðàáîòàåì ñ àëôàâèòîì
n
l
.o
n
in
ïîäñ÷èòàòü nêîíêðåòíîå.
l
.o
n
o
. o
o
v
o
.o v
o o
v
lk
o o k o
v l
Óðà, íà îñíîâàíèè ýòîãî òåïåðü ìîæíî ðàçáèðàòü
lk
o
o
lk k
o ðàçëè÷íûå çàäà÷è!
sh
k
o k sh
k sh e
sh e
li
n
e n
e n li n
i n li n .o
l n .o o
n .o o o
v
.o v
o o
v
lk
o
v o lk o
o lk o k
lk o k sh
o k sh
k sh 7 e
sh e
l i n
e n
e
l in n
n l i n .o
n .o o o
v
.o v
o o
v
l k
o
v o lk o
o lk o k
lk o k sh
k
o
sh
k
Çàäà÷è sh
e
sh Îòâåòû è ðåøåíèÿ íàõîäÿòñÿ â êîíöå ìåòîäè÷êè e
li
n
e i n
e n l n
n li n . o
Äëÿ ðåøåíèÿ
n
l êàæäîé çàäà÷è íåîáõîäèìî
i
. o
n íàïèñàòü ïðîãðàììó,
o
.o à òàêæå ïðîâåðèòü
v
o
å¼ íà äàííûõ,
o
.o ïðèâåä¼ííûõ ïîñëå v óñëîâèÿ çàäà÷è. Ðåêîìåíäóåòñÿ
o o
v ñíà÷àëà l ïðîâåðèòü
k
o
o lk o
ïðîãðàììó
o
v
íà âûäà÷ó ïðàâèëüíîãî
l k îòâåòà íà ëþáûõ
o äàííûõ, â òîì ÷èñëå
k ïðèâåä¼í-
lk o k sh
íûõ,
k
o è òîëüêî ïîòîì sñìîòðåòü
h
k ðåøåíèå. s h
e
sh e
li
n
e i n
n
Çàäà÷à 1 line n
li
n
.o
n
l
o
.o
Ïîëüçîâàòåëü
.o
n ââîäèò ñòðîêó oäëèíîé
.o áîëüøå 3-õ è ìåíüøå 106 ñèìâîëîâ. Íåîáõî-
v
o o
v
o lk
äèìîoâûâåñòè
v
o âòîðîé ñèìâîë,
lk
o ñ÷èòàÿ îò åäèíèöû, à òàêæå äëèíó ñòðîêè.
v
o k
ol k

o
Äàííûå
lk k
o
sh
k sh

sh
k
ABCDEF sh
e n
e
e in li
e n l n
n li n .o
Çàäà÷ào2 n
li
.o
n
o
.o
o
v
o
Ïîëüçîâàòåëü
v
o
. ââîäèò ñòðîêó äëèíîé
o
v
o áîëüøå 2-õ è ìåíüøå 106 ñèìâîëîâ A, B è C.
lk
o
o
v
lk
Òðåáóåòñÿ
lk
o îïðåäåëèòü êîëè÷åñòâî
o
lkñèìâîëîâ A, B
k
oè C ñîîòâåòñòâåííî.hÍàïðèìåð,
s
k ïðè
ââîäå
k
o ñòðîêè AABCCC sh
ïðîãðàììà äîëæíà âûäàâàòü
k s h
2 1 3. e
s h
Äàííûå e
li
n
e
n
li
n

ABBBCBCBABBCABCBABCBABCBABCBABCABCBBCBCBBBBBB
li
n
e
n .o
n li
n
o
.o
n .o o o
v
.o o o
v
lk
Çàäà÷à
o
v
o
3 l k
o
v
o
lk k
o
Ïîëüçîâàòåëü ââîäèò ñòðîêó äëèíîé áîëüøå
o
lk k
o
sh
2-õ è ìåíüøå 106 ñèìâîëîâ. Îïðåäå-
k s h
sh
shëèòü êîëè÷åñòâî ïàð îäèíàêîâûõ ñèìâîëîâ. Ïàðîé ñ÷èòàþòñÿ eëþáûå äâà îòëè÷íûå
k e
i n
l
ïî èíäåêñó ýëåìåíòû.
e Íàïðèìåð, äëÿ
li
ñòðîêè
n
e
ABACB ïðîãðàììà
n
l in äîëæíà âûäàòü
.o
2.
n
Äàííûånlin
.o
n
o
.o
o
v
o
ABACBRFOSJGHRYFYYFDPAOOOFGHYEABJGDNVOHSUDGDSH
o
.o v
o o
v
lk
v o o lk
o lk o k
lk o k sh
o k sh
k sh e
sh e
li
n
e n
e n li n
i n li n .o
l n .o o
n .o o o
v
.o v
o o
v
lk
o
v o lk o
o lk o k
lk o k sh
o k sh
k sh 8 e
sh e
l i n
e n
e
l in n
n l i n .o
n .o o o
v
.o v
o o
v
l k
o
v o lk o
o lk o k
lk o k sh
k
o Çàäà÷à 4 sh
k sh
e
sh Ïîëüçîâàòåëü ââîäèò ñòðîêó äëèíîé eáîëüøå 2-õ è ìåíüøåli10
n ñèìâîëîâ A, B, C lèi
e6 n
n
D. Íåîáõîäèìî
li níàéòè äëèíó ñàìîé äëèííîé
e
n
li
n
ïîäïîñëåäîâàòåëüíîñòè
.o
n ïîäðÿä èäóùèõ
o
. o
ñèìâîëîâ.D.
o
nÍàïðèìåð, ïðè ââîäå
o
. oñòðîêè ADDBDDDC,
v
o ïðîãðàììà äîëæíàoâûâåñòè
v
o lk
3. ov o
k
o
v
l k
k
o

o
Äàííûå
lk k
o
l o
sh
k sh

sh
k ADBCCBCBCCBCBCDDDDADDDBDADBBDBBDBDDDDDDDDDBAD
sh
e n
e
e n li
e in li n
l n .o
Çàäà÷à 5 n
li n
.o
n
o
.o
o
v
o
Ïîëüçîâàòåëü
o ââîäèò ñòðîêó äëèíîé áîëüøå 2-õ è ìåíüøå 106 ñèìâîëîâ
.o
o
v
o
o
A, B, C è
k
o
v
lk
v l
D. lÍåîáõîäèìî
k
o íàéòè äëèíó ñàìîé êîðîòêîé ïîäïîñëåäîâàòåëüíîñòè
o
lk k
o
s
ïîäðÿä
h
k èäóùèõ
ñèìâîëîâ
k
o C. Íàïðèìåð,
sh
ïðè ââîäå ñòðîêè ACCCBCC,
k s h
ïðîãðàììà äîëæíà âûâåñòè 2. e
sh Äàííûå e in
e
n
li
n

ABCCCCCBBCCCCCBBBAADDBABBADDDAACCCCCCDADDDBBB
li n
e
n . o
n
l
li
n
o
.o
n .o o o
v
.o o o
v
lk
Çàäà÷à
o
v
o
6 lk
o
v
o
lk k
o
Ïîëüçîâàòåëü ââîäèò ñòðîêó äëèíîé áîëüøå
o
lk k
o
s h2-õ è ìåíüøå 106 ñèìâîëîâ
ksh A, B, C, D,
shE, O. Òðåáóåòñÿ âûâåñòè êîëè÷åñòâî ãëàñíûõ áóêâ â ñòðîêå. Íàïðèìåð, åñëè ââåñòèine
k sh
e
ñòðîêó AODCDOO,e ïðîãðàììà äîëæíài n íàïå÷àòàòü 4.
e
n
li
n
.o
n
l

Äàííûånli
n l
.o
n
o
.o v
o
AOBECDEDBECEDOEOAABCDECBACDEOADCEBDECAAAABCCC
o
.o v
o o
v
lk
o
v k
o o lk k
o l o
lk o k s h
k
o Çàäà÷à 7 sh
k sh
e
sh Ïîëüçîâàòåëü ââîäèò ñòðîêó äëèíîéneáîëüøå 2-õ è ìåíüøåli10 n ñèìâîëîâ A, B, C è
e6 n
li
n
D. Îïðåäåëèòåli
níàèáîëüøóþ äëèíó ïîäïîñëåäîâàòåëüíîñòè,
e
n
li
. o ñîñòîÿùóþ èç ñèìâîëîâ
n
o
.o
A, ñòîÿùèõ
.o ÷åðåç
n îäèí. Äëèíîé ñ÷èòàåòñÿ
o
.o êîëè÷åñòâîo
vñèìâîëîâ
o À âíóòðè ýòîé
k
o
v
ïîäïî-
ñëåäîâàòåëüíîñòè.
o
v
o
Íàïðèìåð,
l k
o ïðè ââîäå ñòðîêè ABACABABCA,
v
o
lk ïðîãðàììà
k
o
l
äîëæíà
âûâåñòè
o
lk 4. k
o
sh
k sh

sh
k
Äàííûå sh
e n
e
li
ABCABABABCAABCAABCACACBACBACBACBACAABACABACACA
e i n
e
li
n
n
n l n .o
li n .o o
n .o o o
v
.o v
o o
v
lk
o
v o lk o
o lk o k
lk o k sh
o k sh
k sh 9 e
sh e
l i n
e n
e
l in n
n l i n .o
n .o o o
v
.o v
o o
v
l k
o
v o lk o
o lk o k
lk o k sh
k
o Çàäà÷à 8 sh
k sh
e
sh Íàïèøèòå ïðîãðàììó, êîòîðàÿ íàõîäèò e ïîäñòðîêè, öåëèêîì n ñîñòîÿùèå èç áóêâ I.
e n
i li
l n
 êà÷åñòâå îòâåòà
li n
e
çàïèøèòå ÷åðåç n
ïðîáåë
li
n
êîëè÷åñòâî òàêèõ
.o
n ñòðîê, à òàêæå ìàêñè-
o
. o
ìàëüíóþ .äëèíó
o
n ïîäîáíîé ñòðîêè.
o
. o(Ïðèìåð: AIIBIIIIIC o
o
v  äëÿ äàííîé ñòðîêèk
oîòâåòîì
v

áóäåòo2v5).
o
k
o
v
lk k
o
l

o
Äàííûå
lk k
o
l o
sh
k sh

sh
k ANJIIIIAJSDNKAJNDSIIIIIIAKSJSDIIIIIIIIKJASNIAJSNDIII
sh
e n
e
e n li
e in li n
l n .o
Çàäà÷à 9 n
li n
.o
n
o
.o
o
v
o
Íàçîâ¼ì
o ëîêàëüíûì ìàêñèìóìîì ñèìâîë, íîìåð êîòîðîãî â êîäîâîé òàáëèöå
.o
o
v
o
o
ñòðî-
k
o
v
lk
v l
ãî áîëüøå
lk
o íîìåðîâ ïðåäûäóùåãî è ïîñëåäóþùåãî
o
lk k ñèìâîëîâ. Ñàìûésïåðâûé
o h
k è ñàìûé
ïîñëåäíèé
k
o ñèìâîë íåsÿâëÿþòñÿ
h ëîêàëüíûìèsìàêñèìóìàìè. Îïðåäåëèòå íàèáîëüøåå e
k h
shðàññòîÿíèå ìåæäó äâóìÿ ñîñåäíèìè ëîêàëüíûìè ìàêñèìóìàìè. e Ðàññòîÿíèåì ìåæäóin
l
e i n
n
ýëåìåíòàìè áóäåì
li
n ñ÷èòàòü ðàçíîñòü lèõ
e
n
i èíäåêñîâ.
n
.o
n
l
o
.o
Äàííûå
.o
n
o
.o v
o
k
o
v
ANJIIIIAJSDNKAJNDSIIIIIIAKSJSDIIIIIIIIKJASNIAJSNDIII
v
o o
v
lk
o
o
l
o lk o k
lk o k sh
o k sh
k sh e
sh Îòâåòû
e n
e
li
n
e n li n
li .o
1. B 6 li
n
n .o
n
o
n .o o v
2. 8 26o.11
o
v
o o
v
lk
o

3.k54v k
o lk k
o
o l o
k h
o4. 9
l o s
k sh
k sh e
sh 5. 5 e
li
n
e n
6. 22 i n
e
l in n
li
.o
n

7. 11 onl n .o o
.o v
o o
v
o
8. 3 v8o. o
v
lk
o
o
lk
9.lk10
o
o
lk k
o
sh
k
o k sh
k sh e
sh e
li
n
e n
e n li n
i n li n .o
l n .o o
n .o o o
v
.o v
o o
v
lk
o
v o lk o
o lk o k
lk o k sh
o k sh
k sh 10 e
sh e
l i n
e n
e
l in n
n l i n .o
n .o o o
v
.o v
o o
v
l k
o
v o lk o
o lk o k
lk o k sh
k
o
sh
k
Ðåøåíèÿ sh
e
sh n
Çàäà÷à 1 e i n
e
li
n
e
n
li
Ðåøåíèå íà ÿçûêå Python:
li
n
n
l
. o
n
o
.o
o
n .o v
o o
v
.
string o= input() o
v o lk
v k
o lk k
o
print(string[1],
o ' ', len(string))
l o
lk o k sh
h
k
o
Çàäà÷à 2 sh
k s h
e n
e
s
Ðåøåíèå íà ÿçûêå C++: e
l i n
n
li
n
e
l in n .o
li
#include <iostream> o
n .o o
n . o v
.o o v o
#include o <string> v o lk
v o l k o
o l k o k
lk k
o h
k sh
using
o namespace std; s
h
k sh e
s e n
e i n li
n l n
int main() ne li n .o
li n . o o
{ n . o o v
.o o v o
stringo s; v o lk
v k
o lk k
o
o l o
cin
lk >> s; o k sh
o k s h
k int countA = 0; sh e
s h e n
int countB = 0; e i n li
e in l n
n
int countCli = 0; l n .o
o
n .o v
o
n . o o
for (int.o i = 0; i < s.size(); o i++){ v
o v o lk
ifv o lk o
o (s[i] == 'A'){ lk o k
lk o k s h
o countA++; k sh
h
k
} sh e
s e n
e i n li
else if (s[i] e== 'B'){ in l n
i n l n .o
countB++; nl o
n .o v
o
. o o
} .o v
o o
v
lk
o o k o
v k l k
else{ o l o
lk k
o h
k sh
o
countC++; s
h
k sh e
s } e n
e i n li
e n l n
} i n li o
n .o
l n . o
n . o o v
cout << .o
countA << " " << ocountB << " " << countC;
v o
o v o lk
} v k
o lk k
o
o l o
lk k
o h
k sh
o s
h
k sh 11 e
s e i n
e i n l
e n l n
n li n .o
n .o o o
v
.o v
o o
v
l k
o
v o lk o
o lk o k
lk o k sh
kÇàäà÷à 3
o
sh
k sh
e
sh Ðåøåíèå íà ÿçûêå Pascal: e
li
n
e n
e i n li n
n l n .o
var li n .o o
o
n .o v
o o
v
.
s:string; o
o v o lk
v k
o lk k
o
i,koj, counter: integer; l o
l o k sh
o
begin
k h
k sh
s e
sh readln(s); e
li
n
e n
e
lin n
for i:= 1 ito n length(s) - 1 do li n .o
l n
o do .o v
o
for j:= n i + 1 to length(s) . o o
.o v
o o
v
lk
o (s[i] = s[j]) then
if o k o
v k l k
o l o
lk counter:= counter o + 1; k sh
o k sh
h
k writeln(counter); sh e
s e n
end. e in li
e i n l n
n l n .o
li n .o o
n .o o o
v
.o v
Çàäà÷à 4
v
o o
v
o
lk
o
o
lk
Ðåøåíèå íà ÿçûêå Python:
o lk o k
lk o k sh
k
o h
k sh
s e
shstring = input() e
li
n
e n
counter = 0 ne i n li n
i l n .o
max = 0 n l n .o o
o .o v
o o
v
. o
for i in o range(len(string)): v o lk
v k
o lk k
o
o string[i] == 'D':
if l o
lk o k s h
k
o
counter+=1sh
k sh
e
sh else:
e
li
n
e n
e i n li n
if counter
n > max: l n .o
li o
n .o o
n . o v
.o max = counter vo o
v
lk
o
o
v counter = 0 k
o lk k
o
o l o
k
ifolcounter > max: o k sh
k sh
h
k
max = counter sh e
s e n
e n li
print(max) e i n li n
n l n .o
li n .o o
n .o o o
v
.o v
o o
v
lk
o
v o lk o
o lk o k
lk o k sh
k
o h
k sh
s 12 e
sh e
l i n
e n
e
l in n
n l i n .o
n .o o o
v
.o v
o o
v
l k
o
v o lk o
o lk o k
lk o k sh
kÇàäà÷à 5
o
sh
k sh
e
sh Ðåøåíèå íà ÿçûêå C++: e
li
n
e n
e i n li n
// Example program n l n .o
li n .o o
n .o o o
v
#include.o<iostream> o o
v
lk
o v
#include v <string> k
o lk k
o
o l o
lk o k sh
k
o h
k sh
s e
shusing namespace std; e
li
n
e n
e
lin n
in li n .o
int main()n l n .o o
o .o v
o o
v
. o
{ o v k
o lk
v o l o
o
string s; lk o k
lk o k sh
o
k cin >> s; h
k sh
s e
sh int counter = 0; e
li
n
e n
e
lin n
l i n .o
int lengthlin= -1; n .o o
int min n .o o v
.o = 1000000; v
o o
v
lk
o
o
forov(int o
i = 0; i < s.size(); i++){ lk o
lk o k
l k o k sh
o if (s[i] == 'C'){ k sh
k
counter++; sh e
sh e
li
n
e n
} e i n li n
n l n .o
else if (counter li > 0){ n .o o
o
n .o v
o o
v
.
length o= counter; o
v o lk
v k
o lk k
o
countero = 0; l o h
lk o k s
ifo
k (length < min){sh
k sh
e
sh min = length; e
li
n
e n
e i n li n
} n l n .o
li o
n .o o
} n . o v
.o o v o
} vo v o lk
o lk o
o lk o k
lk (counter > 0){ ko
if k sh
o sh
h
k
length = counter; sh e
s e n
counter = 0; e e n li
i n li n
if (length <linmin){ l n .o
n .o o
n .o o o
v
min .=o length; v
o o
v
lk
o
} v o lk o
o lk o k
lk o k sh
k
o h
k sh
s 13 e
sh e
l i n
e n
e
l in n
n l i n .o
n .o o o
v
.o v
o o
v
l k
o
v o lk o
o lk o k
lk o k sh
o} k sh
k sh e
sh if (min == 1000000){ e
li
n
e n
e i n li n
cout << n 0; l n .o
li n .o o
} n .o o o
v
.o v
o o
v
lk
elsevo{ k
o lk o
o l o k
lk cout << min; ko k sh
o sh
h
k} sh e
s e n
e in li
} e n l n
n li n .o
li n .o o
n .o o o
v
.o v
o o
v
lk
o o k o
v l
o lk o k
lk o k sh
o k sh
k sh e
sh e
li
n
e n
e
lin n
i n li n .o
l n .o o
n .o o o
v
.o v
o o
v
lk
o
v o lk o
o lk o k
lk o k sh
o k sh
k sh e
sh e
li
n
e n
e n li n
n li n .o
li n .o o
n .o o o
v
.o v
o o
v
lk
o
v k
o lk k
o
o l o
lk o k s h
o k sh
k sh e
sh e
li
n
e n
e in li n
i n l n .o
l n .o o
n .o o o
v
.o v
o o
v
lk
o
v o lk o
o lk o k
lk o k sh
o k sh
k sh e
sh e
li
n
e n
e n li n
i n li n .o
l n .o o
n .o o o
v
.o v
o o
v
lk
o
v o lk o
o lk o k
lk o k sh
o k sh
k sh 14 e
sh e
l i n
e n
e
l in n
n l i n .o
n .o o o
v
.o v
o o
v
l k
o
v o lk o
o lk o k
lk o k sh
kÇàäà÷à 6
o
sh
k sh
e
sh Ðåøåíèå íà ÿçûêå Pascal: e
li
n
e n
e i n li n
n l n .o
var li n . o o
o
n .o v
o o
v
s:string;. o
o v o lk
v k
o lk k
o
i,kocounter: integer; l o
l k
o h
k sh
o
begin s
h
k sh e
s readln(s); e n
e i n li
e n l n
for i:= 1 ito n length(s) do li n .o
l n .o o
if (s[i] n = 'A') or (s[i].o= 'E') or (s[i] = o 'O') then o
v
.o v
o o
v
lk
o
vcounter:= counter k+o 1; lk k
o
o l o
lk
writeln(counter);
k
o h
k sh
o s
h
k
end. sh e
s e n
e i n li
e n l n
i n li n .o
Çàäà÷à 7 .o
n
l
o
. o
n
v
o
. o
o
v
o

Ðåøåíèå íà ÿçûêå Python:


v
o o
v
lk
o
o
lk
o l k o k
k
s o=l input() k
o h
k sh
s
h
k sh e
s counter = 0 e
li
n
e i n
max = 0 e in l n
n l n .o
li
for i in range(len(s)): o
n .o o
n . o v
o o v o
j =o.i v o lk
v k
o lk k
o
o
while (j < len(s) o- 2): l o
lk k s h
o k sh
k if s[j] ==sh s[j + 2]: e
s h e n
counter += 1 e i n li
e in l n
jn += 2 l n .o
li o
n .o o
n . o v
.else:
o
v
o o
v
lk
o
o k
o
v if counter >komax: l k
o
l o
lk max =kocounter h
k sh
o s
h
k
counter sh= 0 e
s e n
e i n li
j e+= 1 n l n
i n li o
n .o
print(max+1) l n . o
n . o o v
.o o v o
o v o lk
v k
o lk k
o
o l o
lk k
o h
k sh
o s
h
k sh 15 e
s e i n
e i n l
e n l n
n li n .o
n .o o o
v
.o v
o o
v
l k
o
v o lk o
o lk o k
lk o k sh
k
o Çàäà÷à 8 sh
k sh
e
sh e
li
n
e n
f = open('string.txt')
e i n li n
n l n .o
li
s = f.readline() o
n .o o
n . o v
o
countero.=o 1 v
o o
v
lk
v o lk o
ans k=o 0 lk o k
l k
o h
k sh
o
maxim = 1 s
h
k sh e
s for i in range(len(s)-1): e n
e i n li
e n l n
if s[i] i== n s[i+1] and s[i] == li 'I': n .o
l o
n .o v
o
counter
n += 1 . o o
.o v
o o
v
lk
o
else: o k o
v k l k
o l o
lk if counter != o1:
k h
k sh
o s
h
k maxim s=hmax(maxim, counter) e
s e n
ans += 1 e i n li
e n l n
n li n .o
l counter = 1
i
o
n . o o
n . o v
o
maxim = .max(maxim, counter) o v o
o v o lk
v
print(ans, maxim) o lk o
o lk o k
lk o k sh
o
Çàäà÷à 9 k sh
k sh e
sh e
li
n
e
l in n
f = open('string.txt')
n
e
l in n .o
s = f.readline()li o
n .o o
n . o v
.o o v o
ind = [] o v o lk
v k
o lk k
o
o
anslk= 0 l o
o k s h
o k sh
for
k i in range(1, slen(s)-1):
h e
sh e n
if ord(s[i-1]) < ord(s[i]) > ord(s[i+1]):
e i n li
e in l n
ind.append(i)
n l n .o
li o
n .o o
n . o v
for i in.orange(len(ind)-1):o v o
o v k
o lk
ans o
v = max(ans, ind[i+1]-ind[i]) l o
o l k o k
lk
print(ans) k
o h
k sh
o s
k sh e
sh e
li
n
e n
e n li n
i n li n .o
l n .o o
n .o o o
v
.o v
o o
v
lk
o
v o lk o
o lk o k
lk o k sh
o k sh
k sh 16 e
sh e
l i n
e n
e
l in n
n l i n .o

You might also like