Главная страница
Навигация по странице:

  • Университет Приборостроения и Информатики » Кафедра « Управление и моделирование систем

  • Специальность 230105 « Программное обеспечение вычислительной техники и автоматизированных систем »

  • Рецензент: Заведующий кафедрой информатики и математики Московского гуманитарного университета к.т.н., доцент Ю.К. Щипин; ISBN Л

  • ЛЕКЦИЯ 14. ТИП ЗАПИСЬ .

  • Учебное пособие по курсу Программирование на языке высокого уровня для вузов по специальности 230105 Программное обеспечение вычислительной техники и автоматизированных систем


    Скачать 0.64 Mb.
    НазваниеУчебное пособие по курсу Программирование на языке высокого уровня для вузов по специальности 230105 Программное обеспечение вычислительной техники и автоматизированных систем
    АнкорPaskal_uchebn_posob_chast2_26_6_7.pdf
    Дата12.03.2019
    Размер0.64 Mb.
    Формат файлаpdf
    Имя файлаPaskal_uchebn_posob_chast2_26_6_7.pdf
    ТипУчебное пособие
    #25599
    страница1 из 6
      1   2   3   4   5   6

    1
    МИНИСТЕРСТВО
    ОБРАЗОВАНИЯ
    И
    НАУКИ
    РОССИЙСКОЙ
    ФЕДЕРАЦИИ
    ФЕДЕРАЛЬНОЕ
    АГЕНТСТВО
    ПО
    ОБРАЗОВАНИЮ
    Государственное
    Образовательное
    Учреждение
    Высшего
    Профессионального
    Образования
    «
    Московский
    Государственный
    Университет
    Приборостроения
    и
    Информатики
    »
    Кафедра
    «
    Управление
    и
    моделирование
    систем
    »
    УЧЕБНОЕ ПОСОБИЕ
    Программирование (Турбо–Паскаль).
    Часть 2.
    ПО КУРСУ
    Программирование на языке высокого
    уровня
    Специальность
    230105 «
    Программное
    обеспечение
    вычислительной
    техники
    и
    автоматизированных
    систем
    »
    Направление
    230100 «
    Информатика
    и
    вычислительная
    техника
    »
    Москва
    2007
    PDF created with pdfFactory Pro trial version www.pdffactory.com

    2
    УДК 681.324
    Рекомендовано УМУ МГУПИ в качестве учебного пособия.
    Выжигин А.Ю. Программирование. (Турбо-Паскаль). Часть 2.
    Учебное пособие по курсу «Программирование на языке высокого уровня» для вузов по специальности 230105 «Программное обеспечение вычислительной техники и автоматизированных систем» и направлению
    23100 «Информатика и вычислительная техника». – М.: МГУПИ, 2007 - С.
    69.
    Данное учебное пособие посвящено вопросам программирования на языке Турбо-Паскаль версии не ниже 5.0. В нем изложены основные теоретические моменты и приведено много практических задач по рассмотренным вопросам.
    Рекомендуется в качестве учебного пособия для студентов вузов, обучающихся по специальности 230105 «Программное обеспечение вычислительной техники и автоматизированных систем» и направлению
    23100 «Информатика и вычислительная техника».
    Рецензент:
    Заведующий кафедрой информатики и математики Московского гуманитарного университета к.т.н., доцент Ю.К. Щипин;
    ISBN
    Л
    XXXXXX
    XXXXX
    PDF created with pdfFactory Pro trial version www.pdffactory.com

    3
    ОГЛАВЛЕНИЕ
    ЛЕКЦИЯ 14. ТИП ЗАПИСЬ. .........................................................................................................................5
    Записи и обозначения полей.......................................................................................................................7
    Оператор над записями with...................................................................................................................7
    Константы с типом запись..........................................................................................................................9
    Записи с вариантами ..................................................................................................................................9
    ПРАВИЛА : ..........................................................................................................................................10
    Семинар. Работа с типом данных «Записи». ...........................................................................................11
    ЗАДАЧА : .................................................................................................................................................11
    ЗАДАЧА : .................................................................................................................................................13
    ЛЕКЦИЯ 15. МНОЖЕСТВЕННЫЙ ТИП ДАННЫХ..................................................................................15
    Переменные множественных типов данных. ...........................................................................................15
    Операции над множествами.....................................................................................................................15
    Семинар. Работа с множественным типом данных. ................................................................................17
    ЗАДАЧА ...................................................................................................................................................17
    ЗАДАЧА : .................................................................................................................................................17
    ЗАДАЧА : .................................................................................................................................................18
    ЗАДАЧА ...................................................................................................................................................19
    ЗАДАЧА ...................................................................................................................................................19
    ЗАДАЧА : .................................................................................................................................................19
    ЛЕКЦИЯ 16. ФАЙЛЫ .................................................................................................................................22
    Доступ к файлам.......................................................................................................................................23
    Имена файлов. ..........................................................................................................................................24
    Логические устройства. ............................................................................................................................25
    Инициализация файла ..............................................................................................................................26
    ЛЕКЦИЯ 17. Процедуры и функции для работы с файлами.......................................................................29
    Процедура CLOSE....................................................................................................................................29
    Процедура RENAME................................................................................................................................29
    Процедура ERASE....................................................................................................................................29
    Процедура FLUSH. ...................................................................................................................................31
    Функция EOF (<ф.п.>):Boolean...............................................................................................................31
    Процедура CHDIR. ...................................................................................................................................31
    Процедура GETDIR. .................................................................................................................................31
    Процедура MKDIR. ..................................................................................................................................32
    Процедура RMDIR....................................................................................................................................32
    Функция IORESULT:WORD. ...................................................................................................................32
    Функция DISKFREE(<диск>):LONGINT.................................................................................................32
    Функция DISKSIZE(<диск>):LONGINT. .................................................................................................33
    Процедура FINDFIRST.............................................................................................................................33
    Процедура FINDNEXT.............................................................................................................................35
    Процедура GETFTIME. ............................................................................................................................35
    Процедура SETFTIME..............................................................................................................................35
    Процедура GETFATTR. ...........................................................................................................................35
    Процедура SETFATTR. ............................................................................................................................36
    Функция FSEARCH типа PATHSTR. .......................................................................................................36
    Процедура FSPLIT....................................................................................................................................36
    Функция FEXPAND типа PATHSTR. ......................................................................................................37
    ЛЕКЦИЯ 18. ТЕКСТОВЫЕ ФАЙЛЫ. ........................................................................................................38
    Процедура READ......................................................................................................................................38
    ПРОЦЕДУРА READLN. ..........................................................................................................................40
    ПРОЦЕДУРА WRITE. .............................................................................................................................41
    ПРОЦЕДУРА WRITELN. ........................................................................................................................42
    ЛОГИЧЕСКАЯ ФУНКЦИЯ EOLN........................................................................................................42
    ЛОГИЧЕСКАЯ ФУНКЦИЯ SEEKEOLN. ..............................................................................................43
    ЛОГИЧЕСКАЯ ФУНКЦИЯ SEEKEOF. ..................................................................................................43
    PDF created with pdfFactory Pro trial version www.pdffactory.com

    4
    ЛЕКЦИЯ 19. ТИПИЗИРОВАННЫЕ ФАЙЛЫ. ...........................................................................................45
    ПРОЦЕДУРА READ. ...............................................................................................................................45
    ПРОЦЕДУРА WRITE. .............................................................................................................................45
    ПРОЦЕДУРА SEEK.................................................................................................................................45
    ФУНКЦИЯ FILESIZE. .............................................................................................................................46
    ФУНКЦИЯ FILEPOS. ..............................................................................................................................46
    ЛЕКЦИЯ 20. НЕТИПИЗИРОВАННЫЕ ФАЙЛЫ. ......................................................................................47
    Семинар. Работа с файлами. ....................................................................................................................49
    ЗАДАЧА. ..................................................................................................................................................49
    ЗАДАЧА ...................................................................................................................................................49
    Пример:.....................................................................................................................................................50
    ЗАДАЧА ...................................................................................................................................................52
    ЗАДАЧА ...................................................................................................................................................52
    ЗАДАЧА ...................................................................................................................................................53
    ЛЕКЦИЯ 1, 2 для 2-го семестра 1 курса УКАЗАТЕЛИ И ДИНАМИЧЕСКАЯ ПАМЯТЬ .......................55
    Динамическая память...............................................................................................................................55
    Адреса и указатели. ..............................................................................................................................56
    Объявление указателей.........................................................................................................................57
    Пример списочной структуры данных .................................................................................................58
    Выделение и освобождение динамической памяти. ................................................................................59
    Использование указателей........................................................................................................................63
    Процедуры и функции для работы с динамической памятью. ................................................................67
    Функция ADDR.....................................................................................................................................67
    Функция CSEG......................................................................................................................................67
    Процедура DISPOSE.............................................................................................................................67
    Функция DSEG. ....................................................................................................................................68
    Процедура FREEMEM..........................................................................................................................68
    Процедура GETMEM............................................................................................................................68
    Процедура MARK.................................................................................................................................68
    Функция MAXAVAIL...........................................................................................................................68
    Функция MEMAVAIL. .........................................................................................................................69
    Процедура NEW....................................................................................................................................69
    Функция OFS. .......................................................................................................................................69
    Функция PTR. .......................................................................................................................................69
    Процедура RELEASE............................................................................................................................70
    Функция SEG. .......................................................................................................................................70
    Функция SIZEOF. .................................................................................................................................70
    Администратор кучи. ...............................................................................................................................70
    PDF created with pdfFactory Pro trial version www.pdffactory.com

    5
    ЛЕКЦИЯ
    14.
    ТИП
    ЗАПИСЬ
    .
    Тип запись cодержит установленное число компонент или полей, которые могут быть различных типов. Объявление типа запись указывает тип каждого поля и идентификатор, который именует поле.
    Фиксированная часть типа запись содержит список фиксированных полей вместе с идентификатором и типом для каждого поля. Каждое поле содержит информацию, которая всегда отыскивается одним и тем же способом.
    Приведем пример типа запись: type
    DateRec = record
    Year : Integer;
    Month : 1 .. 12;
    Day : 1 .. 31; end;
    В вариантной части, изображенной на синтаксической диаграмме объявления типа запись, память распределяется более чем для одного списка полей, поэтому доступ к информации может быть осуществлен более чем одним способом. Каждый список полей является вариантом.
    Варианты налагаются друг на друга в памяти, поэтому в любое время возможен доступ ко всем полям во всех вариантах.
    Тип запись
    RECORD
    Список полей
    END
    Список полей
    Фиксирован- ная часть
    ;
    Вариантная часть
    ;
    Вариантная часть
    PDF created with pdfFactory Pro trial version www.pdffactory.com

    6
    Вы можете видеть на диаграмме, то каждый вариант идентифицируется, по крайней мере, одной константой. Все константы должны быть отличными друг от друга и иметь порядковый тип, совместимый с типом поля признака. Доступ к вариантным и фиксированным полям один и тот же.
    В вариантной части можно указать необязательный идентификатор - идентификатор признака поля. При наличии идентификатора признака поля он становится идентификатором дополнительного фиксированного поля записи - поля признака. Программа может использовать значение поля признака для указания, какой вариант является активным в настоящий момент. Без указания поля признака программа выбирает вариант по другому критерию.
    Ниже приводится несколько примеров типа запись: type
    Person = record
    FirstName, LastName: string[40];
    BirthDate: Date; case Citizen: Boolean of
    True: (BirthPlace : string[40]);
    False: (Country: string[20];
    EntryPort: string[20];
    EntryDate: Date;
    ExitDate: Date); end;
    Polygon = record
    X, Y: Real; case Kind: Figure of
    Rectangle: (Height, Width: Real);
    Triangle: (Size1, Size2, Angle: Real);
    Circle: (Radius: Real); end;
    CASE
    Иденти- фикатор
    :
    Тип поля признака
    OF
    Вариант
    ;
    PDF created with pdfFactory Pro trial version www.pdffactory.com

    7
    Записи
    и
    обозначения
    полей
    .
    Конкретное поле переменной записи обозначается с помощью ссылки на переменную записи, после которой указывается обозначение поля, задающее это поле.
    Приведем несколько примеров обозначения полей:
    Today.Year
    Results[1].Count
    Results[1].When.Month
    Оператор над записями with.
    В операторе, входящем в оператор with, обозначению поля не должна предшествовать ссылка на переменную, содержащую запись.
    В операциях над записями оператор with удобно использовать для краткого обращения к полям записи и к полям, методам, констрактору и дестрактору объекта. В операторе with к полям одной или более конкретных переменных типа запись можно обращаться, используя только идентификаторы полей. Оператор with имеет следующий синтаксис, согласно приведенным примерам: with Data do if Month = 12 then begin
    Month := 1;
    Year := Year + 1; end else
    Month := Month + 1;
    Это эквивалентно следующему: if Date.Month = 12 then begin
    Date.Month := 1;
    Date.Year := Date.Year + 1; end else
    Date.Month := Date.Month + 1;
    PDF created with pdfFactory Pro trial version www.pdffactory.com

    8
    В операторе with сначала производится проверка каждой ссылки на переменную, а именно: можно ли ее интерпретировать, как поле записи.
    Если можно, то она всегда интерпретируется именно таким образом, даже если имеется доступ к переменной с тем же именем. Допустим, объявлены следующие переменные: type
    Point = record
    X, Y: Integer; end; var
    X : Point;
    Y : Integer;
    В этом случае и к X, и к Y можно обращаться, как к переменной или как к полю записи. В операторе: with X do begin
    X := 10;
    Y := 25; end;
    X между ключевыми словами with и do относится к переменной типа point, а в составном операторе X и Y ссылаются на X.X и X.Y.
    Оператор with V1, V2, ... Vn do S; эквивалентен операторам: with V1 do with V2 do with Vn do
    S;
    В обоих случаях, если Vn является полем и V1, и V2, то она интерпретируется как V2.Vn, а не как V1.Vn.
    Если выборка переменной типа запись связана с индексированием массива или вычислением указателя, то эти действия производятся до того, как будет выполняться составной оператор.
    PDF created with pdfFactory Pro trial version www.pdffactory.com

    9
    Константы
    с
    типом
    запись
    .
    Объявление константы с типом запись содержит идентификатор и значение каждого поля, заключенное в скобки и разделенные точками с запятой.
    Приведем несколько примеров констант-записей: type
    Point = record
    X, Y : Real; end;
    Vector = array [0..1] of Point;
    Month = (Jan,Feb,Mar,Apr,May,Jun,Jly,Aug,Sep,Oct,Nov,Dec);
    Date = record
    D : 1..31;
    M : Month;
    Y : 1900..1999; end; const
    Origin : Point = (X : 0.0; Y : 0.0);
    Line : Vector= ((X : -3.1; Y : 1.5), (X : 5.8; Y : 3.0));
    SomDay : Date = (D : 2; M : Dec; Y : 1960);
    Поля должны указываться в том же порядке, как они следуют в объявлении типа запись. Если запись содержит поля файлового типа, то для этого типа записи нельзя объявить константу. Если запись содержит вариант, то можно указывать только поля выбранного варианта. Если вариант содержит поле признака, то его значение должно быть определено.
    Записи
    с
    вариантами
    При определении комбинированного типа в него можно включать вариантную часть. Это означает, что разные переменные, хотя они и относятся к одному типу, могут иметь различные структуры.
    Например, пусть необходимо задать информацию о некотором человеке, указав фамилию и год рождения, а также, если это мужчина, то сообщить, военнообязанный ли он и какую имеет специальность; если это женщина, то указать, замужем ли она и сколько имеет детей:
    PDF created with pdfFactory Pro trial version www.pdffactory.com

    10
    TYPE ПОЛ=(МУЖ,ЖЕН);
    ЧЕЛ=RECORD
    ФАМ: ARRAY[1..10] OF CHAR;
    ГОДРОЖ:1800..2000;
    МЖ: ПОЛ;
    CASE ПОЛ OF
    МУЖ:(ВОЕН:BOOLEAN; СПЕЦ:P.A [1..15] OF CHAR);
    ЖЕН:(ЗАМУЖ:BOOLEAN;ДЕТИ:INTEGER)
    END;
      1   2   3   4   5   6


    написать администратору сайта