40
2013 Copyright © 2013 DAVID Holding Company Курс по програмиране на C# Занятие №1 Въведение в компютърното програмиране и C#

Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Embed Size (px)

DESCRIPTION

Занятие №1 на курса по програмиране на C# 2013 провеждан от ДАВИД академия в ПМГ "Никола Обрешков" - Казанлък. Включва темите: - Въведение в компютърното програмиране и C#

Citation preview

Page 1: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

2013Copyright © 2013 DAVID Holding Company

Курс по програмиране на C#

Занятие №1Въведение в компютърното

програмиране и C#

Page 2: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Съдържание 1/2

• Въведение в компютърното програмиране• Програмиране на C#• Ключови думи• Коментари• Идентификатори• Типове данни

Page 3: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Съдържание 2/2

• Литерали• Променливи и константи• Стойностни и референтни типове данни• Класове и обекти• Оператори и изрази

Page 4: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Въведение в комп. програмиране• Какво е компютърно програмиране?– Компютърно програмиране– Програмирането като част от софтуерното

инженерство– Езици за програмиране

Page 5: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Въведение в комп. програмиране• Етапи на разработката– Събиране на изискванията за продукта и

формулиране на задание– Планиране и изготвяне на архитектура и

дизайн– Реализация (имплементация)– Изпитване на продукта (тестване) и

отстраняване на грешки– Внедряване и експлоатация– Поддръжка

• Документиране

Page 6: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Програмиране на C#

• Езикът за програмиране C#– Какво е .NET Framework?;– Какво е CLI?;– Какво е CLR?;– Какво е BCL?;– Езикът C#. Защо C#?

Page 7: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Програмиране на C#

• Програма “Hello, world!”– Кратко запознаване с Microsoft Visual Studio– Кратко запознаване с MSDN Library– Въвеждане на програмата– Дисекция на програмата

• Какво означават думичките?• Добро и лошо форматиране на програма• Конвенции за кодиране

Page 8: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Програма “Hello, world!”

using System;

namespace HelloWorld{

class Program{

static void Main(string[] args){

Console.WriteLine("Hello, world!");}

}}

Дефиниция на метод Main

Дефиниция на клас Program

Пространство на имената HelloWorld

ТекстНаименование на клас

Console

Използване пространство на имената System

Извикване на метод WriteLine

Page 9: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Програмиране на C#• Помощни средства– JustCode, ReSharper и др.

• Компилиране на програма• Изпълнение на програма• Откриване, проследяване и отстраняване

на грешки

Page 10: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Програмиране на C#• Програма “Click me!”– Какво е визуално програмиране?– Създаване на потребителски интерфейс– Въвеждане на програмата– Дисекция на програмата

• Какво означават думичките?• Събития и обработка на събития• Манипулиране на потребителския интерфейс

– Възможности за развитие на програмата

Page 11: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Програма “Click me!”

// Демонстрация

Page 12: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Програмиране на C#

• Какво е „потребителски интефейс“?• Видове потребителски интерфейс– Command line– GUI (Graphical User Interface)– WUI (Web User Interface)– Touchscreens– Други

Page 13: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Ключови думи

• Запазени думи със специално значение• Част от самия език за програмиране• Списък в глава “C# Keywords” на “C#

Reference” в MSDN

Page 14: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Коментари

• Части от кода, които компилаторът не взима предвид

• Служат за документиране на кода• Едноредови коментари – започват с “//” и

завършват с края на реда• Многоредови коментари – започват с “/*”

и завършват с “*/”• Машинно четимо документиране на кода

с XML-базирани коментари

Page 15: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Идентификатори

• Какво е „идентификатор“?– Идентификаторът е наименование дадено от

програмиста на определена програмна единица в кода.

Page 16: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Идентификатори

• Правила за идентификаторите:– Трябва да бъдат уникални в дадената област;– Не трябва да съвпадат с ключова дума на

езика, освен ако за префикс не се използва символът „@”;

