Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Язык программирования C#

Содержание

ЛитератураПавловская Т.А. C#. Программирование на языке высокого уровня. Учебник для вузов. – СПб.: Питер, 2007. -432с.Бишоп Дж., Хорспул Н. С# в кратком изложении. М.: БИНОМ. Лаборатория знаний, 2005. - 472 с.Шилдт Г. C# 4.0. Полное руководство.
Язык программирования C#Лекция 1. ЛитератураПавловская Т.А. C#. Программирование на языке высокого уровня. Учебник для вузов. – ВведениеУровни языков программирования: машинные;  машинно-оpиентиpованные (ассемблеpы);  машинно-независимые (языки высокого уровня). В качестве примера рассмотрим программу на языке ассемблера для IBM PC. Программа http://www.tiobe.com/tiobe-index//TIOBE Index for January 2015 TIOBE Index for February 2016 TIOBE Index for January 2017 История1956 г. - язык FORTRAN 1972 г. - язык C (Bell Laboratories)1974 Платформа Microsoft .NET .NET – это платформа, которая содержит средства для разработки Framework .Net - единый каркас среды разработкиВ каркасе Framework .Net можно выделить Microsoft начала разрабатывать .NET Framework в конце 1990-х под именем «Next Generation Продолжение. Версии .NET Framework:https://msdn.microsoft.com/ru-ru/library/bb822049(v=vs.110).aspx Платформа .NET CLR – это совокупность утилит и служб, которые включают в себя все CLR (Common Language Runtime)C++/CLIC#F#Visual BasicIron PythonIron RubyАссемблер Intermediate Language (IL) ТрансляцияКомпиляция			Интерпретация Гибридная схема трансляции Схема выполнения программы в .NET - переносимый исполняемый файл (Portable Executable или PE-файл) Компиляция исходного кода в управляемые модули Схема формирования сборного кода в MSIL из модулей на разных языках программирования Объединение управляемых  модулей в сборку Понятие сборки (assembly) единица повторного использования кода, в которой поддерживается система управления Процесс создания приложения:Каждый файл компилируется в исполняемый модуль, который является совокупностью кода Посмотрим по порядку, что же происходит с кодом1. Вы пишете исходный код МанифестВерсия сборкиСписок файлов, входящих в сборкуИмена и версии сборок, которые используются данной Метаданныеэто таблицы, описывающие типы данных и их члены, определенные в исходном коде, ILDASM Tool - Ildasm.exe (IL Disassembler)Дизассемблер IL — сопутствующее средство Ассемблера IL Добавление сборок в проект Конфигурационный файл C# создавался параллельно с каркасом Framework .Net и в полной мере учитывает Особенности C#, заимствованные у Java КлассыКлассов в C#, как и в Java Особенности, заимствованные у C и C ++ КомпиляцияПрограммы выполняют компиляцию непосредственно в Особенности, уникальные для C#Определения в namespaceКогда вы создаете программу, вы создаете один Особенности, уникальные для C#Два фундаментальных классаКласс object - базовый класс всех классов. Особенности, уникальные для C#ПризнакиКаждый член класса имеет признаки: public, protected, internal, protected Особенности, уникальные для C#Виртуальные методыПрежде, чем метод в базовом классе будет переписан, Особенности, уникальные для C#Delegate и callbackобъект delegate содержит информацию, необходимую для вызова Особенности, уникальные для C#Явные и неявные преобразованияПодобно Java, C# учитывает неявное преобразование Среды разработки, поддерживающие .NET:
Слайды презентации

Слайд 2 Литература
Павловская Т.А. C#. Программирование на языке высокого уровня.

ЛитератураПавловская Т.А. C#. Программирование на языке высокого уровня. Учебник для вузов.

Учебник для вузов. – СПб.: Питер, 2007. -432с.
Бишоп Дж.,

Хорспул Н. С# в кратком изложении. М.: БИНОМ. Лаборатория знаний, 2005. - 472 с.

