Контрольные задания.
- Извлечение списка слов из текста (сценарий на языке Perl).
- Подготовьте веб-страницу с формой, содержащей поле для ввода текста и кнопку типа submit. Для атрибута Action в форме укажите в качестве значения URL perl-сценария, например http://localhost/Scripts/wcount.pl.
- Подготовьте сценарий на языке Perl, который извлекает из текста, полученного от клиентского приложения, список слов с помощью функции split. В качестве первого аргумента при вызове функции необходимо указать регулярное выражение, задающее список разделителей слов. Также сценарий должен показать общее число найденных слов.
- Извлечение списка слов из текста (сценарий на языке PHP).
- Измените веб-страницу с формой, разработанную в предыдущем задании: для атрибута Action в форме укажите в качестве значения URL PHP-сценария, например http://localhost/wcount.php.
o Подготовьте сценарий на языке PHP, который извлекает из текста, полученного от клиентского приложения, список слов с помощью функции preg_split, которая имеет следующий синтаксис:
array preg_split(string pattern, string subject)т.е. возвращает массив, состоящий из подстрок заданной строки subject, которая разбита по границам, соответствующим шаблону pattern. Шаблон описывается с помощью подходящего регулярного выражения. Также сценарий должен показать общее число найденных слов.
· 11. Лекция: Введение в C# и платформу Visual Studio.Net
Платформа Framework. Net. Основы C#. Типы данных С#. Классы и методы в C#. Выражения и операторы C#. Интерфейсы C#. Сериализация объектов
MicrosoftVisualStudio.NET - это интегрированная среда разработки для создания, документирования, запуска и отладки программ, написанных на языках .NET.
Эта среда разработки является открытой языковой средой. Наряду с языками программирования, изначально включенными в среду - C++, C#, J#, Visual Basic, - в нее могут добавляться любые языки программирования, компиляторы которых создаются сторонними разработчиками. Необходимым условием для включения языков в среду Visual Studio.Net является использование единого каркаса – платформы Framework.Net.
Платформа Framework. Net позволяет:
- легко использовать компоненты, разработанных на различных языках;
- разрабатывать единое приложение из нескольких частей на разных языках;
Платформа Framework.Net содержит две основных компоненты:
- FCL (Framework Class Library) - библиотеку классов каркаса;
- CLR (Common Language Runtime) - общеязыковую исполнительную среду.
В рамках данной платформы используется стандартная система типов Common Type System (CTS), которая полностью описывает все типы данных, поддерживаемые средой выполнения, определяет взаимодействие типов данных и их представление в формате метаданных .NET.
Набор правил, определяющих подмножество общих типов данных, в отношении которых гарантируется, что они небезопасны при использовании во всех языках .NET, описывается в рамках спецификации Common Language Specification (CLS). Для того чтобы классы, разработанные на разных языках, можно было совместно использовать в рамках одного приложения, они должны удовлетворять определенным ограничениям, задаваемым CLS. Класс, удовлетворяющий CLS, называется CLS-совместимым. Он доступен для использования в других языках, классы которых могут быть клиентами или наследниками совместимого класса.
Платформа .NET предоставляет в распоряжение программиста библиотеку базовых классов, доступную из любого языка программирования .NET. Поскольку число классов библиотеки FCL достигает нескольких тысяч, то в целях структуризации функционально близкие классы объединяются в группы, называемые пространством имен (Namespace).
Основным пространством имен библиотеки FCL является пространство System, содержащее как классы, так и другие вложенные пространства имен. Например, в пространстве System.Collections находятся классы и интерфейсы, поддерживающие работу с коллекциями объектов - списками, очередями, словарями. Пространство System.Windows.Forms содержит классы, используемые при создании windows-приложений.
Следует помнить, что C# генерирует код, предназначенный для выполнения только в среде выполнения .NET (управляемый код). Сам двоичный файл, содержащий управляемый файл, называется сборкой. Сборка содержит код на промежуточном языке MSIL (Microsoft Intermediate Language) или просто IL. Аналогично байт-коду Java IL-код компилируется в платформенно-специфические инструкции при непосредственном обращении среды выполнении .NET к блоку IL-инструкций. Двоичные модули .NET в дополнение к инструкциям содержат также метаданные. Метаданные описывают не только типы, используемые в сборке, но и саму сборку. Данная часть метаданных называется манифестом.
В большинстве случаев между двоичным файлом .NET и сборкой существует отношение "один-к-одному". Однако сборка может состоять как из одного, так и из нескольких двоичных файлов.
Сборка из одного файла содержит и манифест, и метаданные, и инструкции IL.
Двоичные файлы, образующие совместно общую сборку называются модулями. При этом один из двоичных файлом должен содержать манифест сборки. Остальные модули могут содержать только метаданные типов и инструкции IL.
Многофайловые сборки позволяют среде исполнения избирательно загружать только те сборки, которые в данный момент работы приложения действительно необходимы, что позволяет сокращать сетевой трафик и увеличивать скорость работы программ.
Основы C#
Что нового принес язык C# по сравнению с уже существовавшими до него языками?
- В программах на C#, как правило, нет необходимости в работе с указателями (при сохранении этой возможности), поскольку в нем реализовано автоматическое управление памятью.
- Предусмотрены встроенные синтаксические конструкции для работы с перечислениями, структурами и свойствами классов.
- Имеется полная поддержка программных интерфейсов. Использование двоичных модулей .NET позволяет передавать объекты (по ссылке или по значению) через границы программных модулей.
- Полная поддержка объектно-ориентированных технологий.
Для разработки приложений в Visual Studio.Net используются проекты.
Проект (Project) - это основная единица, с которой имеет дело разработчик. Сначала он должен выбрать тип проекта, после чего Visual Studio создает каркас проекта в соответствии с выбранным типом. Проект состоит из классов, собранных в одном или нескольких пространствах имен. Пространства имен (Namespaces) позволяют структурировать проекты, содержащие большое число классов, объединяя в одну группу близкие классы.
Несколько проектов могут объединяться в решение (Solution), которое также может включать ресурсы, необходимые этим проектам.
С точки зрения разработчика конечным результатом его работы, получаемым после компиляции исходного программного кода, является решение, а с точки зрения CLR (Common Language Runtime - общеязыковой среды исполнения) – сборка (assembly), содержащая PE файл, т.е. модуль в формате исполняемого файла PE (Portable Executable) для 32-разрядной ОС Windows либо DLL (Dynamic Link Library) файл.
Visual Studio.Net предлагает большое разнообразие возможных типов проектов.
Типы данных С#
Стандарт языка C++ включает следующий набор фундаментальных типов.
- Логический тип (bool).
- Символьный тип (char).
- Целые типы. Они могут отличаться размером: short, int, long, а также могут быть знаковыми (signed) или беззнаковыми (unsigned).
- Типы с плавающей точкой. Они также могут отличаться размерами: float, double и long double.
Тип void указывает на отсутствие информации.
К конструируемым типам относятся следующие:
- Указатели (например, char*).
- Ссылки (например, char&).
- Массивы (например, char[]).
Также язык позволяет разработчику конструировать собственные типы:
- Перечислимые типы (enum).
- Структуры (struct).
- Классы.
В языке C# все типы можно рассматривать и под другим ракурсом, разделив их на четыре категории:
- Типы-значения (value).
- Ссылочные (reference).
- Указатели (pointer).
- Тип void.
Для ссылочного типа значение задает ссылку на область памяти в "куче" (heap), где расположен соответствующий объект. Для типа-значения значением являются собственно данные, а память для них выделяется в стеке.
Логический, арифметический, структуры, перечисление относятся типам-значениям. Массивы, строки и классы относятся к ссылочным типам.
И ссылочные, и обычные типы являются производными от базового класса object. В тех случаях, когда обычный тип должен вести себя как объект, создается оболочка (wrapper), которую можно рассматривать как ссылочный объект, помещенный в кучу, и в нее копируется значение переменной обычного типа. Оболочка автоматически помечается таким образом, что система знает, какое значение она содержит. Этот процесс назывется упаковкой (boxing), а обратный процесс - распаковкой (unboxing).
Упаковка происходит автоматически, для этого нужно только присвоить значение обычного типа переменной типа object. Упаковка и распаковка позволяют обрабатывать любой тип как объект. Например, в выражении
3.ToString();
целое число 3 упаковывается путем вызова функции Int32.ToString().
Массивы в C# могут быть многомерными (multidimensional) или невыровненными (jagged). Более сложные структуры данных такие, как стек и хеш-таблица определены в пространстве имен System.Collections.
В языке C# определен класс сhar[], и его можно использовать для представления строк постоянной длины. Однако массив сhar[] - это обычный массив, поэтому его нельзя инициализировать строкой символов. В C# не определено преобразование из класса сhar[] в класс String. У String есть динамический метод ToCharArray, задающий подобное преобразование в сhar[].
Класс String не разрешает изменять существующие объекты. Класс StringBuilder позволяет исправить этот недостаток. Этот класс принадлежит к изменяемым классам и его можно найти в пространстве имен System.Text.
Дата добавления: 2015-12-29; просмотров: 1009;