Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Gabdullina_Alina_kursovaya.doc
Скачиваний:
16
Добавлен:
23.08.2019
Размер:
1.54 Mб
Скачать

Пермский национальный исследовательский политехнический университет

Кафедра Автоматизации технологических процессов

Курсовая работа

ПО ДИСЦЕПЛИНЕ

Информатика

На тему

Интернет, как источник информации для разработки пакета программ для курса программирования и основы алгоритмизации

Студент: Габдуллина А.Я. Преподаватель: Липин Ю.Н.

Группа: АТП-10 Оценка:_______

Пермь, 2011

Содержание

Гл 1 Cправка языков программирования………………………………………………………3

Введение……………………………………………………………………………………………3

§1 Справка языков программирования…………………………………………………………….5

§2 Историческая справка развития Delphi…………………………………………………………8

§3 Обзор методов алгоритмов……………………………………………………………………..13

§4 Программа Delphi, обьектно-ориентированное программирование………………………...26

§5 Общая структура пакета программирования и алгоритмитизации………………………….41

§6 Инструкция для Программы html………………………………………………………..….45

Гл2. Интернет, как источник информации для разработки пакета программ для курса программирования и основы алгоритмизации

Введение………………………………………………………………………………………..…50

§1 Средства разработки Internet-приложений из состава Borland Kylix…………………..….51

§2 Средства разработки Internet-приложений из состава Borland Delphi 6……………….…56

§3 Форматы приложений для WEB……………………………………………………………...60

§4 Web Broker………………………………………………………………………………..…....61

§5 Разработать Web приложения……………………………………………………………......62

п1. Начальный этап…………………………………………………………………………….62

п2 Использование шаблонов…………………………………………………………….…….62

п3. InternetXpress…………………………………………………………………………..…....65

п4. WebSnap………………………………………………………………………………..…....70

§6 Первый проект………………………………………………………………….……….….....73

п1. Первый проект…………………………………………………………………………..….73

п2 Использование TAdapter……………………………………………………………….…...76

п3. Работа с базами данных……………………………………………………………………80

п4. WEBSnap vs WEBBroker…………………………………………………………………...81

§7 Использование Web Services…………………………………………………………….…...83

п1. Что такое Web Service……………………………………………………………………..83

п2. Протокол SOAP…………………………………………………………………………….83

п3. Разработка сервера Web Services в Delphi6…………………………………………….…84

п4. Описание интерфейса сервера……………………………………………………………..85

п5. Реализация методов сервера……………………………………………………………….86

п6. Создание проекта приложения Web Services в Delphi…………………………………...86

п7. Разработка клиента Web Services в Delphi6……………………………………………....87

Заключение………………………………………………………………………………………..91

Список литературы……………………………………………………………………………….92

Глава 1 Cправка языков программирования

Введение

Учебные программы по вычислительной математике и програм­мированию обычно содержат следующие типичные курсы (возможно, под несколько иными названиями): 1) введение в программирование, чаще всего на основе Фортрана, Бэйсика или ПЛ/1; 2) программиро­вание на языке ассемблера; 3) структуры данных; 4) дискретные структуры; 5) организация машины; 6) численные методы; 7) обзор языков программирования; 8) обработка финансовой и администра­тивной информации; 9) прикладное программирование и 10) системное программирование. В этой книге мы предлагаем курс разработки и анализа алгоритмов.

В начальном курсе программирования особое внимание обычно уделяется таким темам, как работа ЭВМ, подготовка и перфорирова­ние данных, синтаксис языка программирования, кодировка про­граммы, ввод/вывод, элементарные аспекты и применения структур данных, понятия подпрограммы и функции, отладка программы, разработка относительно простых программ, некоторые понятия ма­шинного языка, а также.примеры прикладных программ. Существует несколько дополнительных разделов программирования, которые не рассматриваются ни в начальном курсе, ни сколь-нибудь подробно в других студенческих курсах по вычислительной математике и про­граммированию. К числу этих разделов относятся:

1. Полная подготовка, от начала до конца, достаточно сложной задачи для решения на ЭВМ.

