Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mybook11.05.12.doc
Скачиваний:
14
Добавлен:
01.07.2025
Размер:
6 Мб
Скачать
☆

Процедуры и функции для работы с символами и строками

Обращение

Тип результата

Действие

Str (Выражение, Строка)

String

Преобразование целочисленного выражения в строку

Val (Строка, Число, Код)

Real

Преобразование строки с числом, в число; в случае успеха, Код = 0

Insert (Строка1, Строка2, N)

String

Вставка Строки1 в Строку2, начиная с позиции N

Delete (Строка, N, M)

String

Удаление M-символов, начиная

с позиции N

Length (Строка)

Byte

Количество символов в строке

Pos (Подстрока, Строка)

Byte

Позиция подстроки в строке

(0, если не найдена)

Concat (Строка1,…,СтрокаN)

String

Объединение N строк в одну

Copy (Строка, N, M)

String

Копирование из данной строки М-символов, начиная с позиции N

UpCase (Символ)

Char

Преобразование строчной буквы в прописную (кроме русских букв)

Базовые задачи на строки:

  1. Подсчитать количество вхождений заданной вами буквы, в заданной строке

  2. Удалить из строки все первые и последние пробелы.

  3. Сколько раз данная подстрока встречается в строке.

  4. Определить, является ли введенное слово изображением числа.

  5. Введите 2 целых числа. Преобразуйте числа в две строки, объедините их в одну строку и выведите результат на экран.

  6. Определить количество слов в строке.

  7. Получите строковой массив из всех слов данной строки

  8. Получите строковой массив из всех слов данной строки и

отсортируйте его по алфавиту

  1. Получите строковой массив из всех слов данной строки и отсортируйте его по возрастанию длин слов

  2. Вычислите длину самого короткого и самого длинного слов в строке

  3. Подсчитайте количество букв в каждом слове данной строки

  4. Дана строка. Определить количество слов этой строки, в которых есть ровно две буквы «е».

  5. Составьте программу, удаляющую все лишние пробелы из введенной строки

  6. Напишите программу, сортирующую символы введенной с клавиатуры строки в порядке возрастания их номеров в ASCII-таблице. Например, если введено: 'CBA', в результате надо получить ‘ABC’

  7. В тексте, состоящем из маленьких латинских букв , подсчитайте количество гласных букв

  8. Заданы фамилия, имя и отчество учащегося, разделенные пробелом. Напечатайте его фамилию и инициалы

  9. Сложное слово состоит из двух частей одинаковой длины и соединительной гласной. Найдите обе части этого слова

  10. Вычеркните из слова Х те буквы, которые встречаются в слове Z

  11. Подсчитайте число различных букв в слове

  12. Даны два слова. Составьте программу, определяющую можно или нет из букв слова А составить слово В

  13. Даны два слова. Являются ли они анаграммами?

  14. Является ли данная строка палиндромом?

  15. Дан строковой массив, каждый элемент которого содержит фамилию ученика и три оценки, разделенных одним пробелом. Упорядочить массив по убыванию среднего балла, а в группах с одинаковыми количеством баллов по алфавиту.

Приведенные ниже листинги программ достаточно прозрачные и некоторые из них не требуют комментариев.

1. Напишите программу, подсчитывающую количество вхождений

заданной вами буквы во введенной строке

var s,s1:string;

n,i,kol:integer;

begin

assign(input,'input.txt'); reset(input);

assign(output,'output.txt'); rewrite(output);

readln(s);

readln(s1);

n:=length(s);kol:=0;

for i:=1 to n do

if s1=s[i]

then inc(kol);

write(kol);

end.

  1. Удалить из строки все первые и последние пробелы

var s:string;

i:integer;

begin

assign(input,'input.txt'); reset(input);

assign(output,'output.txt'); rewrite(output);

readln(s);

while (length(s)>0)and(s[1]=' ') do

delete(s,1,1);

while (length(s)>0)and(s[length(s)]=' ') do

delete(s, length(s),1);

write(s);

end

  1. Сколько раз данное слово встречается в строке

var s,s1:string;

i,kol:integer;

begin

assign(input,'input.txt'); reset(input);

assign(output,'output.txt'); rewrite(output);

readln(s);

readln(s1);

repeat

if pos(s1,s)>0

then

begin

inc(kol);

delete(s,pos(s1,s),length(s1)); так как процедура pos всегда находит первое

end; вхождение слова, то найденное слово надо

удалять

until pos(s1,s)=0;

write(kol);

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]