- •1. Понятие информации
- •1.3. Свойства информации
- •2 Информатизация
- •4Информационные технологии – ит
- •6 Составляющие информационных технологий
- •10 Базовые информационные технологии
- •11 Технологии и средства обработки текстовой информации
- •12 Технологии и средства обработки текстовой информации
- •14 Технология и средства обработки графической информации
- •13 Программные средства, выполняющие научно-технические расчеты
- •15 Технологии и средства обработки звуковой информации
- •16 Технология работы в бд
- •8) Облегчении возможностей широкого обмена информацией, участия в корпоративных и других проектах, способствующих интеграции и т.П.
- •19 Экспертные системы и системы поддержки принятия решений(сппр)
- •20 Информационные технологии конечного пользователя. Интерфейс пользователя
- •1) Язык пользователя; 2) язык сообщений компьютера, организующий диалог на экране дисплея; 3) знания пользователя.
- •1. Способ общения машины с человеком-оператором. 2. Способ общения человека-оператора с машиной. 3. Способ пользовательского представления интерфейса.
- •21 Технические средства обеспечения безопасности информационных технологий
- •22. Средства и методы защиты информации
- •23. Оценка эффективности и качества ит
- •24. Понятие системы программирования
- •Var p,q,r: Integer;
- •If условие then оператор_1
- •32. Процедуры и функции в Паскале
- •37 Записи и множества в Паскале
- •2.3 Множества
- •38. Работа с файлами в Паскале
32. Процедуры и функции в Паскале
Процедуры и функции – это законченные программные единицы, имеющие собственное имя, которые решают некоторую подзадачу.
Процедуры и функции помещаются в раздел описаний программы сразу же после описания переменных и перед словом Begin, указывающим начало ее основной части. Структура описания процедур и функций до некоторой степени похожа на структуру программы: у них также имеются заголовок, раздел описаний и исполняемая часть. Раздел описаний содержит те же подразделы, что и раздел описаний программы: описания констант, типов, меток, переменных. Исполняемая часть содержит собственно операторы процедуры или функции.
Если две подпрограммы, описанные на одном уровне, содержат взаимные вызовы друг друга, то используется механизм предварительных описаний.
Предварительное описание содержит заголовок подпрограммы, а вместо тела записывается служебное слово Forward. В этом случае заголовок полного описания может быть записан без списка параметров и (для функций) без типа результата.
Процедуры и функции различаются назначением и способом использования. На вход подпрограммы в качестве исходных данных поступает совокупность параметров – аргументов, а на выходе формируются параметры – результаты. Причем процедура позволяет получить один или несколько результатов, а функция – только один.
Для обмена информацией между процедурами и функциями и другими блоками программы существует механизм входных и выходных параметров. Входными параметрами называют величины, передающиеся из вызывающего блока в подпрограмму, а выходными - передающиеся из подпрограммы в вызывающий блок.
Одна и та же подпрограмма может вызываться неоднократно, выполняя одни и те же действия с разными наборами входных данных. Параметры, использующиеся при записи текста подпрограммы в разделе описаний, называют формальными, а те, что используются при ее вызове – фактическими.
Допустимы способы задания формальных параметров:
1. Параметры-значения – параметры, перед которыми отсутствует служебное слово Var и за которыми следует идентификатор типа.
2. Параметры-переменные – параметр, перед которым ставиться слово Var и далее тип.
Передаются по ссылке.
3. Безтиповые параметры – это параметры со словом Var и не имеющие типа.
Фактический параметр, соответствующий формальному нетипизированному, должен представлять собой переменную любого типа (но не выражение).
Правила вызова процедур и функций: 1)количество фактических параметров должно совпадать с количеством формальных; 2)соответствующие фактические и формальные параметры должны совпадать по порядку следования и по типу.
Формат описания процедуры имеет вид:
PROCEDURE имя процедуры (формальные параметры);
раздел описаний процедуры
BEGIN
исполняемая часть процедуры – операторы;
END;
При вызове процедуры должны соблюдаться следующие требования:
– количество передаваемых фактических параметров должно равняться количеству описанных в процедуре формальных параметров.
– порядок следования фактических параметров и их типы должны соответствовать порядку следования и типам формальных параметров.
Параметры процедур делятся на 2 класса:
1) параметры-значения;
2) параметры-переменные.
Вызов процедуры производится оператором, имеющим следующий формат:
имя процедуры(список фактических параметров);
Список фактических параметров – это их перечисление через запятую.
Формат описания функции имеет вид:
FUNCTION имя функции (формальные параметры):тип результата;
раздел описаний функции
BEGIN
исполняемая часть функции
. . . . . . . .
Имя функции := Выражение;
END;
Формальные параметры – это аргументы функции. Они могут отсутствовать. Результат передается через имя функции, поэтому в заголовке указывается тип результата. Для вычисления значения функции с конкретным параметром ее, как и процедуру, вызывают из основной программы с указанием фактических параметров–аргументов.
Вызов функции производится оператором, имеющим следующий формат:
имя функции (список фактических параметров);
Аргументы функции могут быть любых типов:
1) скалярные – числа, символы, булевские;
2) массивы;
3) другие типы.
Сама функция (результат) имеет только скалярный тип, (т.е. число – целое или вещественное, а также символ или булевская переменная). К функции можно обращаться из основной программы; из другой функции и из самой себя.
33. Стандартные модули в Паскале. Модули, создаваемые пользователем
Модуль – это автономно компилируемая программная единица, включающая в себя различные компоненты раздела описаний (типы, константы, переменные, процедуры и функции) и некоторые исполняемые операторы инициирующей части. Процедуры и функции можно помещать в модули, которые потом допустимо присоединять к любым программам.
В Turbo Pascal 7.0 существует 2 вида модулей:
1) модули пользователей;
2) стандартные модули.
Стандартные модули System, Dos, Crt, Printer, Graph, Overlay, Turbo3 и Graph3 содержат большое число разнообразных типов, констант, процедур и функций. Модуль System подключается к любой программе автоматически, все остальные становятся доступны только после указания их имен в списке, следующем за кодовым словом USES. В модуль System входят все процедуры и функции стандартного Паскаля, а также встроенные процедуры и функции Турбо-Паскаля, которые не вошли в другие стандартные модули. В модуле Crt сосредоточены процедуры и функции, обеспечивающие управление текстовым режимом работы экрана. С помощью входящих в модуль блоков можно перемещать курсор в произвольную позицию экрана, менять цвет выводимых символов и окружающего их фона, создавать окна, управлять звуком.
Модуль состоит из следующих частей: заголовок модуля; интерфейс модуля; исполнительная часть модуля; секция инициализации.
34. Структурированные типы данных в Паскале
Структурированные типы данных – совокупность связанных данных и множество правил, определяющих как их организацию, так и способ доступа к элементам данных. Любой из структурированных типов данных характеризуется множеством образующих этот тип элементов. Переменная или константа структурированного типа всегда имеет несколько компонент. Каждая из этих компонент, в свою очередь, может принадлежать структурированному типу.
В Turbo Pascal 7.0 определены пять структурированных типов данных:
1. Массив (Array)– это упорядоченный набор переменных одного типа, которые адресуются с помощью некоторого индекса.
2. Строка (String) – это упакованный массив, компоненты которого имеют тип Char и тип индекса имеет нижнюю границу рав-ную одному.
3. Множество (Set) – это совокупность элементов одного и того же перечисляемого типа.
4. Запись (Record) – это совокупности элементов разных ти-пов, имеющих общее имя и назначение.
5. Файл (File) – это совокупность данных, имеющих общее имя и назначение, и существующая на некотором носителе.
35. Строковые типы данных
К задачам их обработки текста (символьной информации) относятся задачи редактирования, поиска некоторых символов или строк в соответствующих текстах, подсчету количества их вхождений и корректировке некоторых мест текста.
Особое место в Turbo Pascal 7.0 занимают массивы символов. Хранение символьных массивов осуществляется: 1. В распакованном виде массивы символов хранятся в памяти по одному символу в машинном слове. Описание распакованного массива символов имеет вид: var M: Array[1..20] of char;
2. В упакованном виде хранятся в памяти по одному символу в байте. При его описании используют служебное слово PACKED. var MAS: Packed Array[1..20] of Char;
Для преобразования символьного массива из распакованной формы в упакованную и наоборот, из упакованной в распакованную, введены две стандартные функции Pack, UnPack. Упакованный массив символов образует символьную строку. Символьная строка может быть:
1. Строковой константой. Строковая константа, или строка, представляет собой совокупность символов, заключенную в апострофы. Строковые константы могут входить в состав выражений. Как и числовые константы, они могут быть описаны в разделе описания констант.
2. Строковой переменной. Строковые переменные – это одномерные упакованные массивы символов, для описания которых введен тип String.
Var
line : String[80];
str : String;
После слова String может указываться максимальная длина строки. Длина строки не может содержать более, чем 255 символов. Если длина не указана, то считается, что она переменная и определяется числом символов, записанных на место переменной типа String при вводе или присваивании. Это число хранится в нулевом байте соответствующей переменной. Тип String без указания длины совместим со всеми типами строк.
Важно, что в переменной строкового типа доступен каждый отдельный символ. Обращение к нему производится путем указания его номера (индекса).
Существуют два пути обработки переменных типа String:
1.Обработка всей строки, как единого целого.
2.Обработка элементов строки по отдельности.
Для строк определены операции
1. Присваивание s1 := 'ВГТУ'; s2 := '_ЕГФ';
2. Слияние, объединение строк с помощью символа +.
3. Сравнение с помощью всех операций отношения.
Сравнение строк происходит посимвольно, начиная с первого символа. Строки равны, если имеют одинаковую длину и посимвольно эквивалентны.
4. Функция Copy (исх_строка, нач_номер, длина)
Выделение подстроки заданной «длины» из «исходной строки», начиная с символа, определенного «начальным_номером».
5. Процедура Insert(подстрока, исх_строка, нач_номер); Позволяет вставить в исходную строку, начиная с указанной по-зиции, фрагмент другой строки.
6. Процедура Delete(исх_строка, нач_номер, длина)
Удаляет из «исходной строки» подстроку заданной «длины», начиная с заданного «номера»:
7. Функция Length(строка). Возвращает длину строки (количество символов в ней).
8. Функция POS(подстрока, строка)
Возвращает номер символа, начиная с которого «подстрока» встречается в «строке» (если не встречается – возвращает ноль). Прописные и строчные буквы считаются различными.
9. Функция UpCase(символ строки). Преобразует символ любой литеры из строчного в прописной
10. Процедура Str(X: арифметическое выражение; var st: string)
Преобразует численное выражение X в его строковое представ-ление и помещает результат в st.
11. Процедура Val(st: string; x: числовая переменная; var code: integer). Преобразует строковую запись числа, содержащуюся в st, в чис-ловое представление, помещая результат в x (x - может быть как целой, так и действительной переменной).
36. Массивы в Паскале
Массив представляет собой последовательную упорядоченную совокупность элементов одного типа, которые адресуются с помощью некоторого индекса. Тип элементов может быть любым кроме файлового. Каждый элемент массива имеет свой индекс. Индекс – это число, переменная или выражение перечисляемого целого или символьного типа. Количество индексов называется размерностью массива. По количеству индексов различают:
– одномерные массивы (последовательность чисел, символов): х1, x2, x3, ..., xn – 1 индекс; – многомерные массивы: двумерные массивы (матрицы), трехмерные и т.д. массивы.
Для описания массива используется служебное слово Array. Кроме того, необходимо задать:1) имя массива; 2) диапазон изменения каждого индекса.
Массивы описываются в разделе описания переменных (т.е. после служебного слова Var), например:
Var
Имя_Массива : Array [Диапазоны_индексов] Of Тип_Элементов_Массива;
где Диапазоны_индексов – список границ изменения индексов.
Массивы не могут обрабатываться целиком. Для этого нужно получить доступ к каждому элементу. Доступ к элементам массива осуществляется путем указания значения индекса в квадратных скобках. Многомерные массивы имеют два и более индексов. Для их обработки организуют несколько циклов, причем один вкладывается в другой. Такие циклы называются вложенными или циклами в цикле. При этом параметром в каждом цикле будет соответствующий индекс элемента массива. Для составления алгоритма и программы необходимо определить, как они меняются. Последовательный доступ ко всем элементам массива осуществляется путем применения параметрического оператора цикла FOR…TO…DO с использованием в качестве индекса переменной.
