write('Кол-во слов с 
одинаковыми буквами вначале и на конце: 
',n);
readln;
end.
Результаты 
выполнения программы 
 
7. 
ФАЙЛЫ
Описание 
задачи 
     Дан 
файл вещественных чисел. Удалить из 
него все компоненты, принадлежащие 
отрезку [1,5]. 
Алгоритм 
решения задачи 
 
Реализация в Turbo Pascal 
uses crt;
const
     fn='array.dat'; 
type t =file of real; 
var
n,i:integer;
a: array [1..100] of real;
b:array[1..100] of real;
tf:t; 
begin
 clrscr;
 filemode:=2;
 Assign(tf,fn);
 {$I-};
 Reset(tf);
 {$I+}
 If IOResult<>0 then Rewrite(tf); 
 If FileSize(tf)=0 then
   begin
      
Writeln('vvedite k-vo elementov');
      
readln(n);
       
Writeln('vvedite ',n,' elementov');
       
For i:=1 to n do
          
begin
             
write(i,'-й: ');
       
       readln(a[i]);
              
if (a[i]<1) or (a[i]>5) then b[i]:=a[i];
              
write(tf,b[i]);
          
end;
    end; 
   writeln;
   writeln('<<prosmotr 
faila>>');
   reset(tf);
    repeat
        
read(tf,b[i]);
        
if b[i]<>0 then writeln(b[i]:3);
    until eof(tf);
 readln;
 close(tf);
 erase(tf);
end.
Результаты 
выполнения программы 
 
8. 
ЗАПИСИ
Описание 
задачи 
     Расписание 
электричек хранится в виде файла записей. 
Каждая запись содержит название пункта 
назначения, пометки типа «СВ», «ПВ», «КСВ» 
и время отправления. Написать программу, 
выполняющую: 
  - ввод расписания 
  с клавиатуры; 
 
  - вывод на 
  экран информации о поездах типа «СВ», 
  отходящих после введенного времени; 
 
  - вывод на 
  экран информации о поездах типа «ПВ», 
  отправляющихся в пункт назначения «Москва»; 
 
 
Алгоритм 
решения задачи 
 
 
Реализация 
в Turbo Pascal 
Uses Crt;
Const
       
found: Boolean=false;
Type
      
Info = record
      
P :String[10];
      
M : String[3];
      
T : String [5];
end;
Var
 poezd: Info;
 f: File of Info;
 yn: string[1];
procedure Edit;
Var
 f: File of Info;
 poezd: Info;
 n:integer;
 i:1..100;
begin
     clrscr;
     assign(f,'poezd.dat');
     reset(f);
     Writeln('ckolko 
zapicei xotite vvecti?');
     ReadLn(n);
     Writeln('vvedite 
elementy!');
     Write('vvodite 
postrochno: ');
      
For i:=1 to n do
          
begin
           
With poezd do
                
begin
                 
Writeln('Vvedite punkt:');
                 
Readln(P);
                 
Writeln('Vvedite Metky(CB|PB|KCB):');
                 
Readln(M);
                 
Writeln('Vvedite vremya');
                 
Readln(T);
                 
writeln('|',P,'|',M,'|',T,'|');
                
End;
           
Write(f,poezd);
End;
End;
procedure FndCB;
Var
 poezd: Info;
 f: File of Info;
 i:1..100;
 z: String[5];
Begin
  ClrScr;
  Write('Vvedite vremya otpravleniya 
(dlya poezdov s metkoi CB)>>');
         
ReadLn(z);
         
Writeln('-------------------------------');
         
Writeln('|       punkt        
|   Metka|');
         
Writeln('-------------------------------');
         
assign(f,'poezd.dat');
         
reset(f);
         
seek(f,0);
         
While not Eof(f) do
            
begin
             
Read(f,poezd);
             
If (poezd.T>=z) and (poezd.M='CB') then
                
begin
                
found:=true;
                
WriteLn('|',(poezd.P):20,'|',(poezd.M):8,'|');
                
Writeln('-------------------------------');
               
End;
            
End;
         
If Not found then Writeln('Poezda net');
end;
procedure Msk;
Var
 poezd: Info;
 f: File of Info;
Begin
  ClrScr;
  Assign(f,'poezd.dat');
  Reset(f);
  seek(f,0);
  While not Eof(f) do
        
begin
         
Read(f,poezd);
            
if (poezd.M='PB') and (poezd.P='Moskva') then
                
begin
                
found:=true;
               
Writeln('Raspisanie Poezdov');
               
Writeln('---------------------------------------');
               
WriteLn('|       Punkt        
| Metka | Vremya |');
               
Writeln('---------------------------------------');
                
writeln('|',(poezd.P):20,'|',(poezd.M):7,'|',(poezd.T):8,'|');
               
Writeln('---------------------------------------');
            readln;
            end;
         
end;
end;
Begin
      
ClrSCr;
      
Assign(f,'poezd.dat');
       
{$I-};
       
Reset(f);
       
{$I+}
      
If IOResult<>0 then Rewrite(f);
      
if FileSize(f)=0 then Edit;
      FndCB;
     Msk;
         
writeLn('yDa/\uTb 3anucu (Y/N)?');
         
readln(yn);
         
if (yn='y') or (yn='Y') then
         
begin
              
Rewrite(f);
              
Writeln('3anucu yDa/\eHbI.');
         
end;
         
Writeln('Ha}|{MuTe ENTER.');
         
ReadLn;
 close(f);
end.
Результаты 
выполнения программы 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Список 
использованных источников 
     1. 
Павловская Т. А. «Паскаль. Программирование 
на языке высокого уровня»: 
Практикум. - СПб.: Питер, 2007.- 317 с: ил. 
     2. 
Зеленяк О.П. «Практикум программирования 
на Turbo Pascal. Задачи, алгоритмы и решения.» 
- 3-е изд., испр. и доп. - СПб.: ДиаСофтЮП, 
М.: ДМК Пресс, 2007. - 320 с. 
     3. 
Шпак Ю.А. Программирование в 
Turbo Pascal. Переход к Delphi. – К: 
«МК-Пресс», 2006. – 16 с., ил. 
     4. 
Смирнов Ю.Н., Макарова И.В. Основы 
программирования на языке Turbo Pascal. Часть 
1: Учебное пособие – Набережные Челны: 
Изд-во КамПИ, 2000, 40 с. 
     5. 
Смирнов Ю.Н., Макарова И.В., Исавнин 
А.Г. Основы программирования 
на языке Turbo Pascal. Часть 2: Учебное 
пособие – Набережные Челны: Изд-во 
КамПИ, 2000, 29 с.