
- •1.Эвм, центральный процессор, память. Обрабатываемые данные. Подпрограммы. Основные идеи структурного программирования.
- •2. Языки программирования. Словарь, синтаксис, семантика языка. Основные символы языка Паскаль. Изображение имен переменных и значений.
- •5. Нестандартные типы. Базовый тип. Перечислимый тип, стандартные функции. Ограниченный тип (диапазон).
- •Операторы цикла: с предусловием, с постусловием, с параметром.
- •7. Оператор перехода. Метка. Допустимые случаи использования оператора перехода. Поиск в массиве. Оператор перехода и структурированное программирование.
- •8. Структурированные статические типы данных. Массивы. Символьные строки.
- •12. Рекурсивные функции и процедуры. Основные понятия.
- •15. Методы поиска данных. Линейный поиск.
- •Линейный поиск .
- •16. Методы поиска данных . Поиск деления пополам (двоичный поиск).
- •Обобщенная архитектура третьего и четвертого поколений
- •18. Операционная система. Структура операционной системы.
- •19. Особенности различных файловых систем.
- •21. Средства защиты персональных компьютеров и компьютерных сетей. Антивирусные программы и файерволы.
7. Оператор перехода. Метка. Допустимые случаи использования оператора перехода. Поиск в массиве. Оператор перехода и структурированное программирование.
Оператор перехода имеет вид:
GOTO <метка>;
Он позволяет передать управление непосредственно на нужный оператор программы. Перед этим оператором должна располагаться метка. В Турбо Паскале в качестве меток выступают либо целые числа от 0 до 9999, либо идентификаторы. Все метки должны быть описаны в разделе описания меток следующим образом: LABEL <список меток через запятую>;
Каждой меткой в программе может быть помечен только один оператор. Операторов перехода с одной и той же меткой можно писать любое количество. Необходимо, чтобы раздел описания метки, сама метка и оператор перехода с ее использованием располагались в пределах одного блока программы. Кроме того, нельзя передавать управление внутрь структурированных операторов(например, if, for,while, и т.д). Сам оператор перехода используется в редких случаях.
Поиск данных в массиве. Значения, составляющие массив, могут быть получены из разных источников: путем вызова функции random, ввода значений пользователем, считывания из файла.
8. Структурированные статические типы данных. Массивы. Символьные строки.
Любой из структурированных типов (а в Турбо Паскале их четыре: массивы, запиcи, множества и файлы) характеризуется множественностью образующих этот тип элементов, т.е. переменная или константа структурированного типа всегда имеет неcколько компонентов. Каждый компонент, в свою очередь, может принадлежать cтруктурированному типу, что позволяет говорить о возможной вложенности типов. В Турбо Паскале допускается произвольная глубина вложенности типов, однако суммарная длина любого из них во внутреннем представлении не должна превышать -5520 байт.
Массив. Массив – упорядоченная структура однотипных данных, хранящая их последовательно. Доступ к элементу массива осуществляется через его индекс. Массивы описываются следующим образом:
Имя типа = ARRAY [диапазоны индексов] OF тип элемента массива;
В качестве типа для элементов можно использовать любые типы Турбо Паскаля кроме файловых. Диапазоны индексов представляют собой один или несколько диапазонов, перечисляемых через запятую. В качестве диапазонов индексов нельзя использовать диапазоны с базовым типом Longhit.
Массивы символов представляют собой символьную строку определенной длины. Элементами символьного массива м.б. любой символ (типа CHR) как основного так и дополнительного набора символов кода ASCII. Строка имеет вид: Char.
9.Комбинированный тип. Записи. Оператор присоединения. Записи с вариантами.
В языке Паскаль для представления совокупности разнородных данных служит комбинированный тип запись. Запись и массив схожи в том, что обе эти структуры составлены из ряда отдельных компонент. В то же время, если компоненты массива должны быть одного типа, записи могут содержать компоненты разных типов.
Приведем пример описания переменной, имеющей структуру записи:
Var
Address : Record
HouseNumber : Integer;
StreetName : String[20];
CityName : String[20];
PeopleName : String;
End;
Оператор присоедения. Оператор присоединения - With . . Do.
10.Множественный тип. Множества, операции над множествами: объединение, перечисление, разность множеств. Отношение: равенство, неравенство, включение. Проверка принадлежности к множеству.
Еще одним фундаментальным классом данных являются данные, структурированные в виде множеств. Множественный тип данных Паскаля напоминает перечислимый тип данных. Вместе с тем множественный тип данных – набор элементов не организованных в порядке следования. В Паскале под множественным типом понимается конечная совокупность элементов, принадлежащих некоторому базовому типу данных.В математике множественный тип данных – любая совокупность элементов произвольной природы. Операции, которые производятся над множествами, по существу заключаются во включении и исключении элементов из множества. Понятие множества в языке программирования значительно уже математического понятия.
Объединение множественных типов содержит элементы, которые принадлежат хотя бы одному множеству, при этом каждый элемент входит в объединение только один раз. Операция объединения множеств обозначается знаком ‘+’.
Пример множественных типов Паскаля
Type symbol= set of char;
Var small, capital, latin: symbol;
………………
small:= [‘a’ .. ‘z’];
capital:= [‘A’ .. ‘Z’];
latin:= small + capital; {образованы множества латинских букв путем объединения множеств small и capital}
Возможно объединять множественные типы и отдельные элементы. Например,
small:= [‘c’ .. ‘z’];
small:= small + [‘a’] +[‘b’];
Пересечение множественных типов– множества, содержащие элементы, одновременно входящие в оба множества. Операция пересечения множеств обозначается знаком ‘*’.
Пример пересечения множественных типов
Type chisla= set of byte;
Var z,x,y: chisla;
………..
x:= [0..150];
y:= [100..255];
z:= x*y {получено множества чисел из диапазона 100..150 в результате пересечения двух множеств}
Отношения. Наряду с рассмотренными выше операциями, над значениями множественного типа определены и некоторые операции отношения. Операндами операций над множественными значениями в общем случае являются множественные выражения. Среди операций отношения над значениями множественного типа особое место занимает специальная операция проверки вхождения элемента во множества, обозначаемая служебным словом in. В отличие от остальных операций отношения, в которых значения обоих операндов относятся к одному и тому же множественному типу значений, в операции in первый операнд должен принадлежать базовому типу, а второй – множественному типу значений, построенному на основе этого базового типа. Результатом операции отношения, как обычно, является логическое значение (true или false).
Операция сравнения на равенство множественных типов Паскаля. Множества считаются равными (эквивалентными), если все элементы одного множества присутствуют в другом и наоборот. Для операции сравнения на равенство или неравенство используются символы ‘=’ и ‘<>’.
Проверка включения. Одно множество считается включенным в другое (одно множество является подмножеством другого), если все его элементы содержатся во втором множестве. Обратное утверждение может быть и несправедливым. Операции проверки включения обозначаются ‘<=’ и ‘>=’. Кроме этих операций для работы с величинами множественного типа в языке ПАСКАЛЬ используется операция in проверяющая принадлежность элемента базового типа, стоящего слева от знака операции, множеству, стоящему справа от знака операции. Результат выполнения этой операции - булевский. Операция проверки принадлежности элемента множеству часто используется вместо операций отношения, например:
A in ['A', 'B'] даст TRUE,
2 in [1, 3, 6] даст FALSE.
11.Процедуры: описание и вызов. Классификация объектов тела процедуры. Способы обмена данными с процедурой. Параметры – значения, параметры – переменные. Функции, описание и вызов. Передача в качестве параметра имени функции или процедуры. Побочные эффекты при вызове функции. Процедуры и функции без параметров.
В языке Паскаль для организации подпрограмм используются процедуры и функции. Процедура – независимая часть программы, предназначенная для выполнения определенных действий. Функция аналогична процедуре, но имеет два отличия: она возвращает в программу некоторый результат и может использоваться как часть выражения. Они разделяются на встроенные (стандартные) и пользовательские (создаваемы программистом) процедуры и функции. Встроенные (стандартные) процедуры им функции являются частью языка и могут вызваться по имени без предварительного определения в разделе описаний программы. Процедуры и функции пользователя организовываются самим программистом в соответствии с синтаксисом языка и их предварительное описание (перед использованием) в тексте программы обязательно.
Параметры- значения – используются для передачи исходных данных в подпрограмму. Формальные параметры при этом записываются через запятую с указанием их типов. Они получают значения фактических параметров, но не могут передавать свои значения фактическим параметрам.
Параметры- переменные – играют роль как входных, так и выходных (возвращаемых) параметров процедуры. В списке формальных параметров они перечисляются после слова Var с указанием их типов.
Процедуры.
Состоят из группы операторов, реализующих некоторую часть задачи и вызываемых по имени при необходимости в любой части программы.
Procedure <имя>;
Begin
End.
Описание процедуры включает заголовок и тело процедуры.
Функции.
Функция, определяемая в программе, состоит из заголовка и тела функции. Заголовок содержит зарезервированное слово FUNCTION, идентификатор (имя) функции и необязательный список формальных параметров с указанием типа каждого параметра, а так же тип возвращаемого функцией значения.
В Паскале функции могут не только вычислять свои значения (основное назначение функций), но еще изменять значения глобальных переменных, задействованных в расчетах внутри подпрограммы. Результат подобных действий называется побочным эффектом функций.
В Турбо Паскале существует возможность создания процедур и функций с параметрами, не имеющими типа. Бестиповые параметры могут быть параметрами – переменными и параметрами – константами, так как передаются только по адресу. Использование бестиповых параметров дает большую гибкость программе, но ответственность возлагается на программиста.