Шилдт Г. C# 4.0. Полное руководство. М.: ИД Вильямс, 2013. – 1056 с.
Эндрю Троелсен. Язык программирования C# 2010 и платформа .NET 4. М.: ИД Вильямс, 2011. – 1392 с.
Кариев Ч. Создание Windows-приложений на основе Visual С#. Web: http://www.intuit.ru/studies/courses/106/106/info
Павловская Т. Программирование на языке высокого уровня C#. Web: http://www.intuit.ru/studies/courses/629/485/info

Слайд 3 Введение
Уровни языков программирования:
машинные;
машинно-оpиентиpованные (ассемблеpы);

ВведениеУровни языков программирования: машинные; машинно-оpиентиpованные (ассемблеpы); машинно-независимые (языки высокого уровня).

машинно-независимые (языки высокого уровня).


Слайд 4 В качестве примера рассмотрим программу на языке ассемблера

В качестве примера рассмотрим программу на языке ассемблера для IBM PC.

для IBM PC. Программа вычисляет значение a = b

+ c для целых a, b и c:

Слайд 6 http://www.tiobe.com/tiobe-index//
TIOBE Index for January 2015

http://www.tiobe.com/tiobe-index//TIOBE Index for January 2015

Слайд 7 TIOBE Index for February 2016

TIOBE Index for February 2016

Слайд 8 TIOBE Index for January 2017

TIOBE Index for January 2017

Слайд 9 История
1956 г. - язык FORTRAN
1972 г. -

