русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

WRITE(F,K,X,S,B)


Дата добавления: 2013-12-23; просмотров: 781; Нарушение авторских прав


25-1.35000

END.



CLOSE(F);

UNTIL EOF(F);

WRITELN(S);

READLN(F,S);

REPEAT

RESET(F);

BEGIN

VAR

PROGRAM FILE_TEXT_READ;

END.



CLOSE(F);

UNTIL EOF(F);

WRITE(C);

READ(F,C);

REPEAT

RESET(F);

BEGIN

VAR

PROGRAM FILE_TEXT_READ;

END.



CLOSE(F);

WRITE(F,3);

WRITELN(F);

WRITE(F,K,X,S,B);

REWRITE(F);

BEGIN

VAR

PROGRAM FILE_TEXT_WRITE;

END.



CLOSE(F2);

END;

WRITELN(S2);

READ(F2,S2);

BEGIN

RESET(F2);

BEGIN

VAR

TYPE

END.



CLOSE(F2);

UNTIL EOF(F2);

WRITELN(S2);

READ(F2,S2);

REPEAT

RESET(F2);

BEGIN

VAR

TYPE

END.



CLOSE(F2);

CLOSE(F1);

WRITE(F2,S2);

WRITE(F1,S1);

REWRITE(F2);

REWRITE(F1);

BEGIN

VAR

TYPE

END.



CLOSE(F2);

CLOSE(F1);

WRITE(F2,S2);

WRITE(F1,S1);

REWRITE(F2);

REWRITE(F1);

BEGIN

VAR

END.



CLOSE(F);

WRITE(F,A,B);

WRITE(A,B);

REWRITE(F);

BEGIN

VAR

. . .

PROGRAM PRIMER;

END.



. . .

ASSIGN(F2,T);

BEGIN

VAR

TYPE

VAR

END;

TYPE

Санкции к спортсменам за применение допингов

Внесоревновательный допинг-контроль

Допинг-контроль может быть эффективным только тогда, когда он проводится внезапно и на протяжении всего тренировочного и соревновательного периодов.

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

Внесоревновательному допинг - контролю подлежат все спортсмены, независимо от возраста, квалификации, спортивных результатов. К спортсмену, уклонившемуся от внесоревновательного контроля применяются такие же санкции, как и к уличенному в приеме допингов.

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

К спортсменам, уличенным в применении запрещенных медицинской комиссией МОК лекарственных средств и методов стимуляции работоспособности (за исключением симпатомиметиков), на Олимпийских играх применяются санкции, определяемые антидопинговой хартией МОК:

при первом случае – дисквалификация на 2 года;

при повторном – пожизненная дисквалификация.

За применение симпатомиметиков применяются следующие санкции:

- -при первом случае – дисквалификация на 6 месяцев;

- -при повторном – дисквалификация на 2 года;

- -при третьем случае – пожизненная дисквалификация.

У нас в стране к спортсменам применяют санкции в соответствии с инструкцией, утвержденной государственным органом управления физической культурой и спортом. Они совпадают с санкциями, предусмотренными антидопинговой хартией МОК.

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

 

XX=RECORD

NAME:STRING;

OC:BYTE

F=FILE OF STRING;

F1:F;

F2:FILE OF BYTE;

F3:FILE OF XX;

F4:FILE;

F5:TEXT;

 

Файлы F1, F2, F3 – типизированные, F4 – нетипизированный, F5 – текстовый.

Любой программе доступны два предварительно объявленных файла со стандартными файловыми переменными: INPUT – для чтения данных с клавиатуры и OUTPUT – для вывода на экран. Любые другие файлы необходимо открыть. При этом вначале необходимо связать ранее объявленную файловую переменную с именем существующего или вновь создаваемого файла. Это делается с помощью процедуры

 

ASSIGN(<файловая переменная>,<имя файла>)

 

Пример 1:

 

F=FILE OF STRING;

F1:FILE OF BYTE;

F2:F;

T:STRING;

ASSIGN(F1,’C:\232\OCENKA’);

T:=’A:\FAM.TXT’;

 

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

Следующее, что необходимо сделать – это указать направление передачи информации – чтение из файла или запись в файл.

