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

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

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





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

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; просмотров: 427. Нарушение авторских прав; Мы поможем в написании вашей работы!




Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Приложение Г: Особенности заполнение справки формы ву-45   После выполнения полного опробования тормозов, а так же после сокращенного, если предварительно на станции было произведено полное опробование тормозов состава от стационарной установки с автоматической регистрацией параметров или без...

Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...

Неисправности автосцепки, с которыми запрещается постановка вагонов в поезд. Причины саморасцепов ЗАПРЕЩАЕТСЯ: постановка в поезда и следование в них вагонов, у которых автосцепное устройство имеет хотя бы одну из следующих неисправностей: - трещину в корпусе автосцепки, излом деталей механизма...

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