Высокоуровневые методы информатики и программирования Лекция 2.

Презентация:



Advertisements
Похожие презентации
1 ©Павловская Т.А. Язык С# Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
Advertisements

Тема 5. Введение в среду визуального программирования Borland Delphi 7.0.
©Павловская Т.А. (СПбГУ ИТМО) Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
Высокоуровневые методы информатики и программирования Лекция 10 События.
VBA – Visual Basic for Application (офисное программирование) Назначение VBA VBA является современным языком визуального и объектно-ориентированного программирования.
Язык программирования C# Дмитрий Сошников
Тема 5. Основы современной технологии программирования Программирование в средах современных информационных систем. Интегрированные системы разработки.
Интегрированная среда разработки языкаVisual BasicИнтегрированная среда разработки языкаVisual BasicИнтегрированная среда разработки языкаVisual BasicИнтегрированная.
Высокоуровневые методы информатики и программирования Лекция 9 Делегаты.
1 Умение мыслить объектно (проектирование архитектуры) Культура кодирования Знание языка и технологий Знание языка и технологий Понимание процесса Задача.
ДЕЛЕГАТЫ Лекция 7 1. Зачем нужны делегаты 2 И данные, и код располагаются в памяти компьютера по определенным адресам. Передача адресов данных в C# происходит.
ФИЛОСОФИЯ.NET Любому современному программисту, который желает идти в ногу с последними веяниями, каждые несколько лет приходится переучиваться.
Основы информатики Классы Заикин Олег Сергеевич zaikin.all24.org
Виды проектов Visual Studio.Net 2012 предлагает различные шаблоны для ваших начальных проектов. Основные поддерживаемые языки программирования: С#, C++,
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 7 Методы как средство реализации операций Лекции читает кандидат технических наук.
Начальные сведения по созданию проекта Разработал учитель информатики МБОУ СОШ 50 г. Краснодара Ракута Елизавета Григорьевна « Не бойся, что не знаешь,
1 Разработка проектов в системе программирования Visual Basic Учитель информатики МОУ СОШ 33 г. Томска Гребнева Татьяна Николаевна.
Веб-технологии и современные средства разработки УЦ ВГТУ & SoftLine Academy.
Транксрипт:

Высокоуровневые методы информатики и программирования Лекция 2

План лекции 1.Новый язык программирования C# 2.Интегрированная среда разработки Visual Studio 2008

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

Общие сведения по языку C# Появился в 2001 году. Основан на языках Java и Visual Basic Общий прародитель C++ В первой версии языка: –80 ключевых слов –12 встроенных (базовых) типов данных Включает все необходимое для создания объектно-ориентированных, компонентных программ. Одобрен в качестве международного стандарта ECMA (ECMA-334) и ISO(ISO/IEC 23270)ECMAISO

Версии языка Версия С# 1.0 – 2001г. (для Framework 1.0) Версия С# 2.0 – 2005г. (для Framework 2.0) Версия C# 3.0 – 2007г. (для Framework 3.5) Версия C# 4.0 – 2010г. (для Framework 4.0) С++ Java C#

