SlideShare a Scribd company logo
1 of 27
Download to read offline
Основы объектно-ориентированного
программирования на языке C#
Часть 1. Введение в программирование
Якубович Денис Андреевич
yakubovich.studylib@mail.ru
Владимир 2016
Оглавление
Алгоритмы
Платформа .NET Framework
Объектно-ориентированное программирование. Язык C#
Среда разработки
Компиляция программы
1
2
3
4
5
Алгоритмы
Алгоритм
Алгоритм – набор инструкций, описывающих порядок действий
исполнителя для достижения результата за конечное число действий.
using System;
class First_Program
{
static void Main()
{
Console.WriteLine("Привет, мир!");
Console.ReadKey();
}
}
Исполнитель Инструкции Приложение
Свойства алгоритма
Детерминированность1 Каждая команда алгоритма определяет однозначное
действие.
Алгоритм может быть разделен на отдельные
операции.
Алгоритм решает целый класс однородных задач, но с
разными входными данными или параметрами.
Алгоритм завершается после конечного числа
операций.
Алгоритм выполним для любой комбинации исходных
данных или состояний.
Итогом работы алгоритма является некоторый
результат. Если данные не позволяют его получить,
результатом является сообщение или отчет о
возникших проблемах.
2 Дискретность
3 Массовость
4 Конечность
5 Корректность
6 Результативность
Способы описания алгоритма
Словесный1 Алгоритм задается с помощью символов, слов и
предложений естественного для человека языка или
формулируется в устной форме.
Описывается с использованием специальных символов,
формального (абстрактного) языка программирования.
Представлен в визульной форме, в виде схемы,
диаграммы.
2 Формальный
3 Графический
Блок-схема
Блок-схема – графическая схема, описывающая алгоритмы или
процессы, в которых отдельные шаги изображаются в виде блоков,
соединенных между собой линиями, указывающими направление
последовательности действий.
ГОСТ 19.701-90
(ИСО 5807-65)
Схемы алгоритмов, программ,
данных и систем
Стандарт устанавливает правила
выполнения схем, используемых для
отображения различных видов задач
обработки данных и средств их
решения.
Элементы блок-схемы
1 Начало / конец алгоритма
Блок ввода / вывода данных
Операция или несколько операций
Проверка условия
Начало цикла со счетчиком
Вызов подпрограммы
Обращение к внешнему модулю
Направление процесса
2
3
4
6
5
7
8
Примеры блок-схем
Вычисление длины вектора по
его координатам.
1
Поиска наибольшего числа из
двух заданных.
2
Примеры блок-схем
Переменная k является счетчиком.
В ней хранится текущее значение числа,
которое необходимо вывести.
Изначально равна 1.
Условие обеспечивает циклическое
выполнение следующих операций:
1. вывод текущего числа;
2. увеличение счетчика на 1 (т.е. переход
к следующему числу).
Вывод чисел от 1 до 100.3
.NET Framework
Платформа .NET Framework
.NET Framework – программная платформа компании Microsoft (2002).
Цели .NET Framework
1. Совместное использование различных языков программирования
под единой программной платформой.
2. Безопасное выполнение программ на платформах ОС Windows.
3. Работа приложений везде, где поддерживается технология .NET.
Платформа .NET Framework
Элементы .NET Framework:
1. CLR (Common Language Runtime)
– общеязыковая среда
выполнения. Предназначена для
поддержки многоязычного
программирования,
переносимости и безопасного
выполнения кода.
2. Библиотека классов. Допускает
использование везде, где
поддерживается .NET технология.
Язык C#
Объектно-ориентированное программирование
Объектно-ориентированное программирование (ООП) — парадигма
программирования, в которой основными концепциями являются
понятия объектов и классов.
Три кита ООП
Инкапсуляция
Принцип обеспечивает защиту компонент
класса от нежелательного вмешательства.
Наследование
На базе существующих классов можно
создавать новые, расширяя их
дополнительными компонентами и
функциями.
Полиморфизм
Позволяет определяет разное поведение
для родственных объектов.
Язык C#
C# («Си шарп») – объектно-ориентированный язык программирования.
Разрабоан в 1998-2001 гг. группой инженеров под руководством
Андерса Хейлсберга, Microsoft.
Сохраняя традиции
C# является наиболее популярным языком
программирования технологии .NET Framework.
Его синтаксис унаследован от языков C / C++, отличается
хорошей структурированностью кода.
Однако, в отличии от предшественников, он серьезно
расширен новыми возможностями и отличается высокой
гибкостью.
Кен Томпсон, Деннис Ритчи
(1969 - 1973)
С
С++
Java C#
Бьярне Страуструп (1979)
Sun Microsystems
(1991)
Microsoft
(1998 - 2001)
Язык C#
Типы приложений
Выделяют три основных вида приложений.
Фоновое
Не имеют визуального
интерфейса: это процессы,
которые выполняется во
время работы приложений
и компонент ОС (в «фоне»).
Консольное
Форму обратной связи с
пользователем через окно
консоли.
Визуальное (GUI)
GUI (Graphical User Interface)
приложение реализует свой
интерфейс через удобные
элементы управления:
формы, кнопки, чекбоксы,
текстовые поля и т.д.
Hello, world!
/* Моя первая программа */
using System;
namespace First_Program // Пространство имен
{
class Program // Основной класс
{
static void Main() // Точка входа
{
Console.Write("Привет, мир!"); // Вывод сообщения
Console.ReadKey(); // Ожидание нажатия клавиши
}
}
}
Средства разработки
Интегрированная среда разработки
IDE (интегрированная среда разработки) – система программных средств,
используемая программистами для разработки программного обеспечения.
Наиболее известные IDE под C#:
• Visual Studio;
• SharpDevelop;
• MonoDevelop.
Visual Studio
Visual Studio – интегрированная среда
разработки программного обеспечения,
разработанная компанией Microsoft.
• Позволяют разрабатывать приложения с
консольным и графическим
интерфейсом.
• Включает многофункциональный
редактор кода с поддержкой технологии
IntelliSense (автодополнение кода).
• Развитый механизм сборки проектов.
• Доступны платные (VS Professional) и
бесплатные (VS Express /VS Community)
версии.
SharpDevelop
SharpDevelop – среда разработки для C#,
Visual Basic .NET, Boo, IronPython, IronRuby,
F#, C++. Используется как альтернатива
Visual Studio .
• Включает многофункциональный
редактор кода и поддерживает
технологию IntelliSense.
• Поддерживает автоматическую сборку
проектов.
• Содержит визуальный конструктор
форм.
• Распространяется свободно.
MonoDevelop – среда разработки
приложений на языках C#, Java, Boo,
Nemerle, Visual Basic .NET, Vala, CIL, C и C++.
• Включает многофункциональный
редактор кода с поддержкой технологии
IntelliSense .
• Содержит отладчик.
• Встроен в дистрибутив Unity3D как
средство написания скриптов.
• Поддерживает плагины.
• Распространяется свободно.
MonoDevelop
Компиляция программы
Компиляция программы
Компиляция – преобразование (трансляция) программы, составленной
на языке высокого уровня в эквивалентную программу низкоуровневого
языка, который понятен процессору.
Компилятор – программа, осуществляющая компиляцию.
Язык низкого уровня
Низкоуровневые языки –
непосредственно обрабатываемы
процессором. Команды отличаются
слабой мнемоникой и менее
естественны для человеческого
восприятия.
Например, команда сложения на языке
ассемблер:
add eax,counter
Язык высокого уровня
Мнемоника команд более естественна
для нашего понимания, возможность
работы с абстракциями и смысловыми
конструкциями.
Например, команда вывода текста на
экран консоли, язык C#:
Console.Write("Привет, мир!");
Компиляция программы
Файл(ы) проекта Приложение
1. Компилятору указываются ссылки на один или более файлов проекта.
2. Задаются дополнительные параметры компиляции.
3. Компилятор проверяет код на наличие ошибок и в случае успеха
транслирует его.
4. Результатом является исполняемый файл или подключаемая библиотека.

