Логический тип данных. Логические операции. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Логический тип данных. Логические операции.



Символьный тип данных

Символьный тип (Char)

Переменная типа char может принимать значения из определенной упорядоченной последовательности символов. Переменная этого типа занимает 1 байт и принимает одно из 256 значений кода ASCII (американский стандартный код для обмена информацией). Символы упорядочены в соответствии с их кодом, поэтому к данным символьного типа применимы операции отношения.

В программе вместо символа можно использовать его код, состоящий из # и номера кодируемого символа (например, #51). Обычно символы, имеющие экранное представление, записывают в явном виде, заключив в апострофы (например, 'A', 'b', '*').
Две стандартные функции позволяют поставить в соответствие данную последовательность символов множеству целых неотрицательных чисел (порядковым номерам символов последовательности).

Эти функции называются функциями преобразования:

ord(ch) – выдает номер символа (нумерация с нуля),
chr(i) – выдает i-ый символ из таблицы символов.

Пример. ord(H) выдает номер символа Н в последовательности всех символов, используемых транслятором. chr(15) выдает 15-ый символ этой последовательности.

Кроме того, для символьных переменных применяются такие функции:

pred(ch) – возвращает предыдущий символ;
succ(ch) – возвращает следующий символ;
upcase(ch) – преобразует строчную букву в заглавную. Обрабатывает буквы только латинского алфавита.

Также можно использовать процедуры inc и dec.

 

 

Логический тип данных. Логические операции.

Булевский тип (Boolean)

Переменная булевского типа принимает значения true (истина) или false (ложь). Эти величины упорядочены следующим образом:
false < true

Операции and, or, not (применяемые к булевским операндам) дают булевские значения.

Операция and (логическое умножение, пересечение, операция И)
Выражение a and b дает значение true, только в том случае, если a и b имеют значение true. Во всех остальных случаях значения выражения a and b – false.

true and true = true

true and false = false

false and false = false

Операция or (логическое сложение, объединение, операция ИЛИ)
Выражение a or b дает значение false, только в том случае, если a и b имеют значение false. Во всех остальных случаях результат – true.

true or true = true

true or false = true

false or false = false

Операция not (отрицание, операция НЕ)
Выражение not a имеет значение, противоположное значению a.

not true = false

not false = true

Стандартные булевские функции
odd(x) = true, если x нечетный (x целый);
eoln(x) = true, если встретился конец строки текстового файла x;
eof(x) = true, если встретился конец файла x.
В остальных случаях эти функции принимают значение false.

 

 

13)Тип данных "массив".

МАССИВЫ

Массиывыв Турбо Паскале во многом схожи с аналогичными типами данных в других языках програмирования. Отличительная особенность массивов заключается в том, что все их компоненты суть данные одного типа (возможно структурированного). Эти компоненты можно легко упорядочить и обеспечить доступ к любому из них простым указанием порядкового номера.

Описание массива задаётся следующим образом:

<имя типа> = array [<сп.инд.типов>] of <тип>

Здесь <имя типа> - правильный индификатор;

Array, of – зарезирвированые слова (массив, из);

<спюиндютипов> - список из одного или нескольких индексных типов, разделённых запятыми; квадратные скобки, обрамляющие список, - требование синтаксиса;

<тип> - любой тип Турбо Паскаля.

В качестве индексных типов в Турбо Паскале можно использовать любые порядковые типы, кроме LongInt и типов-диапазонов с базовым типом LongInt.

Глубина вложенности структурированных типов вообще, а следовательно, и массивов – произвольная, поэтому количество элементов в списке индексов типов (размерность массива) не ограничено, однако суммарная длина внутреннего представления любого массива не может быть больше 65520 байт.

Массив
Массив – это одно- или многомерная таблица данных одного типа. Каждая ячейка таблицы имеет свой индекс (в одномерном случае) или набор индексов (в многомерном). Массив называют структурой данных со случайным доступом, поскольку к любому элементу массива можно обратиться, просто указав его индексы, т.е. все элементы одинаково доступны в любой момент времени. Массив определяется, прежде всего, общим типом его элементов и их количеством. Количество элементов массива, в свою очередь, определяется количеством индексов и диапазоном их изменения. При описании переменной типа массив под каждый элемент выделяется фиксированный объем памяти, что и является главным недостатком этой структуры, во-первых, потому что в некоторых системах программирования Паскаль под переменную выделяется ограниченное количество памяти, что не позволяет использовать массивы больших размеров, во-вторых, потому что такая организация не дает возможности изменять размер массива, что приводит к определенного рода неудобствам, когда приходится впустую копировать большие объемы памяти, например, при передаче параметра-массива подпрограмме.

 

 

