Другие языки программирования и технологии

Программа в паскале (ЛУЧШИЙ ОТВЕТ)!

Создать текстовый файл.Найти в файле слова, которые начинаются на заданую букву и содержат заданое количество букв.В новый файл записать только эти слова.За программу СРАЗУ ЛУЧШИЙ ответ!!!Заранее спасибо!
uses crt;
var
f,ff : text;
Procedure create;
var
s : String;
k : char;
begin
clrscr;
Assign(f,'file.in');rewrite(f);
Repeat
Writeln('Vvedi Stroky');
Readln(s);
Writeln(f,s);
writeln('Prodolgim vvod? [Y/N]');
k := readkey;
until UpCase(K)='N';
Close(f);
end;

procedure Gu;
var i : Integer;
p : char;
l : byte;
s,ss : string;
begin
assign(f,'File.in');Reset(f);
Assign(ff,'File.out');ReWrite(Ff);
Writeln('vvedi 1 bykvy'); Readln(P);
Writeln('vvedi dliny');Readln(l);
While not eof(f) do
begin
readln(f,s);
ss := '';
s := s+' ';
For i := 1 to length(s) do
if s[ i] <> ' ' then ss := ss+s[i ]
else
begin
If (ss[1] = p) and (length(ss)=l) then Writeln(ff,ss);
ss := '';
end;
end;
Close(ff);
end;

begin
Create;
Gu;
end.
Ришат Юсипов
Ришат Юсипов
6 004
Лучший ответ
Я когда-то делал такую, измени её немного и будет тебе счастье :)
Вводится произвольная строка русского текста, а также одна из букв русского алфавита. Подсчитать, какой процент слов в строке начинается на эту букву. Слова разделены пробелами.

uses crt;
var
s: string;
a: char;
i,k,j: integer;
g: real;
begin
clrscr;
writeln('Vvedite predlojenie');
readln(s);
s:=' '+s; k:=0;j:=0;
for i:=1 to length(s)-1 do
if (s=' ') and (s[i+1] <> ' ')
then k:=k+1;
writeln('kol-vo slov ',k);
writeln('vvedite bukvu ');
readln(a);
for i:=1 to length(s)-1 do
if (s = ' ') and (s[i+1]= a)
then j:=j+1;
writeln('kol-vo bukv = ',j);
g:=j*100/k;
writeln('Kol-vo slov na bukvu (',a,')=',g:2:2,'%');
readln;
end.
Антон Неменков Да ну, не конает!
Спс конечно,но слишком "далеко" от сути
program programma;
const c:=nahui;
var
a:string;
b:string;
c:string;
d:string;
writeln('Sostavte progu');
a:=idi;
b:=ty;
d:=a+b+c
writeln(d);
end.