
Символьные переменные
STR1. (В №1) Напишите программу, подсчитывающую количество букв во введенной строке (слове).
Входные данные: ввести строку с длиной не более 255 символов.
Выходные данные: вывести одно число – количество символов в строке.
STR2. (В №2) Напишите программу, которая вводит строку и выводит ее, сокращая каждый раз на 1 символ с конца строки до тех пор, пока в строке не останется 1 символ.
Входные данные: ввести строку с длиной не более 255 символов.
Выходные данные: вывести строку, сокращая каждый раз на 1 символ (в начале вывести всю строку, последней строкой должна быть строка из одного символа) с конца строки до тех пор, пока в строке не останется 1 символ.
STR3. (В №3) Напишите программу, определяющую число слов в строке. Одно слово от другого отделяется одним пробелом. В конце предложения стоит точка.
Входные данные: ввести строку с длиной не более 255 символов.
Выходные данные: вывести одно число – количество слов в строке.
Readln(s);
If s[1]=’ ‘ then r:=0 else r:=1;
For i:=1 to length(s)-1 do
If (s[i]=’ ‘)and(s[i+1]<>’ ‘) then r:=r+1;
Ghhhgh hghghghg yuyuyu
STR4. (В №4) Напишите программу, определяющую, какая из букв первая или последняя встречаются в заданном слове чаще.
молоко
r:=0; k:=…;
For i:=1 to length(s) do begin
If s[i]=s[1] then r:=r+1;
If s[i]=s[length(s)] then k:=k+1;
End;
If r>=k then write(1) …;
Входные данные: ввести строку с длиной не более 255 символов.
Выходные данные: вывести одно число 1, если первая буква встречается чаще всего либо одинаковое количество раз, или 0, если последняя буква встречается чаще всего.
STR5. (В №1) Напишите программу, определяющую, сколько букв «о» (латинский строчный символ) стоит в заданном слове на четных местах.
Входные данные: ввести слово длиной не более 255 символов.
Выходные данные: вывести одно число – количество слов в строке.
For i:=1 to length(s) do
If (i mod 2=0)and(s[i]=’o’) then …
STR6. (В №2) Заданы фамилия, имя и отчество учащегося, разделенные одним или несколькими пробелами. Напишите программу, печатающую фамилию ученика и его инициалы (инициал заканчивается точкой). После фамилии оставлять один пробел.
Входные данные: ввести строку с длиной не более 255 символов.
Выходные данные: вывести одну строку фамилию ученика и его инициалы (инициал заканчивается точкой)..
Андрей Петрович
Попов А.П.
k:=pos(‘ ‘,s);
write(copy(s,1,k+1),’.’);
delete(s,1,k);
k:=pos(‘ ‘,s);
…
STR7. (В №3) Напишите программу, удаляющую из строки все буквы, совпадающие с его последней буквой.
млоко
while условие do begin
тело цикла;
end;
i:=1;
while i<=length(s) do begin
if s[i]=s[length(s)] then delete(s,i,1)
else i:=i+1;
end;
Входные данные: ввести строку с длиной не более 255 символов.
Выходные данные: вывести одну строку, откуда удалены все буквы, совпадающие с его последней буквой.
STR8. (В №4) Напишите программу, удаляющую из слова X все буквы, которые встречаются в слове Y.
Входные данные: ввести в двух строках слова X, Y с длиной не более 255 символов.
Выходные данные: вывести одну строку, откуда удалены все буквы, которые встречаются в слове Y из слова Х
X=’молоко’
Y=’мктр’
олоо
for k:=1 to length(y) do begin
i:=1;
while i<=length(x) do begin
if x[i]=y[k] then delete(x,i,1)
else i:=i+1;
end;
end;
STR9. (В №1) Напишите программу, подсчитывающую количество различных букв в заданном слове.
Входные данные: ввести строкy Y с длиной не более 255 символов.
Выходные данные: вывести одно число, количество различных символов в данной строке.
STR10. (В №2) Составить программу, определяющую, является ли введенное слово перевертышем.
Входные данные: ввести строкy Y с длиной не более 255 символов.
Выходные данные: вывести одно число,1- если слово является перевертышем, или 0 в противном случае.
STR11. (В №3) Напишите программу, сортирующую символы введенной с клавиатуры строки в порядке возрастания их номеров в ASCII-таблице.
Входные данные: ввести строкy Y с длиной не более 255 символов.
Выходные данные: вывести эту ж строку, но отсортированную символы в порядке возрастания их номеров в ASCII-таблице.
String12. (В №4) Дана непустая строка S и целое число (0<N<10). Вывести строку, содержащую символы строки S, между которыми вставлено по N символов «*» (звездочка).
Входные данные: ввести в первой строке число N, а во второй строке S с длиной не более 255 символов.
Выходные данные: вывести строку, содержащую символы строки S, между которыми вставлено по N символов «*».
String13. (В №1) Дана строка S длиной не более 255 символов. Подсчитать количество содержащихся в ней цифр.
Входные данные: ввести строку S с длиной не более 255 символов.
Выходные данные: вывести количество содержащихся в ней цифр.
String14. (В №2) Дана строка. Подсчитать количество содержащихся в ней прописных латинских букв.
Входные данные: ввести строку S с длиной не более 255 символов.
Выходные данные: вывести количество содержащихся в ней прописных латинских букв.
String15. (В №3) Дана строка. Подсчитать общее количество содержащихся в ней строчных латинских и русских букв.
Входные данные: ввести строку S с длиной не более 255 символов.
Выходные данные: вывести общее количество содержащихся в ней строчных латинских и русских букв.
String16. (В №4) Дана строка. Преобразовать в ней все прописные латинские буквы в строчные.
Входные данные: ввести строку S с длиной не более 255 символов.
Выходные данные: вывести преобразованную строку.
String17. (В №1) Дана строка. Если она представляет собой запись целого числа, то вывести 1, если вещественного (с дробной частью) — вывести 2; если строку нельзя преобразовать в число, то вывести 0. Считать, что дробная часть вещественного числа отделяется от его целой части десятичной точкой «.».
Входные данные: ввести строку S с длиной не более 10 символов.
Выходные данные: вывести 1 если S запись целого числа, если вещественного (с дробной частью) — вывести 2; если строку нельзя преобразовать в число, то вывести 0.
String18. (В №2) Дана строка, изображающая десятичную запись целого положительного числа. Вывести строку, изображающую двоичную запись этого же числа.
Входные данные: ввести строку S с длиной не более 10 символов.
Выходные данные: вывести строку, изображающую двоичную запись этого же числа.
String19. (В №3) Дана строка, изображающая двоичную запись целого положительного числа. Вывести строку, изображающую десятичную запись этого же числа.
Входные данные: ввести строку S с длиной не более 30 символов.
Выходные данные: вывести строку, изображающую десятичную запись этого же числа.
String20. (В №4) Даны целые положительные числа N1 и N2 и строки S1 и S2. Получить из этих строк новую строку, содержащую первые N1 символов строки S1 и последние N2 символов строки S2 (в указанном порядке).
Входные данные: в первой строке ввести два числа N1 и N2 (1<=N1,N2<=100), во второй строку S1 и в третьей – S2 (длины строке не более 100 символов).
Выходные данные: вывести строку, содержащую первые N1 символов строки S1 и последние N2 символов строки S2 (в указанном порядке).
String21. (В №1) Даны строки S и S0. Проверить, содержится ли строка S0 в строке S. Если содержится, то вывести True, если не содержится, то вывести False.
Входные данные: ввести в первой строке строку S, а во второй строке строку S0 ( длины строк не более 200) символов.
Выходные данные: вывести True, если S0 содержится в S, если не содержится, то вывести False.
String22. (В №2) Даны строки S и S0. Найти количество вхождений строки S0 в строку S.
Входные данные: ввести в первой строке строку S, а во второй строке строку S0 ( длины строк не более 200) символов.
Выходные данные: вывести одно число - количество вхождений строки S0 в строку S.
String23. (В №3) Даны строки S и S0. Удалить из строки S первую подстроку, совпадающую с S0. Если совпадающих подстрок нет, то вывести строку S без изменений.
Входные данные: ввести в первой строке строку S, а во второй строке строку S0 ( длины строк не более 200) символов.
Выходные данные: вывести строку после преобразования.
String24. (В №4) Даны строки S, S1 и S2. Заменить в строке S последнее вхождение строки S1 на строку S2.
Входные данные: ввести в первой строке строку S, а во второй строке строку S1, а в третьей строке- S2 ( длины строк не более 200) символов.
Выходные данные: вывести строку после преобразования.
String25°. (В №1) Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Найти количество слов в строке.
Входные данные: ввести строку S с длиной не более 255 символов.
Выходные данные: вывести количество слов в строке.
String26. (В №2) Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Найти количество слов, которые начинаются и заканчиваются одной и той же буквой.
Входные данные: ввести строку S с длиной не более 255 символов.
Выходные данные: вывести количество слов, которые начинаются и заканчиваются одной и той же буквой.
String27. (В №3) Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Найти длину самого короткого слова
Входные данные: ввести строку S с длиной не более 255 символов.
Выходные данные: вывести длину самого короткого слова.
String28. (В №4) Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Вывести строку, содержащую эти же слова, разделенные одним символом «.» (точка). В конце строки точку не ставить.
Входные данные: ввести строку S с длиной не более 255 символов.
Выходные данные: вывести строку, содержащую эти же слова, разделенные одним символом «.» (точка).
String29. ((В №1) Дана строка-предложение на русском языке. Вывести самое длинное слово в предложении. Если таких слов несколько, то вывести первое из них. Словом считать набор символов, не содержащий пробелов, знаков препинания и ограниченный пробелами, знаками препинания или началом/концом строки.
Входные данные: ввести строку S с длиной не более 255 символов.
Выходные данные: вывести самое длинное слово в предложении. Если таких слов несколько, то вывести первое из них.
String30. (В №2) Дана строка-предложение на русском языке и число K (0 < K < 10). Зашифровать строку, выполнив циклическую замену каждой буквы на букву того же регистра, расположенную в алфавите на K-й позиции после шифруемой буквы (например, для K = 2 «А» перейдет в «В», «а» — в «в», «Б» — в «Г», «я» — в «б» и т. д.). Букву «ё» в алфавите не учитывать, знаки препинания и пробелы не изменять.
Входные данные: в первой строке ввести строку S с длиной не более 255 символов, а во второй строке число К.
Выходные данные: вывести зашифрованную строку.