Меню
Разработки
Разработки  /  Информатика  /  Уроки  /  Прочее  /  Объектно-ориентированное программирование

Объектно-ориентированное программирование

Тема 4. Описание класса. Создание и использование объектов. 1. Описание класса. 2. Создание и использование объектов.
11.03.2020

Содержимое разработки

ПОУРОЧНЫЙ ПЛАН №11

  1. Адресная категория

1.1. Наименование специальности и квалификации

1304000 – «Вычислительная техника и программное обеспечение (по видам)»

130404 3 – «Техник-программист»

1.2. Курс, группа

3 осн. Курс ВТ-2

1.3. Наименование учебного модуля/дисциплины, изучаемого раздела

Объектно - ориентированное программирование

1.4. Тема занятия

Строки и регулярные выражения

1.5. Организационная форма занятия

групповая

1.6. Знания и умения студентов, необходимые для выполнения деятельности по модулю/теме

- знать cтрок

- знать понятия регулярных выражений

1.7. Возможности учебного занятия интеграция профессиональных умений и умений трудоустройства

- навыки общения;

- умение воспринимать информацию;

- умение применять информацию на практике.

2. Цель занятия

2.1. Способствовать развитию следующих умений трудоустройства и поиска работы, которым обучатся студенты на данном занятии

- умение слушать;

- умение общаться с партнерами;

- прислушиваться к мнению других.

2.2. Обучение профессиональным умениям, которыми овладеют обучающиеся в процессе учебного занятия

- умение правильно организовать рабочее место;

- умение работать с литературой;

- умение работать в коллективе;

3. Описание результата занятия

3.1. К концу занятия обучающиеся должны: знать и уметь

- знать понятия строк

3.2. Критерии качества

- знать способы использования строк

- знать операторы работающие со строками

4. Фаза планирования

4.1. Учебно-методическое оснащение, справочная литература

Либерти Д. «Программирование на С#», стр. 251-267

4.2. Техническое оснащение, материалы

ПК, Microsoft Visual C# 2010

4.3. Описание последовательности действий студентов

- освоить принципы работы с массивами

4.4. Роль преподавателя

- сообщение основных понятий по теме;

- пояснение терминов и порядка их применения.

5. Реализация плана

5.1. Описание плана занятий, содержание действий преподавателя и студентов (таблица)

Таблица «Содержание и организация взаимодействия преподавателя и студентов»


6. Оценка

6.1. Оценка качества выполненных заданий

Определение степени усвоения новых понятий и терминов.

Преподаватель ______________ Ахметкалиев Д.С:

подпись Ф.И.О.




Содержание и организация взаимодействия преподавателя и студентов


Основные этапы занятия

Виды и последовательность действий

Деятельность студентов

Совместная деятельность преподавателя и студентов

Деятельность преподавателя




индивидуальная

групповая

межгрупповая

консультация

инструктирование

контроль

1.

Этап ориентирования и планирования

Тема и цель урока


Х


Х

Х



2.

Этап выполнения работы

Подготовка рабочего места


Х



Х



Подготовка материалов


Х



Х



Технологический процесс: конспектирование, работа с конспектом,

работа на интерактивной доске



Х

Х









Х

Х







Х

Х



3.

Этап оценки и анализа конечных и промежуточных результатов

Оценка работы по критериям качества:

Определить термин




Х








Х
























Тема 11. Строки и регулярные выражения.

1. Строки.

2. Регулярные выражения.


Класс char

В C# есть символьный класс Char, основанный на классе System.Char и использующий двухбайтную кодировку Unicode представления символов. Для этого типа в языке определены символьные константы - символьные литералы. Константу можно задавать:

  • символом, заключенным в одинарные кавычки;

  • escape-последовательностью, задающей код символа;

  • Unicode-последовательностью, задающей Unicode-код символа.

Вот несколько примеров объявления символьных переменных и работы с ними:

public void TestChar()

{

char ch1='A', ch2 ='\x5A', ch3='\u0058';

char ch = new Char();

int code; string s;

ch = ch1;

//преобразование символьного типа в тип int

code = ch; ch1=(char) (code +1);

//преобразование символьного типа в строку

//s = ch;

s = ch1.ToString()+ch2.ToString()+ch3.ToString();

Console.WriteLine("s= {0}, ch= {1}, code = {2}",

s, ch, code);

}//TestChar

