Состав операционной системы Windows. Объектно-ориентированные особенности языка Delphi. Основные типы данных. Анализ предметной области. Операторы организации ветвлений. Процедуры, массивы, записи, указатели, списки, модули. Комплекс технических средств.
Аннотация к работе
В основе систем быстрой разработки (RAD-систем, Rapid Application Development - среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий. Логика работы оператора if очевидна: выполнить оператор 1, если условие истинно, и оператор 2, если условие ложно. Логика работы этого оператора if еще проще: выполнить оператор, если условие истинно, и пропустить оператор, если оно ложно. Оператор case вычисляет значение переключателя (который может быть задан выражением), затем последовательно просматривает списки его допустимых значений в поисках вычисленного значения и, если это значение найдено, выполняет соответствующий ему оператор. NEXT [счетчик] где: счетчик - обязательный элемент; переменная числового типа, используемая в качестве счетчика цикла; переменная не может быть типа Boolean и не может быть элементом массива. начало и конец - обязательные элементы; выражения, задающие начальное и конечное значение счетчика цикла. шаг - необязательный элемент; если он используется, то указывается после ключевого слова STEP; этот элемент задает величину приращения счетчика, то есть при каждом прохождении цикла счетчик будет увеличиваться на шаг, пока не достигает значения 1 конец; приращение шаг может быть как положительным, так«и отрицательным; значение 0 задает бесконечный цикл (в этом случае нужно предусмотреть свой собственный вариант выхода из цикла); если шаг не указан, то приращение считается равным 1. операторы - блок операторов, составляющих тело цикла; ни один из операторов тела цикла не должен менять значение счетчика цикла (это может привести к непредсказуемым последствиям);Разработать программный комплекс «Анализ и учет продаж на складе компании «LOGYCOM»», который обеспечит создание и все операции по ведению базы данных, включающих в себя следующие файлы: 1. Товары (товары, модели, код товара, количество, цена оптом, цена в розницу); Анализ продаж (товары, модели, код товара, продажа за месяц, возврат, бракованные); Структура записей файла «БД товары» описана в таблице 2.3 Структура записей файла «БД продажа» описана в таблице 2.4Окно ввода пароля представлено на рисунке 3.1. Если пароль введен неверно, на рисунке 3.2 При выборе пункта «База данных » и нажатии кнопки появляется вложенное меню в котором предоставляется список создание, открытие, сохранения БД, а так же выхода из программы. В главном меню содержится (меню, база данных >, замена пароля, о программе) Рисунок 3.3 При запуске (Анализ продаж на складе компании «LOGYCOM») открывается база данных , которая состоит из трех частей (Товары склада компании «LOGYCOM», Анализ продаж на складе компании «LOGYCOM», Работающий персонал) Рисунок 3.4По истечению срока курсовой, я освоил новые этапы работы с программным языком Delphi, поднял благодаря практическим занятиям сноровку в отношении функций и других видов деятельности в создании программ, теперь я уверен что осознанно могу создать программы идентичные по свойствам с программами созданными во время практики, а так же поверх них имея опыт и в других типах функций и операторов написания программ.begin if Table1.Eof then else begin if Table1.Bof then else table1.Prior; Table1.Filter:="(Tovar=""" edit3.Text """)and(Kol_vo=" edit2.Text ")"; begin if openpicturedialog1.Execute then begin table3.Edit; for i:=1 to table1.RECORDCOUNT do begin s:=s table1.fieldbyname("Cena_roznicu").asinteger;Входные формы Входные формы представлены в таблицах B.1 - B.3.Выходные формы Выходные формы представлены на рисунках С.1 - С.3.
Введение
В последнее время резко возрос интерес к программированию. Это связано с развитием и внедрением в повседневную жизнь информационно-коммуникационных технологий. Если человек имеет дело с компьютером, то рано или поздно у него возникает желание, а иногда и необходимость, программировать.
Среди пользователей персональных компьютеров в настоящее время наиболее популярно семейство операционных систем Windows и, естественно, что тот, кто собирается программировать, стремится писать программы, которые будут работать в этих системах.
Несколько лет назад рядовому программисту оставалось только мечтать о создании собственных программ, работающих в среде Windows, т. к. единственным средством разработки был Borland C for Windows, явно ориентированный на профессионалов, обладающих серьезными знаниями и опытом.
Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую "быструю разработку", среди которых можно выделить Borland Delphi и Microsoft Visual Basic. В основе систем быстрой разработки (RAD-систем, Rapid Application Development - среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий. Производительность программиста при использовании RAD-систем -фантастическая!
Delphi - это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi - строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal.
В настоящее время программистам стала доступна очередная версия пакета Delphi - Borland Delphi 7 Studio. Как и предыдущие версии, Borland Delphi 7 Studio позволяет создавать самые различные программы: от простейших однооконных приложений до программ управления распределенными базами. В состав пакета включены разнообразные утилиты, обеспечивающие работу с базами данных, XML-документами, создание справочной системы, решение других задач. Отличительной особенностью седьмой версии является поддержка технологии .NET.
Borland Delphi 7 Studio может работать в среде операционных систем от Windows 98 до Windows XP. Особых требований, по современным меркам, к ресурсам компьютера пакет не предъявляет: процессор должен быть типа Pentium или Celeron с тактовой частотой не ниже 166 МГЦ (рекомендуется Pentium II 400 МГЦ), оперативной памяти - 128 Мбайт рекомендуется 256 мб.
Склады - это здания, сооружения и разнообразные устройства, предназначенные для приемки, размещения и хранения поступивших на них товаров, подготовки их к потреблению и отпуску потребителю.
Склады являются одним из важнейших элементов логистических систем. Объективная необходимость в специально обустроенных местах для содержания запасов существует на всех стадиях движения материального потока, начиная от первичного источника сырья и кончая конечным потребителем. Этим объясняется наличие большого количества разнообразных видов складов.
В широком диапазоне варьируются размеры складов: от небольших помещений, общей площадью в несколько сотен квадратных метров, до складов-гигантов, покрывающих площади в сотни тысяч квадратных метров.
Различаются склады и по высоте укладки грузов. В одних груз хранится не выше человеческого роста, в других необходимы специальные устройства, способные поднять и точно уложить груз в ячейку на высоте 21 м и более.
Склады могут иметь разные конструкции: размещаться в отдельных помещениях (закрытые), иметь только крышу или крышу и одну, две или три стены (полузакрытые). Некоторые грузы хранятся вообще вне помещений на специально оборудованных площадках, в так называемых открытых складах.
В складе может создаваться и поддерживаться специальный режим, например, температура, влажность.
Склад может предназначаться для хранения товаров одного предприятия (склад индивидуального пользования), а может, на условиях лизинга, сдаваться в аренду физическим или юридическим лицам (склад коллективного пользования или склад-отель).
Различаются склады и по степени механизации складских операций: немеханизированные, механизированные, комплексномеханизированные, автоматизированные и автоматические.
Существенным признаком склада является возможность доставки и вывоза грузи с помощью железнодорожного или водного транспорта. В соответствии с этим признаком различают пристанционные или портовые склады (расположенные на территории железнодорожной станции или порта), прирельсовые (имеющие подведенную железнодорожную ветку для подачи и уборки вагонов) и глубинные. Для того, чтобы доставить груз от станции, пристани или порта в глубинный склад, необходимо воспользоваться автомобильным или другим видом транспорта.
В зависимости от широты ассортимента хранимого груза выделяют специализированные склады, склады со сметанным или с универсальным ассортиментом.
Совокупность работ, выполняемых на различных складах, примерно одинакова. Это объясняется тем, что в разных логистических процессах склады выполняют следующие схожие функции: - временное размещение и хранение материальных запасов;
- преобразование материальных потоков;
- обеспечение логистического сервиса в системе обслуживания.
Любой склад обрабатывает, по меньшей мере, три вида материальных потоков: входной, выходной и внутренний.
Наличие входного потока означает необходимость разгрузки транспорта, проверки количества и качества прибывшего груза. Выходной поток обусловливает необходимость погрузки транспорта, внутренний - необходимость перемещения груза внутри склада.
Реализация функции временного хранения материальных запасов означает необходимость проведения работ по размещению грузов на хранение, обеспечению необходимых условий хранения, изъятию грузов из мест хранения.
Преобразование материальных потоков происходит путем расформирования одних грузовых партий или грузовых единиц и формирования других. Это означает необходимость распаковки грузов, комплектования новых грузовых единиц, их упаковку, затаривание.
Однако это лишь самое общее представление о складах. Любая из вышеперечисленных функций может изменяться в широких пределах, что сопровождается соответствующим изменением характера и интенсивности протекания отдельных логистических операций. Это, в свою очередь, меняет картину протекания всего логистического процесса на складе.
Склад компании «LOGYCOM» - это целый город высококачественной техники, благодаря которому наши работники могут удовлетворить любой ваш каприз. Если бы вы могли, хотя бы одним глазком взглянуть на этот огромный мир, то вы пришли бы в полный восторг. Масштабы склада удивят любого человека: все разложено аккуратно по полочкам, каждый вид товара хранится отдельно. Многие люди думают что заказать доставку техники домой это просто, но, это не так. Для того чтоб техника попала с витрины магазина к вам домой происходит огромное количество действий.
1. Сначала продавец помогает вам определиться с выбором, и оформить договор доставки.
2. Затем договор доставки в электронном виде попадает в центральный офис, где менеджеры сверяют все данные клиентов (контактные номера телефонов, стоимость того или иного товара, наличие этого товара на складе, модели), и после передают ваш заказ в службу доставки.
3. В свою очередь менеджеры отдела доставки рассчитывают объем загружаемой техники в кубических метрах и только после этого формируют экипажи по адресам и районам города. Вы только представьте себе, что в одну машину марки «Газель» вмещается 11 кубов техники - это, к примеру, целых 50 процессорных блоков или 12 компьютерных столов. Или более 100 мониторов! И таких загруженных «Газелей» со склада выезжает ежедневно около 35. 5. Вы только представьте себе, что ежедневно со склада вывозится около 400 кубов самой разной техники. Для того чтобы найти весь товар своевременно для того или иного экипажа проделывается огромная работа. Все товары на складе разложены по категориям, (крупная техника, мелкая, множество компьютеров, комплектующее устройства и аудио-видео товары).
Все эти математические расчеты означают только одно, что ежедневно со склада отгружается большое количество самой разной техники: сотни телевизоров, холодильников, стиральных машин, утюгов и т.д. И все это делается для того, чтобы нашим клиентам было еще комфортнее жить в своих домах. Ради вашего удобства, комфорта и уюта компания «LOGYCOM» готова трудиться еще больше и с удовольствием отгружать со своего склада хоть тысячи кубов техники ежедневно.
1. Общая часть
1.1 Описание программного обеспечения
- Среда разработки Borland Delphi 7 Enterprise - интегрированная среда разработки ПО для Microsoft Windows на языке Delphi (ранее носившем название Object Pascal), созданная первоначально фирмой Borland;
- BDE Administrator (сокр. от англ. Borland Database Engine - «движок баз данных Borland») - 32-битный движок баз данных под Microsoft Windows для доступа к базам данных из Borland Delphi, C Builder, INTRABUILDER, Paradox for Windows и Visual DBASE for Windows.
1.1.1 Описание операционной системы Windows 7
Windows 7 была выпущена в свободную продажу осенью 2009 года и за прошедшее время успела стать самой популярной из всех операционных систем компании Microsoft.
Улучшения и новшества
Большим подарком для любителей новейших технологий стало появление поддержки мультитач - управления. Эта технология позволяет управлять ноутбуком с сенсорным экраном движениями нескольких пальцев одновременно. Кроме того, она распознает различные жесты пользователя, что делает управление простым и интуитивно понятным.
Windows 7 тесно интегрирована с производителями драйверов для различных устройств. Благодаря этому пользователи избавлены от необходимости самостоятельно определять, искать и устанавливать необходимые драйвера, в большинстве случаев система сделает это автоматически.
Любителей старых приложений порадует режим совместимости с более ранними операционными системами, например, Windows XP. Это значит, что пользователи смогут без труда запускать игры, которые были разработаны для предыдущих версий Windows.
В состав операционной системы Windows 7 включен пакет установки DIRECTX 11, которая поддерживает ряд новых технологий в обработке графики. Теперь у пользователей есть возможность сполна насладиться великолепной картинкой на экране компьютера, которая создается благодаря улучшению режима тесселяции и поддержке новых вычислительных шейдеров, а также расширенной возможности рендеринга изображений в несколько потоков.
Наконец-то реализована качественная работа встроенного в операционную систему медиапроигрывателя Windows Media Player, который в этот раз получил порядковый номер 12. Предыдущие версии программы воспроизводили лишь ограниченное количество видеоформатов, для улучшения работы требовалась установка большого количества кодеков. Такой подход не нравился пользователям, изза чего они все чаще выбирали софт от сторонних производителей. В последней версии проигрывателя список поддерживаемых видеоформатов значительно расширен.
Windows 7 получила измененную, более удобную и функциональную панель задач. Теперь на панели отображаются только иконки без подписей, что позволяет одновременно уместить на ней гораздо больше приложений. Кроме того, на панели появилась кнопка «Свернуть все окна».
Появилась возможность управлять зарезервированным дисковым пространством, отведенным для восстановления системы. Также пользователь может сам определять, что именно следует восстанавливать - настройки системы, измененные файлы или все вместе.
Гаджеты рабочего стола в Windows 7 больше не привязаны к панели в левой части экрана. Пользователь может самостоятельно перемещать их в любое удобное ему место.
В Windows 7 увеличен перечень шрифтов, включенных по умолчанию. Кроме того, шрифты были переработаны для корректного отображения различных символов. Значительно расширен список нелатинских шрифтов, доступных для пользователя.
Интерфейс Aero, известный пользователям по предыдущей версии операционной системы Windows Vista, стал поддерживать несколько вариантов оформления. Кроме того, в него добавлены новые функции, которые позволяют легко управлять расположением и размером окон на рабочем столе.
Безопасность
В Windows 7 реализованы более широкие возможности для обеспечения безопасности персонального компьютера. Теперь пользователю доступна функция запрещения запуска отдельных приложений при помощи сервиса APPLOCKER. Технология шифрования BITLOCKER подверглась существенной доработке и теперь позволяет шифровать информацию на съемных носителях. Значительно улучшен брэндмауэр Windows, теперь он уведомляет пользователя о блокировке приложений. Благодаря функции DIRECTACCESS стало возможно установить безопасное соединение с удаленным сервером без участия пользователя.
Редакции
Windows 7 имеет шесть различных редакций, которые отличаются набором функциональных возможностей и стоимостью. Начальная версия или Windows 7 Starter характеризуется ограниченным функционалом, к примеру, она не позволяет даже сменить рисунок на рабочем столе. Эта редакция операционной системы поставляется исключительно в OEM-версии и, как правило, предустанавливается на нетбуки.
Следующая редакция носит название Windows 7 Home Basic и также имеет весьма ограниченный набор возможностей. Она не поддерживает фирменный интерфейс Windows Aero и технологию Multitouch, имеет малый функционал при работе с локальными сетями. Предназначена для OEM-продаж и поставок на развивающиеся рынки.
Наиболее популярными стали версии Windows 7 Professional и Home Premium. Именно они активно продаются в розницу, а также предустанавливаются на большое число компьютеров, собираемых по всему миру. Они поддерживают все функции, необходимые рядовому пользователю, ограничения функционала коснулись лишь сегмента, необходимого для работы в крупных корпоративных сетях и выполнения специфических задач.
Максимальный набор возможностей предоставляют версии Windows 7 Ultimate и Enterprise. Они идентичны по функционалу, но первая версия предназначена для розничных продаж, а вторая - для поставок корпоративным клиентам. Windows 7 Максимальная является топовой версией системы, которая включает в себя абсолютно все возможности, заложенные разработчиками компании Microsoft.
Аппаратные требования
Для корректной установки операционной системы на компьютер пользователя он должен иметь следующие характеристики: - Процессор с частотой не менее 1 ГГЦ;
- 1 гигабайт оперативной памяти (2 гигабайта для 64-битной версии);
- Видеоадаптер с объемом не менее 128 мегабайт (необходимо для включения интерфейса Aero) и поддержкой DIRECTX9;
- 16 гигабайт свободного пространства на жестком диске (20 гигабайт для 64-битной версии).
1.1.2 Среда программирования Delphi
Delphi это высокопроизводительный инструмент создания приложений. Исторически существует множество версий Delphi, начиная от 16-разрядного компилятора для создания программ, работающих в среде Windows 95/98 (Delphi 2.0), которая появилась в начале 1996 года, и включает полный 32-разрядный компилятор для использования в Windows 95 или в Windows NT.
Последней версией (на 2012 год) является Embarcadero Delphi XE2.
Для запуска Delphi требуется как минимум 386 компьютер с 4MB памяти. Более подходящей машиной будет 486DX 66MHZ с 8MB ОЗУ и естественно все более мощные современные компьютеры.
Небольшие программы, созданные на Delphi будут работать на любом компьютере. Другими словами, они не требуют того ОЗУ или скорости процессора, что необходимо для среды Delphi.
1.2 Описание языка программирования
Delphi (Делфи, произносится /dlfi:/) - императивный, структурированный, объектно-ориентированный язык программирования, диалект Object Pascal. Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal. Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения, связанные с современными тенденциями (например, с развитием платформы .NET) развития языков программирования: появились class helpers, перегрузки операторов и другое.
Изначально среда разработки была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован также для платформ Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и, вскоре после этого, было объявлено о поддержке Microsoft .NET.
Реализация среды разработки проектом Lazarus (Free Pascal, компиляция в режиме совместимости с Delphi) позволяет использовать его для создания приложений на Delphi для таких платформ, как Linux, Mac OS X и Windows CE.
Также предпринимались попытки использования языка в проектах GNU (например, Notepad GNU) и написания компилятора[источник не указан 1246 дней] для GCC.
Объектно-ориентированные особенности языка
Инкапсуляция
Объединение и скрытие объектных данных, а также обрабатывающих их методов внутри конкретного класса от пользователя называется инкапсуляцией.
Наследование
При создании новых объектов получить все свойства и методы от своих предков называют наследованием. Такие объекты наследуют после своего создания все поля, свойства, события, методы и прочее от своих предков. Наследование часто избавляет разработчиков от рутинной работы и позволяет не мешкая приступить к разработке чего-то нового.
Полиморфизм
Это методы различных объектов, которые могут иметь одинаковые имена, но по внутреннему содержимому отличаются друг от друга.
1.2.1 Основные типы данных
К основным типам данных языка Delphi относятся: - целые числа (integer);
- дробные числа (real);
- символы (char);
- строки (string);
- логический тип (boolean).
Целые числа: - Shortint [-128.. 127]
- Integer [-32 768.. 32 767]
- Longint [-2 147 483 648.. 2 147 483 647]
- Byte [0..255]
- Word [0..65535]
Числа с плавающей точкой: - Real [2,9e-39.. 1,7e38]
- Single [1,5e-45.. 3,4e38]
- Double [5,0e-324.. 1,7e308]
- Extended [3,4e-4932.. 1,1e4932]
1.2.2 Основные операторы
Для создания приложений, реализующих сложную алгоритмическую логику, нужны средства управления ходом работы программы: изменения порядка выполнения операторов в зависимости от различных условий, и эффективной организации работы часто повторяющихся фрагментов. Математически доказано, что любой алгоритм можно закодировать с помощью: - оператора присваивания;
- условного оператора;
- оператора цикла.
Оператор присваивания ":=". Он работает следующим образом. Переменная, стоящая в левой части оператора, становится равной той величине, которая находится справа. Типы этих величин должны совпадать. В выражении, стоящем справа, также может использоваться переменная, стоящая слева. С математической точки зрения это неправильно, но в программировании это означает, что из ячейки памяти берется исходное значение, производятся вычисления, и результат записывается в эту же ячейку памяти, затирая прежнее значение.
Условный оператор позволяет изменить порядок выполнения операторов в зависимости от выполнения некоторого условия. Вот как он записывается: if условие then действие else альтернатива;
Слова if (если), then (тогда), else (иначе) - зарезервированные. Действие и else альтернатива - это любые операторы Delphi, или несколько операторов, заключенных в логические скобки begin/end, или вызов подпрограммы. Если условие истинно, то выполняется действие, если ложно, то выполняется альтернатива.
Условие представляет собой логическое выражение. В нем сравниваются значения выражений (в том числе также и логических), вызов функций, возвращающих значения типа Boolean, и комбинирование этих значений с помощью логических операций в таблице 1.1: Таблица 1.1 - Операции
Знак операции Название операции Логические операции могут комбинироваться с помощью связок: and (логическое И) or (логическое ИЛИ) xor (исключающее ИЛИ) Для некоторых типов данных есть дополнительные операции. Например, для множеств - оператор in, которая проверяет, входит ли некоторое значение в множество. Например: X := [2, 4, 5, 7, 8, 10] ; Выражение 2 in X истинно (true); Выражение 6 in X ложно (false);
= Равно Не равно > Больше
< Меньше
>= Больше или равно <= Меньше или равно not Логическое Не - отрицание
Результат выполнения операции логического И равен true, если оба операнда равны true.
Результат выполнения операции логического ИЛИ равен true, если хотя бы один из операндов равен true.
Результат выполнения операции исключающего ИЛИ равен true, если операнды не равны друг другу.
Операторы цикла позволяют организовать многократное повторение одной и той же последовательности действий. В Delphi имеются три оператора, позволяющих это сделать: - простой оператор цикла;
- условный оператор цикла;
- условный оператор повторения.
Простой оператор цикла применяется, когда известно количество повторений цикла. Он записывается так:
for счетчик := выражение-1 to выражение-2 do действие ;
Счетчик - это переменная, которая должна быть объявлена перед логическим блоком, в котором оператор цикла расположен, и ее тип должен относиться к одному из перечислимых типов, обычно Integer.
Выражение-1 и выражение-2 могут быть как константой или идентификатором, так и вызовом функции.
Действие - один или несколько операторов Delphi. Если это группа операторов, то они должны быть заключены в логические скобки begin/end.
В начале работы оператора переменная-счетчик получает значение выражения-1. Если при этом значение счетчика окажется меньше или равно значению выражения-2, то выполняются операторы, входящие в действие. Это и есть один цикл. Затем переменная-счетчик принимает значение, следующее за текущим, и начинается новый цикл, то есть сравнение счетчика и выражения-2, выполнение действия, и так далее, до тех пор, пока значение переменной-счетчика не превысит значение выражения-2.
Возможна работа оператора цикла, при котором переменная-счетчик будет не увеличиваться, а уменьшаться. В этом случае ключевое слово to заменяется на downto: for счетчик := выражение-1 downto выражение-2 do действие ;
Соответственно, выражение-1 должно быть больше или равно выражению-2.
Условный оператор цикла удобно использовать в том случае, когда количество повторений заранее не известно: while условие do тело цикла ;
Этот цикл будет выполняться до тех пор, пока истинно условие (логическое выражение, возвращающее значение типа Boolean). При этом если это выражение сразу равно false, тело цикла не будет выполнено ни разу.
Нужно очень внимательно следить за написанием условия и контролем завершения цикла, так как в результате ошибки цикл while будет повторяться бесконечное количество раз, что приведет к "зацикливанию" и "зависанию" программы.
Условный оператор повторения сначала выполняет тело цикла, а затем уже проверяет выполнение условия: repeat тело цикла until условие
Таким образом, этот вариант цикла гарантирует, что тело цикла будет выполнен по крайней мере один раз. И будет выполняться до тех пор, пока условие не станет истинным (т.е. true). Стоит отметить, что это единственный оператор Delphi, в котором тело цикла не требуется заключать в логические скобки begin/end. Начало и конец тела цикла определяются по ключевым словам repeat и until. Вместе с операторами цикла используются специальные команды: - команда прерывания цикла;
- команда продолжения цикла.
Команда прерывания цикла применяется, если в процессе выполнения операторов тела цикла выясняется необходимость его завершения. Вот эта команда: Break ;
При ее выполнении управление передается на первый оператор, следующий за оператором цикла.
Команда продолжения цикла позволяет немедленно продолжить выполнение цикла, пропустив все оставшиеся операторы в теле цикла, то есть начать следующую итерацию.
Вот эта команда: Continue ;
Справедливости ради стоит рассказать об еще одном операторе, позволяющем изменить последовательность выполнения программы. Это оператор перехода: goto метка ;
В качестве метки может использоваться любой допустимый идентификатор или число в диапазоне от 0 до 9999. Метку предварительно необходимо объявить в разделе описания переменных, но с помощью не ключевого слова var, а ключевого слова label: label metka;
или label список меток ;
Переходить можно как вниз, так и вверх по программе. Двоеточие отделяет метку от оператора, на который производится переход.
1.2.3 Операторы организации ветвлений
Оператор ветвления if - одно из самых популярных средств, изменяющих естественный порядок выполнения операторов программы. Вот его общий вид: if then
Else
;
Условие - это выражение булевского типа, оно может быть простым или сложным. Сложные условия образуются с помощью логических операций и операций отношения. Обратите внимание, что перед словом else точка с запятой не ставится.
Логика работы оператора if очевидна: выполнить оператор 1, если условие истинно, и оператор 2, если условие ложно. Поясним сказанное на примере: program Console;
{$APPTYPE CONSOLE}
Uses
SYSUTILS;
Var
A, B, C: Integer;
Begin
A := 2;
B := 8;
if A > B then
C := A Else
C := B;
Writeln("C=", C);
Writeln("Press Enter to exit...");
Readln;
end.
В данном случае значение выражения А > В ложно, следовательно на экране появится сообщение C=8.
У оператора if существует и другая форма, в которой else отсутствует: if then ;
Логика работы этого оператора if еще проще: выполнить оператор, если условие истинно, и пропустить оператор, если оно ложно. Поясним сказанное на примере: program Console;
{$APPTYPE CONSOLE}
Uses
SYSUTILS;
Var
A, B, C: Integer;
Begin
A := 2;
B := 8;
C := 0;
if A > B then C := A B;
Writeln("C=", C);
Writeln("Press Enter to exit...");
Readln;
end.
В результате на экране появится сообщение С=0, поскольку выражение А > В ложно и присваивание С := А В пропускается.
Один оператор if может входить в состав другого оператора if. В таком случае говорят о вложенности операторов. При вложенности операторов каждое else соответствует тому then, которое непосредственно ему предшествует. Например: program Console;
{$APPTYPE CONSOLE}
Uses
SYSUTILS;
Var
A: Integer;
Begin
Readln(A);
if A >= 0 then if A <= 100 then
Writeln("A попадает в диапазон 0 - 100.")
Else
Writeln("A больше 100.")
Else
Writeln("A меньше 0.");
Writeln("Press Enter to exit...");
Readln;
end.
Оператор ветвления case: Оператор ветвления case является удобной альтернативой оператору if, если необходимо сделать выбор из конечного числа имеющихся вариантов. Он состоит из выражения, называемого переключателем, и альтернативных операторов, каждому из которых предшествует свой список допустимых значений переключателя: case of
: ;
: ;
: ;
else end;
Оператор case вычисляет значение переключателя (который может быть задан выражением), затем последовательно просматривает списки его допустимых значений в поисках вычисленного значения и, если это значение найдено, выполняет соответствующий ему оператор. Если переключатель не попадает ни в один из списков, выполняется оператор, стоящий за словом else. Если часть else отсутствует, управление передается следующему за словом end оператору.
Переключатель должен принадлежать порядковому типу данных. Использовать вещественные и строковые типы в качестве переключателя не допускается.
Список значений переключателя может состоять из произвольного количества констант и диапазонов, отделенных друг от друга запятыми. Границы диапазонов записываются двумя константами через разграничитель в виде двух точек (..). Все значения переключателя должны быть уникальными, а диапазоны не должны пересекаться, иначе компилятор сообщит об ошибке. Тип значений должен быть совместим с типом переключателя. Например: program Console;
{$APPTYPE CONSOLE}
Uses
SYSUTILS;
Var
Day: 1..31;
Begin
Readln(Day);
case Day of
20..31: Writeln("День попадает в диапазон 20 - 31.");
1, 5..10: Writeln("День попадает в диапазон 1, 5 - 10.");
else Writeln("День не попадает в заданные диапазоны.");
end;
Writeln("Press Enter to exit...");
Readln;
end.
Если значения переключателя записаны в возрастающем порядке, то поиск требуемого оператора выполняется значительно быстрее, так как в этом случае компилятор строит оптимизированный код. Учитывая сказанное, перепишем предыдущий пример: program Console;
{$APPTYPE CONSOLE}
Uses
SYSUTILS;
Var
Day: 1..31;
Begin
Readln(Day);
case Day of
1, 5..10: Writeln("День попадает в диапазон 1, 5 - 10.");
20..31: Writeln("День попадает в диапазон 20 - 31.");
else Writeln("День не попадает в заданные диапазоны.");
end;
Writeln("Press Enter to exit...");
Readln;
end.
1.2.4 Операторы организации цикла
Условные операторы (операторы выбора) и оператор безусловного перехода GOTO позволяют в зависимости от необходимости выполнять один блок операторов, обходя при этом другой. Однако часто при написании программ нужно решить задачу другого плана - многократно выполнять один и тот же блок операторов. Программная конструкция, позволяющая организовать многократное выполнение блока операторов, называется циклом.
Цикл можно организовать при помощи условного оператора и оператора GOTO. Для этого, например, в процедуре можно объявить целочисленную переменную, которая будет служить счетчиком. Перед входом в группу операторов, подлежащих многократному выполнению (такая группа операторов называется телом цикла), счетчику присваивается значение 0. Затем следуют операторы тела цикла, среди которых необходимо обязательно разместить оператор, увеличивающий значение счетчика на 1. Завершает всю конструкцию условный оператор, в котором проверяется значение счетчика. Если оно еще не превышает заранее заданного предельного значения, то при помощи оператора GOTO осуществляется переход к первому оператору тела цикла. Операторы тела цикла выполнятся еще раз, и так будет продолжаться до тех пор, пока значение счетчика не превысит заданный предел.
Однако, как уже говорилось выше, оператор безусловного перехода GOTO является своего рода операторным изгоем и применять его благопристойным программистам не рекомендуется. Кроме того, Visual Basic содержит четыре удобных в использовании оператора цикла: FOR ... NEXT, FOR EACH ... NEXT, DO ... LOOP и WHILE ... WEND. Некоторые из этих операторов имеют несколько вариантов синтаксиса и позволяют организовать какие угодно циклы, так что вам нет необходимости пользоваться неправильным оператором GOTO. Далее в этом разделе будут описаны все упомянутые конструкции.
Оператор цикла FOR ... NEXT повторяет группу операторов указанное количество раз. Ниже приведен его полный синтаксис.
FOR счетчик = начало ТО конец [STEP шаг]
[операторы]
[EXIT FOR]
[операторы]
NEXT [счетчик] где: счетчик - обязательный элемент; переменная числового типа, используемая в качестве счетчика цикла; переменная не может быть типа Boolean и не может быть элементом массива. начало и конец - обязательные элементы; выражения, задающие начальное и конечное значение счетчика цикла. шаг - необязательный элемент; если он используется, то указывается после ключевого слова STEP; этот элемент задает величину приращения счетчика, то есть при каждом прохождении цикла счетчик будет увеличиваться на шаг, пока не достигает значения 1 конец; приращение шаг может быть как положительным, так«и отрицательным; значение 0 задает бесконечный цикл (в этом случае нужно предусмотреть свой собственный вариант выхода из цикла); если шаг не указан, то приращение считается равным 1. операторы - блок операторов, составляющих тело цикла; ни один из операторов тела цикла не должен менять значение счетчика цикла (это может привести к непредсказуемым последствиям);
EXIT FOR - необязательная конструкция; если присутствует, то при получении управления осуществляет переход за пределы оператора FOR ... NEXT (прерывает выполнение оператора цикла); при помощи конструкции EXIT FOR можно запрограммировать альтернативный вариант выхода из цикла (например, при достижении какоголибо условия, в том числе для выхода из бесконечных циклов); используется в сочетании с условными операторами.
Конструкция NEXT служит для завершения оператора цикла. После ключевого слова NEXT можно указать переменную цикла счетчик, ту же самую, что и в заголовке цикла (после ключевого слова FOR). Это делать не обязательно, но настоятельно рекомендуется. Иначе вы обязательно запутаетесь, особенно при использовании вложенных циклов.
Оператор цикла FOR EACH ... NEXT выполняет блок операторов, составляющих тело цикла, для всех элементов массива или набора (коллекции). Синтаксис этого оператора следующий: FOR EACH элемент IN группа
[операторы]
[EXIT FOR]
[операторы]
NEXT [элемент] где:элемент - переменная, используемая для итерации по элементам массива или коллекции (набора). Для итерации по элементам набора,элемент может быть переменной типа Variant или объектной переменной соответствующего типа, а для итерации по элементам массива - только переменной типа Variant. группа - имя массива или коллекции (набора).
Остальные элементы оператора аналогичны соответствующим элементам оператора FOR ... NEXT который описывался выше. Ниже приводится пример, иллюстрирующий наиболее часто встречающийся способ использования оператора FOR EACH ... NEXT.
В этом примере оператор цикла FOR EACH NEXT используется для итерации по элементам набора открытых в данный момент форм. Переменная цикла MYFORM объявлена как переменная объектного типа FORM. Коллекция всех открытых форм называется FORMS. Таким образом, в приведенном выше примере в операторе цикла проверяется свойство Caption всех открытых в данный момент форм. Если среди открытых форм есть форма, имеющая подпись (Caption) Форма2, то на экран выдается соответствующее сообщение и цикл прерывается.
Наиболее гибким и удобным в семействе операторов цикла является оператор DO ... LOOP. Существует два варианта синтаксиса этого оператора.
DO [{WHILE | UNTIL} условие] "Первый вариант
[операторы]
[EXIT DO]
[операторы]
LOOP
DO "Второй вариант
[операторы]
[EXIT DO]
[операторы]
LOOP [{WHILE | UNTIL} условие]
1.2.5 Процедуры и функции
При разработке больших программных продуктов принято разбивать программу на несколько логических частей, называемых подпрограммами. Это улучшает структуру программы, упрощает ее понимание, делает программу более прозрачной и читаемой, позволяя тем самым избежать многих ошибок. Если программа предназначена для решения задачи в целом, то подпрограмма используется для выполнения логически завершенной последовательности действий.
В языке Delphi представлены две разновидности подпрограмм - процедуры и функции. Принципиальное отличие между подпрограммами заключается в их оформлении и способе передачи данных в подпрограмму и обратно. Все подпрограммы делятся на стандартные (определенные в языке) и создаваемые программистом (пользовательские).
Структура подпрограммы очень похожа на структуру программы и в самом общем случае состоит из таких частей: - заголовка подпрограммы;
- раздела объявления меток;
- раздела объявления констант;
- раздела объявления типов;
- раздела объявления переменных;
- раздела процедур и функций;
- тела подпрограммы.
Обязательными частями подпрограммы являются ее заголовок и тело. Обращение к подпрограмме осуществляется через упоминания ее имени и называется вызовом. Разделы объявления меток, констант. Типов и переменных соответствует аналогичным разделам программы. Создание этих разделов происходит по мере необходимости. Раздел процедур и функций может содержать описания собственных процедур и функций. Тело подпрограммы содержит исполняемые операторы. Под описанием подпрограммы понимается указание ее заголовка и тела.
Заголовок процедуры имеет вид: Procedure имя (параметры);
Заголовок функции: Function имя (параметры): тип;
Слова Procedure и Function являются зарезервированными.
1.2.6 Массивы
Объявление массива.
Массив, как и любая переменная программы, перед использованием должен быть объявлен в разделе объявления переменных.
В общем виде инструкция объявления одномерного массива выглядит следующим образом: имя - имя массива;
array - зарезервированное слово языка Delphi, обозначающее, что объявляемое имя является именем массива;
нижний_индекс и верхний_индекс - целые константы, определяющие диапазон изменения индекса элементов массива и, неявно, количество элементов (размер) массива;
тип - тип элементов массива.
В общем виде инструкция объявления двумерного массива выглядит так: Имя: array [НИЖНЯЯГРАНИЦА1..ВЕРХНЯЯГРАНИЦА1, НИЖНЯЯГРАНИЦА2..ВЕРХНЯЯГРАНИЦА2] of Тип;
Имя - имя массива;
array - слово языка Delphi, указывающее, что объявляемый элемент данных является массивом;
НИЖНЯЯГРАНИЦА1, ВЕРХНЯЯГРАНИЦА1, НИЖПЯЯГРАНИЦА2, ВЕРХНЯЯГРАНИЦА2 - целые константы, определяющие диапазон изменения индексов и, следовательно, чис
Вывод
По истечению срока курсовой, я освоил новые этапы работы с программным языком Delphi, поднял благодаря практическим занятиям сноровку в отношении функций и других видов деятельности в создании программ, теперь я уверен что осознанно могу создать программы идентичные по свойствам с программами созданными во время практики, а так же поверх них имея опыт и в других типах функций и операторов написания программ.
Список литературы
1. Архангельский А. Я. Программирование в Delphi 6.-M.:ЗАО “Издательство БИНОМ” 2003 г.
2. Гутман Г.Н. Статья в газете “Информатика” № 21, 2003 г.
3. Иллюстрированный самоучитель по Delphi 6, 2002 г.
4. Иллюстрированный самоучитель по Delphi 7 для профессионалов.
5. Куандыков А.А. Создание системы базы данных в среде Delphi: учебное пособие. Алматы: 2006 г.
6. Малышев О.В. Справочная система по DELPHI. Версия 1.0. 1999 г.
7. Попов В.Б. Turbo Pascal для школьников, M.: >, 2003 г.
8. Пинкус М. Электронный учебник 32 урока по Delphi: электронная библиотека INFOCITY.
9. Фаронов В.В. Delphi 2005 разработка приложений для баз данных и интернета.
СПБ.: Питер, 2006 г.
10. Фаронов В.В. Turbo Pascal 7/0, 2001 г.
11. Фленов М.Е. Базы данных в среде Delphi 3, 2003 г.