15) Тип данных "множество". Операции над множествами.

 

МНОЖЕСТВА

Множества – это набор однотипных логическх связанных друг с другом объектов. Характер связей между объектами лишь подразумевается програмистом и никак не контролируется Турбо Паскалем.количество элементов, входящих в множество, может менятся в пределах от 0до 256 (множество, не содержащее элементов, называется пустым).именно непостоянством количества своих элементов множества отличаются от массивов и записей.

Два множества считаются эквивалентными тогда и только тогда, когда все их элементы одинаковы, причём порядок следования элементов множества безразличен. Если все элементы одного множества входят также и в другое, говорят о включении первого множества во второе.

Описание типа множества имеет вид:

<имя типа> = SET OF <баз.тип>

Здесь <имя типа> - правильный индификатор;

SET, OF – зарезирвированные слова (множество, из);

<баз.тип> - базовый тип элементов множества, в качестве которого может использоваться любой порядковый тип, кроме WORD,INTEGER и LONGINT.

Для задания множества используется так называемый конструктор множества: список спецификаций элементов множества, отделяемых друг от друга запятыми; список обрамляется квадратными скобками. Спецификациями элементов могут быть константы или выражения базового типа, а также – тип-диапазон того же базового типа.

Операции над множествами

К переменным типа set применимы следующие операции: =, <>, >=, <=, in, +, -, *.

Операции = и <> используются для проверки эквивалентности: два значения переменной типа set считаются равными, если они состоят из одних и тех же элементов.

Операции >= и <= используются для проверки принадлежности одного множества другому: так, если множество a содержится во множестве b, то a <= b дает true.

Пустое множество [ ] содержится во всех множествах, т.е. всегда [ ] <= [b] дает true.

Операция in используется для установления наличия определенного элемента в величине типа set. Так, если x есть элемент множества b, то(x in b) дает true.

К переменным типа set, относящимся к одному и тому же конкретному типу, применимы операции:
+ объединение;
* пересечение;
- дополнение.

Пусть a и b – операнды, имеющие один и тот же конкретный тип. Тогда
a + b представляет собой объединение множества элементов, входящих в a и b (одинаковые элементы не повторяются).
a * b – пересечение множества элементов a и b (только те, которые есть в обоих множествах).
a – b – множество элементов, которые есть в a, но отсутствуют в b.

Операция a:= a + x добавляет элемент x к множеству a. Если x уже имелся в a, то множество a не меняется. a:= a – x исключает x из a. Если x отсутствовал в a, то множество a не меняется.

 

 

Чтение из текстового файла.

Чтение из текстового файла осуществляется процедурами ReadLn или Read. Если перед списком ввода стоит имя файловой переменной, то данные читаются не с клавиатуры, а из файла, связанного с этой переменной:
ReadLn(FIL, список_ввода);
Очередная строка созданного нами ранее на диске файла <Название файла>.TXT считывается во вспомогательную переменную списка ввода через файловую переменную FIL. Вот как это делается в программе read_text, считывающей файл <Название файла>.TXT и выводящей текст на экран:

program read_text;

var

FIL: text;

S: String; {s - имя вспомогательной переменной списка ввода}

begin

