10 класс, Информатика, МНОГО БАЛЛОВ!1)С клавиатуры вводится предложение, в котором слова...

0 голосов
36 просмотров

10 класс, Информатика, МНОГО БАЛЛОВ!1)С клавиатуры вводится предложение, в котором слова разделены пробелами. Определите, сколько слов в этом предложении начинается и заканчивается на одну и ту же букву.2)Напишите функцию, которая удаляет из переданной ей символьной строки все символы, заключенные в угловые скобки '<' и '>' (вместе с этими скобками).Внимание!Требуется решение для 10 класса без сложных функций.ReadInteger, Ord, Char и другие такого рода функции не приветствуются. ​


Информатика (395 баллов) | 36 просмотров
Дано ответов: 2
0 голосов

Ответ:

1)

var i,j:integer;

s:string;

c:char;

begin

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

readln(s);

s:=s+' ';

j:=0;

c:=s[1];

For i:=1 to Length(s) do

If s[i]=' ' then

begin

If c=s[i-1] then

j:=j+1;

If i

c:=s[i+1];

end;

Writeln('Начинается и заканчвается на одну и ту же букву ', j, ' слов(о)(а)' );

end.

2)

var s: string;

begin

writeln('Введите строку с угловыми скобками:');

readln(s);

delete(s, pos('<', s), pos('>', s) - pos('<', s) + 1);</p>

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

writeln(s)

end.

(86 баллов)
0 голосов

Ответ:

2)Pascal

var s: string;

i, f, g: integer;

begin

writeln('Введите строку с угловыми скобками:');

readln(s);

f := pos('<', s);</p>

if f = 0

then begin

write('Нет "<"');</p>

if pos('>', s) = 0

then writeln('и ">"')

else writeln

end

else begin

g := 0;

for i := length(s) downto 1 do

if s[i] = '>'

then begin

g := i;

break

end;

if g = 0

then writeln('Нет ">"')

else if f > g

then writeln('">" левее "<"')</p>

else begin

delete(s, f, g - f + 1);

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

writeln(s)

end

end

end.

Если гарантированно, что в тексте есть только по одному правильно расположенному символу "<" и ">", то совсем просто:

Pascal

var s: string;

begin

writeln('Введите строку с угловыми скобками:');

readln(s);

delete(s, pos('<', s), pos('>', s) - pos('<', s) + 1);</p>

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

writeln(s)

end.

0

(80 баллов)