More Related Content

What's hot

C++ осень 2013 лекция 1
C++ осень 2013 лекция 1C++ осень 2013 лекция 1
C++ осень 2013 лекция 1Technopark
 
C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.Igor Shkulipa
 
C++ весна 2014 лекция 2
C++ весна 2014 лекция 2C++ весна 2014 лекция 2
C++ весна 2014 лекция 2Technopark
 
C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.Igor Shkulipa
 
C++ осень 2013 лекция 8
C++ осень 2013 лекция 8C++ осень 2013 лекция 8
C++ осень 2013 лекция 8Technopark
 
Евгений Зуев, С++ в России: Стандарт языка и его реализация
Евгений Зуев, С++ в России: Стандарт языка и его реализацияЕвгений Зуев, С++ в России: Стандарт языка и его реализация
Евгений Зуев, С++ в России: Стандарт языка и его реализацияPlatonov Sergey
 
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на Linux
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на LinuxПавел Беликов, Опыт мигрирования крупного проекта с Windows-only на Linux
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на LinuxPlatonov Sergey
 
C++ осень 2013 лекция 2
C++ осень 2013 лекция 2C++ осень 2013 лекция 2
C++ осень 2013 лекция 2Technopark
 
20120309 formal semantics shilov_lecture04
20120309 formal semantics shilov_lecture0420120309 formal semantics shilov_lecture04
20120309 formal semantics shilov_lecture04Computer Science Club
 