Открыть файл для чтения можно с помощью процедуры RESET(<файловая переменная>). После этого специальная переменная – указатель, установится на начало файла – т.е. на компонент с номером 0.

Если делается попытка открыть для чтения несуществующий файл, то возникает ошибка, которую можно распознать по коду, который возвращается функцией IORESULT, имеющий тип WORD. В некоторых случаях нежелательно аварийно прерывать работу программы при таких ошибках. Избежать этого можно указать директиву компилятора {$I-}, которая отключает автоматический контроль ошибок ввода-вывода. Директивы компилятору действуют от момента своего появления в тексте программы до ее конца или до появления новой директивы.

{$I-}

 

Процедура RESET открывает типизированный файл не только для чтения, но и для записи в него новой информации. Но текстовый файл открывается процедурой RESET только для чтения.

Открыв любой файл для его обновления или создать новый файл можно с помощью процедуры REWRITE(<файловая переменная>). Если открываемый файл уже существует на диске, то после процедуры REWRITE его содержимое будет полностью уничтожено, а указатель установится на начало файла.

Открыть текстовый файл для добавления в него новой информации можно с помощью процедуры APPEND(<файловая переменная>). При этом указатель устанавливается в конец файла. Эту процедуру нельзя использовать с типизированными или нетипизированными файлами.

Чтобы изменить значение какого-то компонента типизированного файла необходимо открыть его с помощью процедуры RESET, и затем перевести указатель на нужный компонент с помощью процедуры SEEK(<файловая переменная>,N), где N – номер компонента файла (первый компонент имеет номер 0).

При этом может использоваться функция FILESIZE(<файловая переменная>), имеющая тип LONGINT, определяющая размер файла (число компонентов).

Функция EOF(<файловая переменная>) имеющая тип BOOLEAN возвращает TRUE, если указатель расположен в конце файла и FALSE в других случаях.

После окончания работы с файлом его нужно закрыть процедурой CLOSE(<файловая переменная>).

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

Запись информации в типизированный файл производится процедурой WRITE(<файловая переменная>,список ввода), где список вывода содержит одну или несколько переменных того же типа, что и сам файл.

 

Пример 2:

 

F:FILE OF BYTE;

A,B:BYTE;

ASSIGN(F,’A:\S.TXT’);

A:=15;

B:=125;

 

В этом примере процедура WRITE(A,B) выведет содержимое переменных А и В на экран, а процедура WRITE(F,A,B) запишет значение переменной А в первый компонент (с номером 0) файла F и значение переменной В во второй компонент (с номером 1) файла F.

После выполнения процедуры CLOSE(F) на диске A будет создан файл S.TXT размером в 2 байта.

Следует внимательно подходить к файлу, компонентами которого являются строки. Рассмотрим следующий пример:

 

Пример 3:

F1:FILE OF STRING;

F2:FILE OF STRING[10];

S1:STRING;

S2:STRING[10];

ASSIGN(F1,’C:\232\A1.TXT’);

ASSIGN(F2,’A2.TXT’);

S1:=’ABCD’;

S2:=’ABCD’;

 

В этом примере оператор WRITE(F2,S2) является ошибочным. Дело в том, что в файл можно писать значения переменных, имеющих такой же тип, что и файл, при условии, что он является стандартным или ранее объявленным типом. В нашем примере тип STRING является стандартным и оператор WRITE(F1,S1) является правильным. Но тип STRING[10] является нестандартным и должен быть описан ранее в разделе описания типов TYPE. Правильный вариант предыдущего примера приведен ниже:

 

Пример 4:

FF:STRING[10];

F1:FILE OF STRING;

F2:FILE OF FF;

S1:STRING;

S2:FF;

ASSIGN(F1,’C:\232\A1.TXT’);

ASSIGN(F2,’A2.TXT’);

S1:=’ABCD’;

S2:=’ABCD’;

Следует иметь в виду, что хотя в файлы F1 и F2 была записана одинаковая информация, длина файла F1 составит 256 байтов, а длина файла F2 – 11 байтов. Ошибочными будут также операторы WRITE(F1,S2) и WRITE(F2,S1)из-за несоответствия типов файла и записываемой переменной.

