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

     

     

     

     

     

         
     
    Мови програмування
         

     

    Інформатика, програмування

    Мови програмування

    Передмова.

    Як відомо, в даний час найбільш поширеними алгоритмічними мовами є Паскаль і Сі. Саме ці мови використовуються практично на всіх діючих обчислювальних системах-от супер-ЕОМ до персональних комп'ютерів. Що стосується ПЕОМ, то лідером сімейства мов Паскаль для них, без сумніву, є Турбо Паскаль 7.0, розроблений фірмою Borland. Ця остання версія дозволила об'єднати в рамках єдиної системи потужний алгоритмічний потенціал мови, методи об'єктно-орієнтованого програмування, сучасну графіком, зручні засоби тестування й налагодження програм, а також забезпечити дружній інтерфейс з користувачами. [1] Тому я вибрав цю мову програмування як основу для створення тестового редактора.

    Я вирішив створити тестовий редактор, тому що саме тести останнім часом завойовують все більшу популярність. Вони дозволяють швидко і досить точно перевірити рівень знань з того чи іншого предмету, дізнатися ту чи іншу інформацію про тестується. Звичайно, тест без зусиль можна скласти вручну, але буде потрібно багато часу, щоб його розмножити. Крім того, можна в будь-який момент протестуватися і миттєво дізнатися результати.

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

    створення нового файлу тесту

    відкриття тесту і тестування

    редагування тесту

    перегляд результатів

    друк файлу

    вихід з програми.

    У процесі створення редактора я виділив основні етапи моєї роботи, що виникають у зв'язку з цим задачі та їх вирішення. Сподіваюся, прочитавши мою роботу, ви врахуєте мій досвід і продовжите розпочаті дослідження в галузі редакторів. Програма може бути використана навчальними закладами як посібник для створення тестів.

    Почнемо дослідження зі статті про конструюванні програм.

    Конструювання програм.

    Конструювання програм - одна з найважливіших розділів сучасної інформатики. Бурхливий розвиток програмно-апаратних засобів, поява нових стилів і технологій програмування, як не парадоксально, не знижують, а підвищують рівень вимог до масової алгоритмічної культури. Практично всі діалогові системи є програмованими. Методика конструювання програм легко переноситься на інші процедурні мови програмування, у тому числі і об'єктно-орієнтовані. [2]

    Відповідно до технології конструювання програм побудована програма тестового редактора. Я розділив її на етапи:

    Створення структурної програми, багато в чому незручною у використанні через відсутність діалогу, упорядкованого введення та виведення інформації і багато чого іншого. Вихідна програма мала лише основні функції. Вона була «ядром», яка здійснювала всі процеси і функції редактора. У наступному розділі в точності наведено текст структурної програми.

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

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

    Введення об'єкта-панелі управління. Ви можете бачити її внизу екрану. Вона взяла на себе управління функціями редактора. Причому введення об'єкта значно спростило програму. Методи роботи з об'єктами ви можете прочитати у розділі «Об'єктне програмування ».

    Структурний програмування.

    Структурне програмування-це програмування, технологія якого припускає використання суперпозиції трьох базових алгоритмічних структур: лінійної, розгалуженої та циклічної. Але для створення складних програм використовуються більш складні принципи. Принцип Суперпозиції-поєднання структур з взаємним вкладенням (складанням). Передбачає взаємне включення структур.

    Турбо Паскаль сприяє впровадженню сучасної технології програмування, заснованої на принципах структурного програмування та покроковому методі проектування програм. Основні оператори мови є хорошою ілюстрацією базових керуючих конструкцій структурного програмування. Їх використання дозволяє записувати складні алгоритми обробки даних в компактній формі. [3]

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

    Бейсік-мова програмування ПЕОМ.

    Бейсік - інтерактивна мова високого рівня, орієнтований на користувачів ПЕОМ, непрофесіоналів в області обчислювальної техніки. Бейсік - переважно інтерпретує програма, що дозволяє виробляти порядково налагодження текстів програм. Даний спосіб набагато зручніше для початківців програмістів, ніж компіляція (компілятор виробляє налагодження тільки цілої програми, а не по частинах), і широко використовується в Паскалі. Відмінною рисою структурних мов є короткі однозначні оператори (на відміну від довжелезних команд об'єктного програмування )*.

    У деяких версіях Бейсіка є вбудований редактор програм, що дозволяє працювати з текстом програми з командного вікна. Робота з програмою здійснюється в трьох різних режимах:

    Безпосереднє спілкування

    Введення програм

    Обчислення по введеної в ОЗУ програмі

    В основному, Паскаль виконує ті ж функції що і Бейсік. Однак Паскаль має більший потенціал в областях програмімірованія, роботи з «комп'ютерним залізом», створення власних модулів і систем.

    Структурна програма.

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

    Нижче наведена схема структурної програми тестового редактора, що пояснює відповідний підхід до програмування. Основний список операторів вирізано і замінено на. Кінцевий вигляд програми буде приведений у розділі "Об'єктне програмування" об'єктів.

    Program redactor;

    uses crt, printer; (підключення модулів)

    label l1, l2, l3, l4; (мітки)

    Var a, f, f1, a2: string; (розділ описів)

    b, k: char;

    c, u, y, a1, b1: text;

    d, e, i, j, p, z: integer;

    c1: boolean;

    Procedure oform; (процедура оформлення початку програми)

    Begin

    End;

    Begin

    oform; (оформлення початку програми)

    Writeln ( 'Новий файл (New), Відкрити файл (Open), Редагування (Redact ),'); (висновок

    альтернативних функцій)

    Writeln ( 'Перегляд результатів (Search), Вихід (Any key )');

    b: = readkey; (вибір потрібної функції)

    case b of (оператор варіанту)

    При натисканні відповідної клавіші відбувається вибір функції.

    'n', 'в': Begin

    l1: (виконання функції)

    End;

    'o', 'й': Begin

    l2: (виконання функції)

    End;

    'r', 'Є': Begin

    l3: (виконання функції)

    End;

    's', 'и': Begin

    l4: (виконання функції)

    End;

    End;

    Writeln ( 'Новий файл (New),) Відкрити файл (Open), Редагувати (Redact) '); (запит про вибір перед

    виходом)

    Writeln ( 'Перегляд результатів (Search), Вихід (Any key )');

    b: = readkey; (вибір варіанту)

    case b of (оператор варіанту)

    'n', 'т': GoTo l1; (посилання на мітку)

    'o', 'щ': GoTo l2;

    'r', 'до': GoTo l3;

    's', 'и': GoTo l4;

    End;

    Набір операторів безумовного переходу для повернення до тієї чи іншої функції.

    End.

    На екран виводиться список можливих функцій програми. Для вибору певної функції необхідно натиснути відповідну клавішу (вказана в дужках великою літерою). Потім оператор варіанту запускає потрібну функцію. Як видно, врахований випадок непереключенного алфавіту (букви вводяться як латинські, так і російські).

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

    Доробка програми.

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

    Розглянемо перераховані функції. Функція підрахунку результату записана так:

    z: = p * 100 div z; (розрахунок кількості правильних відповідей)

    Writeln ( 'кількість правильних відповідей: ', p);

    Write ( 'оцінка'); (виставлення оцінки)

    If z> = 90 Then Begin

    Writeln ('5 ')

    Writeln (b1, '5');

    End;

    else If z> = 70 Then Begin

    Writeln ('4 ')

    Writeln (b1, '4');

    End;

    else If z> = 40 Then Begin

    Writeln ('3 ')

    Writeln (b1, '3');

    End;

    else Begin

    Writeln ('2 ')

    Writeln (b1, '2');

    End;

    Readln;

    Write ( 'Прізвище:'); (вписування прізвища)

    Readln (a);

    d: = length (a); (виставлення прогалин)

    Write (b1, a); (запис у файл)

    For i: = 1 to 14-d do Write (b1, '');

    Write ( 'Ім'я:'); (вписування імені, процедура повторюється)

    Readln (a);

    Write (b1, a);

    d: = length (a);

    For i: = 1 to 11-d do Write (b1, '');

    Write ( 'Отчесчтво:'); (вписування по батькові, процедура повторюється)

    Readln (a);

    Write (b1, a);

    d: = length (a);

    For i: = 1 to 17-d do Write (b1, '');

    Write (b1, f);

    d: = length (f);

    For i: = 1 to 8 do Write (b1, '');

    GetDate (g1, g2, g3, g4); (проставлення дати)

    Writeln (b1, g3 ,'.', g2 ,'.', g1);

    close (b1);

    Window (15,10,50,19);

    TextBackGround (black);

    clrscr;

    Програма розраховує кількість правильних відповідей за формулою, відповідно до цього виставляє оцінку, запитує ваші ПІБ, записує їх у файл, проставляє назва тесту і дату його проходження. При цьому використовується метод роботи з рядками: конкатенація (злиття) строк. Проблемою стало коректне вписування в файл рядки, тому що кількість букв може бути різним, тому програма проставляє прогалини в файл між даними, використовуючи дані про довжину рядків прізвища, імені, по батькові і віднімаючи їх з постійного числа

    Таймер, системний час.

    Таймер був розроблений для відліку часу на тест, час вводиться попередньо укладачем тесту. Крім того, паралельно з висновком часу на тест виводиться поточний системний час. Дія таймера засноване на змінній-лічильнику, яка через певні проміжки часу зменшує своє значення на 1 (секунду). Системний час виводиться завдяки процедурі GetTime.

    Repeat (цикл лічильника часу)

    Window (60,20,70,21); (вікно виводу часу)

    TextBackGround (black);

    clrscr;

    z2: = z2-1; (зворотний відлік секунд)

    If z22 Then Begin (перевірка наявності у файлі пароля)

    Write ( 'введіть пароль');

    Readln (f); (введення пароля)

    If af Then Begin

    Write ( 'пароль невірний');

    GoTo l1; (вихід з процедури)

    End;

    End

    else Begin

    close (u);

    Reset (u);

    End;

    Readln (c, f);

    Writeln ( 'тест за темою "', f ,'"'); (висновок теми тесту)

    z2: = 60;

    repeat

    Window (60,20,70,21); (закриття вікна пароля)

    TextBackGround (black);

    clrscr;

    TextColor (yellow);

    z2: = z2-1; (включення таймера)

    If z2

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

     

     

     

     

     

     

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