на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
База даних "Теорія та практика прикладного програмування"
ul>
  • Таблиця 2.2.2. «Листинги»
  • Поле

    Тип даних

    Розмір

    Код листинга

    Лічильник

    Довге ціле

    Название листинга

    Текстовий

    50

    Работа с формой

    Логічний

    Листинг

    Поле МЕМО

    • Таблиця 2.2.3. «Операторы»
    • Поле

      Тип даних

      Розмір

      Код оператора

      Лічильник

      Ключевые слова

      Текстовий

      200

      Синтаксис оператора

      Текстовий

      240

      Семантика оператора

      Текстовий

      255

      Пример использования

      Числовий

      Довге ціле

      • Таблиця 2.2.4. «Параграфы»
      • Поле

        Тип даних

        Розмір

        Код параграфа

        Лічильник

        Название параграфа

        Текстовий

        50

        Краткое содержание

        Текстовий

        250

        Начальная страница

        Числовий

        Довге ціле

        Конечная страница

        Числовий

        Довге ціле

        • Таблиця 2.2.5. «Примечания»
        • Поле

          Тип даних

          Розмір

          Код примечания

          Лічильник

          Страница

          Числовий

          Довге ціле

          Примечание

          Поле МЕМО

          • Таблиця 2.2.6. «Рисунки»
          • Поле

            Тип даних

            Розмір

            Код рисунка

            Лічильник

            Название рисунка

            Текстовий

            65

            Страница расположения
            рисунка

            Числовий

            Довге ціле

            Рисунок

            Поле МЕМО

            • Таблиця 2.2.7. «Таблицы»
            • Поле

              Тип даних

              Розмір

              Код таблицы

              Лічильник

              Название таблицы

              Текстовий

              60

              Страница нахождения

              Числовий

              Довге ціле

              Таблица

              Поле МЕМО

              • Структура таблиць відноситься до 3 НФ:
              • 1) кожен стовпець таблиці неподільний і в рамках однієї таблиці немає стовпців з однаковими за змістом значеннями.
              • 2) первинні ключі таблиць однозначно визначають запис і не надмірні.
              • 3) значення будь-якого поля не входить у первинний ключ, не залежить від значення іншого поля, що також не входить у первинний ключ.
              • 2.3 Фізичне проектування інформаційних систем
              • Фізичне проектування -- це безпосереднє проектування програмних модулів, з яких збирається додаток; це точка зору програміста на додаток.
              • Перехід від логічного до фізичного опису моделі складається з наступних кроків: [7]
              • 1. Всі прості сутності перетворюються у зв'язки, ім'я сутності стає ім'ям відношення.
              • 2. Кожен атрибут стає можливим стовпцем з тим же ім'ям. Стовпці, що відповідають необов'язковим атрибутам, можуть містити NULL-значення.
              • 3. Компоненти унікального ідентифікатора сутності перетворюються в первинний ключ відношення.
              • 4. Зв'язки «багато до одного» стають зовнішніми ключами.
              • З огляду на пряму відповідність логічної моделі та фізичної реалізації, остання чітко відображає перше, вносячи деякі уточнення за способом зберігання інформації. Тобто з урахуванням всього вищесказаного про розробку логічної моделі АС і логічної схеми БД отримана фізична модель БД.
              • 2.3.1 СУБД Access
              • Система управління базами даних (СУБД) -- спеціалізований комплекс програм, призначений для зручної та ефективної організації, контролю та адміністрування баз даних. В якості структурної форми СУБД може бути використана будь-яка з існуючих на сьогодні моделей. Прикладом такої моделі може служити реляційна СУБД або мережева СУБД. [8]
              • Microsoft Access -- реляційна СУБД корпорації Microsoft. Має широкий спектр функцій, включаючи зв'язані запити, сортування по різних полях, зв'язок із зовнішніми таблицями і базами даних. Завдяки вбудованій мові VBA, в самому Access можна писати програми, що працюють з базами даних.
              • Основні компоненти MS Access:
              • · будівник таблиць;
              • · будівник екранних форм;
              • · будівник SQL-запитів (мова SQL в MS Access не відповідає стандарту ANSI);
              • · будівник звітів, що виводяться на друк.
              • Microsoft Access на сьогоднішній день є одним з найпоширеніших настільних додатків для роботи з базами даних. Це пов'язано з тим, що Access володіє дуже широким діапазоном засобів для введення, аналізу та представлення даних.
              • 2.3.2 Об'єкти Access
              • Таблиці -- це основні об'єкти будь-якої бази даних. По-перше, в таблицях зберігаються всі дані, які є в базі, а по-друге, таблиці зберігають і структуру бази (поля, їх типи і властивості).
              • Запити -- це об'єкти, що служать для отримання даних з таблиць і надання їх користувачеві в зручному вигляді. За допомогою запитів виконують такі операції як відбір даних, їх сортування і фільтрацію. За допомогою запитів можна виконувати перетворення даних по заданому алгоритму, створювати нові таблиці, виконувати автоматичне наповнення таблиць даними, імпортованими з інших джерел, виконувати найпростіші обчислення в таблицях і багато іншого. [9]
              • Якщо запити -- це спеціальні засоби для відбору та аналізу даних, то форми -- це засоби для введення даних. Сенс їх той самий -- надати користувачеві засоби для заповнення лише тих полів, які йому заповнювати належить. Одночасно з цим у формі можна розмістити спеціальні елементи управління (лічильники, що розкриваються списки, перемикачі, прапорці та інше) для автоматизації введення. Переваги форм розкриваються особливо наочно, коли відбувається введення даних з заповнених бланків. У цьому випадку форму роблять графічними засобами так, щоб вона повторювала оформлення бланка -- це помітно спрощує роботу складача, знижує його стомлення і запобігає появі друкарських помилок.
              • По своїх властивостях і структурі звіти багато в чому схожі на форми, але призначені тільки для виводу даних, причому для виводу не на екран, а на принтер. У зв'язку з цим звіти відрізняються тим, що в них прийняті спеціальні заходи для групування виведених даних і для виведення спеціальних елементів оформлення, характерних для друкованих документів.
              • Макроси та модулі. Ці категорії об'єктів призначені як для автоматизації повторюваних операцій при роботі з СУБД, так і для створення нових функцій шляхом програмування. В СУБД Microsoft Access макроси складаються з послідовності внутрішніх команд СУБД і є одним із засобів автоматизації роботи з базою. Модулі створюються засобами зовнішнього мови програмування, в даному випадку мови Visual Basic for Applications. Це один із засобів, за допомогою яких розробник бази може закласти в неї нестандартні функціональні можливості, задовольнити специфічне вимоги замовника, підвищити швидкодію системи управління, а також рівень її захищеності. [10]
              • 2.3.3 Створення таблиць
              • При створенні бази даних дані зберігаються в таблицях -- списках рядків і стовпців, що відносяться до конкретної області. Визначення структури бази даних потрібно завжди починати зі створення її таблиць. Таблиці створюються раніше будь-яких інших об'єктів бази даних.
              • Проста база даних може складатися всього з однієї таблиці.
              • Усі таблиці бази даних «Теорія та практика прикладного програмування» були створені у режимі конструктора.
              • Рисунок 2.3.1 - Таблиця «Глава»
              • Рисунок 2.3.2 - Таблиця «Листинги»
              • Рисунок 2.3.3 - Таблиця «Операторы»
              • Рисунок 2.3.4 - Таблиця «Параграфы»
              • Рисунок 2.3.5 - Таблиця «Примечания»
              • Рисунок 2.3.6 - Таблиця «Рисунки»
              • Рисунок 2.3.7 - Таблиця «Таблицы»
              • Так як дана база є реляційною, то вона містить не окремі таблиці, а групи взаємопов'язаних таблиць. Для створення зв'язків між таблицями використовувалася команда Схема даних меню Сервіс.
              • Рисунок 2.3.8 - Схема даних
              • 2.3.4 Створення запитів
              • Запит (query) -- це засіб вибору необхідної інформації з бази даних. Питання, що сформоване по відношенню до бази даних, і є запит.
              • Існує кілька типів запитів: на вибірку, на оновлення, на додавання, на видалення, перехресний запит, створення таблиць. Найбільш поширеним є запит на вибірку. Запити на вибірку використовуються для відбору потрібної користувачу інформації, що міститься в таблицях. Вони створюються тільки для пов'язаних таблиць. [9]
              • Запит «Использование компонент в параграфе» виводить інформацію про те, чи використовуються у даних параграфах компоненти.
              • Рисунок 2.3.9 - Запит «Использование компонент в параграфе» у режимі Конструктора
              • Рисунок 2.3.10 - Робота запиту «Использование
                компонент в параграфе»
              • Запит «Использование операторов в листингах» дозволяє отримати інформацію про те, які лістинги які оператори містять.
              • Рисунок 2.3.11 - Запит «Использование операторов в листингах»
                у режимі Конструктора
              • Рисунок 2.3.12 - Робота запиту «Использование операторов
                в листингах»
              • Запит «Использование операторов в параграфах» є параметричним запитом, що надає відомості про те, які оператори містить зазначений користувачем параграф.
              • Рисунок 2.3.13 - Запит «Использование операторов в параграфах»
                у режимі Конструктора
              • Рисунок 2.3.14 - Робота запиту «Использование операторов в параграфах»
              • Запит «Количество рисунков в параграфе» надає відомості про загальну кількість рисунків у кожному параграфі. Для створення цього запиту використовувалась функція Count.
              • Рисунок 2.3.15 - Запит «Количество рисунков в параграфе» у режимі Конструктора
              • Рисунок 2.3.16 - Робота запиту «Количество рисунков в параграфе»
              • Перехресний запит «Количество страниц в параграфе» виводить результат розрахунку загальної кількості сторінок у кожному параграфі.
              • Рисунок 2.3.17 - Перехресний запит «Количество страниц в параграфе» у режимі Конструктора
              • Рисунок 2.3.18 - Робота перехресного запиту «Количество страниц в параграфе»
              • Запит «Операторы в главе» виводить інформацію про оператори (назву, синтаксис, семантику та лізинг, у якому вони зустрічається).
              • Рисунок 2.3.19 - Запит «Операторы в главе» у режимі Конструктора
              • Рисунок 2.3.20 - Робота запиту «Операторы в главе»
              • Параметричний запит «Операторы и листинги в параграфах» надає відомості про те, скільки разів кожен оператор та лістинг зустрічається у параграфі.
              • Рисунок 2.3.21- Запит «Операторы и листинги в параграфах»
                у режимі Конструктора
              • Рисунок 2.3.22 - Робота запиту «Операторы и листинги в параграфах»
              • Запит «Рисунки в главе» надає інформацію про рисунки, що містяться у главі (назву параграфа, у якому зустрічається, назву рисунка, сторінку та власне сам рисунок).
              • Рисунок 2.3.23- Запит «Рисунки в главе» у режимі Конструктора
              • Рисунок 2.3.24 - Робота запиту «Рисунки в главе»
              • Параметричний запит «Сведения об операторах» дозволяє побачити детальну інформацію про зазначений користувачем оператор.
              • Рисунок 2.3.25- Запит «Сведения об операторах» у режимі Конструктора
              • Рисунок 2.3.26 - Робота запиту «Сведения об операторах»
              • Запит «Содержательность главы» надає інформацію про кожний параграф (назву, короткий зміст, початкову та кінцеву сторінки).
              • Рисунок 2.3.27- Запит «Содержательность главы» у режимі Конструктора
              • Рисунок 2.3.28 - Робота запиту «Содержательность главы»
              • Запит «Таблицы в параграфах на И» дозволяє побачити таблиці, що містяться у відсортованих за літерою «И» параграфах.
              • Рисунок 2.3.29- Запит «Таблицы в параграфах на И» у режимі Конструктора
              • Рисунок 2.3.30 - Робота запиту «Таблицы в параграфах на И»
              • 2.3.5 Створення форм
              • Всі форми БД «Теорія та практика прикладного програмування» були створені за допомогою Майстра. Відкриття форм здійснюється натисканням відповідних кнопок на кнопковій формі (Рисунок 2.3.31), яка створена за допомогою Диспетчеру кнопкових форм. При запуску БД кнопкова форма запускається автоматично.
              • Рисунок 2.3.31 - Кнопкова форма
              • Форми «Использование компонент в параграфе» (Рисунок 2.3.32), «Использование компонент в параграфе» (Рисунок 2.3.33), «Использование операторов в параграфах» (Рисунок 2.3.34), «Количество рисунков в параграфе» (Рисунок 2.3.35), «Количество страниц в параграфе» (Рисунок 2.3.36), «Операторы и листинги в параграфах» (Рисунок 2.3.37), «Операторы в главе» (Рисунок 2.3.38), «Рисунки в главе» (Рисунок 2.3.39) та «Таблицы в параграфах на И» (Рисунок 2.3.40) відображають зміст однойменних запитів.
              • Рисунок 2.3.32 - Форма «Использование компонент в параграфе»
              • Рисунок 2.3.33 - Форма «Использование операторов в листингах»
              • Рисунок 2.3.34 - Форма «Использование операторов в параграфах»
              • Рисунок 2.3.35 - Форма «Количество рисунков в параграфе»
              • Рисунок 2.3.36 - Форма «Количество страниц в параграфе»
              • Рисунок 2.3.37 - Форма «Операторы и листинги в параграфах»
              • Рисунок 2.3.38 - Форма «Операторы в главе»
              • Рисунок 2.3.39 - Форма «Рисунки в главе»
              • Рисунок 2.3.40 - Форма «Таблицы в параграфах на И»
              • Форма «Краткое содержание главы» відображає зміст запиту «Содержательность главы».
              • Рисунок 2.3.41 - Форма «Краткое содержание главы»
              • Форма «Таблицы в главе» відображає таблиці, що містяться у главі, та інформацію про їх розміщення.
              • Рисунок 2.3.42 - Форма «Таблицы в главе»
              • Форми «Примечания в главе» (Рисунок 2.3.43) та «Листинги в главе» (Рисунок 2.3.44) надають аналогічну інформацію, але стосовно приміток та лістингів відповідно.
              • Рисунок 2.3.43 - Форма «Примечания в главе»
              • Рисунок 2.3.44 - Форма «Листинги в главе»
              • 3 ІНСТРУКЦІЯ КОРИСТУВАЧА
              • База даних «Теорія та практика прикладного програмування» призначена для зберігання довідкової інформації, що міститься у певних главах посібника з прикладного програмування (Культин Н.Б. Основы программирования в Delphi7).
              • Головна кнопкова форма запускається автоматично, відразу після запуску БД.
              • Рисунок 3.1 - Інтерфейс кнопкової форми
              • де кнопка:
              • 1 - відкриває форму «Краткое содержание главы» (Рисунок 2.3.41);
              • 2 - відкриває форму «Операторы в главе» (Рисунок 2.3.38);
              • 3 - відкриває фору «Таблицы в главе» (Рисунок 2.3.42);
              • 4 - відкриває форму «Рисунки в главе» (Рисунок 2.3.39);
              • 5 - відкриває форму «Примечания в главе» (Рисунок 2.3.43);
              • 6 - відкриває форму «Листинги в главе» (Рисунок 2.3.44);
              • 7 - відкриває форму «Запроси» (Рисунок 3.2),
              • Рисунок 3.2 - Інтерфейс кнопкової форми «Запроси»
              • яка містить компоненти для відображення існуючих запитів, де кнопка:
              • 9 - відкриває форму «Использование компонент в параграфе» (Рисунок 2.3.32);
              • 10 - відкриває форму «Таблицы в параграфах на И» (Рисунок 2.3.40);
              • 11 - відкриває форму «Использование операторов в листингах» (Рисунок 2.3.33);
              • 12 - відкриває форму «Использование операторов в параграфах» (Рисунок 2.3.34);
              • 13 - відкриває форму «Количество рисунков в параграфе» (Рисунок 2.3.35);
              • 14 - відкриває форму «Количество страниц в параграфе» (Рисунок 2.3.36);
              • 15 - відкриває форму «Операторы и листинги в параграфах» (Рисунок 2.3.37);
              • 16 - повертає користувача до попередньої кнопкової форми (Рисунок 3.1).
              • Натискання кнопки (8) призведе до закриття всієї бази даних.
              • ВИСНОВКИ
              • У процесі даної курсової роботи була спроектована та реалізована в СУБД MS Access інформаційна система «Теорія та практика прикладного програмування».
              • У цій базі даних зберігається довідкова інформація, що міститься у певних главах посібника з прикладного програмування (Культин Н.Б. Основы программирования в Delphi 7). База містить запити, що дозволяють здійснювати пошук необхідних даних та відображати статистичну інформацію, як то: інформацію про зміст глави; які таблиці, компоненти та лістинги містяться у параграфі; який оператор у якому лістингу знаходиться; інформація про загальну кількість сторінок.
              • Дана система пройшла всі три етапи проектування. На інфологічному рівні структура бази даних була відображена у вигляді ER-діаграми, яка надалі була приведена до третьої нормальної форми. На даталогічному рівні -- представлена реляційною моделлю. У таблицях був усунений надлишок. Безпосередня робота з СУБД з формування таблиць і їх заповнення на комп'ютері була проведена на стадії фізичного проектування.
              • Таким чином, було створено 7 таблиць, 11 запитів та 14 форм. Розмір файлу БД -- 8,28 Мб.
              • Надалі дану систему можна вдосконалювати, відповідно до потреб користувачів.
              • ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ
              • Кузин А.В., Левонисова С.В. Базы данных. -- Академия, 2008. -- 320 с.
              • ГОСТ 34.003-90. Государственный стандарт Российской Федерации: «Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Термины и определения». -- М.: ИПК Издательство стандартов, 2002.
              • http://www.intuit.ru/ . -- Інтернет університет інформаційних технологій.
              • Дейт Д. Введение в систему баз данных. -- М., СПб.: BHV -- Санкт-Петербург, 1977. -- 312 с.
              • http://ru.wikipedia.org/ . -- Вільна енциклопедія.
              • Гринченко Н. Н., Гусев Е. В., Макаров Н. П. Проектирование баз данных. СУБД Microsoft Access -- Горячая Линия-Телеком, 2004. -- 240 с.
              • Горев А., Макашарипов С., Ахаян Р. Эффективная работа с СУБД. -- К.: Академія, 2003. -- 344с.
              • Бекаревич Ю., Пушкина Н. Самоучитель Microsoft Access 2003. -- БХВ-Петербург, 2004. -- 738 с.
              • Степанов В. Скачать книгу Microsoft Access 2003 для начинающих. -- Аквариум-Принт, Дом печати - Вятка, 2004. -- 128 с.
              • http://www.lessons-tva.info/ . -- Безкоштовне дистанційне навчання інформатиці, телекомунікаціям та основам електронного бізнесу.
              • Листинг
              • Unit Phone_u;
              • Interface
              • uses
              • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
              • Forms, Dialogs, StdCtrls;
              • type
              • TForm1= class{TForm}
              • Edit1: TEdit; //поле ввода длительности разговора
              • Edit2: TEdit; //поле ввода номера дня недели
              • Button1: TButton; //кнопка Вычислить
              • Label1: TLabel;
              • Label2: TLabel;
              • Label3: TLabel;
              • procedure Button1Click(Sender: TObject);
              • private
              • {Private declarations}
              • public
              • {Public declarations}
              • end;
              • var
              • Form1:TForm1;
              • implementation
              • {SR*.dfm}
              • procedure Button1Click(Sender: TObject);
              • const
              • PAY=0.15; //цена одной минуты разговора 0,15 рубля
              • DISCOUNT=0.2; //скидка 20 процентов
              • var
              • Time: real; //длительность разговора
              • Day: integer; //день недели
              • Summa: real; //стоимость разговора
              • begin
              • //получить исходные данные
              • Time:=StrToFloat(Edit1.Text);
              • Day:=StrToInr(Edit2.Text);
              • //Вычислить стоимость разговора
              • Summa:=PAY*Time;
              • //Если день суббота или воскресенье, то уменьшить
              • //стоимость на величину скидки
              • if (Day=6) or (Day=7)
              • then Summa:=Summa*(1-DISCOUNT);
              • //Вывод результата вычисления
              • Label1.Caption:='К оплате'+FloatToStr(Summa)+'руб.';
              • end;
              • end.
              • Unit wtest_;
              • Interface
              • uses
              • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
              • Forms, Dialogs, StdCtrls;
              • type
              • TForm1= class{TForm}
              • Label1: TLabel;
              • Label2: TLabel;
              • Edit1: TEdit; //поле ввода Веса
              • Edit2: TEdit; //поле ввода Роста
              • Button1: TButton; //кнопка Вычислить
              • Label3: TLabel; //поле вывода сообщения - результата работы программы
              • procedure Button1Click(Sender: TObject);
              • private
              • {Private declarations}
              • public
              • {Public declarations}
              • end;
              • var
              • Form1:TForm1;
              • implementation
              • {SR*.dfm}
              • procedure Button1Click(Sender: TObject);
              • var
              • w : real; //вес
              • h: real; //рост
              • opt: real; //оптимальный вес
              • d: real; //отклонение от оптимального веса
              • begin
              • w:=StrToFloat(Edit1.Text);
              • h:=StrToInt(Edit2.Text);
              • opt:=h-100;
              • if w=opt
              • then
              • Label3.Caption:='Вы в хорошей форме!'
              • else
              • if w<opt
              • then
              • begin
              • d:=opt-w;
              • Label3.Caption:='Вам надо поправиться на '
              • +FloatToStr(d)+'кг.';
              • end;
              • else
              • begin
              • d:=w-opt;
              • Label3.Caption:='Надо немного похудеть, на '
              • +FloatToStr(d)+'кг.';
              • end;
              • end;
              • end.
              • Unit 1;
              • Interface
              • uses
              • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
              • Forms, Dialogs, StdCtrls;
              • type
              • TForm1= class{TForm}
              • Label2: TLabel;
              • Edit1: TEdit; //поле ввода веса в фунтах
              • Button1: TButton; //кнопка Вычислить
              • Label1: TLabel;
              • Label3: TLabel;
              • ListBox1: TlistBox; //список стран
              • Label4: TLabel; //поле вывода результата - веса в килограммах
              • procedure FormCreate(Sender: TObject);
              • procedure Button1Click(Sender: TObject);
              • private
              • {Private declarations}
              • public
              • {Public declarations}
              • end;
              • var
              • Form1:TForm1;
              • implementation
              • {SR*.dfm}
              • procedure FormCreate(Sender: TObject);
              • begin
              • ListBox1.Items.Add(Россия);
              • ListBox1.Items.Add(Австралия);
              • ListBox1.Items.Add(Англия);
              • ListBox1.Items.Add(Германия);
              • ListBox1.Items.Add(Дания);
              • ListBox1.Items.Add(Исландия);
              • ListBox1.Items.Add(Италия);
              • ListBox1.Items.Add(Нидерланды);
              • ListBox1.ItemIndex:=0;
              • end;
              • procedure Button1Click(Sender: TObject);
              • var
              • funt: real; //вес в фунтах
              • kg: real; //вес в килограммах
              • k: real; //коэффициент пересчета
              • begin
              • case ListBox1.ItemIndex:=0 do
              • 0: k:=0.4095; //Россия
              • 1: k:=0.453592; //Англия
              • 2: k:=0.56001 //Австралия
              • 3..5,7 k:=0.5 //Германия, Дания, Исландия, Нидерланды
              • 6: k:=0.31762 //Италия
              • end;
              • funt:=StrToFloat(Edit1.Text);
              • kg:=kg*funt;
              • Label4.Caption:=Edit1.Text
              • +'ф. - это'
              • +FloatToStrF(kg,ffixed,6,3)
              • +'кг.';
              • end;
              • end.
              • Unit rub_1;
              • Interface
              • uses
              • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
              • Forms, Dialogs, StdCtrls;
              • type
              • TForm1= class{TForm}
              • Label1: TLabel;
              • Edit1: TEdit; //поле ввода длительности разговора
              • Label2: TLabel;
              • Edit2: TEdit; //поле ввода номера дня недели
              • Button1: TButton; //кнопка Вычислить
              • Label3: TLabel;
              • procedure Edit1KeyPress(Sender: Tobject; var Key: Char);
              • private
              • {Private declarations}
              • public
              • {Public declarations}
              • end;
              • var
              • Form1:TForm1;
              • implementation
              • {SR*.dfm}
              • //нажатие клавиши
              • procedure Edit1KeyPress(Sender: Tobject; var Key: Char);
              • var
              • n: integer; //число
              • r: integer; //остаток от деления n на 10
              • text: string[10]; //формируемый поясняющий текст
              • begin
              • if Key=chr(VK_RETURN) then
              • begin
              • n:=StrToInt(Edit1.Text);
              • if n>100
              • then n:=n mod 100;
              • if (n>=11) and (n<=14)
              • then
              • text:='рублей'
              • else
              • begin
              • r:=n mod 10
              • case r of
              • 1: text:=' рубль';
              • 2..4: text:=' рубля'
              • else text:=' рублей';
              • end;
              • end;
              • Label2.Caption:=IntToStr(n)+text;
              • end;
              • end.
              • //вычисление даты следующего дня
              • day: integer; //день
              • month: integer; //месяц
              • year: integer; //год
              • last: boolean; //если день - последний день месяца,
              • //то last:=True
              • r: integer; //если год не високосный, то остаток
              • //от деления year на 4 не равен нулю
              • begin
              • //переменные day, month и year содержат сегодняшнюю дату 1
              • last:=False //пусть день - не последний день месяца
              • case month of
              • 4, 6, 9, 11: if day=30 then last:=True;
              • 2: if day=28 then
              • begin
              • r:=year mod 4;
              • if r<>0 then last:=True;
              • end;
              • else: if day=31 then last:=True
              • end;
              • if last then
              • begin //последний день месяца
              • day:=1;
              • if month=12 then
              • begin //последний месяц
              • month:=1;
              • year:=year+1;
              • end;
              • else
              • month:=month+1;
              • end;
              • else
              • day:=day+1;
              • // переменные day, month и year содержат завтрашнюю дату
              • end;
              • Unit pi;
              • Interface
              • uses
              • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
              • Forms, Dialogs, StdCtrls;
              • type
              • TForm1= class{TForm}
              • Edit1: TEdit; //точность вычисления
              • Button1: TButton; //кнопка Вычислить
              • Label1: TLabel;
              • Label2: TLabel; //поле вывода результата
              • procedure Button1Click(Sender: TObject);
              • private
              • {Private declarations}
              • public
              • {Public declarations}
              • end;
              • var
              • Form1:TForm1;
              • implementation
              • {SR*.dfm}
              • procedure Button1Click(Sender: TObject);
              • var
              • pi: real; //вычисляемое значение ПИ
              • t: integer; //точность вычисления
              • n: integer; // номер члена ряда
              • elem: real; //значение члена ряда
              • begin
              • pi:=0;
              • n:=1;
              • t:=StrToFloat(Edit1.Text);
              • elem:=1; //чтобы начать цикл
              • while elem>=t do
              • begin
              • elem:=1/(2*n-1)
              • if n mod 2 =0
              • then pi:=pi-elem
              • else pi:=pi+elem;
              • n:=n+1;
              • end;
              • pi:=pi*4;
              • Label1.Caption:= `ПИ равно'+FloatToStr(pi)+#13
              • +`Просуммировано'+IntToStr(n)+ `членов ряда.';
              • end;
              • end.
              • Unit simple_;
              • Interface
              • uses
              • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
              • Forms, Dialogs, StdCtrls;
              • type
              • TForm1= class{TForm}
              • Button1: TButton; //кнопка Проверить
              • Label1: TLabel;
              • Edit1: TEdit; //поле ввода числа
              • Label2: TLabel; //поле вывода результат
              • procedure Button1Click(Sender: TObject);
              • private
              • {Private declarations}
              • public
              • {Public declarations}
              • end;
              • var
              • Form1:TForm1;
              • implementation
              • {SR*.dfm}
              • procedure Button1Click(Sender: TObject);
              • var
              • n: integer; //проверяемое число
              • d: integer; //делитель
              • r: integer; //остаток от n деления на d
              • begin
              • n:=StrToInt(Edit1.Text);
              • d:=2; //сначала будем делить на два
              • repeat
              • r:=n mod d;
              • if n <>0 //n не делилось нацело на d
              • then d:=d+1;
              • until r=o //найдено число, на которое n делилось без остатка
              • Labe2.Caption:=Edit1.Text;
              • if d=n
              • then
              • Label2.Caption:= Label2.Caption+`- простое число'
              • Label2.Caption:= Label2.Caption+ ` - обычное число'
              • end;
              • end.
              • procedure Button1Click(Sender: TObject);
              • label //раздел объявления меток
              • bye;
              • var
              • n: integer; //проверяемое число
              • d: integer; //делитель
              • r: integer; //остаток от n деления на d
              • begin
              • n:=StrToInt(Edit1.Text);
              • if n<=0 then
              • begin
              • MessageDlg(`Число должно быть больше нуля.',
              • mtError,mb[OK],0);
              • Edit1.Text:='';
              • goto bye;
              • end;
              • //Введено положительное число
              • d:=2; //сначала будем делить на два
              • repeat
              • r:=n mod d;
              • if n <>0 //n не делилось нацело на d
              • then d:=d+1;
              • until r=o
              • Labe2.Caption:=Edit1.Text;
              • if d=n
              • then
              • Label2.Caption:= Label2.Caption+`- простое число'
              • Label2.Caption:= Label2.Caption+ ` - обычное число'
              • end;
              • end.

              Страницы: 1, 2



    © 2003-2013
    Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.