Assign(FIL, '<Название файла>.TXT);

Reset(FIL); {Открыли файл для чтения}

while not EOF(FIL) do

{Чтение продолжается, пока не будет достигнут конец файла}

begin

ReadLn(FIL, S);

{Чтение из файла <Название файла>.TXT в S построчно}

WriteLn(S); {Вывод прочитанного на экран}

end;

Close(FIL); {Закрыли файл}

end.

Текстовый файл <Название файла>.TXT должен находиться в том же каталоге, что и программа.
Процедура Reset устанавливает указатель текущей позиции файла на начало первой строки текстового файла. Процедура ReadLn считывает строку полностью, сохраняет считанное значение в переменной S и передвигает указатель на начало следующей строки. Движение допускается последовательно только в одну сторону -- слева направо (ведь текстовый файл является файлом последовательного доступа!). Так продолжается до тех пор, пока указатель не достигнет конца файла.

 

Условный оператор If.

Если условие выполняется, то будет выполнена инструкция "1", если нет, то - инструкция "2". Несмотря на то, что в схеме присутствуют два действия, выполнено будет только одно, так как условие либо ложно, либо истинно. Третьего не дано. Такая схема позволяет решать задачи, в которых в зависимости от сложившихся обстоятельств требуется совершить то или иное действие.

Если <усл.> {Если выполняется условие}
то <действие 1> {то выполнить действие № 1 }
иначе <действие 2> {иначе - выполнить действие № 2 }

Формат условного оператора на языке Паскаль:
If <условие>
Then <оператор 1>
Else <оператор 2>;

Обратите внимание на то, что в Then - и Else - части стоит только один оператор. Но что делать, чтобы решить задачу, в которой по выполнению или невыполнению условия нужно совершить не одно, а несколько действий? Здесь приходит на помощь уже известный вам составной оператор. В операторные скобки можно заключить любое количество операторов.

Вариант условного оператора в этом случае:
If <условие>
Then Begin <группа операторов 1> end
Else Begin < группа операторов 2> end;

Знак "точка с запятой" не ставится перед служебным словом Else, но операторы в группах, естественно, отделяются друг от друга этим знаком.

Теперь поговорим об условиях. В программах на языке Паскаль условия представляют собой выражения, значением которых является величина логического (Boolean) типа. Это может быть как просто переменная указанного типа, так и сложная последовательность высказываний, связанных логическими операциями.

В простых условиях могут применяться знаки операций сравнения: >(больше), <(меньше), =(равно), <>(не равно), >=(больше или равно), <=(меньше или равно).

Примеры простых условий: A=5 {Значение переменной А равно 5}
(C+D3)>=(D1*(45-2)) {Значение выражения в левой части больше либо равно значению выражения из правой части}
S<>'ABC' {Значение переменной S не равно строковой константе 'ABC'}

Приведем пример решения еще одной задачи: "Из двух чисел выбрать наибольшее".

На первый взгляд решение очевидно, но оно не столь тривиально, как кажется.

Program Example;
Var A,B,C: Real; {A,B - для хранения аргументов, C - результат}
Begin

Writeln ('Введите два числа');
Readln (A,B); {Вводим аргументы с клавиатуры}
If A>B Then C:=A Else C:=B; {Если A>B, то результат - A, иначе результат - B}
Writeln (C); {Выводим результат на экран}

End.

 

Оператор цикла For.

Цикл for

Часто цикл for называют циклом со счетчиком. Этот цикл используется, когда число повторений не связано с тем, что происходит в теле цикла. Т.е. количество повторений может быть вычислено заранее (хотя оно не вычисляется).

В заголовке цикла указываются два значения. Первое значение присваивается так называемой переменной-счетчику, от этого значения начинается отсчет количества итераций (повторений). Отсчет идет всегда с шагом равным единице. Второе значение указывает, при каком значении счетчика цикл должен остановиться. Другими словами, количество итераций цикла определяется разностью между вторым и первым значением плюс единица. В Pascal тело цикла не должно содержать выражений, изменяющих счетчик.

Цикл for существует в двух формах:

for счетчик:=значение to конечное_значение do

тело_цикла;

 

for счетчик:=значение downto конечное_значение do

тело_цикла;

Счетчик – это переменная любого из перечисляемых типов (целого, булевого, символьного, диапазонного, перечисления). Начальные и конечные значения могут быть представлены не только значениями, но и выражениями, возвращающими совместимые с типом счетчика типы данных. Если между начальным и конечным выражением указано служебное слово to, то на каждом шаге цикла значение параметра будет увеличиваться на единицу. Если же указано downto, то значение параметра будет уменьшаться на единицу.

Количество итераций цикла for известно именно до его выполнения, но не до выполнения всей программы. Так в примере ниже, количество выполнений цикла определяется пользователем. Значение присваивается переменной, а затем используется в заголовке цикла. Но когда оно используется, циклу уже точно известно, сколько раз надо выполниться.

Var

i, n: integer;

 

Begin

write ('Количество знаков: ');

readln (n);

 

for i:= 1 to n do

write ('(*) ');

 

readln

end.

 

 

Оператор цикла Repeat.

Цикл repeat

Цикл while может не выполниться ни разу, если логическое выражение в заголовке сразу вернуло false. Однако такая ситуация не всегда может быть приемлемой. Бывает, что тело цикла должно выполниться хотя бы один раз, не зависимо оттого, что вернет логическое выражение. В таком случае используется цикл repeat – цикл с постусловием.

В цикле repeat логическое выражение стоит после тела цикла. Причем, в отличие от цикла while, здесь всё наоборот: в случае true происходит выход из цикла, в случае false – его повторение.

var

i, n: integer;

 

begin

write ('Количество знаков: ');

readln (n);

 

i:= 1;

repeat

write ('(*) ');

i:= i + 1

until i > n;

 

readln

end.


В примере, даже если n будет равно 0, одна звездочка все равно будет напечатана.

 

Вызов функции

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

Вызов функции с присвоением возвращаемого значения некоторой переменной имеет следующий вид:

<имя переменной>:= <имя функции> [(<список фактических параметров>)];

Фактические параметры - это значения, передаваемые в функцию при её вызове.

 

Оператор присваивания.

Оператор присваивания - основной оператор любого языка программирования. Общая форма записи оператора:
имя величины:= выражение

Например, V:=A; или V:=A+1;
При помощи оператора присваивания переменной могут присваиваться константы и выражения, значения переменных любого типа.
Как только в программе встречается переменная, для неё в памяти отводится место. Оператор присваивания помещает значение
переменной или значение выражения в отведённое место.

Если в процессе выполнения программы встречается пере присваивание (т.е. та же самая переменная принимает другое значение), то

старое значение переменной стирается, на свободное место записывается новое значение. Команда присваивания позволяет лучше

понять смысл слова переменная (т.е. меняющая своё значение по ходу программы).

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

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

выражение должно быть записано в виде линейной цепочки символов;

используемые операции приведены в таблице:
НАЗВАНИЕ ОПЕРАЦИИ ФОРМА ЗАПИСИ
сложение x + y
вычитание x - y
умножение x * y
деление x / y

нельзя опускать знаки операций, например писать 5b. Для записи произведения чисел 5 и b надо писать 5*b;

аргументы функций (sin, cos и др.) как и аргументы вспомогательных алгоритмов, записываются в круглых скобках, например sin(x), cos(4*x).

 

 

Begin

write ('Введите класс школы: ');

readln (n);

 

case n of

1..4: writeln ('Младшие классы.');

5..8: writeln ('Средняя школа.');

9,11: writeln ('Старшие классы. Выпускной.');

10: writeln ('Старшие классы.');

else writeln ('Error')

end;

 

readln

end.

На использование оператора выбора накладываются следующие ограничения:

селектор должен иметь какой-либо порядковый тип;

каждая альтернатива должна быть константой, диапазоном, списком диапазонов, но не переменной или выражением.

 

 

Оператор цикла While.

Цикл while

Цикл while является циклом с предусловием. В заголовке цикла находится логическое выражение. Если оно возвращает true, то тело цикла выполняется, если false – то нет.

Когда тело цикла было выполнено, то ход программы снова возвращается в заголовок цикла. Условие выполнения тела снова проверяется (находится значение логического выражения). Тело цикла выполнится столько раз, сколько раз логическое выражение вернет true. Поэтому очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в заголовке цикла, таким образом, чтобы когда-нибудь обязательно наступала ситуация false. Иначе произойдет так называемое зацикливание, одна из самых неприятных ошибок в программировании.

Var

i, n: integer;

 

Begin

write ('Количество знаков: ');

readln (n);

 

i:= 1;

while i <= n do begin

write ('(*) ');

i:= i + 1

end;

 

readln

end.

 

 

Вызов процедуры

Процедура не может выполнится сама, ее необходимо вызвать. Чтобы вызвать процедуру, нужно указать ее имя и список фактические параметров.

Общий вид вызова процедуры:

<имя процедуры> [(<список фактических параметров>)];

Фактические параметры - это параметры, которые передаются процедуре при обращении к ней. При вызове процедуры ее формальные параметры заменяются фактическими. Число и тип формальных и фактических параметров должны совпадать с точностью до их следования. Имя фактического параметра никак не связано с именем соответствующего формального параметра.

 

 

Символьный тип данных

Символьный тип (Char)

Переменная типа char может принимать значения из определенной упорядоченной последовательности символов. Переменная этого типа занимает 1 байт и принимает одно из 256 значений кода ASCII (американский стандартный код для обмена информацией). Символы упорядочены в соответствии с их кодом, поэтому к данным символьного типа применимы операции отношения.

В программе вместо символа можно использовать его код, состоящий из # и номера кодируемого символа (например, #51). Обычно символы, имеющие экранное представление, записывают в явном виде, заключив в апострофы (например, 'A', 'b', '*').
Две стандартные функции позволяют поставить в соответствие данную последовательность символов множеству целых неотрицательных чисел (порядковым номерам символов последовательности).

Эти функции называются функциями преобразования:

ord(ch) – выдает номер символа (нумерация с нуля),
chr(i) – выдает i-ый символ из таблицы символов.

Пример. ord(H) выдает номер символа Н в последовательности всех символов, используемых транслятором. chr(15) выдает 15-ый символ этой последовательности.

Кроме того, для символьных переменных применяются такие функции:

pred(ch) – возвращает предыдущий символ;
succ(ch) – возвращает следующий символ;
upcase(ch) – преобразует строчную букву в заглавную. Обрабатывает буквы только латинского алфавита.

Также можно использовать процедуры inc и dec.

 

 

Логический тип данных. Логические операции.

Булевский тип (Boolean)

Переменная булевского типа принимает значения true (истина) или false (ложь). Эти величины упорядочены следующим образом:
false < true

Операции and, or, not (применяемые к булевским операндам) дают булевские значения.

Операция and (логическое умножение, пересечение, операция И)
Выражение a and b дает значение true, только в том случае, если a и b имеют значение true. Во всех остальных случаях значения выражения a and b – false.

true and true = true

true and false = false

false and false = false

Операция or (логическое сложение, объединение, операция ИЛИ)
Выражение a or b дает значение false, только в том случае, если a и b имеют значение false. Во всех остальных случаях результат – true.

true or true = true

true or false = true

false or false = false

Операция not (отрицание, операция НЕ)
Выражение not a имеет значение, противоположное значению a.

not true = false

not false = true

Стандартные булевские функции
odd(x) = true, если x нечетный (x целый);
eoln(x) = true, если встретился конец строки текстового файла x;
eof(x) = true, если встретился конец файла x.
В остальных случаях эти функции принимают значение false.

 

 

13)Тип данных "массив".

