Читайте также: |
|
2 .Алфавит языка Паскаль включает след символы:а)заглавные и строчные лат.буквы и символ «_».Используются при создании идентификаторов и служебных слов,б)Цифры от 0 до9.Используются при записи и идентификаторов.в)Спец символы:+ - * / =.,:; «» @^() {} [] # $ используются как знаки операций,синтаксич разделители,при записи выражений. Символы алфавита испол-ся для построения лексем-элементарные ед языка,имеющие самостоятельный смысл(идентификаторы,знаки операций,разделители,изображения) Служебные слова-конечный набор зарезервированных слов,смысл кот определен в языке.(set,if,mod,div,of,or,begin,to,array,program,var…)
3 .Идентификаторы -имена переменных,констант,процедур,типов,меток.Сост-ся из букв,цифр и знаков подчеркивания:длина идентиф может быть любой,но компилятор принимает тока 63символа,первым символом должна быть буква или знак подчеркивания. Переменные- это объекты,которым присваивают различные значения(строковые,)..Типы-численные,целочисленные(integer-32768…32767),символьные(char-0…255),строковые(string255символов),тип файл,множественный,интервальный,записи,логические(boolean),десятичные.
4.Структура программы.Основные операторы языка. В программировании хорошим тоном яв-ся в самом начале программы записывать комментариями цель программы,входные и выходные данные.Program имя программы; uses список модулей; Type имя типа1=…; имя2=…; Label метка1;метка2; var имя переменной1,имя2:имя типа1;Procedure begin операторы… end. Модуль-совокупность програмнных ресурсов,const,типов,переменных.Метки-переход из одной части в др.Операторы-задает полное описание некоторого действия,которое необходимо выполнить.(=*,*,/,+,-,(),;).
5.Процедура ввода-вывода.Используются стандартные процедуры Read(считывает с клавиатуры введенные значения в переменные а,б;они могут быть целые,вещественные,символьные,строковые) и write-выводит значение переменных а,б;целые,вещественные,символьные,строковые.(readln,writeln-переход на след строку) оператор вывода задает ширину поля вывода для каждого элемента(а:5:3)5-количество чисел,3-кол-во цифр после запятой
6)каждая процедура должна иметь уникальное имя,по которому к ней можно обращаться.существует 2способа передачи параметров процедурам:
Procedure sample (var x:integer);передается лишь ссылка на адрес в памяти,где находится значение переменной
Procedure sample(x:integer);процедура создает в памяти новую переменную
Вызывать процедуру следует по ее имени,указывая,если необходимо,параметры(которые должны соответсвовать типам,указанным для параметров при объявлении процедуры)
Глобальные переменные-переменные,объявленные в самой программе в разделе описания переменных.они имеют доступ из любой части программы,кроме случаев совпадения имен переменных.
Локальные-объявленные в процедурах.они имеют доступ лишь в рамках той процедуры,в которой они объявлены.
Функция-отличается от процедуры лишь тем,что она возвращает значения.
21) Понятие множества в Паскале очень близко к математическому определению: множество - это совокупность однотипных неиндексированных объектов. Множества описываются в виде:
SETOFтип,где тип - базовый для этого множества тип, т.е. тип элементов множества. К множествам применимы следующие операции:
множеству можно присвоить множество того же типа;
Для множеств определены две стандартные процедуры:
Include(множество,выражение)Exclude(множество,выражение
Процедура Include добавляет элемент, равный значению выражения в множество, а процедура Exclude удаляет такой элемент из множества.
20)При работе со строками, как правило, возникает необходимость выполнять их копирование, вставку, удаление или поиск. Для эффективной реализации этих действий в Паскале предусмотрены стандартные процедуры и функции. Они кратко описаны ниже.
Функция Concat (s1, s2,..., sn) возвращает строку, являющуюся слиянием строк s1, s2,..., sn.
Функция Copy (s, start, len) возвращает подстроку длиной len, начинающуюся с позиции start строки s.
Процедура Delete (s, start, len) удаляет из строки s, начиная с позиции start, подстроку длиной len.
Процедура Insert (subs, s, start) вставляет в строку s подстроку subs, начиная с позиции start.
Функция Length (s) возвращает фактическую длину строки s, результат имеет тип byte.
Функция Pos (subs, s) ищет вхождение подстроки subs в строку s и возвращает номер первого символа subs в s или нуль, если subs не содержится в s.
19,18,17) Для этого в Паскаль включаются специальные средства - графические процедуры и операторы, которые находятся в модуле Graph (uses Graph;).
Закрытие графического режима
closegraph;
textcolor (цвет), textbackground (цвет) устанавливают цвет символов и цвет фона в текстовом режиме
highvideo, lowvideo, normvideo устанавливают высокую, низкую, нормальную яркость символов
settextstyle (font,direction,charsize), settextjustify (horiz,vert) позволяют установить все необходимые параметры для вывода текста
gettextsettings (стиль) позволяет получить информацию о текущем шрифте, его размере, форматировании строки
getarccoords (переменная типа запись) возвращает координаты трех точек: центра, начала и конца дуги для фигур arc, ellipse
getfillpattern (образец) возвращает образец заполнения, установленный ранее процедурой setfillpatten
getfillsettings (стиль) возвращает текущий стиль заполнения
getlinesettings (стиль) возвращает текущий стиль линий
getmaxcolor, getcolor, getbkcolor возвращают значения типа word, содержащие код максимально допустимого, текущего цвета символа и фона
getaspectratio (x,y) возвращает два числа, позволяющие оценить соотношение сторон экрана
getmaxx, getmaxy, getx, gety возвращает значение типа integer, содержащие максимальные или текущие координаты экрана или окна по горизонтали и вертикали
graphresult возвращает значение типа integer, в котором закодирован результат последнего обращения к графическим процедурам
detectgraph возвращает тип драйвера и режим его работы
setviewport (x1,y1,x2,y2,pr) устанавливает прямоугольное окно на графическом экране
setfillpatten (тип,цвет) устанавливает образец и цвет заполнения
setfillstyle (тип, цвет) стиль заполнения фигур
setlinestyle (вид,образец,толщина) стиль написания
setbkcolor (цвет) цвет фона
setcolor (цвет) цвет символов
imagesize (x1,y1,x2,y2) возвращает количество байт, необходимых для размещения прямоугольного фрагмента изображения
floodfill (x,y,цвет границы) закрашивает текущим цветом произвольную замкнутую фигуру
sector (x,y,нач. угол,кон. угол,rx,ry) сектор эллипса
fillellipse (x,y,rx,ry) эллипс
ellipse (x1,y1,начальный угол,конечный угол,радиус) эллипсная дуга
pieslice (x,y,нач. угол,кон. угол) сектор окружности
arc (x1,y1,начальный угол,конечный угол,радиус) дуга
circle (x,y,радиус) круг
fillpoly (n,массив координат) вычерчивает произвольный многоугольник
drawpoly (n,массив координат) вычерчивает произвольную ломанную линию
bar3d (x1,y1,x2,y2) трехмерное изображение параллелепипеда
bar (x1,y1,x2,y2) прямоугольник
rectangle (x1,y1,x2,y2) прямоугольник
moverel (dx,dy) приращении координат
moveto (x1,y1) задает координаты текущей точки
linerel (dx,dy) приращение линии
line (x1,y1,x2,y2) линия
putpixel (x,y,цвет) рисование точки
cleardevice очистка графического экрана
restorecrtmode кратковременный возврат в текстовый режим
closegraph прекращение работы с графикой
16,15,14) Файл – совокупность данных, записанная во внешней памяти под некотором именем.
В статье рассматриваются причины использования файлов в программах, написанных на языке программирования pascal, характерные особенности файлов, типы файлов, которые возможно создать, типизированные, нетипизированные и текстовые файлы, примеры их создания, описания, объявления, основные процедуры для работы с файлами.
{loadposition adsense2}
Причины использования
- оптимизация ввода большого количества данных
- файл данных может быть подготовлен другой программой
- не требуется присутствия пользователя при работе с файлом
Характерные особенности файлов
- имеет имя, одновременно можно работать с несколькими файлами
- состоит из компонентов одного типа (любого, кроме файлового)
- длина создаваемого файла при объявлении не указывается
Типы файлов:
По способу доступа
- последовательного
- прямого
По типу (логической структуре)
- текстовые
- типизированные
- не типизированные
Файл имеет
- логическое имя (из раздела var)
- физическое имя (на диске)
Команды
Assign (логическое имя, ‘ физическое имя ‘) установления соответсвия между логическим и физическим именами
Rewrite (логическое имя) – открытие файла для записи, перезапись
Reset (логическое имя) – открытие файла для чтения
Write (логическое имя, переменная которую записуют) – запись информации в файл
{loadposition adsense1}
Read (логическое имя, переменная которую записуют) – чтение информации из файла
Eof (логическое имя) – анализ признака конца файла. (whilenoteof (f) do <оператор> - работа с файлом до последнего элемента)
Close (логическое имя) – закрытие файла
Rename (логическое имя, 'физическое имя') – переименование файла
Erase (логическое имя) – удаление файла.
Объявление файла
Var f:file of <тип>;
F:text; (текстовый файл)
Типизированные файлы
Это файлы строго определенного типа. Обычно состоят из записей.
Объявление
Typefilerec=record
…
End;
Var
F:file of filerec;
Для определения размера:
Sizeof (filerec)
Т.к. длина любого компонента файла постоянная, то это дает возможность организовать прямой доступ к любому компоненту по его порядковому номеру, поэтому эти файлы называют файлами прямого доступа.
Процедура seek (var f; numrec: longint) устанавливает текущую длину переменной f на запись с номером numrec.
Для данных файлов существуют следующие операции:
Truncate (varf) – уничтожает все компоненты файла f, начиная с места текущего положения файлового показателя
Filepoz (varf):longint – возвращает для файла f текущую файловую позицию в виде значения типа longint;
Filesize (varf):longint – возвращает размер файла.
Seek (f, filesize (f)); - команда помещения позиции курсора в конец файла.
Нетепизированный файл
Объявление
Varuntypedfile:file;
Нетепизированный файл является файлом прямого доступа
Открытие
Rewrite (untypedfile, <длина записи>);
Или
Reset (untypedfile, <длина записи>);
Команды
Blockread (varf:file; varbuf; count:word); - процедура считывает из файла F некоторое число блоков в память, начиная с 1-го байта переменной buf. Параметр buf – любая переменная, используемая для извлечения информации из файла. Параметр count – задает число считывающих блоков
Blockwrite (varf:file; varbuf; count:word); - процедура записи в файл, переменные одинаковые с предыдущей командой.
Текстовые файлы
Данные файлы можно редактировать и просматривать с помощью обычного текстового редактора
Eoln (<имя файла>) – проверка, есть ли символы в строке.
Описание
Var <список имен переменных>:text;
Команды считывания информации:
Read (<имя файла>, <список параметров>);
Readln (<имя файла>, <список параметров>);
Создание строки:
Write (<имя файла>,<список выражений>);
Writeln (<имя файла>,<список выражений>);
Для дописывания в файл данных выполнить (вместо rewrite)
Append (<имя файла>);
13) Рекурсия (от латинского recursio - возвращение) - это такой способ организации вычислительного процесса, при котором процедура или функция в ходе выполнения составляющих ее операторов обращается сама к себе. Для того, чтобы такое обращение не было бесконечным, в тексте подпрограммы должно быть условие, по достижению которого дальнейшего обращения не происходит. таким образом, рекурсивное обращение может включаться только в одну из ветвей подпрограммы.
Хорошей иллюстрацией механизма рекурсии является функция для вычисления факториала натурального числа. Вспомним, что факториалом числа называется произведение всех натуральных чисел от 1 до этого числа включительно:
N! = 1*2*3*... *(N-2)*(N-1)*N
1! = 1
0! = 1
Сначала покажем обычную не рекурсивную функцию для вычисления факториала, которая реализует итеративный алгоритм вычисления:
Function NonRecFact(N:integer): LongInt; Var i: integer; {переменная цикла } Res: LongInt; {результат} Begin Res:= 1; for i:= 1 to N do res:= Res*i; NonResFact:= Res; End; |
12) Запись – это структура, состоящая из фиксированного числа компонент, называемых полями. Данные одного поля разных записей имеют один и тот же тип, а разных полей могут иметь разные типы. Общий вид описания типа record:
type t = record
id11, id12, …: type1;
id21, id22, …: type2;
……………….
end;
здесь id – идентификаторы полей; type – типы полей; t – имя типа.
10,9,8) Существует множество методов сортировки. Одни из них являются более эффективными, другие – проще для понимания. Достаточно простой для понимания является сортировка методом пузырька, который также называют методом простого обмена. ак известно воздух легче воды, поэтому пузырьки воздуха всплывают. Это просто аналогия. В сортировке методом пузырька по возрастанию более легкие (с меньшим значением) элементы постепенно "всплывают" в начало массива, а более тяжелые друг за другом опускаются на дно (в конец массива).
При сортировке выбором выбирается элемент с наименьшим значением и делается его обмен с первым элементом массива. Затем находится элемент с наименьшим значением из оставшихся n-1 элементов и делается его обмен со вторым элементом и т.д. до обмена двух последних элементов. Например, если сортировку выбором применить для массива "bdac", то будут получены следующие проходы:
исходное положение: b d a c;
первый проход: a d b c;
второй проход: a b b c;
третий проход: a b c d.
Сортировка вставкой является последней из класса простых алгоритмов сортировки. При сортировке вставкой сначала упорядочиваются два элемента массива. Затем делается вставка третьего элемента в соответствующее место по отношению к первым двум элементам. Затем делается вставка четвертого элемента в список из трех элементов. Этот процесс повторяется до тех пор, пока все элементы не будут упорядочены. Например, для массива "dcab" сортировка вставкой будет проходить следующим образом:
исходное положение: d c a b;
первый проход: c d a b;
второй проход: a c d b;
третий проход: a b c d.
Гендерная идентичность
2. Этническая идентичность
3. Профессиональная идентичность
4. Религиозная идентичность
5. Политическая идентичность
301. По И. И. Булычеву, соотнесение своего поведения с нормами поведения, принятыми данной возрастной группой:
Дата добавления: 2014-12-19; просмотров: 99 | Поможем написать вашу работу | Нарушение авторских прав |