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

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

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





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

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




Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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


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

ТЕРМОДИНАМИКА БИОЛОГИЧЕСКИХ СИСТЕМ. 1. Особенности термодинамического метода изучения биологических систем. Основные понятия термодинамики. Термодинамикой называется раздел физики...

Травматическая окклюзия и ее клинические признаки При пародонтите и парадонтозе резистентность тканей пародонта падает...

Подкожное введение сывороток по методу Безредки. С целью предупреждения развития анафилактического шока и других аллергических реак­ций при введении иммунных сывороток используют метод Безредки для определения реакции больного на введение сыворотки...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

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