Автор: Пользователь скрыл имя, 15 Октября 2011 в 06:13, курсовая работа
Цель работы - разработка надежного и гибкого кода для требуемого комплекса программ
Введение 5
Глава 1. Постановка задачи 6
1.1. Задание с использованием итерационных циклов 6
1.2. Обработка элементов массива 6
1.3. Файлы 7
Глава 2. Реализация проекта 8
2.1. Основная схема решения задания с использованием итерационных циклов 8
2.2. Основная схема решения задач на элементы массива 8
2.3. Основная схема решения задач с файлами 10
Заключение 15
Приложение А 16
Приложение Б 17
Приложение В 20
Read (var F: File of Type; var V: Type),
где: 1) Read ("читать") - имя процедуры;
2) F - имя переменной файлового типа;
3) V - имя переменной (или список из нескольких переменных,
разделенных
запятыми), совпадающей по типу с
типом элементов файла. Type.Каждая
переменная считывается с дискового
файла, и после окончания чтения
файловый указатель перемещается на
следующую компоненту файла.
Write (var F: File of type; var V: Type),
где: 1) Write ("писать") - имя процедуры;
2) F - имя переменной файлового типа;
3) V - имя переменной (или список нескольких переменных, разделенных
запятыми),
совпадающей по типу с типом элементов
файла Type. Каждая переменная записывается
в дисковый файл, и после окончания операции
записи файловый указатель перемещается
на следующую компоненту файла. После
окончания работы с файлом, он должен быть
закрыт, иначе результат будет потерян.
Close (var F: File),
где: 1) Close ("закрыть") - служебное слово;
2) F - имя переменной файлового типа.
Дисковый
файл, отождествленный с переменной
F, закрывается и в каталог диска
вносятся необходимые изменения.
Seek (F,n),
где: 1) Seek ("искать") - имя процедуры;
2) F - имя переменной файлового типа;
3) n - целочисленное выражение.
Эта процедура перемещает указатель файла на компоненту файла с номером n (номер первой компоненты файла равен 0).
Truncate (var F),
где:1) Truncate - имя процедуры;
2) F - имя переменной файлового типа.
Эта процедура
уничтожает часть файла от текущей позиции
указателя до конца в Паскале.
С помощью вышеизложенных
стандартных процедур и функций
составляем программу. Листинг программы
приведён в приложении В. Результат
работы программы приведён на рис. 6.
Рис. 6
В
ходе проделанной работы были рассмотрены
и использованы основные методы программирования
на языке «Турбо Паскаль». Все программа
работоспособны. Поставленные задачи
выполнены.
PROGRAM KURSIT1;
VAR
SUM,X,Y,Z,F,S,E:REAL;
I,J:INTEGER;
BEGIN
E:=0.0001;
WRITELN('Введи число X больше 1');
READLN (X);
I:=1;
Y:=0;
F:=1/X;
SUM:=1/X;
Z:=0;
WHILE (ABS(F)>E) DO BEGIN
I:=I+1;
Y:=(2*(I-1)-1)/((2*I-1)*X*X);
F:=Y*F;
SUM:=SUM+F;
END;
WRITELN('Значение функции F=',F:15:10,' Сумма=',SUM:15:10,' Количество=',I);
READLN;
END.
PROGRAM KURS1;
CONST C:ARRAY[1..30] OF INTEGER=(1,2,3,3,2,5,5,1,5,3,
3,5,5,7,4,0,-1,-2,-5,-4,
VAR
S:ARRAY[1..30] OF INTEGER;
I,N:INTEGER;
BEGIN
N:=0;
FOR I:=1 TO 30 DO BEGIN
IF (C[I]<-3) OR (C[I]>3) THEN BEGIN
N:=N+1;
WRITELN(i,'-ый элемент = ',C[I]);
END;
WRITELN('Количество =',N:2);
READLN;
END.
PROGRAM KURS2;
CONST Z:ARRAY[1..20] OF INTEGER=(1,2,3,3,2,5,5,1,5,3,
VAR
I,ISUM,IPR:INTEGER;
PR,SUM:REAL;
BEGIN
ISUM:=0;
IPR:=0;
SUM:=0;
PR:=1;
FOR I:=1 TO 20 DO BEGIN
IF Z[I]>0 THEN BEGIN
PR:=PR*Z[I];
IPR:=IPR+1;
END;
IF Z[I]<0 THEN BEGIN
SUM:=SUM+Z[I];
ISUM:=ISUM+1;
END;
PROGRAM KURS3;
CONST Q:ARRAY[1..24] OF INTEGER=(1,2,3,4,5,6,7,
VAR
I,K,L:INTEGER;
BEGIN
K:=0;
L:=0;
I:=3;
WHILE I<=24 DO BEGIN
IF Q[I]>Q[I-1] THEN BEGIN
IF Q[I]>Q[I-2] THEN BEGIN
K:=Q[I];
L:=I;
END
ELSE BEGIN
K:=Q[I-2];
L:=I-2;
END;
END
ELSE
IF Q[I-1]>Q[I-2] THEN BEGIN
K:=Q[I-1];
ELSE BEGIN
Q[L]:=Q[I-2];
Q[I-2]:=K;
I:=I+3;
END;
FOR I:=1 TO 24 DO WRITE(Q[I],',');
READLN;
END.
PROGRAM KURS4;
VAR
Q:ARRAY[1..7,1..7] OF INTEGER;
I,J:INTEGER;
BEGIN
FOR I:=1 TO 7 DO BEGIN
FOR J:=1 TO 7 DO BEGIN
IF I=J THEN Q[I,J]:=0
ELSE Q[I,J]:=3;
END;
END;
FOR I:=1 TO 7 DO BEGIN
WRITELN;
FOR J:=1 TO 7 DO
WRITE(Q[I,J]);
END;
READLN;
END.
PROGRAM kurs;
type
FIO=string[20];
VES=REAL;
ROST=integer;
STUD=record
STUDFIO:FIO;
STUDVES:VES;
STUDROST:ROST;
end;
var i,j,m,n,k,l:integer;
BFile:file of STUD;
BFile2:file of STUD;
work:STUD;
temp:STUD;
vid:byte;
End_menu:boolean;
BD:string[20];
procedure name_file;
begin
BD:='DAV.txt';
end;
procedure Add_rec;
begin
writeln('Запись номер ',FilePos(BFile)+1);
with work do
begin
write('FIO: ');
readln(STUDFIO);
write('VES: ');
readln(STUDVES);
write('ROST: ');
readln(STUDROST);
write(BFile,work);
end;
end;
procedure Create_new_file;
var ind, count:integer;
begin
name_file;
assign(BFile,BD);
rewrite(BFile);
write('Введи количество записей: ');
readln(count);
for ind:=1 to count do
Add_rec;
close(BFile);
end;
procedure Output_rec;
begin
read(BFile,work);
with work do
begin
write('Номер ',FilePos(BFile),' ');
writeln(STUDFIO ,' ',STUDVES:4:1,' ',STUDROST);
end;
end;
procedure Output_all_rec;
begin
name_file;
assign(BFile,BD);
{$I-}
reset(BFile);
{$I+}
if IOresult=0 then
begin
seek(BFile,0);
while(not Eof (BFile))do
Output_rec;
close(BFile);
end
else
writeln('не могу найти файл ', BD);
Информация о работе Программирование на языке «Турбо-Паскаль»