МАССИВЫ

Массиывыв Турбо Паскале во многом схожи с аналогичными типами данных в других языках програмирования. Отличительная особенность массивов заключается в том, что все их компоненты суть данные одного типа (возможно структурированного). Эти компоненты можно легко упорядочить и обеспечить доступ к любому из них простым указанием порядкового номера.

Описание массива задаётся следующим образом:

<имя типа> = array [<сп.инд.типов>] of <тип>

Здесь <имя типа> - правильный индификатор;

Array, of – зарезирвированые слова (массив, из);

<спюиндютипов> - список из одного или нескольких индексных типов, разделённых запятыми; квадратные скобки, обрамляющие список, - требование синтаксиса;

<тип> - любой тип Турбо Паскаля.

В качестве индексных типов в Турбо Паскале можно использовать любые порядковые типы, кроме LongInt и типов-диапазонов с базовым типом LongInt.

Глубина вложенности структурированных типов вообще, а следовательно, и массивов – произвольная, поэтому количество элементов в списке индексов типов (размерность массива) не ограничено, однако суммарная длина внутреннего представления любого массива не может быть больше 65520 байт.

Массив
Массив – это одно- или многомерная таблица данных одного типа. Каждая ячейка таблицы имеет свой индекс (в одномерном случае) или набор индексов (в многомерном). Массив называют структурой данных со случайным доступом, поскольку к любому элементу массива можно обратиться, просто указав его индексы, т.е. все элементы одинаково доступны в любой момент времени. Массив определяется, прежде всего, общим типом его элементов и их количеством. Количество элементов массива, в свою очередь, определяется количеством индексов и диапазоном их изменения. При описании переменной типа массив под каждый элемент выделяется фиксированный объем памяти, что и является главным недостатком этой структуры, во-первых, потому что в некоторых системах программирования Паскаль под переменную выделяется ограниченное количество памяти, что не позволяет использовать массивы больших размеров, во-вторых, потому что такая организация не дает возможности изменять размер массива, что приводит к определенного рода неудобствам, когда приходится впустую копировать большие объемы памяти, например, при передаче параметра-массива подпрограмме.

 

 