TMPA-2013 Anureyev: On the Road to Technology of Developing the Means of Dedu...
TMPA-2013 Anureyev: On the Road to Technology of Developing the Means of Dedu...TMPA-2013 Anureyev: On the Road to Technology of Developing the Means of Dedu...
TMPA-2013 Anureyev: On the Road to Technology of Developing the Means of Dedu...Iosif Itkin
 
Cpp/cli types
Cpp/cli typesCpp/cli types
Cpp/cli typesmcroitor
 
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...Iosif Itkin
 
Лекция 1. Основы объектно-ориентированного программирования
Лекция 1. Основы объектно-ориентированного программированияЛекция 1. Основы объектно-ориентированного программирования
Лекция 1. Основы объектно-ориентированного программированияВиталий Емельянов
 
операторы и выражения
операторы и выраженияоператоры и выражения
операторы и выраженияLidiKashka
 
C++ осень 2013 лекция 4
C++ осень 2013 лекция 4C++ осень 2013 лекция 4
C++ осень 2013 лекция 4Technopark
 
Candidates for-php-developers-tests
Candidates for-php-developers-testsCandidates for-php-developers-tests
Candidates for-php-developers-testsguest5fa21c
 
C++ Базовый. Занятие 02.
C++ Базовый. Занятие 02.C++ Базовый. Занятие 02.
C++ Базовый. Занятие 02.Igor Shkulipa
 

What's hot (20)

C++ осень 2013 лекция 1
C++ осень 2013 лекция 1C++ осень 2013 лекция 1
C++ осень 2013 лекция 1
 
C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.
 
C++ весна 2014 лекция 2
C++ весна 2014 лекция 2C++ весна 2014 лекция 2
C++ весна 2014 лекция 2
 
C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.
 
C++ осень 2013 лекция 8
C++ осень 2013 лекция 8C++ осень 2013 лекция 8
C++ осень 2013 лекция 8
 
Евгений Зуев, С++ в России: Стандарт языка и его реализация
Евгений Зуев, С++ в России: Стандарт языка и его реализацияЕвгений Зуев, С++ в России: Стандарт языка и его реализация
Евгений Зуев, С++ в России: Стандарт языка и его реализация
 
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на Linux
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на LinuxПавел Беликов, Опыт мигрирования крупного проекта с Windows-only на Linux
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на Linux
 
C++ осень 2013 лекция 2
C++ осень 2013 лекция 2C++ осень 2013 лекция 2
C++ осень 2013 лекция 2
 
