Контрольные задания.

  1. Извлечение списка слов из текста (сценарий на языке Perl).
    • Подготовьте веб-страницу с формой, содержащей поле для ввода текста и кнопку типа submit. Для атрибута Action в форме укажите в качестве значения URL perl-сценария, например http://localhost/Scripts/wcount.pl.
    • Подготовьте сценарий на языке Perl, который извлекает из текста, полученного от клиентского приложения, список слов с помощью функции split. В качестве первого аргумента при вызове функции необходимо указать регулярное выражение, задающее список разделителей слов. Также сценарий должен показать общее число найденных слов.
  2. Извлечение списка слов из текста (сценарий на языке 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;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.