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 с.