Три символьные переменные инициализированы константами, значения которых заданы тремя разными способами. Переменная ch объявляется в объектном стиле, используя new и вызов конструктора класса. Тип char, как и все типы C#, является классом. Этот класс наследует свойства и методы класса Object и имеет большое число собственных методов.

Существуют ли преобразования между классом char и другими классами? Явные или неявные преобразования между классами char и string отсутствуют, но, благодаря методу ToString, переменные типа char стандартным образом преобразуются в тип string. Как отмечалось в лекции 3, существуют неявные преобразования типа char в целочисленные типы, начиная с типа ushort. Обратные преобразования целочисленных типов в тип char также существуют, но они уже явные.

В результате работы процедуры TestChar строка s, полученная сцеплением трех символов, преобразованных в строки, имеет значение BSX, переменная ch равна A, а ее код - переменная code - 65.

Не раз отмечалось, что семантика присваивания справедлива при вызове методов и замене формальных аргументов на фактические. Приведу две процедуры, выполняющие взаимно-обратные операции - получение по коду символа и получение символа по его коду:

public int SayCode(char sym)

{

return (sym);

}//SayCode


public char SaySym(object code)

{

return ((char)((int)code));

}// SaySym

Как видите, в первой процедуре преобразование к целому типу выполняется неявно. Во второй - преобразование явное. Ради универсальности она слегка усложнена. Формальный параметр имеет тип Object, что позволяет передавать ей в качестве аргумента код, заданный любым целочисленным типом. Платой за это является необходимость выполнять два явных преобразования.

Таблица 13.1. Статические методы и свойства класса Char

Метод

Описание

GetNumericValue

Возвращает численное значение символа, если он является цифрой, и ( -1 ) в противном случае

GetUnicodeCategory

Все символы разделены на категории. Метод возвращает Unicode категорию символа. Ниже приведен пример

IsControl

Возвращает true, если символ является управляющим

IsDigit

Возвращает true, если символ является десятичной цифрой

IsLetter

Возвращает true, если символ является буквой

IsLetterOrDigit

Возвращает true, если символ является буквой или цифрой

IsLower

Возвращает true, если символ задан в нижнем регистре

IsNumber

Возвращает true, если символ является числом (десятичной или шестнадцатиричной цифрой)

IsPunctuation

Возвращает true, если символ является знаком препинания

IsSeparator

Возвращает true, если символ является разделителем

IsSurrogate

Некоторые символы Unicode с кодом в интервале [0x10000, 0x10FFF] представляются двумя 16-битными "суррогатными" символами. Метод возвращает true, если символ является суррогатным

IsUpper

Возвращает true, если символ задан в верхнем регистре

IsWhiteSpace

Возвращает true, если символ является "белым пробелом". К белым пробелам, помимо пробела, относятся и другие символы, например, символ конца строки и символ перевода каретки

Parse

Преобразует строку в символ. Естественно, строка должна состоять из одного символа, иначе возникнет ошибка

ToLower

Приводит символ к нижнему регистру

ToUpper

Приводит символ к верхнему регистру

MaxValue, MinValue

Свойства, возвращающие символы с максимальным и минимальным кодом. Возвращаемые символы не имеют видимого образа


Класс String

В предыдущей лекции мы говорили о символьном типе char и строках постоянной длины, задаваемых массивом символов. Основным типом при работе со строками является тип string, задающий строки переменной длины. Класс String в языке C# относится к ссылочным типам. Над строками - объектами этого класса - определен широкий набор операций, соответствующий современному представлению о том, как должен быть устроен строковый тип.

Объявление строк. Конструкторы класса string

Объекты класса String объявляются как все прочие объекты простых типов - с явной или отложенной инициализацией, с явным или неявным вызовом конструктора класса. Чаще всего, при объявлении строковой переменной конструктор явно не вызывается, а инициализация задается строковой константой. Но у класса String достаточно много конструкторов. Они позволяют сконструировать строку из:

  • символа, повторенного заданное число раз;

  • массива символов char[] ;

  • части массива символов.

Некоторым конструкторам в качестве параметра инициализации можно передать строку, заданную типом char*. Но все это небезопасно, и подобные примеры приводиться и обсуждаться не будут. Приведу примеры объявления строк с вызовом разных конструкторов:

public void TestDeclStrings()

{

//конструкторы

string world = "Мир";

//string s1 = new string("s1");

//string s2 = new string();

string sssss = new string('s',5);

char[] yes = "Yes".ToCharArray();

string stryes = new string(yes);

string strye = new string(yes,0,2);

Console.WriteLine("world = {0}; sssss={1}; stryes={2};"+

" strye= {3}", world, sssss, stryes, strye);

}