История1956 г. - язык FORTRAN 1972 г. - язык C (Bell

язык C (Bell Laboratories)
1974 г. - язык PASCAL (Никлаус

Вирт)
1983 г. – язык С++ (Бьерн Страуструп)
1995 г. – языки Java (Sun Microsystems) и JavaScript (Netscape Communication)
2000 г. - платформа .Net и язык C# (Microsoft)


Слайд 10 Платформа Microsoft .NET
.NET – это платформа, которая

Платформа Microsoft .NET .NET – это платформа, которая содержит средства для

содержит средства для разработки любых современных новых приложений и

одновременно – средства для обеспечения их работы. Она состоит из нескольких основных составляющих:
.Net Framework – фундамент платформы, обеспечивающий создание, запуск и управление выполнением программы и библиотечных компонент;
.Net Enterprise Servers – семейство корпоративных серверов;
Visual Studio .Net – средство для разработки приложений;
Клиенты – операционные системы типа Windows;
XML Web-службы – блоки, расположенные по всей сети Internet, с которыми могут взаимодействовать приложения, основываясь на спецификациях языка XML, протоколах HTTP или SOAP.

Слайд 11 Framework .Net - единый каркас среды разработки
В каркасе

Framework .Net - единый каркас среды разработкиВ каркасе Framework .Net можно

Framework .Net можно выделить два основных компонента:
статический - FCL

(Framework Class Library) - библиотеку классов каркаса - набор сборок в формате DLL, содержащих несколько тысяч определений типов, каждый из которых предоставляет некоторую функциональность
динамический - CLR (Common Language Runtime) - общеязыковую исполнительную среду - исполняющая среда для программ, написанныx на .NET-совместимых языках программирования. CLR — это по сути виртуальная машина, в которой функционируют приложения .NET.


Слайд 12 Microsoft начала разрабатывать .NET Framework в конце 1990-х

Microsoft начала разрабатывать .NET Framework в конце 1990-х под именем «Next

под именем «Next Generation Windows Services» (NGWS). В 2000

году была выпущена первая бета-версия .NET 1.0. Версии .NET Framework:

Слайд 13 Продолжение. Версии .NET Framework:
https://msdn.microsoft.com/ru-ru/library/bb822049(v=vs.110).aspx

Продолжение. Версии .NET Framework:https://msdn.microsoft.com/ru-ru/library/bb822049(v=vs.110).aspx

Слайд 15 Платформа .NET

Платформа .NET

Слайд 16 CLR – это совокупность утилит и служб, которые

CLR – это совокупность утилит и служб, которые включают в себя

включают в себя все необходимые для создания, запуска и

выполнения приложения компоненты. CLR включает:
Class Loader – управляет загрузкой классов;
MSIL (Microsoft Intermediate Language).
Code Manager – управляет запуском кода;
Carbage Collector – сборщик мусора, предназначенный для освобождения неиспользуемых приложением ресурсов памяти;
Security Engine - обеспечивает механизм защиты приложений;
Debugger – позволяет пользователю отлаживать приложение и отслеживать выполнение запущенного приложения;
Type checker – гарантирует правильное приведение типов данных;
Exception manager – обеспечивает механизм передачи исключения;
Thread support – компонент, отвечающий за поддержку классов для создания многопоточных приложений;
COM marshaler – обеспечивает взаимодействие с COM-компонентами.


Слайд 17 CLR (Common Language Runtime)
C++/CLI
C#
F#
Visual Basic
Iron Python
Iron Ruby
Ассемблер Intermediate

CLR (Common Language Runtime)C++/CLIC#F#Visual BasicIron PythonIron RubyАссемблер Intermediate Language (IL)

Language (IL)


Слайд 18 Трансляция
Компиляция
Интерпретация

ТрансляцияКомпиляция			Интерпретация

Слайд 19 Гибридная схема трансляции

Гибридная схема трансляции

Слайд 20 Схема выполнения программы в .NET

Схема выполнения программы в .NET

Слайд 21
- переносимый исполняемый файл (Portable Executable или PE-файл)

- переносимый исполняемый файл (Portable Executable или PE-файл)

Слайд 22 Компиляция исходного кода в управляемые модули

Компиляция исходного кода в управляемые модули

Слайд 23 Схема формирования сборного кода в MSIL из модулей

Схема формирования сборного кода в MSIL из модулей на разных языках программирования

на разных языках программирования


Слайд 24 Объединение управляемых модулей в сборку

Объединение управляемых модулей в сборку

Слайд 25 Понятие сборки (assembly)
единица повторного использования кода, в

Понятие сборки (assembly) единица повторного использования кода, в которой поддерживается система

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

безопасностью программного обеспечения

Манифест - служебная информация, которая включается в сборку дополнительно к программному коду


Слайд 26 Процесс создания приложения:
Каждый файл компилируется в исполняемый модуль,

Процесс создания приложения:Каждый файл компилируется в исполняемый модуль, который является совокупностью

который является совокупностью кода на промежуточном языке программирования и

набором метаданных, полностью описывающий все типы данных и структур, классов и объектов, входящих в модуль;
С помощью программы - сборщика al.exe (Assembler Linker) модули и другие файлы объединяются в сборку. При этом они могут войти в сборку непосредственно, а могут располагаться в каталогах сборки, сама сборка при этом содержит ссылки на эти файлы;
Сборка транслируется средой CLR в автокод, которая после этого начинает управлять выполнением программы, вызывая в процессе выполнения необходимые классы и методы классов из нужных стандартных библиотек.

Слайд 27 Посмотрим по порядку, что же происходит с кодом
1.

Посмотрим по порядку, что же происходит с кодом1. Вы пишете исходный

Вы пишете исходный код на С#.
2. Затем вы компилируете

его с помощью компилятора языка С# в ЕХЕ-файл.
3. Компилятор создает MSIL-код и помещает в раздел "только-на-чтение" выходного файла стандартный РЕ-заголовок (признак машино-независимой выполняемой программы для Win32). При создании выходного файла компилятор импортирует из CLR функцию _CorExeMain.
4. Когда приложение начинает выполняться, ОС загружает этот РЕ, а также все нужные DLL, в частности, библиотеку, которая экспортирует функцию _CorExeMain (mscoree.dll).
5. Загрузчик ОС выполняет переход в точку входа РЕ, устанавливаемую компилятором. Это ничем не отличается от процедуры загрузки в Windows любого другого РЕ. Однако так как ОС не в состоянии выполнить MSIL-код, то фактически в точке входа содержится заглушка, в которой установлена команда перехода к функции jCorExeMain из mscoree.dll.
6. Функция JCorExeMain переходит к выполнению MSIL-кода, помещенного в РЕ.
7. Так как MSIL-код не может быть выполнен непосредственно (ведь это не машинный код), CLR компилирует его с помощью оперативного (just-in-time, или JIТ) компилятора в команды процессора. Эта компиляция выполняется только для непосредственно вызываемых методов программы. Откомпилированный выполняемый код сохраняется на машине и перекомпилируется только в случае изменения исходного кода.

Слайд 28 Манифест
Версия сборки
Список файлов, входящих в сборку
Имена и версии

МанифестВерсия сборкиСписок файлов, входящих в сборкуИмена и версии сборок, которые используются

сборок, которые используются данной сборкой
Права на запуск и использование


Слайд 29 Метаданные
это таблицы, описывающие типы данных и их члены,

Метаданныеэто таблицы, описывающие типы данных и их члены, определенные в исходном

определенные в исходном коде, а также таблицы, описывающие типы

данных, и их члены, на которые имеются ссылки в исходном коде

не зависящий от процессора объектно-ориентированный машинный язык

IL код


Слайд 30 ILDASM Tool - Ildasm.exe (IL Disassembler)
Дизассемблер IL —

ILDASM Tool - Ildasm.exe (IL Disassembler)Дизассемблер IL — сопутствующее средство Ассемблера

сопутствующее средство Ассемблера IL (Ilasm.exe).Ildasm.exe принимает входной исполняемый файл

(PE), содержащий код на промежуточном языке (IL), и создает соответствующий текстовый файл в качестве входных данных для Ilasm.exe.
Это средство автоматически устанавливается с Visual Studio.

Слайд 31 Добавление сборок в проект

Добавление сборок в проект

Слайд 32 Конфигурационный файл



Конфигурационный файл


Слайд 33 C# создавался параллельно с каркасом Framework .Net и

C# создавался параллельно с каркасом Framework .Net и в полной мере

в полной мере учитывает все его возможности - как

FCL, так и CLR;
C# является полностью объектно-ориентированным языком, где даже типы, встроенные в язык, представлены классами;
C# является мощным объектным языком с возможностями наследования и универсализации;
C# является наследником языков C/C++, сохраняя лучшие черты этих популярных языков программирования. Общий с этими языками синтаксис, знакомые операторы языка облегчают переход программистов от С++ к C#;
сохранив основные черты своего великого родителя, язык стал проще и надежнее. Простота и надежность, главным образом, связаны с тем, что на C# хотя и допускаются, но не поощряются такие опасные свойства С++ как указатели, адресация, разыменование, адресная арифметика;
благодаря каркасу Framework .Net, ставшему надстройкой над операционной системой, программисты C# получают те же преимущества работы с виртуальной машиной, что и программисты Java. Эффективность кода даже повышается, поскольку исполнительная среда CLR предоставляет собой компилятор промежуточного языка, в то время как виртуальная Java-машина является интерпретатором байт-кода;
мощная библиотека каркаса поддерживает удобство построения различных типов приложений на C#, позволяя легко строить Web-службы, другие виды компонентов, достаточно просто сохранять и получать информацию из базы данных и других хранилищ данных;
реализация, сочетающая построение надежного и эффективного кода, является немаловажным фактором, способствующим успеху C#.


Слайд 34 Особенности C#, заимствованные у Java
Классы
Классов в C#, как

Особенности C#, заимствованные у Java КлассыКлассов в C#, как и в

и в Java очень много.
Интерфейсы
Как и в Java,

интерфейс - абстрактное определение коллекции методов.
Булевы операции
Прямого преобразования между булевым типом любым другим типом данных нет.
Ошибки
Как и в Java, управлять обработкой ошибок можно захватывая объекты исключения.
Управление памятью
Существует автоматическая сборка "мусора", которая обеспечивается .NET.


Слайд 35 Особенности, заимствованные у C и C ++
Компиляция
Программы

Особенности, заимствованные у C и C ++ КомпиляцияПрограммы выполняют компиляцию непосредственно

выполняют компиляцию непосредственно в стандартную двоичную выполнимую форму.
Структуры
Структуры

C# - подобны структурам в C++ и должны содержать определения данных и методы. Однако, в отличие от C++, структуры в C# не поддерживают наследование. Однако, подобно Java, структуры могут реализовывать интерфейсы.
Препроцессор
Существуют директивы препроцессора для условной компиляции, предупреждений, ошибок и контроля.
Перегрузка операторов
Некоторые операторы могут быть перегружены, а некоторые нет.





Слайд 36 Особенности, уникальные для C#
Определения в namespace
Когда вы создаете

Особенности, уникальные для C#Определения в namespaceКогда вы создаете программу, вы создаете

программу, вы создаете один или более классов в namespace.

В нем же (вне класса) возможно объявление интерфейсов, enums и structs. Используя ключевые слова вы можете адресовать содержимое другого namespace.
Фундаментальные типы данных
В C# существует более широкое разнообразие типов данных чем в C, C ++ или Java. Типы - bool, byte, ubyte, short, ushort, int, uint, long, ulong, float, double, and decimal. Подобно Java, все типы имеют установленный размер. Подобно C и C ++ все типы могут быть знаковыми и без знаковыми. Подобно Java, char содержит 16-ти битный unicode символ. В C# новым типом данных является тип decimal, который может содержать до 28 десятичных цифр.



Слайд 37 Особенности, уникальные для C#
Два фундаментальных класса
Класс object -

Особенности, уникальные для C#Два фундаментальных классаКласс object - базовый класс всех

базовый класс всех классов. Класс string - также базовый

класс. Являясь частью языка он используется компилятором, когда вы создаете строку в вашей программе, заключая ее в кавычки.
Ассемблирование
Ассемблирование - коллекция компилируемых классов и способность к выполнению других элементов языка, которые объединены в отдельном файле. Если это программа, файл имеет расширение EXE. Если это библиотека - DLL.
Дизассемблер:
1)C:\Program Files\Microsoft Visual Studio .Net\ FrameworkSDK\Bin\ildasm.exe
2) JetBrains dotPeek

