ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Питання та відповіді до іспитів В-1
         

     

    Інформатика, програмування
    Питання та відповіді до іспитів В-1 (1999) 1. Алгоритм. Властивості алгоритму. Способи запису алгоритму

    (заг.) Алгоритм - це система формальних правил однозначно призводить до вирішення поставленого завдання.

    (ПК.) Алгоритм-це послідовність арифметичних і логічних дій над даними, що призводить до отримання рішення поставленого завдання.

    Властивості:

    А) Дискретність - алгоритм складається з окремих пунктів або кроків

    Б) Визначеність - кожен крок алгоритму має бути строго сформульоване.

    (мати точний сенс)

    В) зв'язаність - на кожному наступному кроці використовуються результати попереднього.

    Г) Кінцівка - алгоритм повинен завершуватися після кінцевого числа кроків

    Д) Результативність - алгоритм повинен призводити до отримання кінцевих результатів

    Е) Масовість - придатність для розв'язання широкого класу задач.

    Ж) Ефективність - застосування а. має давати будь-то позитивний тимчасової результат (тимчасової)

    Спосіб запису:

    А) Словесно-формульний

    Б) Структурна схема та алгоритм (ССА)

    В) Спец. мови (алгоритмічні та псевдокоду)

    (псевдокод - штучний неформальний мова, звичайно складається з елементів звичайного мови з елементами програмування)

    Г) Графічний спосіб 2. Лінійні і розгалужуються алгоритми. Cтруктурние схема алгоритмів. Правила виконання.

    CCA-при записі у вигляді структурної схеми алгоритм представляється графічно у вигляді послідовності блоків виконують певні функції і блоки з'єднуються лініями можливо зі стрілками. Всередині блоків операції. Блоки нумеруються по порядку. За способом організації алгоритмів ССА блоки поділяються на лінійні, розгалужуються і циклічні.

    У лінійних алгоритмах результат виходить після виконання однієї послідовності дій.

    Початок-ряд операторів-кінець.

    розгалужуються алгоритм передбачає вибір однієї з декількох послідовностей дій у Залежно від вихідних даних або проміжних результатів. 3. Циклічні алгоритми. Класифікація. Обчислення сум, творів.

    Циклічний алгоритм - це алгоритм забезпечує рішення задачі шляхом багаторазового повторення послідовності дій. Ділянки, які багаторазово повторюються - називаються циклами.

    Цикли за кількістю повторень поділяються на цикли з заданим числом повторень і ітераційні.

    ЦИКЛИ

    задане ЧИСЛО Ітераційні

    з лічильником УПР. УМОВА

    ПОСТ. УМОВА Передумови

    Загальне зауваження: вхід тільки в початок циклу, а вихід внаслідок закінчення циклу, оператором GOTO, процедурами прерхода і виходу, знаходяться в тілі циклу. 4. Циклічні алгоритми. Ітераційні цикли. Вкладені цикли.

    Циклічний алгоритм - це алгоритм забезпечує рішення задачі шляхом багаторазового повторення послідовності дій. Ділянки, які багаторазово повторюються - називаються циклами.

    Цикли за кількістю повторень поділяються на цикли з заданим числом повторень і ітераційні.

    У ітераційних циклах виконання циклу закінчується при виконанні загального умови, пов'язаного з перевіркою монотонно змінюється величини.

    Вкладені цикли - це, коли певний цикл повторюється багато разів в іншому циклі що охоплює даний. 5. Масиви. Алгоритми обробки масивів. Процедура BREAK

    Масив - це впорядкована послідовність величин, що позначається одним ім'ям. Положення кожного елемента в масиві визначається його індексом (індексами). У цьому й полягає впорядкованість. Індекси прийнято вказувати в дужках після імені масиву.

    Приклад: В [2] означає другий елемент масиву В.

    Нехай є деяка послідовність величин 1, 2, 4, 8, 3. Всі елементи цієї послідовності мають одне ім'я А. Відрізняються вони один від одного індексами, наприклад, A [1] = 1, A [2] = 2, A [3] = 4, A [5] = 8, A [6] = 3.

    При описі масиву вказується кількість його елементів, і це число залишається постійним при виконанні програми. Кожен елемент масиву має явне позначення, і до нього можливо безпосереднє звернення.

    Кількість індексів в позначенні елемента масиву визначає розмірність масиву. Масив може бути одновимірною (один індекс S [4]), двовимірним (два індекси N [2,4]), трьох мірним (три індекси Y [2,4,1]) і т.д.

    Масив описується в розділі опису змінних, при цьому опис масиву включає опис типу масиву (тип його елементів, тобто які значення вони можуть приймати) і типу індексів. Наприклад, масив речовинного типу з ім'ям vector може бути описаний таким чином: var vector: array [1 .. 50] of real

    Цей опис означає, що одновимірний масив vector має 50 елементів типу real зі значеннями індексу 1,2, ..., 50. Елементи цього масиву будуть мати позначення: vector [1], vector [2], ..., vector [50]

    Двовимірний масив matrix, з цілочисельними компонентами можна визначити наступним чином:

    var matrix [1 .. 10,1 .. 15] of integer

    Двовимірний масив часто називають матрицею. Перший індекс цього масиву (номер рядка матриці) приймає значення з відрізка 1 .. 10, а другий (номер стовпця) - з відрізка 1 .. 15. Компоненти масиву можуть мати позначення: matrix [1,5], matrix [8,8], matrix [i, j] і т.п.

    Приклади:

    program p2;

    var matrix: array [1 .. 3, 1 .. 4] of integer; (визначається двовимірний масив в 3 рядки і 4 стовпця з іменем matrix)

    i, j: integer;

    begin

    for i: = 1 to 3 do

    for j: = 1 to 4 do

    read (matrix [i, j]); (заповнення двовимірного масиву на 3 рядки і 4 стовпця)

    for i: = 1 to 3 do

    begin

    writeln;

    for j: = 1 to 4 do write (matrix [i, j]); (висновок елементів двовимірного масиву у вигляді таблиці)

    end; 6. Структуризація. Сонце, що програмування. Проектування алгоритму перекладу чисел з однієї системи числення в іншу (2,8,10,16).

    Сонце, що проектування - використовується для нескладних завдань, коли заздалегідь відомі всі підзадачі або функції, які виконувати програма. Розробляється алгоритм для кожної підзадачі, а потім вони збираються в єдину підпрограму. 7. Спадний програмування. Проектування алгоритму виконання арифметичних (+,-,*,/) операцій над числами з пл. точкою.

    При низхідному програмуванні зверху вниз спочатку розробляється загальна структурна схема алгоритму, а потім розробляються етапи її деталізації (структурування). 8. Мова TURBO PASCAL. Алфавіт мови. Ідентифікатори TURBO PASCAL.

    ТП - єдність двох самостійних почав компілятора та інструментів програмної оболонки. Це потужна сучасна процедурна система програмування

    Алфавіт: букви латинського від a до z, знак _. (якщо не char A = a)

    Цифри - арабські 0-9, спец. символи +-*/=.,:;[]{}()^&$@#%!

    Прогалини (ASCII від 0 до 32) обмежувачі ідентифікаторів

    Зарезервовані слова та параметри (не використовуються в якості ідентифікаторів). Стандартні директиви absolute, assembler, external, far, forward, near і т.д. .

    Ідентифікатори: імена констант, var'них, міток, типів, obg-ів, процедур, функцій (можуть мати довільну довжину, але означають тільки перші 63 символи, починаються тільки з букви або цифри). 9. Оператор умовного переходу IF. Складовою і порожньою оператори.

    IFTHEN ELSE; 10. Оператор циклу з лічильником.

    FOR: = TO DO

    FOR: = DOWNTO DO 11. Оператор циклу з передумовою.

    Цикл ДО

    WHILEDO 12. Оператор циклу з постусловіем.

    Цикл ПОКИ

    REPEAT

    Оператор;

    UNTIL; 13. Підготовка і налагодження програм в середовищі TurboPascal.

    Меню run

    Run-запуск на виконання

    Step over-послідовне виконання програми

    Trace into-послідовне виконання програми тільки підпрограми виконуються оператор за оператором

    Go to cursor - виконання до курсору

    Program reset-завершення процесу налагодження

    Parameters-вікно для введення параметрів для налагодження

    Меню compile

    Compile-компіляція файлу, що знаходиться в активному вікні редагування.

    Make - умовна компіляція змінених модулів в ЕХЕ файл

    Build-безумовна компіляція багатомодульним програми зі створенням ЕХЕ файлу

    Target ...-вибір у вікні таргет цільової платформи для програми

    Primary file ...-відкриває вікно для вказівки головного файлу, модульна програми.

    Меню Debug:

    Breakpoints-установка точок умовного та безумовного переходу

    Call stack - показує процедури виконувалися раніше.

    Register - інформація про регістрах процесора

    Watch - вікно значень змінних

    Output - вікно результатів роботи програми

    User screen - перегляд результатів включаючи графіком

    Evaluate/modify .. - Вікно зміни значень виразів

    Add watch - вікно значень і змінних вчасно налагодження

    Add breakpoint .. - Вікно установки точок переривання програми 14. Константи в TURBO PASCAL (цілі, речові, 16-ковий, логічні, символьні, рядкові константи, конструктор безлічі)

    Константи - можуть використовуватися цілі, дійсні, шістнадцяткові числа, логічні константи, символи, рядки, множини і ознака невизначеного покажчика NIL.

    Цілі числа: від -2147483648 до 2147483647

    Речові числа: (Експоненціальна частина) 3.14E5

    16-ковий число: $ (код 36 в ASCII) $ 00000000 - $ F ... $ F (8)

    Логічна константа: True, False.

    Символьна константа: будь-який символ в '', або покажчик усередині коду # 83 = 'S'

    Конструктор множини - список елементів множини в [].

    [1,2,3,4], [red, blue], [true, false]. У ТП дозволяється оголошення констант

    const a = 12/343; 15. Типізовані константи.

    типізовані константи фактично є змінними із статичним класом пам'яті. На відміну від простих констант, в описі типізованих вказується як значення константи, так і її тип.

    Існують типи:

    Константа, константа-адресу, константа-масив, константа-запис, константа-об'єкт, константа-безліч.

    Вказівний тип:

    Type ptr = ^ integer;

    Conct intptr: ptr = nil;

    Структурований тип:

    1 масив (array)

    2 безліч (set of 1 .. 4)

    3 запис (record)

    4Об'ектного типу (object) 16. Оператор привласнення. Пріоритет операцій. Стандартні функції.

    :=;

    арифметичні логічні відносини інші

    1 NOT @-адресний перетворення

    2 *, /, DIV, MOD AND, SHL, SHR

    3 +, - OR, XOR

    4; =; IN

    Для підвищення пріоритету використовуються ().

    Стандартні функції ТП.

    ABS (X) SQR (X) SQRT (X) TRUNG (X) ROUND (X)

    COS (X) SIN (X) TG (X) ARCTANG (X) EXP (X)

    LN (X) PRED (X) SUCE (X) ORD (X) CHR (X)

    ODD (X) INT (X) FRAG (X) +,-,*,/ (X) DIV (Y)

    MOD (X) NOT AND OR XOR

    = <> I_SHL_J I_SHR_J 17. Оператори та функції безумовного переходу (goto, continue, exit, halt).

    EXIT; - вихід з програми або підпрограми

    HALT (COD); - (COD) - необов'язковий параметр, що визначає код

    HALT; - безумовна зупинка програми

    ERRORLEVEL; - вниз

    BREAK; - достроковий вихід з циклу

    CONTINUE; - перериває виконання поточної операції в циклі, передає управління наступного оператора 18. Структури простої та складної програм у Турбо-Паскалі.

    PROGRAM;

    USES;

    TYPE;

    LABEL;

    CONST;

    VAR;

    FUNCTION (ім'я змінної: тип)

    BEGIN

    оператори

    END;

    PROCEDURE (параметри)

    BEGIN

    оператори

    END;

    BEGIN

    Текст основної програми

    END. 19. Підпрограми. Застосування. Структура опису. Відмінність процедури від функції.

    Самостійні, закінчені фрагменти програми, оформлені особливим чином, забезпечені ім'ям - називаються підпрограмами

    Використання підпрограм дозволяє розбити програму на ряд незалежних частин.

    Підпрограми використовуються:

    1Для економії пам'яті, коли певна послідовність дій зустрічається неодноразово на різних ділянках програми. Кожна підпрограма існує в од. примірнику, але звертатися до неї можна неодноразово з різних точок програми.

    2. У складних програмах при модульному проектуванні.

    Підпрограми поділяються на процедури та функції

    Результатом виконання функції є єдине значення простого, строкового чи вказівного типу. Тому звернення до функції можна використовувати виражене поряд з константою і змінні.

    Процедура зазвичай повертає кілька значень, підпрограма складається із заголовка і тіла підпрограми.

    Тіло підпрограми складається із розділу описів і розділу операторів.

    Структура: PROCEDURE;

    FUNCTION (параметр: тип);

    USES;

    LABEL;

    CONST;

    TYPE;

    VAR;

    BEGIN

    Тіло підпрограми

    END; 20. Вкладені підпрограми. Принципи локалізації імен (локальні та глобальні змінні).

    вкладень є підпрограми, що викликаються з інших підпрограм.

    Якщо яка небудь програма використовує деякі змінні підпрограми,

    Те дані змінні повинні бути описані не в підпрограмі, а в самій програмі. Ці змінні називаються глобальними, а змінні, оголошені в модулі або підпрограмі є локальними, і значення цих тимчасових не можна використовувати в головній програмі. 21. Виклик підпрограм (формальні і фактичні параметри).

    Підпрограми можуть бути викликані як з тіла основної програми, так і з тіла іншої підпрограми. Для виклику необхідно написати ім'я процедури або функції, а також, якщо треба, ряд змінних переданих в підпрограму.

    Приклад:

    PROCEDURE [()];

    FUNCTION [()]:

    Відразу за заголовками може слідувати один стандартних директив: ASSEMBLER, EXTERNAL, FAR, FORWARD, INLINE, INTERRUPT, NEAR.

    PROCEDURE SB (a: real);

    Фактичні параметри - це глобальні змінні підставлені у формальні

    ТИП ФАКТ = ТИП ФОРМ. 22. Процедури без параметрів і з параметрами.

    PROCEDURE

    Begin

    end; 23. Передача в підпрограму параметрів регулярного типу (масивів, рядків).

    Типом будь-якого формального параметра може бути тільки стандартний або раніше оголошений тип.

    Приклад:

    TYPE TYPE

    ATYPE = ARRAY [1 .. 10] OF REAL; INTYPE = STRING [15];

    PROCEDURE S (A: ATYPE); OUTTYPE = STRING [30];

    FUNCTION ST (S: INTYPE): OUTTYPE

    Інший спосіб для передачі параметрів змінних відключенням контролю компіляції.

    Відкритий масив PROCEDURE I (A: ARRAY OF REAL); 24. Опції. Опис. Виклик функції.

    FUNCTION [()]:

    Відразу за заголовками може слідувати один стандартних директив: ASSEMBLER, EXTERNAL, FAR, FORWARD, INLINE, INTERRUPT, NEAR.

    FUNCTION (параметр: тип);

    Begin

    end; 25. Рекурсії. Пряма і непряма рекурсія. Директива FORWARD.

    Рекурсія - це такий спосіб організації обчислювального процесу при якому програма в ході виконання складових її операторів звертається сама до себе.

    Для уникнення переповнення стека, слід розміщувати проміжні результати в допоміжній змінній.

    Begin

    ... ... ... ... ... ... ... ... ... ...

    F: = fac (n-1); - допоміжна мінлива

    ... ... ... ... ... ... ... ... ....

    End;

    Рекурсивний виклик може бути непрямим, який дозволяється випереджаючим описом:

    Procedure b (j: byte);

    Forward;

    Procedure a (i: byte);

    Begin

    B (i);

    End; 26. Тип-діапазон. Структуровані типи. Масиви.

    Будь-який з структурованих типів (а в ТП їх 4: масиви, записи, множини, файли) характеризується множинністю які складають цей тип елементів. У ТП

    Допускається нескінченна глибина вкладеності типів, однак Сумою == перевірка входження (TRUE, якщо друга безліч входить до перших;

    in - перевірка приналежності. Структура цієї бінарної операції:

    in; повертає TRUE, якщо вираз має значення, що належить безлічі.

    приклад:

    3 in S6 TRUE; [] in [0 .. 5] [] in S5

    2 * 2 in S4 FALSE;

    Безліч мають компактне машинне подання. Недолік: неможливість виведення множини на екран, тому що відсутній механізм вилучення елемента з безлічі. Введення безлічі можливий тільки поелементно.

    приклад: Можна тип оголошувати при описі змінних

    VAR S: SET of char; (мінлива-безліч)

    C: char; (елемент безлічі)

    Begin

    S :=[]; S: = # 0; (обнулення значень)

    while C '.' do (цикл до введення "."}

    begin

    readln (C); (читання символу в с)

    S: = S + [C];?? (Додавання його до S)

    end; ...

    S: = S-['.']; (виключення точки)

    End. (Дивись завдання на Л.Р. N 12) 34. Оператор вибору CASE (варіанти). Коментарі.

    CASE OF

    Const1: оператор;

    Const2: оператор;

    ELSE: оператор;

    END; 35. Записи. Вкладені запису. Записи з варіантами.

    Запис - це структура даних, що складається з фіксованого числа компонентів, які називаються полями запису. На відміну від масиву компоненти можуть бути різного типу. Поля іменуються:

    = RECORDEND.

    Type

    Bd = record

    D, m: byte;

    Y: word

    Var a, b: bd;

    a:: = 8;

    a.day: = 27;-доступ до компоненту

    Для спрощення доступу до полів запису використовують оператор запису With

    Withdo;

    With c.bp do month: = 9;

    With c do with bp do month: = 9;

    c.bp.month: = 9;

    Варіантні поля

    Type f = record

    N: string;

    Case byte of

    0: (bp: string [30 ]);

    1: (c: string [10], e: string [20], ed: 1 .. 31)

    end;

    Імена повинні бути унікальні, хоча можливо повторення на різних рівнях

    Вкладені поля:

    Type bd = record

    D, m: byte;

    X: word;

    End;

    Var c: record;

    Name: string;

    Db: bd;

    Begin if c.db.year = 1939 then ... ... ... ..

    End.

    Як ключ мінлива:

    Type rec2 = record

    C: LongInt;

    Case x: byte of

    1: (d: word);

    2: (e: record

    case boolean of

    3: (f: real);

    3: (g: single);

    '3 ': (c: word);

    end;

    end;

    36. Речовий тип. Операції та функції для речового типу.

    Речовий тип визначає число з деякою кінцевою точністю, яка залежить від внутрішнього формату числа

    Довжина назва кількість знакових цифр діапазон десяткового порядку

    байт

    6 real 11 .. 12 -39 .. 38

    8 couble 15 .. 16 -324 .. 308

    10 extended 19 .. 20 -4951 .. 4932

    8 comp 19 .. 20 -2 * 10 ^ 63 +1 .. 2 * 10 ^ 63-1

    функції

    ABS (X), ARCTAN (x), COS (X), EXP (X), FRAC (X), INT (X), LN (X), SIN (X), ROUND (X), SQR ( X), SQRT (X) І Т.Д. 37. 38. 39. Файловий тип. Файли. Вимоги до імені. Зв'язування. Текстові файли. Введення (висновок) інформації з файлу (у файл, пристрій) типізовані файли і нетипізовані файли.

    Загальні процедури для роботи з файлами

    _____________________________________________________________

    | Assign (Var f, FileName: String) - Cвязиваніе ф.п.f з файлом FileName

    | RESET (Var f) | Відкриття файлу з логічним ім'ям f для читання |

    | REWRITE (Var f) Відкриття файлу з лог. ім'ям f для запису |

    | CLOSE (f) | Закриття файлу з лог. ім'ям f |

    | Erase (Var f) | Видалення файлу (стирання) з диска |

    | Rename (f, NewName: String) | перейменовує фізичний файл |

    | EOF (f) | Функція тестування кінця файлу |

    | FLUSH () | Очищає внутрішній буфер файлу |

    ----------------------------------------------- --------------

    ТЕКСТОВИЙ файл

    Це файли послідовного доступу.

    Вони призначені для зберігання текстової інформації. Компоненти (запи-

    сі) текстового файлу можуть мати змінну довжину.

    Для доступу до записів файла застосовуються процедури

    READ, READLN, WRITE, WRITELN.

    Текст-орієнтовані процедури та функції

    ____________________________________________________________

    | процедури | пояснення |

    | та функції | (дії) |

    |-------------|-------------------------------- --------------|

    | Append | Процедура відкриває вже існуючий файл f |

    | () | для дозапису в кінець файлу |

    | пр: Append (f) | (для його розширення) |

    | SeekEOLN | Функція пропускає всі пробіли та знаки табула-|

    | () | ції до першого ознаки EOLN або перша зна-|

    | логіч.тіпа | чащего символу. Повертає значення TRUE, якщо |

    пр: SeekEOLN (f) | виявлений маркер кінця файлу або маркер кінця |

    | | рядка. Якщо Ф.П. опущена, |

    | | функція перевіряє стандартний файл INPUT. |

    | | |

    | SeekEOF | Функція пропускає всі пропуски, знаки табуляції |

    | () | і маркери кінця строк до маркера кінця файлу |

    | пр: SeekEOF (f) | або першого значущого символу. Якщо маркер об-|

    | | назовні, повертає значення TRUE. |

    | EOLN () | Функція повертає значення TRUE, якщо у вхід-|

    | логіч.тіпа | ном фото f досягнуто маркер EOLN або |

    | пр: EOLN (f) | EOF; FALSE - в іншому випадку. |

    |_____________|______________________________________________|

    типізовані файли

    дозволяють організувати прямий доступ до кожної з компонент (за його по-

    рядкове номером). Опис файлової змінної

    Var ft: file of;

    Перед першим зверненням до процедур введення-виведення покажчик файлу

    стоїть на його початку і вказує на 1-у компоненту з номером 0. Після

    кожного читання або запису покажчик зсувається з наступного компоненту

    файлу. Змінні в списках в/в повинні мати той же тип, що і компо-

    нентов файлу.

    Процедури та функції для роботи з файлами типізований

    ____________________________________________________________

    | процедури | пояснення |

    | та функції | (дії) |

    |-------------|-------------------------------- --------------|

    READ (,); Процедура

    Забезпечує читання чергових компонентів файлу

    WRITE (,) використовується для запису нових

    компонент у файл; як елементи виводу

    м.б. вираз.

    SEEK (,) - зміщує покажчик

    файлу до компоненту с;

    - вираз типу LONGINT.

    (До текстовим файлу застосовувати не можна.)

    FILESIZE) Функція повертає кількість компонент,

    що містяться у файлі. (Типу LongInt)

    Функція FILEPOS () повертає порядковий номер компо-

    нентов файлу, доступною для читання чи запису

    (який буде оброблятися наступною операцією в/в).

    (Процедура CLOSE () - закриття файлу.)

    |-------------|-------------------------------- --------------|

    - містить одну або більше змінних такого

    ж типу, що й компоненти файлу,

    - файлова змінна д.б.н. оголошена пропозицією FILE OF

    і пов'язана з ім'ям файлу процедурою ASSIGN. Файл необхідно відкрити

    процедурою RESET для читання.

    Якщо файл вичерпаний, звернення до READ викличе помилку В/В

    Щоб перемістити вказівник у кінець файлу можна написати

    Пр. Seek (f, FileSize (f)); де f - файлова змінна

    нетипізований файли

    оголошує без вказівки типу файла:

    TYPE ftype = file; або VAR fn: file;

    Для даних файлів не вказується тип компонентів, що робить їх сов-

    местімимі з будь-якими іншими файлами. Дозволяє організувати високоско-

    ростной обмін даними між диском і пам'яттю.

    При ініціалізації нетипізований файлів процедурами RESET і

    REWRITE вказується довжина запису нетипізований файлу в байтах.

    приклад: VAR f: file; ...

    ASSIGN (f, 'a.dat');

    RESET (f, 512);

    довжина запису

    Довжина файлу може бути представлена виразом типу WORD; якщо пара-

    метр довжини пропущено, мається на увазі довжина 128 байт; максимальна довжина

    65535 байт.

    Для забезпечення максимальної швидкості обміну даними слід за-

    давати довжину, кратну довжині фізичного сектора дискового носія

    (512 байт). Крім того, фактично простір на диску виділяється

    будь-якого файлу порціями - кластерами, які залежно від типу дис-

    ка можуть займати 2 і більше суміжних секторів. Як правило, кластер

    м.б. прочитаний або записаний за один оборот диска, тому найвищу ско-

    зростання обміну даними можна отримати, якщо вказати довжину запису, що дорівнює

    довжині кластеру.

    При роботі з нетипізований файлами Можуть застосовуватися всі

    розглянуті процедури та функції, доступні типізований файлів, за

    винятком READ і WRITE, які для читання і запису замінюються соот-

    льної високошвидкісними процедурами BlockREAD і BlockWRITE.

    BlockREAD (,,,[, Var])

    BlockWRITE (,,,[, Var])

    де - ім'я змінної, яка буде брати участь в обміні дан-

    нимі з дисками;

    - кількість записів, які д.б.н. прочитані або записані за одне

    звернення до диска;

    - необов'язковий параметр, що містить при виході з процедури ко-

    лічество фактично оброблених записів.

    За одне звернення до процедур м.б. передано N * r байт, де r -

    довжина запису нетипізований файлу. Передача йде, починаючи з 1-го

    байти змінної.

    Після завершення процедури вказівник зміщується на записів.

    Процедурами SEEK, FilePos і FileSize можна забезпечити доступ до будь-якої

    запису нетипізований файлу. 40. Бібліотечний модуль GRAPH. Графічні можливості ТП.

    GRAPH - являє собою бібліотеку підпрограм, що забезпечує повне управління графічними режимами для різних адаптерів дисплеїв: CGA, EGA, VGA ... Містить 78 процедур і функцій (як базових - малювання точок, ліній, кіл, прямокутників), так і розширюють можливості базових (багатокутники, сектору, дуги, зафарбовування фігур, виведення тексту і т.д.).

    Для запуску програми з використанням модуля GRAPH необхідно,

    щоб у робочому каталозі знаходилися графічні драйвери з розширенням. BGI, також повинен бути доступний компілятору модуль GRAPH.TPU.

    Файл BGI - графічний інтерфейс. Він забезпечує взаємодію

    програм з графічними пристроями.

    На початку програми модуль GRAPH повинен бути підключений

    PROGRAM

    USES GRAPH;

    опис міток, змінних програми, зокрема

    VAR driver, Mode: integer;

    Begin

    Далі ініціалізується графічний режим роботи процедурою

    InitGraph (,: integer;

    : string);

    Графічна інформація на екрані відображається сукупністю

    світяться точок - ПІКСЕЛІВ.

    Режим по вертикалі: 0 - 200 пікселів (4 сторінки),

    1 - 350 пікселів (2 сторінки), 2 - 480 пікселів (1 сторінка).

    Режим 2 (640х480, 16 кольорів, 1 сторінка)

    У текстовому режимі координати верхнього кута (1,1).

    центр (319,239)

    нижнього (639,479)

    Тип драйвера допускається вказувати = 0, тоді він встановлюється

    за результатами тестування (авто визначення). Шлях визначає маршрут пошуку графічного драйвера.

    Приклад:

    USES GRAPH;

    Const driver, mode: intGRAPH - являє собою бібліотеку підпрограм, що забезпечує повне управління графічними режимами для різних адаптерів дисплеїв: CGA, EGA, VGA ... Містить 78 процедур і функцій (як базових - малювання точок, ліній, кіл, прямокутників), так і розширюють можливості базових (багатокутники, сектору, дуги, зафарбовування фігур, виведення тексту і т.д.).

    Для запуску програми з використанням модуля GRAPH необхідно,

    щоб у робочому каталозі знаходилися графічні драйвери з розширенням. BGI, також повинен бути доступний компілятору модуль GRAPH.TPU.

    Файл BGI - графічний інтерфейс. Він забезпечує взаємодію

    програм з графічними пристроями.

    На початку програми модуль GRAPH повинен бути підключений

    PROGRAM

    USES GRAPH;

    опис міток, змінних програми, зокрема

    VAR driver, Mode: integer;

    Begin

    Далі ініціалізується графічний режим роботи процедурою

    InitGraph (,: integer;

    : string);

    Графічна інформація на екрані відображається сукупністю

    світяться точок - ПІКСЕЛІВ.

    Режим по вертикалі: 0 - 200 пікселів (4 сторінки),

    1 - 350 пікселів (2 сторінки), 2 - 480 пікселів (1 сторінка).

    Режим 2 (640х480, 16 кольорів, 1 сторінка)

    У текстовому режимі координати верхнього кута (1,1).

    центр (319,239)

    нижнього (639,479)

    Тип драйвера допускається вказувати = 0, тоді він встановлюється

    за результатами тестування (авто визначення). Шлях визначає маршрут пошуку графічного драйвера.

    Приклад:

    USES GRAPH;

    Const driver, mode: integer;

    Begin

    driver: = VGA; (9)

    mode: = VGAH; (2)

    InitGraph (driver, mode, 'e: TPBGI'); тип string.

    DetectGraph (var Diver, Mode: integer) - повертає тип драйвера і поточний режим його роботи.

    Основні кольори задаються від 0 до 15:

    0 - чорний 8 - темно-синій

    1 - синій 9 - яскраво-синій

    2 - зелений 10 - яскраво-зелений

    3 - блакитний 11 - яскраво-блакитний

    4 - червоний 12 - рожевий

    5 - фіолетовий 13 - малиновий

    6 - коричневий 14 - жовтий

    7 - світло-сірий 15 - білий.

    Якщо Х і У речові, то їх потрібно перетворити до цілих координатами (у межах розділу екрану). Для цього використовуються функції ROUND або TRUNC прямого перетворення до цілого значенням LineTo (trunc (x), trunc (y ));

    Також необхідно стежити, щоб значення не виходили за межі

    екрана (розраховуйте коефіцієнти збільшення або зменшення і пара-

    метри зсуву)

    ПРОЦЕДУРИ І ФУНКЦІЇ модуля GRAPH

    настановні

    ClearDevice - Очищає екран і поміщає курсор у точку (0,0);

    SetViewPort (x1, y1, x2, y2: integer; Clip: boolean) - Встановлює

    поточне вікно для графічного виводу. X1, y1 - координата верхнього лівого кута; x2, y2 - координата нижнього правого кута. Якщо Clip = true, то всі зображення відсікаються на кордонах висновку;

    ClearViewPort - Очищає поточне вікно;

    GetMax X: integer - повертає максимальну горизонтальну координату

    графічного екрану;

    GetMax Y: integer - повертає максимальну вертикальну координату

    графічного екрану;

    Get X: integer - повертає координату Х поточного покажчика у вікні;

    Get Y: integer - повертає координату Y курсора у вікні;

    SetLineStyle (Line, Pattern, Thickness: word) - Встановлює стиль

    (0 .. 4), шаблон штрихування (0 .. 12) і товщину (1-стандартам, 3-утpоенная);

    SetFillStyle (Pattern, Color: word) - встановлює зразок штрихування і

    колір (0 .. 15 і 128-меpцаніе);

    SetGraphMode (Mode: integer) - встановлює новий графічний режим і

    очищає екран;

    SetColor (Color: word) - встановлює основний колір, яким виконується малювання (0 .. 15);

    SetBkColor (Color: word) - Установка кольору фону.

    Гpафіческіе примітиви

    PutPixel (X, Y: integer; Color: word) - Виводить точку кольором Color з координатою X, Y;

    LineTO (X, Y: integer) - Малює лінію від поточного покажчика до точки з координатою Х, У;

    LineRel (DX, DY: integer) - Малює лінію від поточного покажчика до точки, заданої збільшенням координат;

    Line (X1, Y1, X2, Y2: integer) - Малює лінію від точки (X1, Y1) до точки з

    координатою Х2, У2;

    MoveTO (X, Y: integer) - зміщує поточний покажчик до точки з координатою Х, У;

    MoveRel (DX, DY: integer) - зміщує поточний покажчик до точки, заданої

    збільшенням координат;

    Rectangle (X1, Y1, X2, Y2: integer) - Малює прямокутник, використовуючи

    поточний колір і тип лінії з верхньої лівої та правої нижньої точок;

    Bar (X1, Y1, X2, Y2: integer) - Малює зафарбований прямокутник, використовуючи установку SetFillStyle;

    Bar3D (X1, Y1, X2, Y2: integer; Depth: word; Top: Bolean) - Малює зафарбований паpаллеліпіпед. Depth - глибина в Pixel (1/4 ширини).

    Якщо Тор = True, то малюється верхня грань пеpеллеліпіпеда;

    Circle (X, Y: integer; R: word) - Малює коло радіуса R, використовуючи

    X, Y як координати центру;

    Fillellipse (X, Y: integer; XR, YR: word) - Малює защтpіхованний еліпс,

    використовуючи X, Y як центр і XR, YR як горизонтальний і

    вертикальний радіуси.

    RestorCRTMode - Відновлює текстовий режим роботи екрану;

    OutText (Text: string) - Виводить текстовий рядок на екран.

    OutTextXY (X, Y: integer; Text: string) - Виводить текст в заданий

    місце екрана.

    Приклад програми побудови графіка функції у = 2 + х * х.

    program graphik; (файл grafikf.pas)

    uses graph; (підключення модуля GRAPF)

    var a, b, x, y: integer; (a, b-змінні, що визначають тип драйвера і

    відеорежим відповідно)

    begin

    detectgraph (a, b); (авто визначення типу драйвера і відеорежиму)

    initgraph (a, b, 'E: TPBGI'); (Ініціалізація графічного режиму)

    setgraphmode (2); (встановлення нового режиму (2), очищення екрана)

    setBKcolor (0); (основний колір фону - чорний)

    setcolor (4); (основний колір малювання - червоний)

    moveTO (100,100); (зміщує курсор)

    lineRel (50,50); (креслення лінії по збільшенню від поточного

    покажчика)

    readln; (пауза до натискання клавіші)

    setcolor (2); (основний колір малювання - зелений)

    line (100,100,100,50); (малює лінію від т.Х1, У2 до т.Х2, У2)

    readln; (пауза до натискання)

    setcolor (5); (основний колір малювання - фіолетовий)

    putPixel (0,0,12); (виводить точку кольором 12 з координатою 0,0)

    readln; (пауза до натискання)

    moveTO (1,2); (зміщує курсор до точки з координатою 1,2)

    for x: = 0 to 20 do

    begin

    y: = 2 + x * x;

    lineTO (x, y); (малює лінію від поточного

    покажчика до точки з координатою Х, У)

    end;

    readln; (пауза до натискання введення)

    Settextstyle (1,0,5);

    OutTextXY (50,400, 'графік функції у = 2 + х * х'); (виводить текст в

    задане місце екрану)

    readln; (пауза до натискання)

    putPixel (639,479,14); (виводить точку кольором 14 з координатою 639,479)

    readln; (пауза до натискання)

    closegraph; (закриває графічно?? режим і відновлює текстовий)

    end.

    Begin

    driver: = VGA; (9)

    mode: = VGAH; (2)

    InitGraph (driver, mode, 'e: TPBGI'); тип string.

    DetectGraph (var Diver, Mode: integer) - повертає тип драйвера і поточний режим його роботи.

    Основні кольори задаються від 0 до 15:

    0 - чорний 8 - темно-синій

    1 - синій 9 - яскраво-синій

    2 - зелений 10 - яскраво-зелений

    3 - блакитний 11 - яскраво-блакитний

    4 - червоний 12 - рожевий

    5 - фіолетовий 13 - малиновий

    6 - коричневий 14 - жовтий

    7 - світло-сірий 15 - білий.

    Якщо Х і У речові, то їх потрібно перетворити до цілих координатами (у межах розділу екрану). Для цього використовуються функції ROUND або TRUNC прямого перетворення до цілого значенням LineTo (trunc (x), trunc (y ));

    Також необхідно стежити, щоб значення не виходили за межі

    екрана (розраховуйте коефіцієнти збільшення або зменшення і пара-

    метри зсуву)

    ПРОЦЕДУРИ І ФУНКЦІЇ модуля GRAPH

    настановні

    ClearDevice - Очищає екран і поміщає курсор у точку (0,0);

    SetViewPort (x1, y1, x2, y2: integer; Clip: boolean) - Встановлює

    поточне вікно для графічного виводу. X1, y1 - координата

    верхнього лівого кута; x2, y2 - координата нижнього правого кута.

    Якщо Clip = true, то всі зображення відсікаються на кордонах висновку;

    ClearViewPort - Очищає поточне вікно;

    GetMaxX: integer - повертає максимальну горизонтальну координату

    графічного екрану;

    GetMaxY: integer - повертає максимальну вертикальну координату

    графічного екрану;

    GetX: integer - повертає координату Х поточного покажчика у вікні;

    GetY: integer - повертає координату Y курсора у вікні;

    SetLineStyle (Line, Pattern, Thickness: word) - Встановлює стиль

    (0 .. 4), шаблон штрихування (0 .. 12) і товщину (1-стандартам, 3-утpоенная);

    SetFillStyle (Pattern, Color: word) - встановлює зразок штрихування і

    колір (0 .. 15 і 128-меpцаніе);

    SetGraphMode (Mode: integer) - встановлює новий графічний режим і

    очищає екран;

    SetColor (Color: word) - встановлює основний колір, яким виконується малювання (0 .. 15);

    SetBkColor (Color: word) - Установка кольору фону.

    Гpафіческіе примітиви

    PutPixel (X, Y: integer; Color: word) - Виводить точку кольором Color з координатою X, Y;

    LineTO (X, Y: integer) - Малює лінію від поточного покажчика до точки з координатою Х, У;

    LineRel (DX, DY: integer) - Малює лінію від поточного покажчика до точки, заданої збільшенням координат;

    Line (X1, Y1, X2, Y2: integer) - Малює лінію від точки (X1, Y1) до точки з

    координатою Х2, У2;

    MoveTO (X, Y: integer) - зміщує поточний покажчик до точки з координатою Х, У;

    MoveRel (DX, DY: integer) - зміщує поточний покажчик до точки, заданої

    збільшенням координат;

    Rectangle (X1, Y1, X2, Y2: integer) - Малює прямокутник, використовуючи

    поточний колір і тип лінії з верхньої лівої та правої нижньої точок;

    Bar (X1, Y1, X2, Y2: integer) - Малює зафарбований прямокутник, використовуючи установку SetFillStyle;

    Bar3D (X1, Y1, X2, Y2: integer; Depth: word; Top: Bolean) - Малює зафарбований паpаллеліпіпед. Depth - глибина в Pixel (1/4 ширини).

    Якщо Тор = True, то малюється верхня грань пеpеллеліпіпеда;

    circle (X, Y: integer; R: word) - Малює коло радіуса R, використовуючи

    X, Y як координати центру;

    Fil

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status