|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Var str: RecordFIO: String[20]; TEL: String[7] end; Обращение к записи в целом допус-ся т-о в операторах присв-я, где слева и справа от знака присв-ия испол-ся имена записей одинакового типа. Во всех остальных случаях оперируют отдельными полями записей. Чтобы обратиться к отдельной компоненте записи, необходимо задать имя записи и через точку указать имя нужного поля, например: str.FIO, str.TEL Такое имя наз-ется составным. Компонентой записи м-т быть также запись, в таком случае составное имя будет содержать не два, а большее количество имен.Обращение к компонентам записей можно упростить, если воспользоваться оператором присоединения with. Он позволяет заменить составные имена, характеризующие каждое поле, просто на имена полей, а имя записи определить в операторе присоединения: with M do OP; Здесь М - имя записи, ОР - оператор, простой или составной. Оператор ОР представляет собой область действия оператора присоединения, в пределах к-рой можно не использовать составные имена.Иногда содержимое отдельной записи зависит от значения одного из ее полей. В языке ПАСКАЛЬ допускается описание записи, состоящей из общей и вариантной частей. Вариантная часть задается с помощью конструкции case P of, где Р - имя поля из общей части записи. Возможные значения, принимаемые этим полем, перечисляются так же, как и в операторе варианта. Однако вместо указания выполняемого действия, как это делается в операторе варианта, указываются поля варианта, заключенные в круглые скобки. Описание вариантной части завершается служебным словом end. Тип поля Р можно указать в заголовке вариантной части, н-р: case P: Integer of Опер-р присоединения with Обращения к полям записи связано с нек-рыми неудобствами, т.к в случае использования вложенных записей при обращении к их отдельным элементам могут получаться очень длинные составные имена. Для сокращения записи составных имен используется оператор with, к-рый имеет следующий вид: with <имя_записи> do <оператор>; Здесь <имя_записи> - простое или составное имя записи; <оператор> - простой или составной оператор, в к-ром при ссылках на элементы записи имя_записи можно опускать. При этом данный оператор не должен изменять переменную, указанную в имени записи. Записи с вариантами В Паскале имеется возм-сть задать тип записи, имеющей неск-ко вариантов стр-ры. Такие записи наз-ются записями с вариантами и состоят из необязательной фиксированной и вариантной частей. Общ вид описания записи с вариан-ми: var <имя_записи>= record <список_элементо_1>: <тип_1>; … {Фиксированная часть} <список_элементов_n: <тип_n>; case Pr: <имя_типа> of {Вариантная часть} {Вариант 1} k1: (<список_элементов_11>: <тип_11>; <список_элементов_12>: <тип_12>); {Вариант 2} k2: (<список_элементов_21>: <тип_21>; <список_элементов_22>: <тип_22>); … {Вариант n} kn: (<список_переменных_n1>: <тип_n1>; <список_переменных_n2>: <тип_n2>); end; Вариантная часть записи формируется с помощью оператора case. При этом использование конструкции else не допускается. Константы k1, k2,…, kn должны быть того же типа, что и переменная Pr (признак вариантной части записи). Если список элементов, соответствующий какой либо константе (ki), является пустым, то пишут ki:=(); К элементам вариантной части можно обращаться как и к эл-нтам фиксированной части записи. В пр-ссе выполнения пр-ммы в структуру записи включается тот вариант, элементам к-рого в данный момент было присвоено какое-либо значение. Как только какому-либо элементу другого варианта присваивается некоторое значение, в структуру записи включается этот вариант, элементы предыдущего варианта становятся неопределенными. Значение признака Pr никак не влияет на этот процесс и позволяет лишь организовать контроль за включение в запись тех или иных вариантов. Иерархические (вложенные) записи -это записи, в которых одно или несколько полей записи являются записями... 16. Визуальное программирование — способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста. Lazarus - это среда визуального прогр-я. В основе среды прогр-ия Lazarus лежит язык Pascal, точнее, Free Pascal. Здесь программист получает возможность не просто создавать программный код, но и наглядно показывать системе, что бы он хотел увидеть. Технология ВП позволяет строить интерфейс будущей программы из специальных компонентов, реализующих нужные свойства. Каждый из них содержит готовый программный код и все необходимые для работы данные, что избавляет программиста от создания того, что уже создано ранее. Среда ВП Lazarus сочетает в себе компилятор, объектно-ориентированные средства ВП и различные технологии, облегчающие и ускоряющие создание пр-ммы. Окно: главное окно программы, Object Inspector (Инспектор объектов), Source Editor (Редактор исходного кода), Form1 (Окно формы) и Messages (Сообщения). Месторасположение любого окна можно изменить на экране независимо от других.
11.Работа с файлами. Типизированные и текстовые файлы. В Паскале понятие файла употр-ся в2-х смыслах:•как поименованная инф-ция на внешнем уст-ве(внешний файл);•как переменна-я файлового типа в Паскаль-пр-мме (внутр-ий файл). В пр-мме м-у этими объектами устанав-тся связь.С эл-тами файла можно выполнять только 2 операции: читать из файла и записывать в файл. Файловый тип переменной — это структурир-ый тип, представл-ий совок-ть однотипных эл-ов, кол-во к-рых заранее не определено. Структура описания файловой переменной: Var <имя переменной>: File Of <тип элемента>; где<тип эл-нта> м.б. любым, кроме файлового.Например: Var Fi: File Of Integer; Fr: File Of Real; Fc: File Of Char; Работа с файлами выполняется следующими процедурами: Assign (f, FileName) связывает файловую переменную f с физ-ким файлом, полное имя крого задано в строке FileName. Установленная связь будет действовать до конца работы прммы, или до тех пор, пока не будет сделано переназначение.После связи файловой переменной с дисковым именем файла в пр-мме нужно указать направление передачи данных (открыть файл).В зависимости от этого направления говорят о чтении из файла или записи в файл. Reset(f) открывает для чтения файл, с к-рым связана файловая переменная f. После успешного выполнения процедуры Reset файл готов к чтению из него первого эл-нта. Процедура завершается с сообщением об ошибке, если указанный файл не найден. Если f - типизированный файл, то процедурой reset он откр-ся для чтения и записи одновременно. Rewrite(f) открывает для записи файл, с которым связана файловая переменная f. После успешного выполнения этой процедуры файл готов к записи в него первого элемента. Если указанный файл уже существовал, то все данные из него уничтожаются. Close(f) зак-т открытый до этого файл с файловой переменной f. Вызов процедуры Close необходим при завершении работы с файлом. EOF(f): boolean возвращает значение TRUE, когда при чтении достигнут конец файла. Это означает, что уже прочитан последний элемент в файле или файл после открытия оказался пуст. Rename (f, NewName) позволяет переименовать физический файл на диске, связанный с файловой переменной f. Erase (f) уничтожает физический файл на диске, который был связан с файловой переменной f. Текстовые файлы – файлы на диске, состоящие из символов ASCII. Для разделения строк использ-тся символы «конец строки». Текстовые файлы явл-ся файлами с последовательным доступом. В любой момент времени доступна только одна запись файла. Другие записи становятся доступными лишь в рез-тате послед-льного продвижения по файлу. Текстовые файлы внутренне разделены на строки, длины к-рых различны. Для разделения строк исп-зуется спец-ный маркер конца строки. Объявляются текстовые файлы переменной типа text. Обрабатывать их можно только последовательно и с помощью процедур и функций:Readln (f, st)- чтение строки st из файла f в периеменные и переход на начало следующей; В переменную char помещаются символы из файла. В переменную типа string помещается кол-во символов, равное длине строки.Отличие ReadLn от Read в том, что в нем после прочтения данных пропускаются все оставшиеся символы в данной строке, включая метку конца строки. Writeln (f, st)- запись строки st в файл f и маркера конца строки;Append (f) - процедура, открывающая файл f для добавления строк в конец файла;Eoln (st)- логическая функция, результат выполнения которой равен TRUE, если достигнут маркер конца строки st. Типиз-ные файлы – это файлы, состоящие из нумерованной последовательности объектов (записей) любого типа. Процедуры и функции обработки файлов: 1) Write и Read- запис-ют и читают инф-цию из указанного файла и перемещают указ-ль файла к сл-й записи.2) Seek (файловая переменная, номер записи); процедура перемещения указателя на запись файла с заданным номером.3) Truncate (файловая переменная); процедура, усекающая файл по текущей позиции указателя файла, т.е. все записи, находящиеся после указателя файла, удаляются.4) Ф-ция Filesize (файловая перем-ая); имеет тип Integer и определяет размер файла5)Ф-ция Filepos (файловая переменная); имеет тип Integer и возвращает текущую позицию указателя файла.Для добавления записей в конец файла используются процедуры Readln (a); Seek (f, filesize (f)); Write (f, a);При этом указатель устанавливается за конец файла, т.к. нумерация записей начинается с нуля. После чего с помощью Write можно добавлять записи. Открывать файл можно только процедурой Reset (f). Для того, чтобы в режиме произвольного доступа считать, а затем изменить значение записи, следует выполнить 2 вызова процедуры Seek.Один вызов перед операцией Read, а другой - перед операцией Write (т.к. Read после чтения записи переместит указатель к следующей записи). Раб.с нетипиз-ми файлами. Нетипиз-ные файлы - это последов-сть компонент произвольного типа.Открытие нетипизированного файла: Reset(f, BufSize) Rewrite(f, BufSize) Параметр BufSize задает число байтов, считываемых из файла или записываемых в него за одно обращение. Минимальное значение BufSize - 1 байт, максимальное - 64 К байт. Если BufSize не указан, то по умолчанию он принимается равным 128.12.Реализация циклов в языках программ. Цикл - это команда исполнителю многократно повторить указанную послед-ность команд.Послед-ность инструкций, предназн-ная для многократного исполнения, наз-тся телом цикла. Единичное выполнение тела цикла наз-ется итерацией. Выражение определяющее, будет в очередной раз выполняться итерация, или цикл завершится, наз-ся условием выхода или условием окончания цикла.Оператор повтора (цикла) предн-ен для неоднократного повторения выпол-ия отдельного участка кода.В Паскале различают 3 вида опер-ров организации циклов: - while - оператор цикла с предварительным условием (цикл с предусловием);- repeat - оператор цикла с послед-им усл-ем (цикл с постус-ем);- for - оператор цикла с управляющим параметром (цикл с параметром). "Цикл с предусловием". Выпол-ся она так: пока истинно условие цикла, повтор-ся выполнение тела цикла. Ц. с предусловием — цикл, к-й вып-ся пока истинно некот-е условие, указанное перед его началом. Это усл. Провер-ся до выполнения тела цикла, поэтому тело м-т быть не выполнено ни разу (если условие с самого начала ложно). В процедурных языках программ-ния реализуется опер-ром while, отсюда его второе название — while -цикл. На языке Pascal цикл с предусл-ем имеет сл. вид: while <условие> do Begin <тело цикла> end; while <логическое выражение> do <оператор>; Служебное слово while означает "пока", do - "делать", "выполнять".Оператор, стоящий после слова do, наз-ся телом цикла. Тело цикла может быть простым или составным оператором, т. е. последовательностью операторов между служебными словами begin и end. Цикл с постусловием — цикл, в к-ром условие проверяется после выполнения тела цикла. Отсюда следует, что тело всегда выполняется хотя бы 1 раз. В языке Паскаль этот цикл реализует оператор repeat..until. На языке Pascal цикл с постусловием: Repeat <тело цикла> until <условие выхода>или until <логическое_выражение>; < Логическое_выражение> (условие) -выражение булевского типа. При написании условия допустимы булевские операции и операции отношения. Операторы, заключенные между словами repeat и until, являются телом цикла. В Паскале и языках, произошедших от него, условие такого цикла трактуется как условие выхода (цикл завершается, когда условие истинно, в русской терминологии такие циклы называют ещё «цикл до») Оператор цикла repeat действует: -выполняются операторы циклической части, проверяется значение лог-ского выражения: если оно ложно,то вновь выпол-тся опер-ры цикл-ской части; если же оно истинно, то цикл заканчивается; -если значение лог-кого выражения истинно с самого начала, то опер-ры циклической части выполняются 1 раз. Если же лог-ское выражение никогда не принимает значение "истинно", то операторы цикл-ской части выпол-ся бесконечное число раз, т.е. происходит "зацикливание"; -нижняя граница операторов циклической части четко обозначена словом until, поэтому нет необх-мости заключать эти опер-ры в операторные скобки begin - end. Допол-льное наличие операторных скобок не явл-ся ошибкой.Если число требуемых повторений заранее известно, то использ-ся оператор, наз-емый оператором цикла с параметром for. Оператор цикла с параметром имеет 2 в-нта записи: 1) for<имя переменной>:=<начальное значение >to <конечное значение>do<тело цикла> 2) for<имя переменной>:=<начальное значение >downto <конечное значение>do<тело цикла> Имя переменной – параметр цикла, простая переменная целого типа. < тело цикла >-операторы или оператор Цикл повторяется до тех пор пока значение параметра лежит в интервале между начальным и конечным значениями.В 1-ом варианте при каждом повторении цикла значение параметра увеличивается на1,а во 2-ом уменьшается на1. Как работает оператор for: При первом обращении к оператору for вначале определяется начальное и конечное значения, и присваивается параметру цикла начальное значение. После этого циклически повторяются следующие действия: 1. Проверяется условие параметр цикла < = конечному значению. 2. Если условие выполнено, то оператор продолжает работу, если условие выполнено, то оператор завершает работу и управление в пр-мме передается на оператор, следующий за циклом. 3. Значение параметра изменяется (увеличивается на 1 или умень-ся на1).Если в теле цикла располагается более одного опер-ра, то они заключаются в операторные скобки begin …end. 13.Реализация ветвлений в языках прогр. Оператор ветвления (условный оператор) — оператор, конструкция языка програм-я, обеспечивающая выполнение определённой команды (набора команд) только при условии истинности нек-рого лог-ского выражения,либо выполнение одной из неск-ких команд(наборов команд) в зависимости от значения нек-рого выражения. Сущ-ет 2 осн. формы условной инструкции: условный оператор (оператор if) и оператор многозначного выбора (переключатель, case, switch). Операторы выбора По-другому эти операторы называют условными операторами. Условные операторы используются для программирования алг-мов,содержащих алг-ческую конструкцию ветвление.Чаще всего в качестве условного оператора в языках программ-ния исп-зуется конструкция if-else или ее сокращенный вариант if. Также сущ-ет опер-р выбора case. В языках программирования имеется неск-ко видов условных операторов. Полный условный оператор соотв-вует алг-ческой структуре полного ветвления: В языке программ-ия соответствующий усл-й опер-р им.вид: if B then S1 else S2 Если выражение B, к-рое вычисляется в начале выполнения условного оператора, имеет значение “истина”, то будет выполняться оператор S1, в противном случае — опер-р S2. Опер-ры S1 и S2 м.б. составными.Алг-ческая структура неполного ветвления реализуется с помощью неполного условного оператора: if B then S Здесь B — логическое выражение, а S — произвольный оператор. Опер-р S будет выполняться, если выражение B окажется истинным. Если усл-й опер-р реализует всего две ветви выбора (“да” и “нет”), то с помощью оператора варианта (case -опер-ра) можно запрограммировать многоветвящуюся структуру. Оп-р варианта им. вид: case E of V1: S1; … Vn: Sn; End. Выпол-ся данный опер-р так: знач-е выраж-ия E ищется среди перечисленных в записи оператора знач-й V1, V2, …, Vn, и если такое значение находится, то выпол-ся соотв-ющий опер-р S1, S2, …, Sn. В раз-х языках программ-ния синтаксис и даже семантика перечисленных опер-ов м-т отличаться, но возможности, предоставляемые программисту подобными конструкциями, примерно одинаковы.Прим1: var n: integer; Begin write ('Введите класс школы: '); readln (n); Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.011 сек.) |