15) Тип данных "множество". Операции над множествами.

 

МНОЖЕСТВА

Множества – это набор однотипных логическх связанных друг с другом объектов. Характер связей между объектами лишь подразумевается програмистом и никак не контролируется Турбо Паскалем.количество элементов, входящих в множество, может менятся в пределах от 0до 256 (множество, не содержащее элементов, называется пустым).именно непостоянством количества своих элементов множества отличаются от массивов и записей.

Два множества считаются эквивалентными тогда и только тогда, когда все их элементы одинаковы, причём порядок следования элементов множества безразличен. Если все элементы одного множества входят также и в другое, говорят о включении первого множества во второе.

Описание типа множества имеет вид:

<имя типа> = SET OF <баз.тип>

Здесь <имя типа> - правильный индификатор;

SET, OF – зарезирвированные слова (множество, из);

<баз.тип> - базовый тип элементов множества, в качестве которого может использоваться любой порядковый тип, кроме WORD,INTEGER и LONGINT.

Для задания множества используется так называемый конструктор множества: список спецификаций элементов множества, отделяемых друг от друга запятыми; список обрамляется квадратными скобками. Спецификациями элементов могут быть константы или выражения базового типа, а также – тип-диапазон того же базового типа.

Операции над множествами

К переменным типа set применимы следующие операции: =, <>, >=, <=, in, +, -, *.

