yandex rtb 1
ГоловнаЗворотній зв'язок
yande share

Основы программирования

Процедура

insert('Hy ', Lvov, 1)

delete(Lvov, 6, 16)

str(2001,-Lvov)

val('1256', Lvovl, Ozn)

Значение переменной Lvov

'НУ Львовская политехника'

'Львов'

'2001'

Lvovl = 1256, Ozn = О

Существует два способа обработки данных типа string. Пер­вый: всю строку пользователь обрабатывает как единое данное с помощью описанных выше функций и процедур. Второй: строку рассматривает как массив символов и обрабатывает её поэлементно.

Пример.   Значения  строковым переменным frazal и fraza2 можно присвоить, а потом вывести их на экран так:

frazal := 'Вы любите каникулы?';

for і := 1 to 19 do {Вводим текст с клавиатуры}

read(fraza2[i]);

writeln(frazal);

writeln(fraza2);

Задача 1. Кодировка текста. Удалить из некоторой фразы а все пропуски, запятые и точки, другие символы продублировать. Вывести результат.

program MyCode;

uses Crt;

var       a, b, с : string;

і : integer;

begin

clrscr;

write('Введите текст: ');

readln(a); b := ";

for і := 1 to Length(a) do

begin

с := copy(a, i, 1);  {или поэлементно так: с := a[i];}

if <> У) and (с <>'.') and (с <>' ' )

then b := b + с + с

end;

writeln(b);

readln

end.

Задание 1. Модифицируйте программу MyCode таким образом, чтобы в некоторой фразе заменить все буквы «а» на «о», а «м» на «н».

Задача 2. Написать программу, которая всюду в заданном тексте mytext будет заменять каждое встретившееся слово wordl другим словом такой же длины word2.

program FindAndChange;

uses Crt;

var       mytext, wordl, word2 : string;

i, k : integer;

begin

clrscr;

write('Введите текст: ');

readln(mytext);

write('Введите искомое слово: ');

readln(wordl);

write('Bведите второе слово: ');

readln(word2);

k := length(wordl);

for і := 1 to length(mytext) - k do

if copy(mytext, i, k) = wordl then

begin

delete(mytext, i, k);

insert(word2, mytext, i)

end;

writeln( mytext);

readln

end.

Задача З. Пусть задана строка 'Я люблю Мерседес'. Определить длину строки. Вывести на экран второе слово этой строки.

program Stroka;

uses Crt;

const rl : string = 'Я люблю Мерседес';

var і, k, m, nl, n2 : integer;

begin

clrscr;

m := 0;

k := length(rl);                       {Определяем длину строки}

writeln('Длина строки k =', k);

for і := 1 to k do                    {Перебираем все символы строки}

 if r[і] = ' ' then                       {и ищем пропуск}

begin

m := m + 1;

{Определяем номер первого пропуска}

if m = 1 then nl := і;

{Определяем номер второго пропуска]

if m = 2 then n2 := і

end;

{Выводим слово между двумя пропусками}

for і := nl + 1 to n2 - 1 do write(rl[i]);

readln

end.

Задание 2. Решите задачу 3, используя функцию pos для определения позиции пропуска и процедуру delete для получения второго слова.

Задание 3. Некоторый текст закодируйте кодом Цезаря, поменяв каждую букву на четвертую, за ней в алфавите.

Задание 4. Решите задачу № 13а своего варианта.

Задание 5. Решите задачу № 136 своего варианта.

 

 

15