– Трябва да започват с малка или голяма буква или символа „_“;

– Трябва да съдържат само малки и големи букви, числа и символа „_“;

– Могат да съдържат Unicode символи, ако за префикс се използва със символа „@” или съответните символи са екранирани (escaped).

Page 17: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Конвенции за идентификаторите• Наименованията на идентификаторите се

определят от програмиста.• Свободата в избора на програмиста може

да доведе до нечетим програмен код.• Принципите на доброто кодиране и

конвенциите изискват наименованията да носят смисъла на това, което идентифицират.

• Спазването на конвенциите води до по-четим, по-качествен и по-разбираем програмен код.

Page 18: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Типове данни

• Какво е „тип данни“?– Класификационна система на видовете

данните– Типът данни определя

• Множеството от възможни стойности• Възможните операциите извършвани с данните• Смисъла на данните• Начина на тяхното съхранение

• Характеристики– Наименование– Размер/обем– Стойност по подразбиране

Page 19: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Типове данни

• Примитивни типове данни– Целочислени– Реални с плаваща запетая– Реални с десетична точност– Булеви– Дата/час– Символи– Символни низове

Page 20: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Типове данни

• Изброими типове данни– Дават ефикасен начин за групиране на

изброимо множество от константни стойности– Всяка стойност се задава с нейното име и

приема стойност от целочислен тип

Page 21: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Типове данни

• Изброими типове данни (примери)– Дните от седмицата– Месеците в годината– Състоянията на светофар– Програмите на автоматична пералня– Други

Page 22: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Типове данни

• Структури– Дават възможност за обединяването на

характерни за монолитна логическа единица данни, свойства и функции

– Монолитна в случая се разбира, че промяната на която и да е от данните всъщност представлява друга логическа единица

Page 23: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Типове данни

• Структури (примери)– Точка в двумерното пространство

• Данни: вътрешно представяне на точката в двумерното пространство

• Свойства: X- и Y- координати, ъгъл спрямо оста, разстояние до началото на координатната система, и др.

• Функции: определяне на разстоянието до друга точка, принадлежност към вътрешността на затворен контур и др.

– Цвят• Данни: вътрешно представяне на цвят• Свойства: червена, зелена и синя компонента на

цвета• Функции: смесване на цвета с друг цвят за

получаване на трети

Page 24: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Литерали

• Какво е „литерал“?– Запис в изходния код представляващ

фиксирана стойност от определен тип– Обикновено задаваните от литералите

стойности са от примитивен тип– Езикът C# дава възможност с литерали да се

описват и по-сложни структури

Page 25: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Литерали

• Видове литерали според типа данни– Булев тип– Цели числа– Реални числа– Символи– Символни низове– Нулев литерал (null)

• Екраниране (escaping) на литерали– Kогато литералите съдържат специални

символи– Начини за екраниране на литерали

Page 26: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Променливи и константи

• Какво е „променлива“?– Идентификатор с асоциирана с него стойност,

която може да бъде променяна по време на изпълнение