20120309 formal semantics shilov_lecture04
20120309 formal semantics shilov_lecture0420120309 formal semantics shilov_lecture04
20120309 formal semantics shilov_lecture04
 
TMPA-2013 Anureyev: On the Road to Technology of Developing the Means of Dedu...
TMPA-2013 Anureyev: On the Road to Technology of Developing the Means of Dedu...TMPA-2013 Anureyev: On the Road to Technology of Developing the Means of Dedu...
TMPA-2013 Anureyev: On the Road to Technology of Developing the Means of Dedu...
 
Document
DocumentDocument
Document
 
Cpp/cli types
Cpp/cli typesCpp/cli types
Cpp/cli types
 
лек5 6
лек5 6лек5 6
лек5 6
 
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
 
Лекция 1. Основы объектно-ориентированного программирования
Лекция 1. Основы объектно-ориентированного программированияЛекция 1. Основы объектно-ориентированного программирования
Лекция 1. Основы объектно-ориентированного программирования
 
операторы и выражения
операторы и выраженияоператоры и выражения
операторы и выражения
 
C++ осень 2013 лекция 4
C++ осень 2013 лекция 4C++ осень 2013 лекция 4
C++ осень 2013 лекция 4
 
Candidates for-php-developers-tests
Candidates for-php-developers-testsCandidates for-php-developers-tests
Candidates for-php-developers-tests
 
C# vs C++
C# vs C++C# vs C++
C# vs C++
 
C++ Базовый. Занятие 02.
C++ Базовый. Занятие 02.C++ Базовый. Занятие 02.
C++ Базовый. Занятие 02.
 

Viewers also liked

JavaScript. Basics (in russian)
JavaScript. Basics (in russian)JavaScript. Basics (in russian)
JavaScript. Basics (in russian)Mikhail Davydov
 
C++ classes tutorials
C++ classes tutorialsC++ classes tutorials
C++ classes tutorialsakreyi
 
О.В.Сухорослов "Параллельное программирование. Часть 2"
О.В.Сухорослов "Параллельное программирование. Часть 2"О.В.Сухорослов "Параллельное программирование. Часть 2"
О.В.Сухорослов "Параллельное программирование. Часть 2"Yandex
 
язык программирования с#
язык программирования с#язык программирования с#
язык программирования с#Nitrosalat
 
Лекция #4. Каскадные таблицы стилей
Лекция #4. Каскадные таблицы стилейЛекция #4. Каскадные таблицы стилей
Лекция #4. Каскадные таблицы стилейЯковенко Кирилл
 
Лекция #3. Введение в языки разметки web-страниц
Лекция #3. Введение в языки разметки web-страницЛекция #3. Введение в языки разметки web-страниц
Лекция #3. Введение в языки разметки web-страницЯковенко Кирилл
 
Абетка мови Pascal. Структура програми
Абетка мови Pascal. Структура програмиАбетка мови Pascal. Структура програми
Абетка мови Pascal. Структура програмиОльга Гайворонська
 
Mathematics through my eyes
	 Mathematics through my eyes	 Mathematics through my eyes
Mathematics through my eyes6izik
 
Создание интерактивных апплетов для мобильных платформ в среде Геометрические...
Создание интерактивных апплетов для мобильных платформ в среде Геометрические...Создание интерактивных апплетов для мобильных платформ в среде Геометрические...
Создание интерактивных апплетов для мобильных платформ в среде Геометрические...Школьная лига РОСНАНО
 
Оптимизация JavaScript в Drupal
Оптимизация JavaScript в DrupalОптимизация JavaScript в Drupal
Оптимизация JavaScript в DrupalVlad Savitsky
 
Способы доставки на орбиту-2. КСМИ
Способы доставки на орбиту-2. КСМИСпособы доставки на орбиту-2. КСМИ
Способы доставки на орбиту-2. КСМИОткрытый Космос
 
