• Предмет: Информатика
  • Автор: МишкиРулят
  • Вопрос задан 7 лет назад

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

Ответы

Ответ дал: angryfukse
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.


Ответ дал: Аноним
0
Вот что значит технологии от "дедушек" - программирование "по Вирту" в канонах ТурбоПаскаль 1983 года. 22 строки вместо пяти и, опять же, 22 строки вместо трех... И этим технологиям 34-летней давности детей учат в школах...
Ответ дал: Аноним
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
Вас заинтересует