Lecture10 (Лекции по Технологии программирования. Компонентный подход), страница 2

PDF-файл Lecture10 (Лекции по Технологии программирования. Компонентный подход), страница 2 Основы программной инженерии (40584): Лекции - 6 семестрLecture10 (Лекции по Технологии программирования. Компонентный подход) - PDF, страница 2 (40584) - СтудИзба2019-05-12СтудИзба

Описание файла

Файл "Lecture10" внутри архива находится в папке "Лекции по Технологии программирования. Компонентный подход". PDF-файл из архива "Лекции по Технологии программирования. Компонентный подход", который расположен в категории "". Всё это находится в предмете "основы программной инженерии" из 6 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 2 страницы из PDF

двумя 16-битными символами,первый в интервале U+D800–U+DBFF, второй — U+DC00–U+DFFF.Лексически программы состоят из разделителей строк (символы возврата каретки, переводастроки или их комбинация), комментариев, пустых символов (пробелы и табуляции),идентификаторов, ключевых слов, литералов, операторов и разделительных символов.В обоих языках можно использовать как однострочный комментарий, начинающийся ссимволов // и продолжающийся до конца строки, так и выделительный, открывающийсясимволами /* и заканчивающийся при помощи */.Идентификаторы должны начинаться с буквы (символа, который считается буквой в Unicode,или символа _) и продолжаться буквами или цифрами.

