Шпаргалка по дисциплине "Информатика"

Автор работы: Пользователь скрыл имя, 03 Июня 2015 в 01:15, шпаргалка

Краткое описание

Работа содержит ответы на вопросы для экзамена по дисциплине "Информатика".

Вложенные файлы: 1 файл

билеты к информатике.docx

— 101.47 Кб (Скачать файл)

 

Билет 26

Модули Турбо паскаля. Их назначение. Структура модуля. Использование готовых модулей.

 

Модуль - это автономно компилируемая программная единица, включающая в себя различные разделы описаний (типов, констант, переменных, процедур и функций) и, возможно, некоторые исполняемые операторы (например, присваивание переменным начальных значений или установление связи между программными и физическими именами файлов).

  • Модуль - это автономно компилируемая программная единица.
  • Модуль может быть подключен к любой паскаль-программе или к другому модулю (программной единице).
  • Модуль включает в себя различные разделы описаний (типов, констант, переменных, процедур и функций).
  • Модуль делится на две основные части: интерфейсную (interface) и исполняемую (implementation). В интерфейсной части даются описания, которые могут использоваться в программной единице, к которой подключен модуль.  В исполняемой части приводятся описания, доступные только внутри модуля.
  • Кроме описаний, модуль может содержать некоторые операторы, подготавливающие условия для использования модуля (например, присваивание переменным начальных значений или установление связи между программными и физическими именами файлов). Такие операторы содержатся в части модуля, которая называется инициализирующей.  Эта часть не является обязательной.
  • В Объектном Паскале модуль также может иметь завершительную часть (finalization), состоящую из операторов, обеспечивающих грамотное завершение программной единицы, использующей модуль.

 

Структура модуля (ТП, ОП):

UNIT имя_модуля;

INTERFACE

интерфейсная_часть

IMPLEMENTATION

исполняемая_часть

[BEGIN

инициирующая_часть]

END.

 

Структура модуля (ОП):

UNIT имя_модуля;

INTERFACE

интерфейсная_часть

IMPLEMENTATION

исполняемая_часть

[INITIALIZATION

инициирующая_часть]

[FINALIZATION

завершающая_часть]

END.

 

Имя файла, содержащего модуль:

  • Имя_модуля.pas
  • При компиляции 
    ТП: Имя_модуля.pas => Имя_модуля.tpu 
    ОП: Имя_модуля.pas => Имя_модуля.dcu

 

Использование модулей:

  • Если модуль использует другие модули, то предложение USES может стоять либо после слова INTERFACE, либо после слова IMPLEMENTATION. Модули, подключенные в интерфейсной части, доступны в любой точке рассматриваемого модуля; модули, подключенные в исполняемой части, доступны в любом месте модуля, за исключением интерфейсной части. Примеры использования модулем других модулей будут рассмотрены позже.

 

 

Билет 27

Символьная информация в Паскале.

 

СИМВОЛЬНЫЕ ДАННЫЕ ПРИНИМАЮТ ЗНАЧЕНИЯ НА МНОЖЕСТВЕ ВСЕХ СИМВОЛОВ, КОТОРЫЕ МОЖНО ВВЕСТИ С КЛАВИАТУРЫ КОМПЬЮТЕРА

 

Объявление символьных переменных в Объектном Паскале:

Var a:char; b: widechar;

 

Символьный тип – порядковый:

  • Все значения упорядочены, так как имеют номер (код) в таблице кодирования.
  • К символьным данным (как к данным любого порядкового типа) применимы встроенные функции: 
    ORD(сh) – возвращает код символа сh; 
    CHR(x) – возвращает символ с кодом x; SUCC(сh) – определение следующего за  сh символа по кодовой таблице; 
    PRED(сh) –определение предшествующего символа).

 