Объект world создан без явного вызова конструктора, а объекты sssss, stryes, strye созданы разными конструкторами класса String.

Заметьте, не допускается явный вызов конструктора по умолчанию - конструктора без параметров. Нет также конструктора, которому в качестве аргумента можно передать обычную строковую константу. Соответствующие операторы в тексте закомментированы.

Операции над строками

Над строками определены следующие операции:

  • присваивание ( = );

  • две операции проверки эквивалентности ( == ) и ( != );

  • конкатенация или сцепление строк ( + );

  • взятие индекса ( [] ).

Пространство имен RegularExpression и классы регулярных выражений

Стандартный класс String позволяет выполнять над строками различные операции, в том числе поиск, замену, вставку и удаление подстрок. Существуют специальные операции, такие как Join, Split, которые облегчают разбор строки на элементы. Тем не менее, есть классы задач по обработке символьной информации, где стандартных возможностей явно не хватает. Чтобы облегчить решение подобных задач, в Net Framework встроен более мощный аппарат работы со строками, основанный на регулярных выражениях. Специальное пространство имен RegularExpression, содержит набор классов, обеспечивающих работу с регулярными выражениями. Все классы этого пространства доступны для C# и всех языков, использующих каркас Net Framework. В основе регулярных выражений лежит хорошая теория и хорошая практика их применения. Полное описание, как теоретических основ, так и практических особенностей применения этого аппарата в C#, требует отдельной книги. Придется ограничиться введением в эту интересную область работы со строками, не рассматривая подробно все классы, входящие в пространство имен RegularExpression.

Синтаксис регулярных выражений

Регулярное выражение на C# задается строковой константой. Это может быть обычная или @ -константа. Чаще всего, следует использовать именно @ -константу. Дело в том, что символ " \ " широко применяется в регулярных выражениях как для записи escape-последовательностей, так и в других ситуациях. Обычные константы в таких случаях будут выдавать синтаксическую ошибку, а @ -константы не выдают ошибок и корректно интерпретируют запись регулярного выражения.

Синтаксис регулярного выражения простой формулой не описать, здесь используются набор разнообразных средств:

  • символы и escape-последовательности;

  • символы операций и символы, обозначающие специальные классы множеств;

  • имена групп и обратные ссылки;

  • символы утверждений и другие средства.



Рубежная контрольная работа

По дисциплине «Объектно-ориентированное программирование»

І вариант

  1. Конструкторы и деструкторы

  2. Ввод-вывод данных в C#

  3. Написать программу для вычисленя функции x=(a+b)/2


Рубежная контрольная работа

По дисциплине «Объектно-ориентированное программирование»

ІІ вариант

  1. Язык программирования С#

  2. Операторы языка C#

  3. Написать программу для вычисленя функции y=2x+5


Рубежная контрольная работа

По дисциплине «Объектно-ориентированное программирование»

І вариант

  1. Конструкторы и деструкторы

  2. Ввод-вывод данных в C#

  3. Написать программу для вычисленя функции x=(a+b)/2


Рубежная контрольная работа

По дисциплине «Объектно-ориентированное программирование»

ІІ вариант

  1. Язык программирования С#

  2. Операторы языка C#

  3. Написать программу для вычисленя функции y=2x+5


Рубежная контрольная работа

По дисциплине «Объектно-ориентированное программирование»

І вариант

  1. Конструкторы и деструкторы

  2. Ввод-вывод данных в C#

  3. Написать программу для вычисленя функции x=(a+b)/2


Рубежная контрольная работа

По дисциплине «Объектно-ориентированное программирование»

ІІ вариант

  1. Язык программирования С#

  2. Операторы языка C#

  3. Написать программу для вычисленя функции y=2x+5


Рубежная контрольная работа

По дисциплине «Объектно-ориентированное программирование»

І вариант

  1. Конструкторы и деструкторы

  2. Ввод-вывод данных в C#

  3. Написать программу для вычисленя функции x=(a+b)/2


Рубежная контрольная работа

По дисциплине «Объектно-ориентированное программирование»

ІІ вариант

  1. Язык программирования С#

  2. Операторы языка C#

  3. Написать программу для вычисленя функции y=2x+5


-80%
Курсы дополнительного образования

Основы HTML

Продолжительность 72 часа
Документ: Cвидетельство о прохождении курса
4000 руб.
800 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Объектно-ориентированное программирование (57.42 KB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт