Внастоящее время в компьютерном мире существует множество языков программирования

Вид материалаДокументы

Содержание


7.2. Создание программы «список студентов»
ID) – тип поля автоинкремент, поле первичного индекса; фамилия студента (поле Name
Name; Sex
EFind, используя событие onClick
7.3. Индивидуальное задание
8. Выполнение курсового проекта по программированию
8.1. Варианты курсовых работ
Список рекомендуемой литературы
Подобный материал:
1   ...   8   9   10   11   12   13   14   15   16

7.2. Создание программы «список студентов»


Задача: Написать программу управления структурой БД «студенты», которая позволяет добавлять, редактировать и удалять записи, а также сортировать, фильтровать записи и осуществлять поиск записи студента по введенной фамилии.

Окно программы представлено на рис.7.6.

П
роцесс создания программы происходит по следующему алгоритму:
  1. Настроить псевдоним базы данных:
    • Создать в папке создаваемой программы папку для хранения баз данных. Назвать папку «Data»;
    • Запустить BDE Administrator (из папки Delphi – «Пуск/Программы/Borland Delphi/BDE Administrator», иконка );
    • назвать псевдоним (Alias) именем по номеру группы (например, если номер группы 9599, то псевдоним назвать 9599);
    • С помощью мастера (для Delphi 3 - 6) или вручную указать папку, где будут находится файлы базы данных (указать путь к созданной папке «Data»);
    • Сохранить конфигурацию («Object/Apply») и выйти из BDE Administrator Object/Exit»);
  1. Создать базу данных:
    • Запустить Database DesktopПуск/Программы/Borland Delphi/Database Desktop», иконка );
    • Создать новую таблицу («File/New/Table»). Выбрать драйвер базы данных Paradox;
    • Создать поля таблицы «Студенты». Структура БД: идентификационный (уникальный) номер студента (поле ID) – тип поля автоинкремент, поле первичного индекса; фамилия студента (поле Name) – тип данных символьное поле; пол студента (поле Sex) – тип данных символьный; группа студента (поле Group) – тип данных числовой. Вид заполненной таблицы полей показан в таблице 7.1:



Таблица 7.1




Field Name

Type

Size

Key

1

ID

+




*

2

Name

A

20




3

Sex

A

7




4

Group

N






    • Сделать 3 вторичных индекса: по полям Name; Sex, Name (в индекс включены два поля – первое Sex, второе Name); Group, Name (выбрать среди свойств таблицы (Table Properties) свойство Secondary indexes). Назвать индексы: Index_Name, Index_Sex_Name, Index_Group_Name соответственно;
    • Сохранить таблицу (кнопка «Save as») в папке «Data», созданной в 1 пункте для БД, дав имя таблице «Student.db»;
    • Выйти из Database desktop – команда «File/Exit»;
  1. Запустить Delphi;
  2. Создать новый проект и сохранить его папке создаваемой программы («work7.dpr», «main.pas»);
  3. Настроить вид экрана:
    • Для подключения файла баз данных необходимо:
      • Поместить на форму таблицу связки (элемент Table, вкладка DataAccess, значок ). Настроить элемент Table:
      • Дать имя таблице TStud ( Name);
      • В свойстве DatabaseName указать имя псевдонима (в нашем примере 9599);
      • Настроить имя таблицы - выбрать из списка имя файла «Student.db» ( TableName);
      • Настроить индексный файл – выбрать из списка имя индекса Index_Name (сортировка по фамилии студента) ( IndexName);
      • Сделать таблицу активной (показать содержимое базы данных) – установить свойство Active в значение true;
    • Поместить элемент-связку (DataSource, DataAccess,):
      • Дать имя объекту DSStud (Name);
      • Настроить связку на элемент TStud, выбрать из списка ( DataSet);
    • Поместить на форму элемент отображения данных БД и работы с ним – элемент таблица баз данных (DBGrid, DataControl, ). Настроить его свойства:
      • Дать имя объекту DBGStud (Name);
      • Указать элемент связку DSStud (DataSet);
      • Настроить поля, которые будут отображены в таблице (Columns), запустив мастера настройки - :
        • Удалить поле «ID», нажав клавишу <Del>;
        • Изменить заголовки таблицы для каждого поля («Фамилия», «Пол», «Группа»): выбрать в списке поле и изменить его свойство Title.Caption;
        • Для поля «Пол» ввести список значений, позволяющий при вводе записи выбирать значение из списка – свойство PickList – добавить две строки «мужской», «женский»;
        • Закрыть настройщик свойств полей;
    • Для сортировки данных поместить элемент Зависимых групп кнопок ниже элемента DBGStud слева (на рис.7.6 элемент не виден):
      • Поместить элемент RadioGroup (Standard, ) и настроить свойства:
      • Имя объекта изменить на RGSort (Name);
      • Изменить заголовок на «Сортировка» (Caption);
      • Добавить список сортировки («Имя», «Пол», «Группа»), введя эти значения при редактировании свойства Items;
      • Установить по умолчанию сортировку по имени (свойство ItemIndex установить в 0);
    • Для фильтрации добавить еще один элемент зависимых кнопок (разместить справа от элемента RGSort):
      • Поместить элемент RadioGroup (Standard, ) и настроить свойства:
        • Изменить имя на RGFiltr (Name);
        • Изменить заголовок на «Фильтрация» (Caption);
        • Добавить список фильтрации («Весь список», «Юноши», «Девушки») (Items);
        • Установить по умолчанию отображение всего списка (ItemIndex);
    • Для осуществления поиска студента по фамилии добавить элементы ниже элементов RGSort и RGFiltr:
      • Элемент ввода фамилии – строка ввода (Edit,Standard,), элемент назвать EFind (Name);
      • Подсказку к строке ввода – элемент метка (Label, Standard,), изменить заголовок на «Поиск фамилии:» (Caption);
      • Кнопку начала поиска – элемент кнопка (Button, Standard,), изменить имя на BFind (Name);
    • Добавить кнопку выхода из программы (расположить справа от таблицы) – элемент кнопка (Button, Standard,), изменить имя на BQuit (Name);
    • Форма готова!
  1. Запрограммировать кнопку выхода BQuit;
  2. Запрограммировать сортировку списка студентов. Сортировка осуществляется при анализе индекса (ItemIndex) объекта RGSort. Необходимо добавить следующие строки на событие этого элемента onClick:

Case RGSort.ItemIndex of

0 : TStud.IndexName := 'Index_Name'; //индекс по имени

1 : TStud.IndexName := 'Index_Sex_Name'; //индекс по полу

2 : TStud.IndexName := 'Index_Group_Name'; //индекс по группе

end;

DBGStud.SetFocus;

{сделать активным таблицу DBGStud}
  1. Запрограммировать фильтрацию списка студентов. Фильтрация осуществляется при анализе индекса (ItemIndex) объекта RGFiltr. Необходимо добавить следующие строки на событие onClick этого элемента:

Case RGFiltr.ItemIndex of

0 : TStud.CancelRange; //отменить фильтр

1 : begin

TStud.CancelRange; //отменить фильтр

TStud.IndexName := 'Index_Sex_Name'; //индекс по полу

TStud.SetRange(['мужской'],['мужской']); //установить фильтр

{показать только мужчин}

end;

2 : begin

TStud.CancelRange; //отменить фильтр

TStud.IndexName := 'Index_Sex_Name'; //индекс по полу

TStud.SetRange(['женский'],['женский']); //установить фильтр

{показать только женщин}

end;

end;

DBGStud.SetFocus;

{сделать активным элементом таблицу DBGStud}
  1. Запрограммировать поиск записи по введенной фамилии в поле ввода элемента EFind, используя событие onClick элемента кнопка BFind. Необходимо добавить следующие строки:

TStud.CancelRange; //отменить фильтр (вдруг он установлен?)

RGSort.ItemIndex := 0; //отобразить режим сортировки

RGFiltr.ItemIndex := 0; //отобразить режим фильтра

TStud.IndexName := 'Index_Name'; //Индекс по искомому полю

TStud.FindNearest([EFind.Text]); //Поиск записи