Строковые типы Объектного Паскаля:

  • Тип ShortString эквивалентен типу string Турбо Паскаля.
  • Данные типа AnsiString (могут содержать до 231 символов типа char.
  • Тип WideString соответствует строкам максимальной длины до 230 символов типа widechar.
  • Тип String: при {$H+} - AnsiString (по умолчанию), при {$H+} – ShortString.
  • Типы AnsiString и WideString  - ссылочные, динамические, типы; они имеют 8 служебных байтов (вместо одного нулевого у ShortString): служебные байты содержат длину строки и ссылку на строку в динамической памяти (куче).
  • Объектный Паскаль разрешает для определения длины строки использовать только функцию LENGTH, а для установления нового значения длины только процедуру 
    SetLength(строка, новая_длина_строки)
  • Если для обработки строк используются встроенные подпрограммы, то длина строки отслеживается автоматически, иначе программист должен использовать SetLength.

 

Функции, работающие со строками:

  • CONCAT(S1 ,S2,...,SN)-функция типа STRING; возвращает строку, представляющую собой сцепление (конкатенацию) строк-параметров S1,S2,...,SN. Конкатенацию строк можно также получить с помощью операции +.
  • COPY(ST,INDEX,COUNT)-функция типа STRING; копирует из строки ST COUNT символов, начиная с символа с номером INDEX.
  • LENGTH(ST)-функция типа INTEGER; возвращает длину строки ST.
  • POS(SUBST,ST)-функция типа INTEGER; отыскивает в  строке ST  первое вхождение подстроки SUBST и возвращает номер позиции, с которой она начинается;  если  подстрока  не  найдена, возвращает нуль.

 

Процедуры, работающие со строками :

  • DELETE(ST,INDEX,COUNT)-удаление COUNT символов из строки ST, начиная с символа с номером INDEX.
  • INSERT(SUBST,  ST,  INDEX) -  вставка  подстроки  SUBST в строку ST, начиная с символа с номером INDEX.
  • STR(X[:WIDTH[:DECIMALS]],ST) -преобразование значения типа REAL или INTEGER в строку символов ST так, как это делает процедура WRITELN перед выводом; параметры WIDTH и DECIMALS, если они присутствуют, задают формат преобразования (WIDTH - длину числа, DECIMALS - длину дробной части; параметр DECIMAL имеет смысл указывать только для вещественных чисел).
  • VAL(ST, X, CODE) - преобразование строки ST во внутреннее представление целого или вещественного числа Х; параметр CODE содержит нуль, если преобразование прошло успешно, в противном случае он содержит номер символа в строке ST, где обнаружен ошибочный символ; пробелы перед числом в строке ST должны отсутствовать.

 

Шаги обработки строки таблицы:

  • выделение  смысловых полей -подстрок (с помощью функции COPY);
  • преобразование некоторых полей из символьного представления в числовое (с помощью процедуры VAL);
  • анализ символьных полей с помощью функции POS;
  • подготовка строки выходных данных с помощью STR и CONCAT.

 

 

Билет 28

Переменные сложной структуры. Тип Запись.

 

Тип Запись:

  • Запись - это переменная, состоящая из фиксированного числа компонент, вообще говоря, разного типа, причем каждая компонента имеет свое имя.
  • Компоненты записи также называются полями записи.
  • Записи используются для работы с данными, содержащими в себе информацию разного типа (числовую, символьную и т. д.); примеры  таких документов: платежные ведомости (фамилии и имена - символьная информация, денежные суммы - числовая), карточки больных в поликлинике, библиотечная информация.

 

Сравнение двух типов: массив и запись:

  • Компоненты массива имеют одинаковый тип; компоненты записи могут иметь разный тип (хотя могут быть и однотипны).
  • Для обращения к элементу массива надо указать его номер (индекс), при обращении к полю записи указывается его имя.

 

Описание типа запись:

TYPE имя_типа = RECORD

список_1_имен_полей: тип_1;

список_2_имен_полей : тип_2;

. . .

список_N_имен_полей: тип_N;

END;

Память, занимаемая записью, равна сумме объемов памяти полей  (если  исключить  из рассмотрения особенности,  связанные с выравниванием). В любом случае для определения размера памяти записи можно использовать функцию sizeof(переменная_или_тип).

 

Обращение к полю записи:

Имя_записи.Имя_поля

Пример.

VAR C:COMPLEX; D,D1:DATE; B:BOOK;

BEGIN . . . C.Re:=5; D.Month:=January;  B.Author:='Smith';

  {*} D1.Day:=6; D1.Month:=June; D1.Year:=1799;{*} . .

 

 

Билет 29

Задача обработки данных, предоставленных в табличной форме. Два варианта решения с использованием строк и записей. Сравнение этих вариантов.

 

  • Программа, использующая запись, алгоритмически проще, чем программа со строками.
  • Платой за упрощение является разрушение структуры таблицы при вводе: строка таблицы распределяется по нескольким строкам экрана монитора компьютера.

 

Вариант 30

 

Файлы в программировании:

  • Файл - это последовательность однотипных компонент. Число компонент файла не ограничено. После последней компоненты файла стоит специальный код, называемый признаком конца файла; этот код обычно ставится автоматически, без участия программиста.
  • В классическом понимании файл рассматривается как абстрактное обобщение данных на устройстве с последовательным доступом, типичным представителем которого является магнитная лента. В библиотеках современных языков программирования, конечно, имеются средства и для работы с файлами прямого доступа.

 

Программное  и физическое имена файлов:

  • Программное имя  - это имя переменной файлового типа.
  • Физическое имя  - это имя устройства или файла на диске.
  • Существуют специальные операторы, устанавливающие соответствие (связывающие) программное и физическое имена файла. 

 

Текстовые и двоичные файлы:

  • Текстовые файлы хранят информацию во внешнем представлении.  Они имеют два основных признака: во-первых, их компонентами являются строки символов; во-вторых, эта символьная информация интерпретируется в соответствии с типом вводимых или выводимых переменных. Эти файлы являются обобщением  данных на устройстве CON (т.е. вводимых  с клавиатуры или выводимых на экран компьютера). Умение работать с текстовыми файлами необходимо даже  начинающим  программистам, так как на устройстве CON данные существуют малый промежуток времени, а обычно имеется потребность в их длительном хранении.
  • Двоичный файл - это последовательность байтов; обмен информации между двоичным файлом и переменными программы происходит без преобразования. В Турбо Паскале рассматривается два вида двоичных файлов: типизированные и нетипизированные. В случае типизированных файлов байты файла разбиваются на ячейки в соответствии  с типом компонент файла; например, для файла с базовым типом integer каждая пара байтов (для 32-разрядных компьютеров – четверка) рассматривается как целое значение; типизированные файлы хранят данные во внутреннем представлении. Для нетипизированных файлов представление информации безразлично, файл рассматривается как  последовательность нулей и единиц.

 

 

Классический подход к работе с файлами – основные шаги:

 

  1. Объявление файловой переменной – программного имени файла – различно для разных видов файлов
    • Текстовый файл:

Var ИмяФайла: textfile; {ТП:text }

    • Типизированный файл:

Var ИмяФайла: file of БазовыйТип;

    • Нетипизированный файл:

Var ИмяФайла: file;

 

  1. Связывание программного и физического имен файлов

AssignFile (ПрограммноеИмя, ФизическоеИмя);{в ТП Assign}

ПрограммноеИмя – переменная, описанная как файл;

ФизическоеИмя – имя файла на диске (полное) или имя устройства.

После оператора AssignFile в программе используется только программное имя файла.

Пример:

Var f: text; …

Begin …

     Assign( f, ‘d:\student\a.txt‘ );

     {Далее используется только f}

 

  1. Открытие файла (для чтения или для записи)

      Reset (ИмяФайла); {открытие файла для чтения}

     Rewrite (ИмяФайла); {открытие файла для записи}

Пример:

Var f: text; …

Begin …

     Assign( f, ‘d:\student\a.txt‘ );

     Reset(f); {или для записи Rewrite(f)}…

 

  1. Чтение из файла или запись в файл – различно для разных видов файлов

Пока для примера рассмотрим чтение/запись для текстовых файлов:

Read (ИмяФайла, СписокВвода);

Write (ИмяФайла, СписокВывода);

Пример: Read(n,a,b); Write(‘s=‘, s);{полная аналогия консольному вводу-выводу}

Также можно использовать Readln и Writeln.

 

Замечание. При работе с файлами используется функция EOF(ИмяФайла). EOF возвращает значение True, если считан признак конца файла, и значение False в противном случае.

EOF – сокр. от End Of File

 

  • Закрытие файла

CloseFile(ИмяФайла); {для ТП - Close }

Закрытие файла предполагает следующие действия:

  1. Сохранение изменений в файле.
  2. Перерегистрация файла в каталоге.
  3. Разрушение связи между программным и физическим именами файлов.

 

Открытие файла для чтения:

  1. Поиск файла с заданным физическим именем; если не найден, то сообщение об ошибке.
  2. Указатель файла устанавливается на первую компоненту.
  3. Компонента, на которой стоит указатель, считывается в буфер.
  4. Если считан признак конца файла, то функция EOF устанавливается в значение True, иначе – в значение False. 

 

Открытие файла для записи:

  1. Поиск файла с заданным физическим именем; если файл не найден, то создается новый файл
  2. Содержимое файла очищается.
  3. Указатель файла устанавливается на конец файла (после последней компоненты).
  4. Функция EOF устанавливается в значение True.

 

Открытие файла для дополнения:

  1. Поиск файла с заданным физическим именем; если не найден, то сообщение об ошибке.
  2. Указатель файла устанавливается на конец файла (после последней компоненты).
  3. Функция EOF устанавливается в значение True.

 

 

Билет 31

Динамические данные.

 

Динамические данные:

  • описываются не данные, а их адреса (указатели);
  • распределяются и уничтожаются в памяти на этапе выполнения программы по специальным командам;
  • место в памяти – динамическая память (англ. куча – heap);
  • время жизни и область действия указателей определяется как для обычных (локальных или глобальных) переменных

Информация о работе Шпаргалка по дисциплине "Информатика"