Слайд 38 Особенности, уникальные для C#
Признаки
Каждый член класса имеет признаки:

Особенности, уникальные для C#ПризнакиКаждый член класса имеет признаки: public, protected, internal,

public, protected, internal, protected internal, or private.
Прохождение аргумента
Методы

могут объявляться для принятия некоторого числа аргументов. По умолчанию происходит передача значений фундаментальным типам данных. Ключевое слово ref может использоваться для передачи значения по определенной ссылке, которая позволяет возвращать значение. Ключевое слово out также вызывает переход по ссылке без передачи значения.


Слайд 39 Особенности, уникальные для C#
Виртуальные методы
Прежде, чем метод в

Особенности, уникальные для C#Виртуальные методыПрежде, чем метод в базовом классе будет

базовом классе будет переписан, он должен быть объявлен как

virtual. Метод в подклассе, который будет переписан, должен быть объявлен с помощью ключевого слова override. Это предотвратит случайную перезапись метода.
Свойства
C# позволяет определять свойства внутри любого класса. Внутри C# класса, каждому свойству дается имя и тип данных. Ключевые слова set accessor и get accessor используется для объявления выполняемого кода при чтении или обновлении свойства.

Слайд 40 Особенности, уникальные для C#
Delegate и callback
объект delegate содержит