DBStud.SetFocus; //Сделать активным таблицу DBGStud
  1. Программа написана!
  2. Запустить программу - <F9>;
  3. После запуска программы ввести данные базы данных и проверить работоспособность программы.

7.3. Индивидуальное задание


Модифицировать созданную программу для обработки данных БД «Студенты». Варианты заданий перечислены ниже:
  1. Выводить список студентов, определенного года рождения, вводимого из поля ввода;
  2. Выводить список студентов, определенной группы, вводимой в поле ввода;
  3. Выводить список студентов, у которых средний балл аттестата больше 4;
  4. Выводить список студентов, у которых нет троек по результатам сессии (средний бал сессии больше 4);
  5. Выводить список иногородних студенток;
  6. Выводить список иногородних студентов мужчин;
  7. Выводить список студентов отличников определенной группы, вводимой в поле ввода;
  8. Выводить список студентов определенной группы и определенного пола задаваемых из полей ввода;
  9. Выводить список студентов получающих стипендию больше введенного числа;
  10. Выводить список студентов не получающих стипендию;
  11. Выводить список студентов определенного года рождения и пола;
  12. Выводить список студентов, имеющих средний балл аттестата и сданной сессии больше 4;
  13. Осуществить поиск студентов с введенной фамилией определенной группы;
  14. Осуществить поиск студентов с введенной фамилией определенного года рождения;
  15. Осуществить поиск студентов с введенной фамилией определенного пола;
  16. Осуществить поиск студентов хорошистов, получающих стипендию;
  17. Осуществить поиск студентов с введенной фамилией получающих стипендию;
  18. Выводить список студентов юношей, получающих стипендию и имеющих среднюю оценку сессии больше 4;
  19. Выводить список студентов, получающих стипендию и имеющих среднюю оценку сессии меньше 4;
  20. Вывести список девушек, окончивших школу на "отлично".

7.4. Итоги


В седьмой теме были изучены: способы построения БД с помощью комбинированного типа запись; способы построения БД с использованием аппарата Delphi по поддержке баз данных; стандартные утилиты создания БД (BDE Administrator и Database desktop); некоторые стандартные операции при работе с БД.

При построении демонстрационной программы были получены навыки работы с визуальными компонентами: невидимым элементом настройки БД – Table; невидимым элементом связки файла БД с видимыми элементами – DataSource; элементом отображения, набора и редактирования данных БД – DBGrid.

8. Выполнение курсового проекта
по программированию


В процессе выполнения курсового проекта студент должен составить алгоритм и написать программу, реализующую этот алгоритм.

В качестве отчета по проделанной работе студент предъявляет: работающую программу; отчет.

Отчет должен содержать следующие разделы: титульный лист; задание на курсовое проектирование; основной текст, содержащий: словесное описание алгоритма работы программы; структурную схему алгоритма программы; распечатку программы; для расчетных программ – расчет контрольного примера с помощью программы и выполненный вручную.

Курсовая работа заканчивается защитой работы.

8.1. Варианты курсовых работ

  1. Создать программу расчета биоритмов человека на определенный срок;
  2. Программирование стрелочного таймера;
  3. Построение графика электрокардиограммы по заданным параметрам PQRST;
  4. Выдача гороскопа для введенной даты рождения;
  5. Построение психодиагностического теста для оценки типа темперамента;
  6. Нахождение корней степенного уравнения (показатель степени  4);
  7. Преобразование арифметических операций в веденной строке в польскую запись;
  8. Построение строчного калькулятора;
  9. Создать программу для статистических расчётов для фармакологии и токсикологии (использование методов альтернативного анализа);
  10. Создание графического редактора;
  11. Создание программы выравнивания текста по ширине (справа и слева);
  12. Создание программы разбиения слов текста на слоги;
  13. Создать программу для расчёта статистических показателей в работе практического врача организатора здравоохранения;
  14. Создать программу для расчёта показателей, используемых в пульмонологии;
  15. Расчет системы линейных уравнений;
  16. Создать программу, реализующую простейшие операции (сложение, вычитание, умножение и деление) с комплексными числами;
  17. Создать программу для расчётов кардиогемодинамических показателей;
  18. Создать программу вычисления показателей работы почек;
  19. Создать программу расчёта средних показателей эксперимента (среднее арифметическое, среднее гармоническое, среднее кубическое и др.);
  20. Программирование картотеки бальных поликлинического учреждения;
  21. Перевод чисел из одной системы счисления в другую (двоичная, десятичная, шестнадцатиричная, римские числа);
  22. Размещение 8 ферзей на шахматном поле так, чтобы не один ферзь не оказался под боем;
  23. Написание шифровальщика и дешифровальщика текста;
  24. Создание календаря на введенный год;
  25. Создать программу для оценки степени соответствия эмпирических и теоретических данных по различным критериям;
  26. Создание архиватора и разархиватора файлов;
  27. Программа умножения матриц. Размерность матрицы задается;
  28. Написать программу создания правильного тетраэдра с возможностью вращения построенного тетраэдра;
  29. Построение самостоятельно пополняющегося словаря перевода с одного языка на другой. Задается текст, программа, просматривая текст, переводит все слова имеющиеся в словаре. При отсутствии слова в словаре выдается запрос о его переводе и введенное слово и перевод заносится в словарь.
  30. Задается граф – вершины и соединяющие их дуги. Требуется написать программу, которая позволит пройти через вершины, используя дуги, но проходить по дуге можно только один раз.

