Студопедия — Обработка строк, символов
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Обработка строк, символов






Задания для самостоятельного выполнения:

1 Заменить в строке каждый символ-точка на символ-пробел.

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

3 Удалить из строки второй символ.

4Удалить из строки третий символ.

5 Удалить из строки десятый символ.

6 Вставить символ a на вторую позицию в заданную строку.

7 Вставить символ a на k-ую позицию в заданную строку.

8 Найти количество четных цифр, содержащихся в строке.

9 Проверить, содержится ли в строке символ ‘!’?

10 Подсчитать, сколько раз содержится в строке каждый из символов ‘a‘, ’b’, ‘c’, ‘d’?

 

Примеры решения задач

Пример1. Заменить в строке каждый символ a на символ b.

Текст программы:

var s:string;

a,b:char;

i,n:integer;

Begin

write(' строка s?... '); readln(s);

write ('символы a,b?...' ); read(a,b);

write( 'исходная строка:'); writeln(s);

n:=length(s);

for i:=1 to n do

if s[i]=a then s[i]:=b;

writeln( 'строка после замены символов:', s);

end.

Результаты выполнения программы:

Исходная строка: ‘а роза упала на лапу азора’.

Символы a =’a’,b = ’у’.

Строка после замены символов:’ у розу упулу ну лупу узору’.

Пример 2. Удалить из строки два первых символа.

Предлагается два способа решения задачи.

В первом – используется стандартная функция delete.

Текст программы:

var s:string [100];

i,n:integer;

Begin

write(' строка s?...'); readln(s);

n:=length(s);

writeln ( 'исходная строка:', s, ', длина строки:' ,n);

delete(s,1,2); //с 1-ой позиции удаляются 2 символа

write(' строка после удаления символов:');

writeln(s,', длина строки:' ,length(s));

end.

Результаты выполнения программы:

Исходная строка: ‘информация’, длина строки: 10

Строка после удаления символов: ‘формация’, длина строки: 8

Второй способ решения использует сдвиг элементов в строке.

Текст программы:

var s:string [100];

i,n:integer;

Begin

write(' строка s?...'); readln(s);

n:=length(s);

writeln ( 'исходная строка:', s, ', длина строки:' ,n);

for i:=3 to n do // сдвиг с3-ей позиции влево на 2 символа

s[i-2]:=s[i];

setlength(s,n-2); //установить новую длину строки

write( 'строка после удаления символов:' );

writeln(s,', длина строки:' ,length(s));

end.

Результаты выполнения программы:

Исходная строка: ‘ информация’, длина строки: 10

Строка после удаления символов: ‘формация’, длина строки: 8

Пример 3. Вставить в начало строки символ a.

Предлагается два способа решения задачи.

В первом – используется стандартная функция вставки insert.

Текст программы:

var s:string [100];

a:char;

i,n:integer;

Begin

write(' строка s?...'); readln(s);

n:=length(s);

writeln ( 'исходная строка:', s, ', длина строки:' ,n);

write( 'символ a?...' );read(a);

insert(a,s,1); //вставить в s на 1-ую позицию символ a

write( 'строка после добавления символа:');

writeln(s,', длина строки:', length(s));

end.

Результаты выполнения программы:

Исходная строка: ‘клад’, длина строки: 4, символ a =’o’

Строка после добавления символа: ‘оклад’, длина строки: 5

Второй способ решения использует сдвиг вправо элементов в строке.

Текст программы:

var s:string [100];

a:char;

i,n:integer;

Begin

write(' строка s?...'); readln(s);

n:=length(s);

writeln ( 'исходная строка:', s, ', длина строки:' ,n);

write( 'символ a?...'); read(a);

setlength(s,n+1); //установить новую длину строки

for i:=n downto 1 do

s[i+1]:=s[i];

s[1]:=a;

write( 'строка после добавления символа:');

writeln(s, ', длина строки:', length(s));

End.

Результаты выполнения программы:

Исходная строка: ‘клад’, длина строки: 4, символ a =’о’

Строка после замены символа: ‘оклад’, длина строки: 5

Пример 4. Найти сумму значений всех цифр, содержащихся в строке.

Текст программы:

var s:string [100];

sum:integer;

i,n:integer;

Begin

write(' строка s?...'); readln(s);

n:=length(s);

writeln ( 'исходная строка:', s, ', длина строки:' ,n);

sum:=0;

for i:=1 to n do

if (s[i]>='0') and (s[i]<='9') then

sum:=sum+(ord(s[i])-ord('0'));

writeln( 'сумма цифр=', sum);

end.

Результаты выполнения программы:

Исходная строка: ‘вес груза 980453’, длина строки: 16, сумма цифр=29

Пример 5. Подсчитать, сколько раз каждая цифра встречается в тексте.

Текст программы:

var s:string [100];

k:array['0'..'9'] of integer; //массив счетчиков

i,n:integer;

c:char;

Begin

write( 'строка s?...'); readln(s);

n:=length(s);

writeln ( 'исходная строка:', s, ', длина строки:' ,n);

for c:='0' to '9' do k[c]:=0; //обнуление счетчиков

for i:=1 to n do

if (s[i]>='0') and (s[i]<='9') then

k[s[i]]:=k[s[i]]+1;

writeln('--------------------------------------');

writeln(' |количество повторений цифр в строке:|' );

writeln('--------------------------------------');

for c:='0' to '9' do

writeln(c,' - ', k[c]);

End.

Результаты выполнения программы:

исходная строка: ‘3,1415926543’, длина строки: 12

--------------------------------------------------

|количество повторений цифр в строке:|

-----------------------------------------------------------

0 - 0

1 - 2

2 - 1

3 - 2

4 - 2

5 - 2

6 - 1

7 - 0

8 - 0

9 - 1

 







Дата добавления: 2015-08-31; просмотров: 405. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Методы анализа финансово-хозяйственной деятельности предприятия   Содержанием анализа финансово-хозяйственной деятельности предприятия является глубокое и всестороннее изучение экономической информации о функционировании анализируемого субъекта хозяйствования с целью принятия оптимальных управленческих...

Образование соседних чисел Фрагмент: Программная задача: показать образование числа 4 и числа 3 друг из друга...

Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...

Виды нарушений опорно-двигательного аппарата у детей В общеупотребительном значении нарушение опорно-двигательного аппарата (ОДА) идентифицируется с нарушениями двигательных функций и определенными органическими поражениями (дефектами)...

Особенности массовой коммуникации Развитие средств связи и информации привело к возникновению явления массовой коммуникации...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия