Panfilov_Anna
?>

Напишите программу на паскале, 50 во входном файле записан текст. найти в тексте слова длиной не менее шести букв, содержащие более половины букв следующего слова, записать их заглавными буквами и указать после каждого такого слова в скобках найденные буквы. полученный текст записать в выходной файл. весь текст, кроме найденных слов, должен остаться неизменным, включая и знаки препинания.

Информатика

Ответы

Скворцов
Попробуй Program PascalGuru; var s:string;    f,t:text;
function preobr(s:string):string;var i,j,p,n,sered:integer;    gl,zp,slovo:string;    m:array [1..80] of string;beginzp:='!?*,.'; gl:='аоуыэяеёюи';  p:=pos(' ',s); i:=0;        repeat        inc(i);        slovo:=copy(s,1,p-1);        m[i]:=slovo;        delete(s,1,p);        p:=pos(' ',s);        until p=0;        n:=i+1;        m[n]:=s;    for i:=1 to n do     begin    s:=m[i];       if pos(s[length(s)],zp)<>0 then p:=length(s)-1 else p:=length(s);     sered:=(p div 2)+1;    if (not odd(p)) or (p<3) then continue;     if pos(s[1],gl)=0       then continue;     if pos(s[sered],gl)=0   then continue;     if pos(s[p],gl)=0       then continue;      s[1]:=UpCase(s[1]);    s[sered]:=UpCase(s[sered]);    s[p]:=UpCase(s[p]);     m[i]:=s+'('+s[1]+','+s[sered]+','+s[p]+')';     end;         s:='';     for i:=1 to n do s:=s+m[i]+' '; preobr:=s;end;
 beginassign(f,'input.txt'); reset(f);assign(t,'output.txt'); rewrite(t); while not eof(f) do      begin      readln(f,s);      writeln(t, preobr(s) );      end;  writeln('Файл успешно записан...'); close(f);close(t);readln;end.
Ахади
Программа в системе PascalABC.Net (время выполнения около 2с)
var
  n1,n2,n3:int64;

function IsPrime(n:Int64):Boolean;
var
  p:Int64;
  found:Boolean;
begin
  case n of
  1:Isprime:=False;
  2:IsPrime:=True;
  else begin
    found:= (n Mod 2 = 0);
    p:=3;
    while (not found) and (sqr(p)<=n) do
      begin found:=(n Mod p = 0); p:=p+2 end;
    IsPrime:=(not found) or (p = 2)
    end
  end
end;

procedure Fib();
begin
  n3:=n1+n2; n1:=n2; n2:=n3
end;
 
var
  i,k:integer;
begin
  n1:=0; n2:=1; k:=0;
  Writeln('Простые среди первых 45 чисел Фибоначчи');
  for i:=3 to 45 do
  begin
    Fib; if IsPrime(n3) then begin Write(n3,' '); Inc(k) end
  end;
  Writeln(#13#10,'Найдено простых чисел: ',k)
end.
   
Результат выполнения программы:
Простые среди первых 45 чисел Фибоначчи
2 3 5 13 89 233 1597 28657 514229 433494437
Найдено простых чисел: 10
sbelova
Цикл с предусловием это такой цикл, в котором условие проверяется перед выполнением тела цикла.
А цикл с постусловием - на оборот, он сначала выполнит, а потом проверит условие и если условие true, то цикл завершится.

Цикл с постусловием, можно использовать в таких ситуациях, когда надо что-то сделать и если чего-то не хватает, то сделать еще раз. Напрмер отправить письмо на email, а если не отправилось, то повторить еще 3 раза. Сначала выполнится тело цикла, в котором находятся функции отправки письма и если отправка удачная, то сообщаем until() true. Иначе тело выполнится еще и еще и еще кучу раз, если мы не задали счетчик в теле цикла, как вариант...

Цикл с предусловием можно использовать, если надо проверять какое-то значение ПЕРЕД выполнением тела цикла и тебе не важно, должно ли оно хоть раз выполниться. Например запросить пароль у пользователя. Но если пользователь уже ввёл пароль, то зачем его запрашивать? Тут можно было бы использовать while

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Напишите программу на паскале, 50 во входном файле записан текст. найти в тексте слова длиной не менее шести букв, содержащие более половины букв следующего слова, записать их заглавными буквами и указать после каждого такого слова в скобках найденные буквы. полученный текст записать в выходной файл. весь текст, кроме найденных слов, должен остаться неизменным, включая и знаки препинания.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Антон-Марина
ev89036973460
steff77
yelena
bieku68
R7981827791127
skyey
oxy03214428
lighturist
Morozova-Starikov
vtarasyuk
mishanay301csfp
andreich97
masamosijcuk140244
Ирина