заключение


Данное методическое пособие содержит 7 тем, каждая тема логически заканчивается рассмотрением практической задачи, использующей рассмотренные теоретические сведения. Несмотря на небольшой объём, данное пособие позволяет получить начальные сведения по построению программ. Главный замысел пособия состоит в том, чтобы предоставить студенту начальную информацию по программированию в Borland Delphi и быть основой для решения задач, выполняемых на старших курсах.

Список рекомендуемой литературы

  1. Джефф Дантеманн, Джим Мишел, Дон Тейлор Программирование в среде Delphi. Киев: DiaSoft Ltd, 1995.
  2. Культин Н. Delphi 4. Программирование на языке Object Pascal. СПб: БХВ – Санкт-Петербург, 1999.
  3. Шумаков П.В. Фаронов В.В. Delphi 5. Руководство разработчика баз данных. М.: Нолидж, 2000.
  4. Архангельский А.Я. Программирование в Delphi 5. 2 издание. М.: ЗАО «Издательство БИНОМ», 2000.
  5. Том Сван. Delphi 4. Библия разработчика. Киев, М., СПб.: Диалектика, 1998.
  6. Никлаус Вирт. Алгоритмы и структуры данных. СПб.: Невский диалект, 2001
  7. Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. ГОСТ 19.701-90 (ИСО 5807-85). М.: Государственный комитет по управлению качеством продукции и стандартам, 1990.

Содержание


Введение 1

1. Знакомство со средой программирования
Borland Delphi 3

1.1. Теоретические сведения 3

1.2. Создание программы «моя первая программа» 10

1.3. Итоги 12

2. Условные операторы 12

2.1. Теоретические сведения 13

2.2. Создание программы «попадание точки в фигуру» 19

2.3. Индивидуальное задание 22

2.4. Итоги 23

3. Операторы цикла 23

3.1. Теоретические сведения 23

3.2. Создание программы «степенные ряды» 31

3.3. Индивидуальное задание 34

3.4. Итоги 36

4. Тип данных массив 36

4.1. Теоретические сведения 36

4.2. Создание программы «работа с массивом» 40

4.3. Индивидуальное задание 45

4.4. Итоги 45

5. Графические примитивы 45

5.1. Теоретические сведения 46

5.2. Создание программы «графические примитивы» 51

5.3. Индивидуальное задание 54

5.4. Итоги 54

6. Работа с текстовой информацией 55

6.1. Теоретические сведения 55

6.2. Создание программы «редактор текста» 61

6.3. Индивидуальное задание 65

6.4. Итоги 65

7. Работа с базами данных 66

7.1. Теоретические сведения 66

7.2. Создание программы «список студентов» 74

7.3. Индивидуальное задание 77

7.4. Итоги 78

8. Выполнение курсового проекта
по программированию 78

8.1. Варианты курсовых работ 78

заключение 79

Список рекомендуемой литературы 80

Содержание 80