![]() ![]() |
Главная страница > Курсовая работа: Понятие множества. Символьный тип | Курсовая работа: Понятие множества. Символьный тип |
|
![]() |
Что можно сделать с описаниями переменных, чтобы мы могли работать одновременно с обеими структурами? Для этого в описании записи можно применить специальный переключатель Case. После возможного результата Proverka в скобках приводится описание соответствующих полей. Это иллюстрируется ниже: type Effect=Record Nomer: Integer; Case Proverka: Boolean of FALSE: (PrinimalRanee: Boolean); TRUE : (GolovBol,Lihoradka,Toshnota: Boolean) end; var Nekto: Effect; Переключатель Case используется здесь для описания переменных и отличается от оператора Case: в переключателе Case используются скобки и отсутствует служебное слово end, обязательное в конце "обычного" Case. Часть, которая встречается в обеих структурах, называется фиксированной частью. Часть, которая встречается только в одной из структур, называется вариантной частью, а поле, которое является важным для продолжения дальнейшей структуры, называется общим узловым полем (или тегом). В случае, когда один из вариантов не содержит полей (т.е. список полей пуст), в скобках после соответствующей константы ничего не пишут, например: Type Pogoda=Record Temperatura: Integer; Vlagnost : Integer; Case Veter: Boolean of TRUE : (Napravlenie: (S,N,V,O); Skorost : Integer); FALSE: () end;
Замечания: После вариантной части записи поля появляться не могут. Имена полей, использующиеся в описании различных вариантов, не должны повторяться в этой записи; нельзя также применять одно и то же имя в общей и вариантной частях записи. Вариантная часть может содержать другие записи, в том числе и с вариантами. Степень вложенности записей в вариантной части не ограничена. Список выходных данных Выводятся ученики одного класса, либо проживающие в одном доме. Разработка алгоритма решения задач Разработка блок-схемы решения задачи Программный код: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls, Mask, DBCtrls, ExtCtrls, Grids, DBGrids, ComCtrls; type TForm1 = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; DBEdit4: TDBEdit; DBEdit5: TDBEdit; DBEdit6: TDBEdit; DBEdit7: TDBEdit; DBEdit8: TDBEdit; DBEdit9: TDBEdit; DBEdit10: TDBEdit; DBEdit11: TDBEdit; Edit1: TEdit; Button1: TButton; ADOConnection1: TADOConnection; ADODataSet1: TADODataSet; ADODataSet2: TADODataSet; DataSource1: TDataSource; DataSource2: TDataSource; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ADODataSet2.Close; if Length(Edit1.Text)<>0 then ADODataSet2.CommandText:='select*from школьники where класс like'''+Edit1.Text+'%''or адрес like''%'+Edit1.Text+'''' Else AdoDataSet2.CommandText:='select*from школьники'; ADODataSet2.Open; end; end Список функций: TForm1 = class(TForm) – служит для создания формы; PageControl1: TPageControl;- многостраничная панель; TabSheet1: TTabSheet; - вкладка «добавление/редактирование»; TabSheet2: TTabSheet; - вкладка «поиск»; Label1: TLabel; - для подписи компонента DBEdit1; Label2: TLabel; - для подписи компонента DBEdit2; Label3: TLabel; - для подписи компонента DBEdit3; Label4: TLabel; - для подписи компонента DBEdit4; Label5: TLabel; - для подписи компонента DBEdit5; Label6: TLabel; - для подписи компонента DBEdit6; Label7: TLabel; - для подписи компонента DBEdit7; Label8: TLabel; - для подписи компонента DBEdit8; Label9: TLabel; - для подписи компонента DBEdit9; Label10: TLabel; - для подписи компонента DBEdit10; Label11: TLabel; - для подписи компонента DBEdit11; DBGrid1: TDBGrid; - отображение данных; DBNavigator1: TDBNavigator; - управление данными; DBEdit1: TDBEdit – отображает номер личного дела; DBEdit2: TDBEdit; - отображает фамилию; DBEdit3: TDBEdit; - отображает имя; DBEdit4: TDBEdit; - отображает отчество; DBEdit5: TDBEdit; - отображает дату рождения; DBEdit6: TDBEdit; - отображает класс; DBEdit7: TDBEdit; - отображает адрес; DBEdit8: TDBEdit; - отображает номер квартиры; DBEdit9: TDBEdit; - отображает семью; DBEdit10: TDBEdit; - отображает ФИО папы; DBEdit11: TDBEdit; - отображает ФИО мамы; Edit1: TEdit; - служит для ввода критерия поиска; Button1: TButton; - добавление кнопки; ADOConnection1: TADOConnection; - обеспечивает соединение с БД; ADODataSet1: TADODataSet; - представляет собой данные, полученные от источника данных, в результате выполнения SQL – запросов; ADODataSet2: TADODataSet; DataSource1: TDataSource; - источник данных; DataSource2: TDataSource; procedure Button1Click(Sender: TObject); - при нажатии на кнопку происходит поиск; procedure TForm1.Button1Click(Sender: TObject); - построение запроса для кнопки; Проверка по шагам для отдельных алгоритмов программы Вкладка "Добавление/редактирование" С помощью этой вкладки пользователь может добавлять или редактировать данные об учениках. Вкладка Поиск С помощью этих вкладок пользователь может произвести поиск учеников по классу или по адресу. Разработка интерфейса На первой вкладке «Добавление/редактирование» при помощи DBNavigator мы можем добавлять или редоктировать уже существующие данные об учениках. На второй вкладке «Поиск» при нажатии кнопки «поиск» происходит поиск по классам или по адресу(ученики проживающие в одном доме). Тестирование и результаты работы программы Данная программа предназначена для поиска учеников, которые учатся в одном классе либо проживают в одном доме. Это очень удобно когда необходимо узнать сколько учеников учатся в классе, либо место их прописки (в этом и заключается эффективность данной программы). Для большей эффективности можно создать еще несколько запросов таких как: количество отличников, посещаемость, средний балл по классам и так далее. В ходе данной работы было: раскрыто понятие множества, описаны операций, которые можно выполнять над множеством; раскрыто понятие символьного и комбинированного типов данных; описаны операции и функции для работы с символьными переменными; Также в ходе данной работы была написана программа для сохранения и обработки информации об учениках. Данная программа написана на современном языке Turbo-Pascal, который позволил наиболее просто представить эту работу. В ходе выполнения курсового проекта я ознакомился с новыми приемами программирования и особенностями языка Turbo-Pascal. Список использованной литературы 1. Лахатин, А.С. Языки программирования. Учеб. пособие / А.С. Лахатин, Л.Ю. Искакова. - Екатеринбург, 1998. - 548с.: ил. 2. Богатырев, А. Язык программирования С [Электронный ре-сурс] / А. Богатырев.- электр. дан. - Режим доступа: http://www.refby.com. - Загл. с экрана. 3. Уэйт, М. Язык С. Руководство для начинающих. / М. Уэйт, С. Прага, Д. Мартин. - М.: Мир, 1995. - 521с.: ил. 4. Фридман, А.Л. Язык программирования / А.Л.Фридман. - М.: Бином, 2006. - 523с.: ил. 5. Патрикеев, Ю.Н. Объектно-ориентированное программирова-ние [Электронный ресурс] / Ю.Н.Патрикеев. - Электрон. Дан. - Режим дос-тупа: http://www.intuit.ru/department/pl/cpp/lit.html. - загл. с экрана. 6. Тарасов, И. Thinking in C++/ И. Тарасов.- М.: 2004.- 496с.: ил. 7. Гагин, А. История JAVA / А.Гагин.- М,1998.-257с.: ил. 8. Таранов, А. Java как центр архипелага [Электронный ресурс] / А. Таранов, В. Цишевский. - Электрон. дан.- Режим доступа: http:// www. fortunecity.com/skyscraper/mmx/490/index.html. - Загл. с экрана. 9. Коропов, С. Алгоритм [Электронный ресурс] / С. Коропов. - Электрон. дан. - Режим доступа: ftp://labrea.stanford.edu/pub/cweb/ . - Загл. с экрана. 10. Робинсон, С. C# для профессионалов: T.1. / С.Робинсон, О. Корнес, Д.Глин, Б. Харвей и др.; пер. с англ. С. Кортыгин и О. Труфанов. - М. ЛОРИ. - М.: 2005. - 999с. |
||||||||||||||||||
Новости |
---|
Copyright © 2006-2012 |