Особенности, уникальные для C#Delegate и callbackобъект delegate содержит информацию, необходимую для

информацию, необходимую для вызова определенного метода. К объекту delegate

можно обратиться для безопасного запроса к представленному методу. Метод callback - пример delegate. Ключевое слово event используется в определении методов, которые вызываются при возникновении события.
Определение версий
C# позволяет разработчикам поддерживать множество версий классов в двоичной форме, помещая их в различных namespace.

Слайд 41 Особенности, уникальные для C#
Явные и неявные преобразования
Подобно Java,

Особенности, уникальные для C#Явные и неявные преобразованияПодобно Java, C# учитывает неявное

C# учитывает неявное преобразование фундаментальных типов данных, пока нет

вероятности потери данных (преобразование типа byte в int), но если есть вероятность потери данных (преобразование int в byte) выполняется явное преобразование. C# расширяет эту способность для других элементов программы
Внешне выполняемые методы
Методы в классе могут выполняться внешне. В следующем примере, статический метод RemoveDirectory выполняется в библиотеке под именем kernel32.dll:
class Path {[DllImport("kernel32", setLastError=true)]static extern bool RemoveDirectory(string name);}

Слайд 42 Среды разработки, поддерживающие .NET:

Среды разработки, поддерживающие .NET:

  • Имя файла: yazyk-programmirovaniya-c.pptx
  • Количество просмотров: 179
  • Количество скачиваний: 0