2. Такие методы разработки алгоритма, как метод частных целей, наискорейшего подъема, отхода назад и работы в обратном направлении, ветвей и границ, рекурсия и эвристика.

3. Эффективная и правильная реализация перечисленных алго­ритмов.

4. Правильность алгоритма и программы (то, что часто заставляет задумываться, правильно ли выглядит распечатка?).

5. Критерии эффективности и сложности алгоритма, вопросы об­щей эффективности.

6. Проверка программы, включающая тесты на правильность, сложность и общее поведение программы.

7. Более изощренный математический аппарат (включающий, например, теорию вероятностей), требующийся при разработке и анализе достаточно сложных программ.

В этой книге рассматриваются все указанные аспекты программиро­вания.

Хотя курс разработки и анализа алгоритмов, конечно, содержит в значительном объеме программирование, он не был задуман как просто второй (или третий) курс программирования. Поэтому некото­рые разделы, которые можно отнести к разработке и анализу алгорит­мов, здесь не рассматриваются; эти разделы включают вопросы ввода/ вывода, методы отладки, оптимизацию компиляторов и работу с биб­лиотечными программами. Эта книга служит как бы мостом между практическими, ориентированными на программирование курсами и более теоретическими, математически ориентированными курсами по вычислительной математике и программированию. Подобная ориентация курса, а также учебный характер представленных алго­ритмов объясняют их выраженный математический оттенок.

Схема на стр. 10 показывает, как можно включить курс разра­ботки и анализа алгоритмов в типичный учебный план по специаль­ности «вычислительная математика». В известной степени мы рассмат­риваем этот курс как замену курса «введение в дискретные струк­туры», который содержится в учебной программе 68 ACM (Сотт АСМ, март 1968). Хотя рассматриваемый нами материал имеет полноценное математическое содержание, его уровень ниже, он имеет менее тео­ретический, менее формальный характер, чем введение в дискретные структуры, а его приложения к вычислительной математике более очевидны.

Математический аппарат, применяемый при разработке и анализе алгоритмов, содержит вводные сведения из теории сетей (графов), комбинаторики, теории вероятностей и статистики. Эти разделы рас­сматривались не сами по себе, а скорее в плане использования для алгоритмических приложений. Для установления правильности не­которых алгоритмов или их свойств на протяжении всей книги при­водятся доказательства, многие из которых опираются на метод мате­матической индукции. Мы не задавались целью научить студентов доказывать теоремы, но надеемся, что они смогут следовать логике доказательств.

Мы полагаем также, что предмет, рассматриваемый в этой книге, играет центральную роль в вычислительной математике и программи­ровании. Помимо того что этот материал может послужить основой первого теоретического курса учебной программы, он имеет близкое отношение к курсам по структурам данных, языкам программирова­ния, прикладному программированию и численному анализу.

В принципе студент, прошедший односеместровый курс математи­ческого анализа, начальный курс программирования и хорошо вла­деющий понятиями комбинаторики и теории множеств на уровне сред­ней школы, вполне подготовлен для чтения этой книги. Средства ана­лиза используются не часто, но его знание в известной степени свиде­тельствует о математической зрелости. Мы обнаружили, что материал несколько трудноват для большинства студентов второго курса и, по-видимому, больше соответствует уровню третьего или четвертого курса.

Так как составление и проверка программы являются важной частью процесса создания алгоритма, мы включили в книгу тексты машинных программ. Хотя некоторые коллеги могут не согласиться с нашим выбором, мы решили дать все программы на Фортране — по той простой причине, что это единственный язык программирова­ния, который известен почти всем. Похоже, что любое другое решение либо накладывает дополнительные требования на подготовку чита­теля, либо делает книгу настолько объемной, что ее основное содер­жание оказывается размытым.

Выбранная нами форма представления алгоритмов — это нечто среднее между стилем пошагового описания алгоритма с большим количеством комментариев, который популяризовал Кнут в первых трех томах Искусства программирования, и алголоподобным форма­том, который в настоящее время часто используется в литературе. Такие конструкции, как do-while и if-then-else, регулярно приме­няются в их обычном смысле. Были приложены определенные усилия, чтобы не отступать от принципов структурного программирования. В приложении А собраны правила и условные обозначения, употреб­ляемые в этой книге для изложения алгоритмов.

В первой главе в основном содержится качественное описание понятия алгоритма и описание основных шагов процесса полного построения алгоритма. К сожалению, ограниченный объем книги не позволяет описать большинство алгоритмов с такой степенью под­робности. В последующих главах некоторые шаги построения алго­ритмов оставлены в качестве упражнений.

Во второй главе излагаются некоторые принципы и средства, полезные для разработки и анализа алгоритмов. В ней также рассмот­рены элементарные понятия структурного программирования, теории сетей (графов), структур данных, теории вероятностей и статистики. Для полноты в конце книги дано приложение, посвященное теории множеств и элементарным методам доказательств. Была сделана попытка во всей главе и приложениях сохранить «алгоритмический оттенок» и везде, где только возможно, для иллюстрации основных понятий вводились новые алгоритмы.

По поводу элементарных понятий теории вероятностей и статис­тики, изложенных в гл. 2, следует сделать некоторое пояснение. Многие интересные и важные вопросы разработки и анализа алгорит­мов по своей природе вероятностные; например, имеются веские доводы в пользу того, что наиболее эффективным критерием качества алгоритма является его средняя или ожидаемая производительность. С другой стороны, мы осознаем, что многие студенты сталкиваются с трудностями при изучении теории вероятностей и статистики. По этой причине книга составлена так, что преподаватель может почти безболезненно опустить материал, носящий вероятностный характер.

В третьей главе рассмотрены некоторые полезные приемы разра­ботки алгоритмов, в каждый раздел главы включены по крайней мере одна новая задача п (или) алгоритм,, В гл., 4 полностью построен алгоритм нахождения остовного дерева минимального веса. Этот алгоритм иллюстрирует некоторые простые процедуры проверки программ.

В гл. 5 и 6 содержатся примеры и приложения, большинство кото­рых подкрепляет идеи, выдвинутые в первых четырех главах. Пре­подаватели могут выбирать материал из этих глав в зависимости от интересов и математического уровня аудитории, длительности курса и т. д. Гл. 7 построена как справочник.

В книгу включены почти 300 упражнений. Они весьма различны по трудности, многие из них носят экспериментальный характер и допускают дальнейшее развитие. Упражнения представляют собой важную часть книги, и мы надеемся, что преподаватели найдут время для обсуждения наиболее интересных и трудных задач на занятиях. Заметим, что, чем больше звездочек (*) стоит перед упражнением, тем выше его трудность. Упражнения с пометкой «L» отличаются значи­тельной трудоемкостью. Некоторые упражнения «озаглавлены», чтобы показать охват определенных тем или понятий. Преподаватели могут образовывать группы из двух-трех студентов для выполнения наибо­лее громоздких и трудных заданий, в особенности тех, которые тре­буют большой работы с программами.

Было бы трудно перечислить всех, кого мы хотим поблагодарить, кто вложил в эту книгу силы и время. Многие прочли ее и высказали свои замечания, конструктивную критику и одобрение. Прежде всего мы благодарим Диану Гудман, нашу машинистку и главного «кор­ректора». Дане Ричарде принадлежит более половины разд. 6.1, Брусу Чартресу мы обязаны экологической моделью в разд.3.6.В число тех, кто внес наиболее значительный вклад, входят Линвуд Фергю-сон, Ричард Арментраут и Клей Пендерграст. Мы благодарим Арта Флека, Гарольда Стоуна, Кена Боумаиа, Взйн Медисон, а также ано­нимного читателя за их полезные замечания. Издательство «Моутон Паблишере» любезно разрешило нам заимствовать около 12 рисунков и несколько страниц текста в разд. 2.2. Диана Спрессер, Санди Мит­челл и Дженнифер Уорд помогли с упражнениями и корректурой книги. Наконец, но не меньше, чем остальных, мы хотели бы поблаго­дарить слушателей нашего курса по разработке и анализу алгорит­мов, которые на протяжении последних трех лет охотно высту­пали в роли «подопытных кроликов».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]