Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль_теория.doc
Скачиваний:
8
Добавлен:
08.11.2018
Размер:
341.5 Кб
Скачать

2. Практическая часть.

Задание 1. Наберите заданную программу, подсчитывающую количество гласных букв в произвольном предложении (на русском языке).

Program Ex_1;

var

St : string;

Ltr : char;

L,k,i :integer;

Begin

write ('Введите предложение: ');

read (St); {вводим строку-предложение}

k:=0; {обнуляем счетчик гласных букв}

writeln; {переходим на следующую строку}

L:=length (St); {определяем длину предложения}

For i:=1 to L do

Begin

Ltr:=St[i]; {"вырезаем" очередной символ}

Case Ltr of

'а','е','и','о','у','ы','э','ю','я' : k:=k+1;

{если это гласная буква, то увеличиваем счетчик}

end;

end;

If k<>0 then

writeln ('В предложении ',k,' гласных букв')

else

writeln ('Гласных букв в предложении нет');

End.

Измените программу так, чтобы из исходной строки были удалены все гласные буквы(с использованием процедуры delete).

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

Program Ex_2;

var

St: string;

code, L, i, ch_i, ch_o: integer;

Begin

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

read (ch_i); {вводим число}

Str (ch_i,St); {переводим его в строку символов}

L:=length (St); {измеряем длину полученной строки}

For i:=1 to L do

If St[i]='5' then St[i]:='1'; {меняем 5 на 1}

Val (St,ch_o,code); {исправленную строку переводим обратно в число}

If (code=0) then {если ошибки не было, то выводим}

{на экран результат работы}

writeln ('Результат: ',ch_o)

else

writeln ('Ошибка в исходном числе');

End.

Внесите изменения в данную программу таким образом, чтобы происходила замена всех цифр '5' на '1' и всех цифр '1' на '5'.

Задание 3. Наберите заданную программу, заменяющую все буквосочетания 'да' на 'нет'.

Program Ex_3;

var

St, S : string;

p,k,i :integer;

Begin

write ('Введите предложение: ');

read (St); {вводим строку-предложение}

writeln; {переходим на следующую строку}

while pos('да', St) <> 0 do

begin

p:= pos('да', St);

delete(St,p,2);

insert(St,p, 'нет');

end;

writeln (St);

End.

Измените данную программу таким образом, чтобы она решала ту же задачу, но без применения процедур delete и insert.

3. Контрольные вопросы.

    1. Какие процедуры используются для удаления (вставки) символов в строке?

    2. Какие процедуры используются для преобразования строки в число и числа в строку?

    3. В чем основное отличие работы процедуры от функции?

    4. Для чего в процедуре STR (Ch[:M[:N]],St) используются данные, разделенные “:”?

    5. какие данные хранятся в переменной Code после использования процедуры Val (St,Ch,Code)?