Андерс Хейлсберг (Anders Hejlsberg) Главный проектировщик и ведущий архитектор. Датский учёный в области информатики. В 1980 году он написал компилятор языка Паскаль, который продал фирме Borland (этот компилятор дожил до 7 версии (Borland Pascal).ПаскальBorland До 1996 года главный проектировщик фирмы Borland, создал новое поколение компиляторов Паскаля: получился язык Delphi.BorlandDelphi В 1996 году перешёл в Microsoft, где работал над языком J++ и библиотекой С++ - Windows Foundation Classes. J++Windows Foundation Classes Позже возглавил комиссию по созданию и проектированию языка C#.C#

Программа на С# Программа это набор взаимосвязанных классов. Класс содержит данные и функции В одном из классов должна быть функция Main,с этой функции начинается выполнение программы Классы могут быть в разных файлах, в разных сборках (в библиотеках классов). На внешние модули (библиотеки, или выполняемые модули) должны быть ссылки (references). Для удобства ссылок на классы программы, желательно использовать пространство имен Для удобства записи имен внешних классов можно использовать оператор using.

Определение программы (Дейкстра) –Программа = Алгоритм + Данные. ОО определение программы: –Программа это набор типов (классов, интерфейсов и т.д.) –Тип = Данные + Методы –Метод = Алгоритм + Данные.

Структура программы (сборки) на языке С# static void Main () …. class T class A interface C class Q struct M interface V class G struct K class F Сборка Z.dll Сборка Y.dll Сборка X.exe ссылки

Структура приложения Интерфейс Модель предметной области Файлы Система управления БД Базы Данных Framework Class Library Меню Форма Элементы управления - Пользовательские типы данных (классы, структуры, интерфейсы) Пользователь приложения использование типов библиотеки Запись и чтение данных

Типы данных программы Встроенные типы (int, float, …) Классы (class) Структуры (struct) Интерфейсы (interface) Перечисления (enum) Делегаты (delegate)

Зачем нужны типы данных? Чтобы гарантировать осмысленность выполняемых операций:

Классы Основные составные части программы на языке C# Задают новые типы данных Класс и тип – почти синонимы в С# Везде, где могут использоваться встроенные типы, могут использоваться и классы – пользовательские типы.

Составные элементы класса 1.Поля (field) – обычно скрытые данные класса (внутренне состояние) 2.Свойства (property) – доступ к данным класса с помощью функций –get – получить –set – задать 3.Методы (methods) – операции над данными класса (поведение) (можно называть функциями) 4.События (event) – оповещение пользователей класса о том, что произошло что-то важное.

Доступ к элементам класса public вызов или доступ откуда угодно protected только из производных классов (соответствует модификатору family в CLI) private доступ только внутри текущего класса sealed класс, от которого не допускается определение потомков (сравните: в Java ~ final) internal доступ только из текущей сборки (CLI: assembly; Java: аналогов нет) protected internal доступ только из подклассов, определенных в текущей сборке (CLI: family and assembly)

Описание классов программы using XXX; // чужие пространства имен namespace MMM // наше пространство имен { class AAA // наш класс MMM.AAA { … } class BBB // другой наш класс MMM.BBB { … }

Метод Main Выполнение программы начинается со статического метода (функции) с именем Main Заголовок функции static void Main (string[ ] arg) {…} static void Main () {…} static int Main (string[ ] arg) {…} static int Main () {…} В самом простом случае – выполняет некоторый алгоритм без использования объектов классов Обычно создает экземпляры классов и вызывает их методы для решения задачи может создать экземпляр того класса в котором находится сама и вызвать некоторый не статический метод решения задачи

Использование класса Объекты одного класса могут использоваться в других классах … // описание переменной типа - класс a; // создание объекта класса a = new (…); // вызов метода класса b = a. (…); // использование полей или свойств объекта a. = c; c = a. ;

Классы и файлы Классы записываются в файле с расширением *.cs, например, main.cs В одном файле может быть описано несколько классов – в любом порядке Один класс может описываться в нескольких файлах (начиная с C# 2.0) –модификатор patial (перед словом class)

Простая программа на C# class Hello { static void Main( ) { // Use the system console object System.Console.WriteLine("Hello World"); } Запуск на выполнение –в режиме отладки F5 –без отладки Ctrl – F5 (остановка после выполнения)

Простая программа на C# (2) using System; namespace ConsoleApp { class Program { static void Main() { Console.Write("Введите радиус круга:"); string s = Console.ReadLine(); double r = Convert.ToDouble(s); double p = Math.PI * r * r; Console.WriteLine("Площадь круга = {0}", p); Console.ReadLine(); return; }

Сравнение C# и Java using System; class Program { public static void Main(string []) { Console.Write("Введите радиус круга:"); string s = Console.ReadLine(); double r = Convert.ToDouble(s); double p = Math.PI * r * r; Console.WriteLine("Площадь круга = {0}", p); Console.ReadLine(); } import java.util.Scanner; class Program { private static final double PI = ; public static void main ( String [] args ) { Scanner keyboard=new Scanner ( System.in ) ; System.out.print ( "Введите радиус круга:" ) ; float r = keyboard.nextFloat(); float p = PI * r * r; System.out.print ( "Площадь круга = :" ) ; System.out.println( 2*val*val*PI ) ; }

Пространство имен – name space Разделение объектов по иерархически организованным группам Используется иерархическое пространство имен... –Вложенность нескольких имен (как почтовый адрес) –Значительно понижается вероятность совпадения имен классов разработанных разными компаниями Для описания связей между классами (классы близкие по функциональности включены в одно пространство) Пространство имен включает - классы (Class); интерфейсы (Interface); перечисления (Enum); делегаты (сигнатуры классов, Delegate); другие пространства имен. В одном DLL модуле могут содержаться элементы из разных пространств имен.

Основные пространства имен FCL System – общие базовые типы System.VisualBasic – базовые типы для VBasic System.Drawing – классы для рисования System.Windows.Forms – классы для приложений с графическим интерфейсом System.Data – классы для работы с данными в БД System.Web – классы для ASP.NET и Web-форм System.Net – классы для работы с сетевыми протоколами System.Web.Services - классы для разработки Web сервисов System.Web.UI – основные классы используемые ASP.Net

Пример простого класса namespace TestProg // наше пространство имен { class Point // наш класс MMM.Point { public int x, y; // поля класса } class Program { static void Main( ) { Point a; a = new Point(); a.x = 4; a.y = 3; }

2. Интегрированная среда разработки Microsoft Visual Studio Это основная интегрированная среда разработки программ для платформы.Net компании Microsoft. Может использоваться для разработки программ с консольным и графическим интерфейсом, Web сайтов, web приложений и web сервисов для всех OC (Microsoft Windows, Windows Mobile), поддерживающих.NET Framework,.NET Compact Framework and Microsoft Silverlight. Это программа предоставляет программисту доступ ко множеству различных полезных инструментов –.Net Framework –компиляторы, –редактор текста, –отладчик, –справочная система, –система визуального проектирования и генерации программ) –Обозреватель объектов (Object Browser)

Пульт пилота самолета

Версии Visual Studio

Visual Studio поддерживает 1.Проектирование приложения (рассмотрим позже) 2.Управление разработкой программы 1.Проект – тип результата, отдельная папки и опции компилятора 2.Решение – набор проектов 3.Составление программы 1.Выбор языка программирования 2.Визуальное программирование интерфейса 3.Составление и редактирование кода 4.Отладку и выполнение программы 5.Справочное обеспечение 6.Общение с другими программистами

Типы проектов – создаваемых прикладных программ Application – Приложения –Console (консольные приложения), –Windows (windows приложения), –Smart Device (PDAs, mobile phones ) –ASP.NET Web (web приложения - сайты) –ASP.NET Mobile Web (приложения для мобильного доступа к web ) Library – Библиотеки –Class (библиотека классов), –Windows Controls (библиотека элементов управления для Windows Form) –Web Controls (библиотека элементов управления для Web Form) Services - Сервисы –Windows services (фоновые программы) –Web services (предоставление доступа к классам в WWW)

Console Applications Console User Interface (CUI)

Windows Applications Graphical User Interface (GUI)

Web Application

Pocket PC and Smartphone

Начальная страница (start page) Скрытое окно Toolbox Последние проекты Создание Нового Проекта

Создание новых проектов Создание нового проекта Создание нового web-сайта Создание нового файла

Создание нового проекта (File/New Project/Project) Имя проекта Выбор языка прогр. Выбор типа проекта Размещение проекта

Решения и проекты Project (проект) это набор файлов для создания отдельной программы Solution (решение) - это набор проектов для создания программного комплекса для решения сложной проблемы Site (сайт) это набор файлов для создания программы, которая будет работать в сети Интернет.

Проект Набор файлов для создания сборок Все файлы в одной папке с именем проекта Содержание проекта Описание проекта.csproj Описание сборки AssemblyInfo.cs Файлы с кодом.cs

Решение Оболочка для набора проектов Решение может размещаться в отдельной папке или в папке с проектов. Если решение в отдельной папке, то все проекты в покаталогах этой папки Файлы решения –Описание решения.sln –Опции и конфигурация решения.suo Решение Проект АПроект BПроект CПроект D

Пример иерархии Решения Solution Projects Files

Управление проектами и решениями Создание проекта Окна для управления проектами –Project Explorer –Class View –Project properties Задание начального проекта Управление ссылками –Добавление ссылки –Просмотр состава используемых модулей

Свойства проекта

Окно редактирования кода Editor Window Свертывае- мые области (Collapsed Region) Свертываемые Процедуры (Collapsed Procedure) Список классов (Class List) Список методов Method List Закладки - Tabs

Справочная система MS Visual Studio Documentation (F1) MSDN Lybrary –Локальная –В Интернет ( –На русском языке ( Dynamic help (Динамическая справка) IntelliSense Brace Matching Dynamic Help Документирование собственного кода

MSDN Library

Библиотека MSDN на русском языке ( )

IntelliSense Выбор имени метода класса

IntelliSense Выбор параметров метода

Соответствие скобок ( Brace Matching ) Помогает определить соответствие между открывающимися м закрывающимися скобками (посветка) Для перехода от одной скобки к другой, соответствующий ей скобке Ctrl-]

Динамическая помощь