Егор Стремоусов. Модульная сетка: Что? Где? Когда?
Егор Стремоусов. Модульная сетка: Что? Где? Когда?Егор Стремоусов. Модульная сетка: Что? Где? Когда?
Егор Стремоусов. Модульная сетка: Что? Где? Когда?Egor Stremousov
 
.NET программирование - 2 Типы данных
 .NET программирование - 2 Типы данных .NET программирование - 2 Типы данных
.NET программирование - 2 Типы данныхAlexander Morozov
 
20090721 hpc exercise2
20090721 hpc exercise220090721 hpc exercise2
20090721 hpc exercise2Michael Karpov
 
20080224 efficientalgorithms kulikov_lecture14
20080224 efficientalgorithms kulikov_lecture1420080224 efficientalgorithms kulikov_lecture14
20080224 efficientalgorithms kulikov_lecture14Computer Science Club
 
Эффективно закупаем трафик и правильно оцениваем его качество
Эффективно закупаем трафик и правильно оцениваем его качествоЭффективно закупаем трафик и правильно оцениваем его качество
Эффективно закупаем трафик и правильно оцениваем его качествоAppTractor
 

Viewers also liked (20)

JavaScript. Basics (in russian)
JavaScript. Basics (in russian)JavaScript. Basics (in russian)
JavaScript. Basics (in russian)
 
C++ tutorials
C++ tutorialsC++ tutorials
C++ tutorials
 
C++ classes tutorials
C++ classes tutorialsC++ classes tutorials
C++ classes tutorials
 
О.В.Сухорослов "Параллельное программирование. Часть 2"
О.В.Сухорослов "Параллельное программирование. Часть 2"О.В.Сухорослов "Параллельное программирование. Часть 2"
О.В.Сухорослов "Параллельное программирование. Часть 2"
 
язык программирования с#
язык программирования с#язык программирования с#
язык программирования с#
 
Лекция #4. Каскадные таблицы стилей
Лекция #4. Каскадные таблицы стилейЛекция #4. Каскадные таблицы стилей
Лекция #4. Каскадные таблицы стилей
 
Лекция #3. Введение в языки разметки web-страниц
Лекция #3. Введение в языки разметки web-страницЛекция #3. Введение в языки разметки web-страниц
Лекция #3. Введение в языки разметки web-страниц
 
Абетка мови Pascal. Структура програми
Абетка мови Pascal. Структура програмиАбетка мови Pascal. Структура програми
Абетка мови Pascal. Структура програми
 
Mathematics through my eyes
	 Mathematics through my eyes	 Mathematics through my eyes
Mathematics through my eyes
 
Создание интерактивных апплетов для мобильных платформ в среде Геометрические...
Создание интерактивных апплетов для мобильных платформ в среде Геометрические...Создание интерактивных апплетов для мобильных платформ в среде Геометрические...
Создание интерактивных апплетов для мобильных платформ в среде Геометрические...
 
Оптимизация JavaScript в Drupal
Оптимизация JavaScript в DrupalОптимизация JavaScript в Drupal
Оптимизация JavaScript в Drupal
 
Способы доставки на орбиту-2. КСМИ
Способы доставки на орбиту-2. КСМИСпособы доставки на орбиту-2. КСМИ
Способы доставки на орбиту-2. КСМИ
 
Егор Стремоусов. Модульная сетка: Что? Где? Когда?
Егор Стремоусов. Модульная сетка: Что? Где? Когда?Егор Стремоусов. Модульная сетка: Что? Где? Когда?
Егор Стремоусов. Модульная сетка: Что? Где? Когда?
 
.NET программирование - 2 Типы данных
 .NET программирование - 2 Типы данных .NET программирование - 2 Типы данных
.NET программирование - 2 Типы данных
 
20090721 hpc exercise2
20090721 hpc exercise220090721 hpc exercise2
20090721 hpc exercise2
 
20080224 efficientalgorithms kulikov_lecture14
20080224 efficientalgorithms kulikov_lecture1420080224 efficientalgorithms kulikov_lecture14
20080224 efficientalgorithms kulikov_lecture14
 
