Написать программы в Паскаль 1. Определить, если ли в тексте восклицательный знак. Если...

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

Написать программы в Паскаль
1. Определить, если ли в тексте восклицательный знак. Если есть,
вывести также порядковый номер первого восклицательного знака.
2. Удалить все пробелы из файла. Результат записать в новый файл.


Информатика (132 баллов) | 20 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1457 от 29.05.2017
// Внимание! Если программа не работает, обновите версию!

№1

begin
  var n:=Pos('!',ReadlnString);
  if n>0 then Writeln('Первый восклицательный знак на позиции ',n)
  else Writeln('Восклицательных знаков не найдено')
end.

Пример
Как хорошо! Вот сладкий плод ученья!
Первый восклицательный знак на позиции 11

№2

begin
  WriteAllText('output.txt',ReadAllText('input.txt').Replace(' ',''))
end.

Примечание: входной файл input.txt, выходной output.txt
(150k баллов)
0 голосов

1.

Var s:
string;

z,i,k:integer;

Begin

z:=0;

write('Введите строку: ');
readln(s);

k:=0;

For i:=1 to Length(s) do

if s[i]='!' then

Begin

inc(k);

End;

for i:=1 to Length(s) do

if s[i] = '!' then begin

write(i);

exit;

end;

if k<>0 then

writeln('Порядковый номер первого восклицательного знака = ', z);

if k = 0 then writeln('Восклицательных знаков нет!');

readln;

End.


2.


var
f: file of char;
c: char;
r,w: LongInt;
begin
Assign(f,'test.txt');
r:= 0;
w:= 0;
Reset(f);
while not EoF(f) do begin
Read(f,c);
Inc(r);
if c<>' ' then begin
Seek(f,w);
Write(f,c);
Inc(w);
Seek(f,r);
end end;
Seek(f,w);
Truncate(f);
Close(f)
end.


(1.8k баллов)