|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Вопрос. Указатели
Указатель - переменная, содержащая в себе некий адрес.
Var P: pointer; IP: ^integer; P:= IP - верно. Но не наоборот.
Присвоение значение происходит: 1) оператором <указатель>:= @<идентификатор> 2) <указатель>:= <адрес выражения> 3) В результате операций выделения памяти.
Операции: 1) После Q:=R, Q укажет туда же, куда и R 2) После Q^:=R^ на место одной переменной, указывающей на третью, заслана другая. 3) После Q^.I:=R^.I на место целого значения заслано другое, после указателя не изменилось. 4) После Q^.P:=R^.P - на место ссылки на компонент 1 заслана ссылка на компонент 2.
*****
Вопрос.
Выделение памяти без инициализации: procedure GetMem(Var P: pointer; size; integer);
Освобождение памяти procedure FreeMem
Изменение размера блока памяти procedure ReallocMem
Выделение памяти с инициализацией function AllocMem (size: cardinal): Pointer;
*****
Вопрос.
Подпрограмма состоит из трёх частей: 1) заголовок 2) локальное описание 3) тело
1) Заголовок. Procedure/Function Список параметров в круглых скобках через запятую.
function compare(A1, A2: byte; str: string): real;
Виды параметров: 1) константы 2) результаты (out) 3) без типов
Вложенные подпрограммы. К ним можно обращаться только из тела родительской подпрограммы. Тело подпрограммы содержится между begin/end.
*****
Вопрос. Процедурные типы данных.
Компилятор превращает процедуру подобно обычным оператором в набор машинных инструкций. Пример записи: Proc2 = procedure(var X,Y: integer); var P1: proc2;
Процедурная переменная занимает 4 байта. Используются так же как: 1) выражения 2) Как оператор 3) Компонент более сложной
Процедурные типы указывают какой тип программы (procedure/function) можно использовать в качестве параметра и с каким параметром будут эти подпрограммы.
Ещё пример: Func1:= function(X: real): real;
Процедурные типы данных нужны чтобы передать ссылку на процедуру как параметр.
*****
Вопрос. If, case.
1) Расписать как работает if then. Это очевидно. 2) Расписать как работает if then else.
Вложенные. Простейший пример. if a>b then if a>e then c:=1 else c:=2
Оператор case.
Case - условие выбора. case <выражение> of условие 1: действие 1 условие 2: действие 2 ... end; (можно сюда совать else)
Так же case можно использовать в записях.
*****
Вопрос. Операторы циклов в Паскале.
Используются для обработки больших объёмов однородной информации. 2 части: заголовок и тело.
for i:=... to... do Счётчик должен быть заранее объявлен. end;
Описать процесс работы.
Рассказать про While... do.
*****
Вопрос. Работа с txt файлами.
Тип переменной: TextFile.
Допустимые действия с текстовыми файлами: AssignFile(F, Name) - связать имя файла с текстовой переменной F Reset(F) - открыть файл на чтение Rewrite(F) - октрыть файл на запись. Всё старое сотрётся, будет создавать его с нуля. Append(F) - открыть для дописывания в конец файла. Write([F],...) - запись. Read ([F],...) - чтение. -> Для двух предыдущих ln обеспечит построчную работу. CloseFile(F) - закрыть файл. While not EOLN(S) do begin - заголовок цикла построчной работы.
*****
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.009 сек.) |