Эффективно закупаем трафик и правильно оцениваем его качество
Эффективно закупаем трафик и правильно оцениваем его качествоЭффективно закупаем трафик и правильно оцениваем его качество
Эффективно закупаем трафик и правильно оцениваем его качество
 
JQuery
JQueryJQuery
JQuery
 
Bobrovckii
BobrovckiiBobrovckii
Bobrovckii
 
Изучение С/С++
Изучение С/С++Изучение С/С++
Изучение С/С++
 

Similar to основы ооп на языке C#. часть 1. введение в программирование

использование .Net framework
использование .Net frameworkиспользование .Net framework
использование .Net frameworkjskonst
 
10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoftKewpaN
 
4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных системKewpaN
 
Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-AccessSerghei Urban
 
Algorithms and programming lecture in ru
Algorithms and programming lecture in ruAlgorithms and programming lecture in ru
Algorithms and programming lecture in russuser0562f1
 
Алгоритмизация и программирование С/С++
Алгоритмизация и  программирование С/С++Алгоритмизация и  программирование С/С++
Алгоритмизация и программирование С/С++ssuser0562f1
 
Programming history. Algorithm
Programming history. AlgorithmProgramming history. Algorithm
Programming history. AlgorithmIhor Porotikov
 
языки программирования
языки программированияязыки программирования
языки программированияDmitry Kulikov
 
Денис Давыдов - Кроссплатформенные инструменты серверной разработки .NET
Денис Давыдов - Кроссплатформенные инструменты серверной разработки .NETДенис Давыдов - Кроссплатформенные инструменты серверной разработки .NET
Денис Давыдов - Кроссплатформенные инструменты серверной разработки .NETElias Fofanov
 
модуль 01 введение в платформу microsoft .net
модуль 01 введение в платформу microsoft .netмодуль 01 введение в платформу microsoft .net
модуль 01 введение в платформу microsoft .netYevgeniy Gertsen
 
Основы "мобильной" разработки на примере платформы iOs (iPhone)
Основы "мобильной" разработки на примере платформы iOs (iPhone)Основы "мобильной" разработки на примере платформы iOs (iPhone)
Основы "мобильной" разработки на примере платформы iOs (iPhone)Pavel Tsukanov
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 

Similar to основы ооп на языке C#. часть 1. введение в программирование (20)

Net framework
Net frameworkNet framework
Net framework
 
Dotnet
DotnetDotnet
Dotnet
 
2IDE~1.PPT
2IDE~1.PPT2IDE~1.PPT
2IDE~1.PPT
 
TypeScript
TypeScriptTypeScript
TypeScript
 
использование .Net framework
использование .Net frameworkиспользование .Net framework
использование .Net framework
 
10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft
 
4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем
 
Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-Access
 
Algorithms and programming lecture in ru
Algorithms and programming lecture in ruAlgorithms and programming lecture in ru
Algorithms and programming lecture in ru
 
Алгоритмизация и программирование С/С++
Алгоритмизация и  программирование С/С++Алгоритмизация и  программирование С/С++
Алгоритмизация и программирование С/С++
 
Programming history. Algorithm
Programming history. AlgorithmProgramming history. Algorithm
Programming history. Algorithm
 
лек11 1
лек11 1лек11 1
лек11 1
 
языки программирования
языки программированияязыки программирования
языки программирования
 
лекция 3
лекция 3лекция 3
лекция 3
 
Денис Давыдов - Кроссплатформенные инструменты серверной разработки .NET
Денис Давыдов - Кроссплатформенные инструменты серверной разработки .NETДенис Давыдов - Кроссплатформенные инструменты серверной разработки .NET
Денис Давыдов - Кроссплатформенные инструменты серверной разработки .NET
 
модуль 01 введение в платформу microsoft .net
модуль 01 введение в платформу microsoft .netмодуль 01 введение в платформу microsoft .net
модуль 01 введение в платформу microsoft .net
 
