Основы объектно-ориентированного
программирования на языке 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

PDF
1. Типы данных. Операции. Ввод и вывод C#
PDF
2. Операторы языка C#
PDF
Лекция 3. Связи между классами
PDF
Лекция 1. Основы объектно-ориентированного программирования
PDF
Лекция 2. Интерфейсы и абстрактные классы
PDF
Лекция 4. Принципы SOLID
PDF
Cours c#
 
PDF
Лекция 1. Анализ эффективности алгоритмов
1. Типы данных. Операции. Ввод и вывод C#
2. Операторы языка C#
Лекция 3. Связи между классами
Лекция 1. Основы объектно-ориентированного программирования
Лекция 2. Интерфейсы и абстрактные классы
Лекция 4. Принципы SOLID
Cours c#
 
Лекция 1. Анализ эффективности алгоритмов

What's hot (20)

PPTX
Mastering Java Bytecode With ASM - 33rd degree, 2012
PDF
Deep dive into Coroutines on JVM @ KotlinConf 2017
PDF
Support programmation orientée objet c# .net version f8
PDF
Eve of destruction (lyrics)
PDF
Python For Data Science Cheat Sheet
PDF
Alphorm.com Formation Laravel : Construire une Application de A à Z
PPT
Bài 5: Java Bean - Lập Trình Mạng Nâng Cao
PDF
Learn C# programming - Program Structure & Basic Syntax
PDF
eServices-Tp5: api management
ODP
Testes pythonicos com pytest
PDF
Design patterns avec Symfony
PPTX
PPTX
Bytecode Manipulation with a Java Agent and Byte Buddy
PPTX
Java Generics
PDF
Odoo - CMS dynamic widgets
PPTX
Data file handling in python binary & csv files
KEY
Web application development with Django framework
PDF
javathreads
PPTX
17. Java data structures trees representation and traversal
PPTX
Java Foundations: Data Types and Type Conversion
Mastering Java Bytecode With ASM - 33rd degree, 2012
Deep dive into Coroutines on JVM @ KotlinConf 2017
Support programmation orientée objet c# .net version f8
Eve of destruction (lyrics)
Python For Data Science Cheat Sheet
Alphorm.com Formation Laravel : Construire une Application de A à Z
Bài 5: Java Bean - Lập Trình Mạng Nâng Cao
Learn C# programming - Program Structure & Basic Syntax
eServices-Tp5: api management
Testes pythonicos com pytest
Design patterns avec Symfony
Bytecode Manipulation with a Java Agent and Byte Buddy
Java Generics
Odoo - CMS dynamic widgets
Data file handling in python binary & csv files
Web application development with Django framework
javathreads
17. Java data structures trees representation and traversal
Java Foundations: Data Types and Type Conversion
Ad

Viewers also liked (20)

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

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

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

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

  • 1. Основы объектно-ориентированного программирования на языке C# Часть 1. Введение в программирование Якубович Денис Андреевич [email protected] Владимир 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. Результатом является исполняемый файл или подключаемая библиотека.