• Характеристики на променливите– Наименование (напр. courseName)– Тип (напр. string)– Текуща стойност (напр. “Програмиране на

C#”)

• Обявяване на променливи– (тип) (наименование)

• Използване на променливи

Page 27: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Променливи и константи

• Присвояване на стойност на променливи– (променлива) = (израз)

• Инициализация на променливи– Първоначално задаване на стойност на

променливи– Променливите не могат да се използват,

преди да бъдат инициализирани

Page 28: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Променливи и константи

• Какво е „константа“?– Идентификатор с асоциирана с него стойност,

която не може да бъде променяна по време на изпълнение

• Характеристики на константите– Наименование (напр. Pi)– Тип (напр. double)– Стойност (напр. 3.14159265359d)

• Обявяване на константи– const (тип) (наименование) = (константен

израз)

• Използване на константи

Page 29: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Стойностни и референтни типове данни• Същност– Стойностни типове данни

• По-малки по обем• Съхраняват се в “stack” – бърз достъп• Предават се по стойност• Примитивни и изброими типове, както и структури

– Референтни типове данни• По-големи по обем• Съхраняват се в “heap” – бавен достъп• Предават се по референция• Класове

Page 30: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Стойностни и референтни типове данни• Стойности по подразбиране– Числовите типове – нула– Символен тип – символът ‘\0’– Символен низ – null (литерал указващ нулева

позиция в паметта, буквално „нищо“)– Дата/час – 1 януари 1, 00:00:00;– Структури – съответства на структурата,

чиито всички полета имат своите подразбиращи се стойности;

– Класовете – null (литерал указващ нулева позиция в паметта, буквално „нищо“)

Page 31: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Стойностни и референтни типове данни• Нулируеми типове данни– Понякога се налага добавянето на стойността

null към множеството от възможни стойности– Примери:

• Средна аритметична оценка, когато не всички изпити са положени

• Други

– Обявяване на променливи от нулируем тип• Добавяне на символа „?” към наименованието на

типа

Page 32: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Класове и обекти

• Какво е „клас“?– Основа на обектно-ориентираното

програмиране– Подобни на структурите типове данни със

значително по-разширени възможности– Подробно изучавани във втората част на курса

• Какво е „обект“?– Обектът е променлива, типът на която е клас– Обектът е проява на определен клас– Пример:

• Планетите от Слънчевата система са от клас Планета

Page 33: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Оператори, изрази и съждения

• Какво е „оператор“? Какво е „операнд“?– Операторите са синтактични конструкции на

езика предназначени за извършване на операции върху определени програмни единици – операнди.

• Видове оператори според броя на операндите– Унарни – с един операнд– Бинарни – с два операнда– Тернарни – с три операнда

Page 34: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Оператори, изрази и съждения

• Видове оператори според вида на операциите (1)– Аритметични операции– Логически операции– Побитови операции– Оператори за сравнение– Оператори за присвоявяне

Page 35: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Оператори, изрази и съждения

• Видове оператори според вида на операциите (2)– Други оператори

• Слепване на низове• Достъпване на член-променливи и член-функции• Достъпване на индексиран елемент• Групиране• Преобразуване на типове• Условен оператор• Създаване на обект/структура• Взимане на тип данни и големина на тип данни• Проверка на тип данни• Null-coalescing

Page 36: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Оператори, изрази и съждения

• Преобразуване на типовете данни– Какво е „преобразуване на типовете данни“?– Неявно преобразуване на типове данни –

автоматично без загуба на информация– Явно преобразуване на типове данни – ръчно с

възможна загуба на информация– Преобразуване на типове данни с функции

Page 37: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Оператори, изрази и съждения

• Какво е „израз“?– Поредица от оператори, литерали и

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

– Изразите се изчисляват на базата на определени правила за приоритет и асоциативност

• Приоритет на операциите– Определя реда, в който се изпълняват

операциите при изчисляване на даден израз

• Асоциативност на операциите– Набор от правила определящ реда на

изпълнение на две операции с един и същи приоритет около един и същи операнд

Page 38: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Оператори, изрази и съждения

• Какво е „съждение“?– Съждението в езиците за програмиране е

аналог на изречението – то дава смисъл на „казаното“ и инструктира компютъра да извърши определена дейност.

– В езика C# съжденията се отделят със символа “;”.

• Какво е „блок“?– Блокът е поредица от едно или повече

съждения.– В езика C# блоковете се оформят със

затваряне на съжденията между символите “{“ и “}”.

Page 39: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Въпроси?

Page 40: Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#

Copyright © 2013 DAVID Holding CompanyCopyright © 2013 DAVID Holding Company

Благодаря!

• Валери Дачев– [email protected]– http://vdachev.net/– @vdachev– https://www.facebook.com/vdachev

• ДАВИД академия– [email protected]– http://acad.david.bg/– @david_academy– https://www.facebook.com/groups/david.academy/