Автор: Пользователь скрыл имя, 06 Ноября 2011 в 02:04, реферат
В языке  программирования Паскаль реализованы  три типа операторов цикла:
      - цикл с параметром FOR .. TO/DOWNTO .. DO;
      - цикл с предусловием WHILE .. DO;
      - цикл с постусловием REPEAT .. UNTIL.
Теория к программе
Операторы цикла
  В языке 
программирования Паскаль 
- цикл с параметром FOR .. TO/DOWNTO .. DO;
- цикл с предусловием WHILE .. DO;
- цикл с постусловием REPEAT .. UNTIL.
Цикл с параметром (счетчиком)
Общий вид:
      
FOR <управляющая переменная,i>:=<
DO <оператор,S>;
Цикл с предусловием
Общий вид:
WHILE <логическое выражение,V> DO <оператор,S>
Цикл с постусловием
Общий вид :
REPEAT <оператор,S1>;
<оператор,S2>;
.
.
<оператор,SN>;
      
UNTIL <логическое выражение,V>; 
 
 
Теория к программе
Условные операторы
Оператор IF
Общий вид:
IF <выражение V> THEN <оператор S1> [ELSE <оператор S2>];
      
Где: V - выражение логического типа 
(условие, за которым 
Вложенный оператор IF
Условный оператор if может содержать в свою очередь также оператор if, например:
IF V1 THEN IF V2 THEN S1 ELSE S2
Для избежания ошибки лучше использовать операторные скобки:
IF V1 THEN BEGIN
IF V2 THEN S1
ELSE S2
END;
Оператор выбора CASE
Используется в том случае, если переменная может принимать ряд дискретных значений. Общий вид оператора:
CASE <K> OF
<значение K1 или список значений K1>: S1
<значение K2 или список значений K2>: S2
.
.
<значение KN или список значений N>: SN
[ELSE SN+1]
END;
Где: K - выражение или переменная перечислимого типа;
        
S1 .. SN+1 - операторы, которые 
 
Теория к программе
Работа с текстовым файлом
Структурированные данные - строка
Тип строка: STRING[n] - последовательность символов длиной n, что помещаются в апострофах, n [0,255], по умолчанию n=225.
+ операция конкатенации (склеивание строк).
Сравнение строк
    Для 
данных типа строка 
Строка как массив
      
Данные типа строка 
      
К каждому байту (символу) 
Процедуры и функции работы с строками
CONCAT - конкатенация последовательности строк
COPY - выделить подстроку
DELETE - изъять подстроку
INSERT - прибавить подстроку
LENGTH - определить длину строки
POS - выполнить поиск подстроки в строке
STR - преобразовать числовое значение в его символьную репрезентацию
VAL - преобразовать строку в её числовое значение
1) LENGTH(S: string):integer - возвращает длину строки (значение первого байту)
LENGTH('word') --> 4
      
2) CONCAT(s1,....s:string):
где si - список строк или выражений типа строка; общая длина результата *255 символов
4) DELETE(var s:string, n1,n2:integer) - процедура, разрешает изъять подстроку из строки S, причем сама строка S изменяется; здесь n1 - первый изымаемый символ; n2 - количество изымаемых символов.
      
5) INSERT(S1:string;var S2:string;n:integer); - процедура 
добавляет подстроку S1 в строку 
S2 начиная из позиции n; S1, S2 и 
n - выражения соответствующего 
6) POS(S1,S2: string):byte - разыскивает подстроку S1 в строке S2 и возвращает номер позиции первого найденного вхождения. Если возвращается 0 - строка не содержит предоставленной подстроки. S1, S2 - могут быть выражениями типа строка
7) STR(x[:l1[:l2]], var s:string);
где x - выражение целого (integer) или действительного (real) типа
        
Процедура предоставленна в 
8) VAL(s:string; var v:integer/real; var c:integer);
Процедура строка s преобразовывает в числовую форму (обратная к str) и сохраняет её в переменной v. Если строка содержит недопустимый символ (который не может быть применена в записи числа), то ее позиция сохраняется в переменной c, в другом случае c=0.
Работа с текстовыми файлами
Текстовый файл описывается:
var f:text;
  Элементами 
текстового файла являются 
При вводе/выводе численных данных они автоматически превращаются в значения соответствующего типа при вводе или в последовательность символов соответственно формата вывода при выводе
Специальные функции и процедуры работы с текстовыми файлами
1) eoln(var t:text): boolean;
Окончание строки определяется кодами двух символов:
#13 - CR (возвращение каретки или переход к началу строки)
#10 - LF (переход на новую строку)
Оба кода генерируются при нажиме Enter.
Функция eoln принимает значение true, если достигнуто окончание строки, то есть показатель на текущий символ что обрабатывается стоит на первом с двух символов признака конца строки (#13). В других ситуациях возвращает false.
Если eof=true, то и eoln=true.
2) seekeoln(var f:text):boolean.
Действие такая же, как и функции eoln, но опускаются пропуски и символы табуляции в средине и в конце строки. Удобно использовать при обработке числовых данных.
3) seekeof(var f:text):boolean.
Действие такая же, как и функции eof, но опускаются пропуски, символы табуляции и переводу строки в конце файла
4) settextbuf(var t:text,var buf [;<размер>:word]).
Процедура переопределяет буфер ввода/вывода (по умолчанию стандартный, 128 байт), что удобно для быстрой обработки текстовых файлов или непосредственного доступа к буферу
Ограничение:
а) процедура не используется для открытых файлов;
      
б) переобозначенный буфер 
Параметры:
buf - любая переменная, что определяет буфер обмена;
        
<размер> - необязательный параметр, 
который определяет размер 
    Функция 
sizeof(<идентификатор 
5) flush(var f:text).
      
Процедура переписывает 
      
Используется как 
6) Особенности работы процедур read, write для текстовых файлов.
Как и при вводе из клавиатуры:
      
read(f,v1,v2,...vn); ~ read(f,v1);read(f,v2);...read(
      
readln(f,v1,v2,...vn); ~ read(f,v1);read(f,v2);...
read(input,v1,v2,...vn); ~ read(v1,v2,...,vn);
аналогично при выводе:
      
write(f,v1,v2,...vn); ~ write(f,v1);write(f,v2);...
      
writeln(f,v1,v2,...vn); ~ write(f,v1);write(f,v2);...
write(output,v1,v2,...,vn); ~ write(v1,v2,...,vn).
Если список вывода отсутствует, то:
    readln(f); 
- показатель текущей записи 
writeln(f); - в файл записываются коды конца строки (CR/LF) то есть пустая строка в текущем месте.