Задания
Версия для печати и копирования в MS Word
Тип Д19 C4 № 3123
i

На вход в про­грам­му по­да­ет­ся текст, со­сто­я­щий из про­пис­ных букв рус­ско­го и ан­глий­ско­го ал­фа­ви­та. между сло­ва­ми ста­вит­ся один про­бел, ввод тек­ста за­кан­чи­ва­ет­ся точ­кой. (Дру­гие сим­во­лы, от­лич­ные от "." и букв "А"..."Я" и "А"..."Z", на вход про­грам­мы не по­сту­па­ют.)

Тре­бу­ет­ся на­пи­сать про­грам­му, ко­то­рая будет про­во­дить ча­стот­ный ана­лиз тек­ста и по­сле­до­ва­тель­но вы­во­дить на экран толь­ко букву и число, рав­ное ко­ли­че­ству по­вто­ре­ний этой буквы. Вна­ча­ле не­об­хо­ди­мо вы­ве­сти дан­ные об ан­глий­ском, затем о рус­ском ал­фа­ви­те. Буквы, не встре­ча­ю­щи­е­ся в тек­сте ни разу, вы­во­дить­ся не долж­ны.

Спрятать решение

Ре­ше­ние.

program letters;

var A: array ['A'..'Z'] of integer;

var B: array ['А'..'Я'] of integer;

s: char;

begin

for s:= 'A' to 'Z' do a[s] := 0;

for s:= 'А' to 'Я' do b[s] := 0;

read(s);

while s <> '.' do

begin

if s in ['A'..'Z'] then a[s]:=a[s]+1;

if s in ['А'..'Я'] then b[s]:=b[s]+1;

read(s)

end;

for s:= 'A' to 'Z' do if a[s]>0 then writeln (s,' ',a[s]);

for s:= 'А' to 'Я' do if b[s]>0 then writeln (s,' ',b[s])

end.

Спрятать критерии
Критерии проверки:

Кри­те­рии оце­ни­ва­ния вы­пол­не­ния за­да­нияБаллы
Про­грам­ма ра­бо­та­ет верно, т. е. опре­де­ля­ет ча­сто­ту ко­ли­че­ство букв в тек­сте, для любых вход­ных дан­ных про­из­воль­но­го раз­ме­ра, про­смат­ри­ва­ет вход­ные дан­ные один раз, не со­дер­жит вло­жен­ных цик­лов, в тек­сте про­грам­мы не ана­ли­зи­ру­ет­ся каж­дая ан­глий­ская или рус­ская буква в от­дель­но­сти. До­пус­ка­ет­ся на­ли­чие одной син­так­си­че­ской ошиб­ки.4
Про­грам­ма со­став­ле­на верно, но со­дер­жит не­ра­ци­о­наль­но­сти: вход­ные дан­ные за­по­ми­на­ют­ся в мас­си­ве сим­во­лов или стро­ке или вход­ной поток про­смат­ри­ва­ет­ся не­сколь­ко раз, про­грам­ма может со­дер­жать вло­жен­ные циклы. До­пус­ка­ет­ся на­ли­чие не более трех син­так­си­че­ских оши­бок.3
Про­грам­ма со­став­ле­на в целом верно с вло­жен­ны­ми цик­ла­ми или без, или об­ра­ба­ты­ва­ет каж­дую букву явным об­ра­зом (26 или 52 опе­ра­то­ра IF или опе­ра­тор CASE, со­дер­жа­щий 59 или 108 ва­ри­ан­тов), но, воз­мож­но, вы­во­дит зна­че­ние не пер­вой по ал­фа­ви­ту из ис­ко­мых букв. Воз­мож­но в ре­а­ли­за­ции ал­го­рит­ма со­дер­жат­ся 1–2 ошиб­ки. Воз­мож­но, не­кор­рект­но ор­га­ни­зо­ва­на ра­бо­та со вход­ны­ми дан­ны­ми. До­пус­ка­ет­ся на­ли­чие не более пяти син­так­си­че­ских оши­бок.2
Про­грам­ма, воз­мож­но, не­вер­но ра­бо­та­ет при не­ко­то­рых вход­ных дан­ных, но по при­ве­ден­но­му тек­сту ре­ше­ния ясно, что эк­за­ме­ну­е­мый по­ни­ма­ет, из каких эта­пов долж­но со­сто­ять ре­ше­ние за­да­чи. Про­грам­ма, воз­мож­но, не­вер­но об­ра­ба­ты­ва­ет не­ко­то­рые вход­ные дан­ные. До­пус­ка­ет­ся на­ли­чие не более семи син­так­си­че­ских оши­бок.1
За­да­ние не вы­пол­не­но или вы­пол­не­но не­вер­но0
Мак­си­маль­ный балл4