Основы "мобильной" разработки на примере платформы iOs (iPhone)
Основы "мобильной" разработки на примере платформы iOs (iPhone)Основы "мобильной" разработки на примере платформы iOs (iPhone)
Основы "мобильной" разработки на примере платформы iOs (iPhone)
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Sonar quality
Sonar qualitySonar quality
Sonar quality
 

основы ооп на языке C#. часть 1. введение в программирование

  • 1. Основы объектно-ориентированного программирования на языке C# Часть 1. Введение в программирование Якубович Денис Андреевич yakubovich.studylib@mail.ru Владимир 2016
  • 2. Оглавление Алгоритмы Платформа .NET Framework Объектно-ориентированное программирование. Язык C# Среда разработки Компиляция программы 1 2 3 4 5
  • 4. Алгоритм Алгоритм – набор инструкций, описывающих порядок действий исполнителя для достижения результата за конечное число действий. using System; class First_Program { static void Main() { Console.WriteLine("Привет, мир!"); Console.ReadKey(); } } Исполнитель Инструкции Приложение
  • 5. Свойства алгоритма Детерминированность1 Каждая команда алгоритма определяет однозначное действие. Алгоритм может быть разделен на отдельные операции. Алгоритм решает целый класс однородных задач, но с разными входными данными или параметрами. Алгоритм завершается после конечного числа операций. Алгоритм выполним для любой комбинации исходных данных или состояний. Итогом работы алгоритма является некоторый результат. Если данные не позволяют его получить, результатом является сообщение или отчет о возникших проблемах. 2 Дискретность 3 Массовость 4 Конечность 5 Корректность 6 Результативность
  • 6. Способы описания алгоритма Словесный1 Алгоритм задается с помощью символов, слов и предложений естественного для человека языка или формулируется в устной форме. Описывается с использованием специальных символов, формального (абстрактного) языка программирования. Представлен в визульной форме, в виде схемы, диаграммы. 2 Формальный 3 Графический
  • 7. Блок-схема Блок-схема – графическая схема, описывающая алгоритмы или процессы, в которых отдельные шаги изображаются в виде блоков, соединенных между собой линиями, указывающими направление последовательности действий. ГОСТ 19.701-90 (ИСО 5807-65) Схемы алгоритмов, программ, данных и систем Стандарт устанавливает правила выполнения схем, используемых для отображения различных видов задач обработки данных и средств их решения.
  • 8. Элементы блок-схемы 1 Начало / конец алгоритма Блок ввода / вывода данных Операция или несколько операций Проверка условия Начало цикла со счетчиком Вызов подпрограммы Обращение к внешнему модулю Направление процесса 2 3 4 6 5 7 8
  • 9. Примеры блок-схем Вычисление длины вектора по его координатам. 1 Поиска наибольшего числа из двух заданных. 2
  • 10. Примеры блок-схем Переменная k является счетчиком. В ней хранится текущее значение числа, которое необходимо вывести. Изначально равна 1. Условие обеспечивает циклическое выполнение следующих операций: 1. вывод текущего числа; 2. увеличение счетчика на 1 (т.е. переход к следующему числу). Вывод чисел от 1 до 100.3
  • 12. Платформа .NET Framework .NET Framework – программная платформа компании Microsoft (2002). Цели .NET Framework 1. Совместное использование различных языков программирования под единой программной платформой. 2. Безопасное выполнение программ на платформах ОС Windows. 3. Работа приложений везде, где поддерживается технология .NET.
  • 13. Платформа .NET Framework Элементы .NET Framework: 1. CLR (Common Language Runtime) – общеязыковая среда выполнения. Предназначена для поддержки многоязычного программирования, переносимости и безопасного выполнения кода. 2. Библиотека классов. Допускает использование везде, где поддерживается .NET технология.
  • 15. Объектно-ориентированное программирование Объектно-ориентированное программирование (ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов. Три кита ООП Инкапсуляция Принцип обеспечивает защиту компонент класса от нежелательного вмешательства. Наследование На базе существующих классов можно создавать новые, расширяя их дополнительными компонентами и функциями. Полиморфизм Позволяет определяет разное поведение для родственных объектов.
  • 16. Язык C# C# («Си шарп») – объектно-ориентированный язык программирования. Разрабоан в 1998-2001 гг. группой инженеров под руководством Андерса Хейлсберга, Microsoft. Сохраняя традиции C# является наиболее популярным языком программирования технологии .NET Framework. Его синтаксис унаследован от языков C / C++, отличается хорошей структурированностью кода. Однако, в отличии от предшественников, он серьезно расширен новыми возможностями и отличается высокой гибкостью.
  • 17. Кен Томпсон, Деннис Ритчи (1969 - 1973) С С++ Java C# Бьярне Страуструп (1979) Sun Microsystems (1991) Microsoft (1998 - 2001) Язык C#
  • 18. Типы приложений Выделяют три основных вида приложений. Фоновое Не имеют визуального интерфейса: это процессы, которые выполняется во время работы приложений и компонент ОС (в «фоне»). Консольное Форму обратной связи с пользователем через окно консоли. Визуальное (GUI) GUI (Graphical User Interface) приложение реализует свой интерфейс через удобные элементы управления: формы, кнопки, чекбоксы, текстовые поля и т.д.
  • 19. Hello, world! /* Моя первая программа */ using System; namespace First_Program // Пространство имен { class Program // Основной класс { static void Main() // Точка входа { Console.Write("Привет, мир!"); // Вывод сообщения Console.ReadKey(); // Ожидание нажатия клавиши } } }
  • 21. Интегрированная среда разработки IDE (интегрированная среда разработки) – система программных средств, используемая программистами для разработки программного обеспечения. Наиболее известные IDE под C#: • Visual Studio; • SharpDevelop; • MonoDevelop.
  • 22. Visual Studio Visual Studio – интегрированная среда разработки программного обеспечения, разработанная компанией Microsoft. • Позволяют разрабатывать приложения с консольным и графическим интерфейсом. • Включает многофункциональный редактор кода с поддержкой технологии IntelliSense (автодополнение кода). • Развитый механизм сборки проектов. • Доступны платные (VS Professional) и бесплатные (VS Express /VS Community) версии.
  • 23. SharpDevelop SharpDevelop – среда разработки для C#, Visual Basic .NET, Boo, IronPython, IronRuby, F#, C++. Используется как альтернатива Visual Studio . • Включает многофункциональный редактор кода и поддерживает технологию IntelliSense. • Поддерживает автоматическую сборку проектов. • Содержит визуальный конструктор форм. • Распространяется свободно.
  • 24. MonoDevelop – среда разработки приложений на языках C#, Java, Boo, Nemerle, Visual Basic .NET, Vala, CIL, C и C++. • Включает многофункциональный редактор кода с поддержкой технологии IntelliSense . • Содержит отладчик. • Встроен в дистрибутив Unity3D как средство написания скриптов. • Поддерживает плагины. • Распространяется свободно. MonoDevelop
  • 26. Компиляция программы Компиляция – преобразование (трансляция) программы, составленной на языке высокого уровня в эквивалентную программу низкоуровневого языка, который понятен процессору. Компилятор – программа, осуществляющая компиляцию. Язык низкого уровня Низкоуровневые языки – непосредственно обрабатываемы процессором. Команды отличаются слабой мнемоникой и менее естественны для человеческого восприятия. Например, команда сложения на языке ассемблер: add eax,counter Язык высокого уровня Мнемоника команд более естественна для нашего понимания, возможность работы с абстракциями и смысловыми конструкциями. Например, команда вывода текста на экран консоли, язык C#: Console.Write("Привет, мир!");
  • 27. Компиляция программы Файл(ы) проекта Приложение 1. Компилятору указываются ссылки на один или более файлов проекта. 2. Задаются дополнительные параметры компиляции. 3. Компилятор проверяет код на наличие ошибок и в случае успеха транслирует его. 4. Результатом является исполняемый файл или подключаемая библиотека.