Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания Pascal.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
282.62 Кб
Скачать

Символьные переменные

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 символов, а во второй строке число К.

Выходные данные: вывести зашифрованную строку.