Операции = и <> используются для проверки эквивалентности: два значения переменной типа set считаются равными, если они состоят из одних и тех же элементов.

Операции >= и <= используются для проверки принадлежности одного множества другому: так, если множество a содержится во множестве b, то a <= b дает true.

Пустое множество [ ] содержится во всех множествах, т.е. всегда [ ] <= [b] дает true.

Операция in используется для установления наличия определенного элемента в величине типа set. Так, если x есть элемент множества b, то(x in b) дает true.

К переменным типа set, относящимся к одному и тому же конкретному типу, применимы операции:
+ объединение;
* пересечение;
- дополнение.

Пусть a и b – операнды, имеющие один и тот же конкретный тип. Тогда
a + b представляет собой объединение множества элементов, входящих в a и b (одинаковые элементы не повторяются).
a * b – пересечение множества элементов a и b (только те, которые есть в обоих множествах).
a – b – множество элементов, которые есть в a, но отсутствуют в b.

Операция a:= a + x добавляет элемент x к множеству a. Если x уже имелся в a, то множество a не меняется. a:= a – x исключает x из a. Если x отсутствовал в a, то множество a не меняется.

 

 

Чтение из текстового файла.

Чтение из текстового файла осуществляется процедурами ReadLn или Read. Если перед списком ввода стоит имя файловой переменной, то данные читаются не с клавиатуры, а из файла, связанного с этой переменной:
ReadLn(FIL, список_ввода);
Очередная строка созданного нами ранее на диске файла <Название файла>.TXT считывается во вспомогательную переменную списка ввода через файловую переменную FIL. Вот как это делается в программе read_text, считывающей файл <Название файла>.TXT и выводящей текст на экран:

program read_text;

var

FIL: text;

S: String; {s - имя вспомогательной переменной списка ввода}

begin

Assign(FIL, '<Название файла>.TXT);

Reset(FIL); {Открыли файл для чтения}

while not EOF(FIL) do

{Чтение продолжается, пока не будет достигнут конец файла}

begin

ReadLn(FIL, S);

{Чтение из файла <Название файла>.TXT в S построчно}

WriteLn(S); {Вывод прочитанного на экран}

end;

Close(FIL); {Закрыли файл}

end.

Текстовый файл <Название файла>.TXT должен находиться в том же каталоге, что и программа.
Процедура Reset устанавливает указатель текущей позиции файла на начало первой строки текстового файла. Процедура ReadLn считывает строку полностью, сохраняет считанное значение в переменной S и передвигает указатель на начало следующей строки. Движение допускается последовательно только в одну сторону -- слева направо (ведь текстовый файл является файлом последовательного доступа!). Так продолжается до тех пор, пока указатель не достигнет конца файла.

 



Поделиться:


Последнее изменение этой страницы: 2016-09-13; просмотров: 1377; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.127.141 (0.173 с.)