Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mybook11.05.12.doc
Скачиваний:
14
Добавлен:
01.07.2025
Размер:
6 Мб
Скачать
☆
  1. В тексте, состоящем из маленьких латинских букв , подсчитайте количество гласных букв

const nmax=100;

var s:string;

res,i,j,n,kol:integer;

a:array[1..nmax] of char;

p:char;

begin

assign(input,'input.txt'); reset(input);

assign(output,'output.txt'); rewrite(output);

kol:=0;

while not eof do пока не дошли до конца файла

begin

readln(s); считываем строку

for i:=1 to length(s) do бежим по строке

if s[i] in ['a','e','u','i','j'] если символ является гласной, то

then inc(kol); считаем его

end;

write(kol);

close(input);

close(output);

end.

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

const nmax=100;

var s,sp:string;

i,j,n,kol:integer;

a:array[1..nmax] of string;

begin

assign(input,'input.txt'); reset(input);

assign(output,'output.txt'); rewrite(output);

readln(s);

n:=0;

while length(s)>0 do бежим по строке

begin

sp:='';

while s[1]=' ' do delete(s,1,1); стираем первые лишние пробелы

while (length(s)>0)and(s[1]<>' ') do получаем фамилию и инициалы

begin

sp:=sp+s[1];

delete(s,1,1);

end;

inc(n);

a[n]:=sp; помещаем все в массив

end;

write(a[1],' '); выводим результат

write(a[2][1],' ');

write(a[3][1]);

close(input);

close(output);

end.

  1. Сложное слово состоит из двух частей одинаковой длины и соединительной гласной. Найдите обе части этого слова.

var s,s1,s2:string;

n:integer;

begin

assign(input,'input.txt'); reset(input);

assign(output,'output.txt'); rewrite(output);

readln(s);

n:= length(s) div 2;

s1:=copy(s,1,n); копируем первую половину строки в s1

s2:=copy(s,n+2,n); копируем первую половину строки в s2

write(s1,' ');

write(s2,' ');

close(input);

close(output);

end.

  1. Вычеркните из слова х те буквы, которые встречаются в слове z

var z,x:string;

n,i:integer;

begin

assign(input,'input.txt'); reset(input);

assign(output,'output.txt'); rewrite(output);

readln(x);

readln(z);

n:=length(z);

for i:=1 to n do

begin

if pos(z[i],x)>0 если буква из Z есть в X

then delete(x,pos(z[i],x),1); стираем ее

end;

write(x);

close(input);

close(output);

end.

  1. Подсчитайте число различных букв в слове

const nmax=255;

var a:array[1..nmax] of byte;

s:string;

n,i,kol:integer;

begin

assign(input,'input.txt'); reset(input);

assign(output,'output.txt'); rewrite(output);

fillchar(a,sizeof(a),0);

readln(s);

n:=length(s);

for i:=1 to n do используем косвенную адресацию

inc(a[ord(s[i])]);

for i:=1 to 255 do бежим по массиву

if a[i]<>0 then inc(kol); если буква встретилась, то считаем ее

write(kol);

close(input);

close(output);

end.

  1. Даны два слова. Составьте программу, определяющую можно или нет из букв слова а составить слово в.

const nmax=255;

var a,b:array[1..nmax] of byte;

s,s1:string;

n,i,kol:integer;

begin

assign(input,'input.txt'); reset(input);

assign(output,'output.txt'); rewrite(output);

fillchar(a,sizeof(a),0);

kol:=0;

readln(s);

readln(s1);

n:=length(s);

for i:=1 to n do используем косвенную адресацию

inc(a[ord(s[i])]); считаем буквы слова А и помещаем в массив

n:=length(s1);

for i:=1 to n do вычитаем из соответствующих элементов массива а по

единице для каждой буквы слова В

dec(a[ord(s1[i])]);

for i:=1 to 255 do считаем количество отрицательных элементов

массива а

if a[i]<0 then inc(kol);

if kol>0 then если каких-то букв в слове В больше чем в А или

write('NO') в слове А их вообще нет, то выводим «NO»

else write('YES');

close(input);

close(output);

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]