Шпора по ПаскалюРефераты >> Программирование и компьютеры >> Шпора по Паскалю
Procedure…имя .список формальных параметров…;…блок…;
Формальные параметры – это те объекты, над которыми описаны действия в процедуре и которые заменяются фактическими параметрами при обращении к ней. Параметры:
1.Значения (копия значения);
2.Перемещения (передача адреса);
3.Процедуры;
4.Функции.
1.Определяют исходные данные для работы процедуры, которые не желательно изменять в процессе её выполнения.
2.Определяют, как правило, выходные данные процедуры, которые передаются в основную программу.
Фактические параметры должны соответствовать формальным параметрам по количеству, типу и месту расположения.
Б21.Структурированные типы данных: массивы.
Структурированные типы данных составляются из других типов данных, т.е. имеют в своём составе некоторые компоненты.
Массив – группа данных одинакового типа, имеющая одно имя.
Индекс – обозначение порядкового номера элемента.
Элемент массива – индексированная переменная.
Массив М1 (одномерный, вектор); М[1], М[2],…
Массив М2 (двумерный, матрица); М[1,1], М[1,2], М[2,1], М[2,2].
Описание массива.
Array[ .тип индекса .] of .тип элемента
Для ввода и вывода используются циклы.
Пример!!!
Б24.Функции. Описание функций и обращение к ним.
В результате выполнения некоторых операций вычисляется одно единственное значение, присваиваемое имени функции.
Обращение к ф-ии ,как и к стандартным ф-ям, осуществляется из выражения, в котором в качестве операнда записывается имя ф-ии и фактические параметры.
После выполнения ф-ии вычисленные значения присваиваются имени ф-ии и передаётся выражение.
Function Fun(a, b: real): real;
…end; {fun}
…y:=Fun(x, 2); writeln(fun(k, l));
if fun(m, n) > 0 then…
Б25.Рекурсивные процедуры и ф-ии.
При использовании проц. и ф-ий встречается обращения их к самим себе, называемое рекурсивным.
Рекурсия возможна благодаря тому, что при вызове процедуры динамически создаются новые локальные переменные.
X^n=1(если n=0); X^n=X*X^(n-1)(если n >0);
n!=1(если n=0); n!=n*(n-1)!(если n > 0). Пример!!!
Б26.Записи. Описание записей. Оператор присоединения (а).
Данные типа запись представляют собой совокупность логически связанных элем-ов различного типа, которые называются полями.
Для обращения к полю записи используется составное имя, в котором необходимо указать путь от вершины до нужного поля.
Ввод, вывод и др. операции над записью выполняются для отдельных полей, в соответствии с их типами.
(а)Позволяет сократить текст программы за счёт исключения повторяющихся частей: имён полей, записей.
With .имя поля, имя записи(,) .do .оператор
Б27.Записи с вариантной частью(1).
Case имя сектора (:) тип of конст. (,)
(:) ( список полей )
Б28.Множества.
Множества – ограниченный, не упорядоченный набор различных элементов базового типа.
Set…of…порядковый тип
Z:=[0,2 4,8]; b:=[‘a’ ‘d’, ‘k’];
g:=[Penza, Moscow].
Элементы множества не упорядочены, поэтому:
[1,3,7]=[3,7,1]=[1,7,3,1,3,7];
a:=[3 6,8 10]; b:=[2 5,8 9];
a*b---[3 5,8]; a+b---[1 6,8 10];
a - [4,6,8]---[1,3,5,10];
Реализовать вычисление первых простых чисел до заданного n методом “решета Эратосфена”; n=15.
ISH=[2,3,4,5,6,7,8,9,10,11,12,13,14,15];REZ[?]
m=2 REZ[2]
m=3 REZ[2,3]
m=5 REZ[2,3,5]
m=7 REZ[2,3,5,7]
m=11 REZ[2,3,5,7,11]
m=13 REZ[2,3,5,7,11,13]
Б29.Файл. Стандартные процедуры работы с ф. Не типизированные ф.(а)
Файл – именованная область памяти на внешнем носителе, предназначенная для хранения данных.
Упорядоченная совокупность произвольного числа однотипных компонент с последовательным методом доступа.
В отличии от массивов в файлах место каждого элемента не определено индексом, число элем. не задано, каждая компонента файла становится доступной, только после перебора всех предшествующих компонент.
Для доступа к записи файла используется текущий указатель, который в начале работы с файлом должен указывать на начальную запись, имеющую № 0. При выполнении операции текущий указатель автоматически перемещается.
Типы файлов:
1.Типизированные – записи которых имеют жёсткую структуру, типа record.
2.Текстовые – состоящие из символов и строковых структур.
3.Нетипизированные – файлы без какой-либо структуры.
Процедуры и ф-ии для всех типов ф-ов.
1.Assign(имя файла,‘имя системного ф.’) устанавливает связь между переменной файлового типа в ПАСКАЛЬ-программе и конкретными физическими файлами на магнитных носителях.
Assign(f, ‘A:\file.dat’);
2.Reset(имя файла) – подготовка к чтению;
Rewrite(имя файла) – подготовка к записи;
3.Read(F) – чтение из файла F
Write(F) – запись в файл F
4.Eof(F) – достигнут ли конец файла при записи?
5.Uose(F) – закрытие файла.
6.Erase(F) – стирание файла.
7.Rename(F, ‘STR’) – переименование.
8.Truncate(F) – усечение файла по текущему положению указателя
9.Файлы параметров процедур могут передаваться по ссылке.
(а)Не типизированными файлами является последовательность байтов без какой-либо структуры. В них можно на примитивном уровне очень быстро и эффективно реализовать доступ к блокам, содержащим требуемое число байтов.
Особенности исполнения стандартных процедур и функций.
Rewrite(F, lblock); Reset(F, lnlock);
Lblock – размер передаваемого блока в байтах (по умолч. 128 байт).
Filesize, Filepos, Seek – используют компоненты длиной lblock каждый.
Blockread(F, buf, nmax, n) – из F в buf считывается максисум nmax блоков; n – фактически прочитано.
Б30.Текстовые файлы.
Текстовые файлы отличаются от типизированных следующими признаками:
1.Их элементами являются символы.
2.Их текстовые строки делятся с помощью метода конца строки, генерируемых при нажатии клавиши ENTER.
3.Спомощью процедуры readln метод строки считывается с помощью writeln метода конца строки.
4.При чтении из файла и записи в файл данные преобразуются автоматически.
Стандартные процедуры и функции для текстовых файлов:
Eoln(F) – конец строки;
Read(f, x1, x2,…xn) – чтение из f в x1…xn;
Write(f, x1,x2,…xn) – запись в f из х1…хn;
Append(f) – открыть текстовый файл для дополнения.
Б40.Графические проц. и ф-ии для работы с графическими примитивами типа “линия”.
Line(x1,y1,x2,y2{integer}) – вычерчивается отрезок прямой от (х1, у1) до (х2, у2)
LineTo(x,y) – от текущей позиции курсора до (x,y);
LineRel(dx,dy) – от текущей позиции курсора до ((x+dx),(y+dy));
MoveTo(x,y) – курсор устанавливается в точку (x,y);
MoveRel(dx,dy) - курсор устанавливается в точку ((x+dx),(y+dy));
PutPixel(x,y,Color) – закрашивает точку (x,y) в цвет Color.
Б41.Графические проц. и ф-ии для работы с дугами и геометрическими фигурами.
Arc(x,y{integer},w1,w2,r{word}) – из центра с координатами (x,y) вычерчивается дуга с радиусом r, от угла w1 до угла w2.