Для чтения информации из типизированных файлов применяют процедуру

READ(<файловая переменная>,<список ввода>), где список ввода содержит одну или несколько переменных, которым будут присвоены значения прочитанных компонентов файла. После каждого чтения или записи указатель перемещается на следующий компонент. Если файл весь прочитан, то очередное обращение к нему с помощью процедуры READ приведет к ошибке. Чтобы этого не было, чтение типизированного файла следует организовать одним из двух способов:

 

Пример 5:

 

FF:STRING[10];

F2:FILE OF FF;

S2:FF;

ASSIGN(F2,’A2.TXT’);

 

 

или

 

Пример 6:

FF:STRING[10];

F2:FILE OF FF;

S2:FF;

K:INTEGER;

ASSIGN(F2,’A2.TXT’);

FOR K:=1 TO FILESIZE(F2) DO

 

Текстовые файлы предназначены для хранения текстовой информации, но записать в них можно и числовые данные. В этом случае при записи происходит автоматическое преобразование числовой информации в символьную. Но при этом записанные компоненты имеют разную длину, что существенно влияет на работу с ним. В отличие от типизированного файла прочитать текстовый файл можно только последовательно, начиная с самого начала. При создании текстового файла в конце каждой строки ставится признак конца строки EOLN (последовательность символов с ASCII кодами 13 и 10), а в конце файла – признак конца файла EOF (символ с ASCII кодом 26). Эти признаки можно протестировать одноименными функциями EOLN и EOF.

Запись в текстовый файл похожа на запись в типизированный файл и осуществляется процедурами WRITE и WRITELN.

Пример 7:

X:REAL;

K:BYTE;

S:STRING;

F:TEXT;

C:CHAR;

B:BOOLEAN;

K:=25;

B:=TRUE;

X:=-1.35;

S:='PRIMER';

ASSIGN(F,'PRIMER1.TXT');

WRITELN(F,K,'7');

В результате будет создан текстовый файл PRIMER1.TXT, в котором в первой строке будет записано:

 

 

Вторая строка будет пропущена, а в третьей записан один символ 3.

Просмотреть содержимое этого файла можно с помощью любого текстового редактора: редактора Блокнот, редактора FAR MENAGER и других.

Прочитать содержимое этого файла можно с помощью процедур READ или READLN. Чтение содержимого текстового файла можно прочитать в переменные символьного или строкового типа. Если для чтения использовать переменную символьного типа, то лучше воспользоваться процедурой READ:

Пример 8:

F:TEXT;

C:CHAR;

ASSIGN(F,'PRIMER1.TXT');

 

Процедура READ(F,C) читает по одному символу (в том числе и символы конца строки), а процедура WRITE(C) выводит все эти символы на экран.

 

Можно было прочитать этот файл и в переменную типа STRING, но при этом функция READ сможет прочитать только одну строку и для правильного чтения следует использовать процедуру READLN:

 

Пример 9:

 

F:TEXT;

S:STRING;

ASSIGN(F,'PRIMER1.TXT');

 

Процедура READLN(F,S) прочитает все символы текущей строки до символов конца строки с кодами 13 и 10 (сами эти символы прочитаны не будут), а процедура WRITELN(S) выведет ее на экран. Если переменная S будет описана, например как S:STRING[10], то прочитаются только начальные части строк из десяти символов. В частности в первой строке прочитаются только символы:

 

Если бы для вывода использовалась процедура WRITE(S), то весь текст файла вывелся бы в одну строку, в то время как в предыдущем примере, когда для чтения из файла использовалась процедура READ процедура WRITE вывела текст правильно в тех строках. Это объясняется тем, что процедура READ читает символы конца строк, которые затем управляют переводом строк при выводе, а процедура READLN пропускает символы конца строк и управлять переводом вывода текста на новую строку приходиться с помощью процедуры WRITELN.

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

Так, если в примере 7 вместо оператора

 

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

WRITE(F,K,’ ‘,X,S,B)

 

то программу чтения созданного файла можно записать в следующем виде:

 

Пример 10:



<== предыдущая лекция | следующая лекция ==>
Соревновательный допинг контроль | Указатели


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.009 сек.