В качестве символа идентификатора можетиспользоваться последовательность \uxxxx, где x — символы 0-9, a-f или A-F, обозначающаясимвол Unicode c шестнадцатеричным кодом xxxx. Корректными идентификаторами являются,например, myIdentifier123, αρετη_µυσ, идентификатор765 (если последние два представлены вUnicode). Ключевые слова устроены также (без возможности использовать Unicodeпоследовательности в C#), но используются для построения деклараций, инструкций и выраженийязыка или для обозначения специальных констант.В Java ключевые слова не могут использоватьсяв качестве идентификаторов.Добавив в начало ключевого слова символ @, вC# можно получить идентификатор,посимвольно совпадающий с этим ключевымсловом.

Этот механизм используется дляобращения к элементам библиотек .NET,написанным на других языках, в которых могутиспользоваться такие идентификаторы —@class, @int, @public и пр.Можно получать идентификаторы, добавляя @ ив начало идентификатора, но делать это нерекомендуется стандартом языка.Другой способ получить идентификатор,совпадающий по символам с ключевым словом,— использовать в нем Unicodeпоследовательность вместо соответствующегосимвола ASCII.Кроме того, в C# есть специальныеидентификаторы, которые только в некоторомконтексте используются в качестве ключевыхслов.

Таковы add, alias, get, global, partial,remove, set, value, where, yield.В обоих языках имеется литерал null для обозначения пустой ссылки на объект, булевскиелитералы true и false, символьные и строковые литералы, целочисленные литералы и литералы,представляющие числа с плавающей точкой.Символьный литерал, обозначающий отдельный символ, представляется как этот символ,заключенный в одинарные кавычки (или апострофы). Так, например, можно представить символы'a', '#', 'Ы'. Чтобы представить символы одинарной кавычки, обратного слэша и некоторыедругие используются так называемые ESC-последовательности, начинающиеся с обратного слэша— '\'' (одинарная кавычка), '\\' (обратный слэш), '\"' (обычная кавычка), '\n' (переводстроки), '\r' (возврат каретки), '\t' (табуляция).

Внутри одинарных кавычек можноиспользовать и Unicode-последовательности, но осторожно — если попытаться представить так,например, символ перевода строки \u000a, то, поскольку такие последовательности заменяютсясоответствующими символами в самом начале лексического анализа, кавычки будут разделеныпереводом строки, что вызовет ошибку.В Java можно строить символьные литералы ввиде восьмеричных ESC-последовательностейиз не более чем трех цифр — '\010', '\142','\377'. Такая последовательность можетпредставлять только символы из интервалаU+0000–U+00FF.В C# можно использовать шестнадцатеричныеESC-последовательности из не более чемчетырех цифр для построения символьныхлитералов.

Такая последовательностьобозначает Unicode-символ с соответствующимкодом.Строковые литералы представляются последовательностями символов (за исключениемпереводов строк) в кавычках. В качестве символов могут использоваться и ESCпоследовательности, разрешенные в данном языке. Строковый литерал может быть разбит нанесколько частей, между которыми стоят знаки +. Значения литералов "Hello, world" и "Hello,"+ " world" совпадают.В C# можно строить буквальные строковыелитералы (verbatim string literals), в которыхESC-последовательности и Unicodeпоследовательности не преобразуются в ихзначения.

Для этого нужно перед открывающейкавычкой поставить знак @. В такой строкемогут встречаться любые символы, кроме ".Чтобы поместить туда и кавычку, надоповторить ее два раза.Например, "Hello \t world" отличается от@"Hello \t world", а "\"" совпадает с @"""".Целочисленные литералы представляют собой последовательности цифр, быть может, сознаком — 1234, -7654. Имеются обычные десятичные литералы и шестнадцатеричные,начинающиеся с 0x или 0X. По умолчанию целочисленные литералы относятся к типу int.Целочисленные литералы, имеющие тип длинного целого числа long, оканчиваются на букву lили L.В Java имеются также восьмеричныецелочисленные литералы, которые начинаютсяс цифры 0.В C#, в отличие от Java, имеются беззнаковыецелочисленные типы uint и ulong.

Литералыэтих типов оканчиваются на буквы u или U, и налюбую комбинацию букв u/U и l/L,соответственно.Литералы, представляющие числа с плавающей точкой, могут быть представлены в обычнойзаписи (3.1415926) или экспоненциальной (314.15926e-2 и 0.31415926e1). По умолчанию такиелитералы относятся к типу double, и могут иметь в конце символ d или D.

Литералы типа floatоканчиваются буквами f или F.В Java литералы с плавающей точкой могутиметь шестнадцатеричное представление сдвоичной экспонентой. При этом литералначинается с 0x или 0X, экспонента должнабыть обязательно и должна начинаться с буквыp или P.В C# есть тип с плавающей точкой decimal дляболее точного представления чисел прифинансовых расчетах. Литералы этого типаоканчиваются на букву m или M.Операторы и разделители обоих языков:(===&&)<<=||{>>=++}!!=--Дополнительные операторы Java:>>>>>>=[++=<<]-=>>;**=<<=,//=>>=.%%=:&&=?||=~^^=Дополнительные операторы C#:->::??В C#, помимо ранее перечисленныхлексических конструкций, имеются директивыпрепроцессора, служащие для управлениякомпиляцией.

Директивы препроцессора немогут находиться внутри кавычек, начинаютсясо знака # и пишутся в отдельной строке, эта жестрока может заканчиваться комментарием.Директивы #define и #undef служат для того,чтобы определять и удалять опции дляусловной компиляции (такая опция может бытьпроизвольным идентификатором, отличным отtrue и false).Директивы #if, #elif, #else и #endif служатдля того, чтобы вставлять в код и выбрасыватьиз него некоторые части в зависимости отдекларированных с помощью предыдущихдиректив опций. В качестве условий,проверяемых директивами #if и #elif, могутиспользоваться выражения, составленные изопций и констант true и false при помощискобок и операций &&, ||, ==, !=.Напримерusing System;#define Debugpublic class Assert{public void Assert (bool x){#if Debugif(!x) thrownew Exception("Assert failed");#endif}}Директивы #error и #warning служат длягенерации сообщений об ошибках ипредупреждениях, аналогичных таким жесообщениям об ошибках компиляции.

Вкачестве сообщения выдается весь текст,следующий в строке за такой директивой.Директива #line служит для управлениямеханизмом сообщений об ошибках с учетомстрок. Вслед за такой директивой в той жестроке может следовать число, число и имяфайла в кавычках или слово default. В первомслучае компилятор считает, что строка,следующая после строки с этой директивой,имеет указанный номер, во втором — помимономера строки в сообщениях изменяется имяфайла, в третьем компилятор переключается врежим по умолчанию, забывая об измененныхномерах строк.Директива #pragma warning, добавленная вC# 2.0, служит для включения или отключенияпредупреждений определенного вида прикомпиляции.

Она используется в виде#pragma warning disable n_1, …, n_k#pragma warning restore n_1, …, n_kгде n_1, … , n_k — номера отключаемых/включаемых предупреждений.Общая структура программыПрограмма на любом из двух рассматриваемых языков представляет собой наборпользовательских типов данных — в основном, классов и интерфейсов, с их методами. Призапуске программы выполняется определенный метод некоторого типа. В ходе работы программысоздаются объекты различных типов и выполняются их методы (операции над ними).

Объектамиособого типа представляются различные потоки выполнения, которые могут быть запущеныпараллельно.Во избежание конфликтов по именам и для лучшей структуризации программпользовательские типы размещаются в специальных пространствах имен, которые в Javaназываются пакетами (packages), а в C# пространствами имен (namespaces). Имена пакетов ипространств имен могут состоять из нескольких идентификаторов, разделенных точками. Излюбого места можно сослаться на некоторый тип, используя его длинное имя, состоящее из именисодержащего его пространства имен или пакета, точки и имени самого типа.В обоих случаях программный код компилируется в бинарный код, исполняемый виртуальноймашиной.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5259
Авторов
на СтудИзбе
421
Средний доход
с одного платного файла
Обучение Подробнее