- •Интернет, как источник информации для разработки пакета программ для курса программирования и основы алгоритмизации
- •Гл2. Интернет, как источник информации для разработки пакета программ для курса программирования и основы алгоритмизации
- •Глава 1 Cправка языков программирования
- •§1 Справка языков программирования
- •§2 Историческая справка развития Delphi
- •Целевая платформа
- •История языка
- •Компиляторы
- •Синтаксис языка Операторы
- •Выражения
- •Типы данных
- •Объекты
- •§3 Обзор методов алгоритмов
- •1.3. Основные этапы полного построения алгоритма
- •2.Построение модели
- •3.Правильность алгоритма
- •4.Реализация алгоритма
- •5.Анализ алгоритма и его сложности
- •§4 Программа Delphi, обьектно-ориентированное программирование
- •Краеугольные камни ооп Формула объекта
- •Природа объекта
- •Объекты и компоненты
- •Классы объектов
- •Три кита ооп
- •Объекты
- •Конструкторы и деструкторы
- •Свойства Понятие свойства
- •Методы получения и установки значений свойств
- •Свойства-массивы
- •Свойство-массив как основное свойство объекта
- •Методы, обслуживающие несколько свойств
- •§5 Общая структура пакета программирования и алгоритмитизации
- •1. Алгоритмизация и алгоритмы
- •1.1 Понятие алгоритмизации и алгоритмов
- •1.2 Свойства алгоритмов
- •2. Программирование
- •2.1 Понятие программирования
- •2.2 Понятие компьютерной программы
- •§6 Инструкция для Программы htm2chm
- •Введение
- •Эволюция средств разработки Web приложений в Delphi Средства разработки Internet-приложений §1. Средства разработки Internet-приложений из состава Borland Kylix
- •§2 Средства разработки Internet-приложений из состава Borland Delphi 6
- •§3. Форматы приложений для web
- •§5. Разработка web приложения
- •П2. Использование шаблонов
- •§6. Первый проект
- •П2 Использование tAdapter
- •П3. Работа с базами данных
- •§7. Использование Web Services
- •П2. Протокол soap
- •П3. Разработка сервера Web Services в Delphi6
- •П4. Описание интерфейса сервера
- •П5. Реализация методов сервера
- •П6. Создание проекта приложения Web Services в Delphi
- •П7. Разработка клиента Web Services в Delphi6
- •Заключение
Пермский национальный исследовательский политехнический университет
Кафедра Автоматизации технологических процессов
Курсовая работа
ПО ДИСЦЕПЛИНЕ
Информатика
На тему
Интернет, как источник информации для разработки пакета программ для курса программирования и основы алгоритмизации
Студент: Габдуллина А.Я. Преподаватель: Липин Ю.Н.
Группа: АТП-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. Диана Спрессер, Санди Митчелл и Дженнифер Уорд помогли с упражнениями и корректурой книги. Наконец, но не меньше, чем остальных, мы хотели бы поблагодарить слушателей нашего курса по разработке и анализу алгоритмов, которые на протяжении последних трех лет охотно выступали в роли «подопытных кроликов».