Your SlideShare is downloading. ×
0
Курс по програмиране на
C#
Занятие №1
Въведение в компютърното
програмиране и C#

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

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

Литерали
Променливи и константи
Стойностни и референтни типове данни
Класове и обекти
Оператори ...
Въведение в комп. програмиране
• Какво е компютърно програмиране?
– Компютърно програмиране
– Програмирането като част от ...
Въведение в комп. програмиране
• Етапи на разработката
– Събиране на изискванията за продукта и
формулиране на задание
– П...
Програмиране на C#
• Езикът за програмиране C#
–
–
–
–
–

Какво е .NET Framework?;
Какво е CLI?;
Какво е CLR?;
Какво е BCL...
Програмиране на C#
• Програма “Hello, world!”
–
–
–
–

Кратко запознаване с Microsoft Visual Studio
Кратко запознаване с M...
Програма “Hello, world!”
using System;

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

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

• Компилиране на програма
• Изпълнение на програма
• От...
Програмиране на C#
• Програма “Click me!”
–
–
–
–

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

Command line
GUI (Graph...
Ключови думи
• Запазени думи със специално значение
• Част от самия език за програмиране
• Списък в глава “C# Keywords” на...
Коментари
• Части от кода, които компилаторът не взима
предвид
• Служат за документиране на кода
• Едноредови коментари – ...
Идентификатори
• Какво е „идентификатор“?
– Идентификаторът е наименование дадено от
програмиста на определена програмна е...
Идентификатори
• Правила за идентификаторите:
– Трябва да бъдат уникални в дадената област;
– Не трябва да съвпадат с ключ...
Конвенции за идентификаторите
• Наименованията на идентификаторите се
определят от програмиста.
• Свободата в избора на пр...
Типове данни
• Какво е „тип данни“?
– Класификационна система на видовете данните
– Типът данни определя
•
•
•
•

Множеств...
Типове данни
• Примитивни типове данни
–
–
–
–
–
–
–

Целочислени
Реални с плаваща запетая
Реални с десетична точност
Буле...
Типове данни
• Изброими типове данни
– Дават ефикасен начин за групиране на изброимо
множество от константни стойности
– В...
Типове данни
• Изброими типове данни (примери)
–
–
–
–
–

Дните от седмицата
Месеците в годината
Състоянията на светофар
П...
Типове данни
• Структури
– Дават възможност за обединяването на характерни за
монолитна логическа единица данни, свойства ...
Типове данни
• Структури (примери)
– Точка в двумерното пространство
• Данни: вътрешно представяне на точката в двумерното...
Литерали
• Какво е „литерал“?
– Запис в изходния код представляващ фиксирана
стойност от определен тип
– Обикновено задава...
Литерали
• Видове литерали според типа данни
–
–
–
–
–
–

Булев тип
Цели числа
Реални числа
Символи
Символни низове
Нулев ...
Променливи и константи
• Какво е „променлива“?
– Идентификатор с асоциирана с него стойност, която
може да бъде променяна ...
Променливи и константи
• Присвояване на стойност на променливи
– (променлива) = (израз)

• Инициализация на променливи
– П...
Променливи и константи
• Какво е „константа“?
– Идентификатор с асоциирана с него стойност, която
не може да бъде променян...
Стойностни и референтни типове
данни
• Същност
– Стойностни типове данни
•
•
•
•

По-малки по обем
Съхраняват се в “stack”...
Стойностни и референтни типове
данни
• Стойности по подразбиране
– Числовите типове – нула
– Символен тип – символът ‘0’
–...
Стойностни и референтни типове
данни
• Нулируеми типове данни
– Понякога се налага добавянето на стойността null към
множе...
Класове и обекти
• Какво е „клас“?
– Основа на обектно-ориентираното програмиране
– Подобни на структурите типове данни съ...
Оператори, изрази и съждения
• Какво е „оператор“? Какво е „операнд“?
– Операторите са синтактични конструкции на езика
пр...
Оператори, изрази и съждения
• Видове оператори според вида на операциите
(1)
–
–
–
–
–

Аритметични операции
Логически оп...
Оператори, изрази и съждения
• Видове оператори според вида на операциите
(2)
– Други оператори
•
•
•
•
•
•
•
•
•
•

Слепв...
Оператори, изрази и съждения
• Преобразуване на типовете данни
– Какво е „преобразуване на типовете данни“?
– Неявно преоб...
Оператори, изрази и съждения
• Какво е „израз“?
– Поредица от оператори, литерали и променливи
даващи като резултат опреде...
Оператори, изрази и съждения
• Какво е „съждение“?
– Съждението в езиците за програмиране е аналог на
изречението – то дав...
Въпроси?
Благодаря!
• Валери Дачев
–
–
–
–

valery@david.bg
http://vdachev.net/
@vdachev
https://www.facebook.com/vdachev

• ДАВИД ...
Upcoming SlideShare
Loading in...5
×

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

161

Published on

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

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
161
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Курс по програмиране на C# Занятие №1 Въведение в компютърното програмиране и C# 2013
  2. 2. Съдържание 1/2 • • • • • • Въведение в компютърното програмиране Програмиране на C# Ключови думи Коментари Идентификатори Типове данни
  3. 3. Съдържание 2/2 • • • • • Литерали Променливи и константи Стойностни и референтни типове данни Класове и обекти Оператори и изрази
  4. 4. Въведение в комп. програмиране • Какво е компютърно програмиране? – Компютърно програмиране – Програмирането като част от софтуерното инженерство – Езици за програмиране
  5. 5. Въведение в комп. програмиране • Етапи на разработката – Събиране на изискванията за продукта и формулиране на задание – Планиране и изготвяне на архитектура и дизайн – Реализация (имплементация) – Изпитване на продукта (тестване) и отстраняване на грешки – Внедряване и експлоатация – Поддръжка • Документиране
  6. 6. Програмиране на C# • Езикът за програмиране C# – – – – – Какво е .NET Framework?; Какво е CLI?; Какво е CLR?; Какво е BCL?; Езикът C#. Защо C#?
  7. 7. Програмиране на C# • Програма “Hello, world!” – – – – Кратко запознаване с Microsoft Visual Studio Кратко запознаване с MSDN Library Въвеждане на програмата Дисекция на програмата • Какво означават думичките? • Добро и лошо форматиране на програма • Конвенции за кодиране
  8. 8. Програма “Hello, world!” using System; Използване пространство на имената System Пространство на имената HelloWorld namespace HelloWorld Дефиниция на клас Program { class Program Дефиниция на метод Main { static void Main(string[] args) { Console.WriteLine("Hello, world!"); } } } Наименование на клас Console Извикване на метод WriteLine Текст
  9. 9. Програмиране на C# • Помощни средства – JustCode, ReSharper и др. • Компилиране на програма • Изпълнение на програма • Откриване, проследяване и отстраняване на грешки
  10. 10. Програмиране на C# • Програма “Click me!” – – – – Какво е визуално програмиране? Създаване на потребителски интерфейс Въвеждане на програмата Дисекция на програмата • Какво означават думичките? • Събития и обработка на събития • Манипулиране на потребителския интерфейс – Възможности за развитие на програмата
  11. 11. Програма “Click me!” // Демонстрация
  12. 12. Програмиране на C# • Какво е „потребителски интефейс“? • Видове потребителски интерфейс – – – – – Command line GUI (Graphical User Interface) WUI (Web User Interface) Touchscreens Други
  13. 13. Ключови думи • Запазени думи със специално значение • Част от самия език за програмиране • Списък в глава “C# Keywords” на “C# Reference” в MSDN
  14. 14. Коментари • Части от кода, които компилаторът не взима предвид • Служат за документиране на кода • Едноредови коментари – започват с “//” и завършват с края на реда • Многоредови коментари – започват с “/*” и завършват с “*/” • Машинно четимо документиране на кода с XMLбазирани коментари
  15. 15. Идентификатори • Какво е „идентификатор“? – Идентификаторът е наименование дадено от програмиста на определена програмна единица в кода.
  16. 16. Идентификатори • Правила за идентификаторите: – Трябва да бъдат уникални в дадената област; – Не трябва да съвпадат с ключова дума на езика, освен ако за префикс не се използва символът „@”; – Трябва да започват с малка или голяма буква или символа „_“; – Трябва да съдържат само малки и големи букви, числа и символа „_“; – Могат да съдържат Unicode символи, ако за префикс се използва със символа „@” или съответните символи са екранирани (escaped).
  17. 17. Конвенции за идентификаторите • Наименованията на идентификаторите се определят от програмиста. • Свободата в избора на програмиста може да доведе до нечетим програмен код. • Принципите на доброто кодиране и конвенциите изискват наименованията да носят смисъла на това, което идентифицират. • Спазването на конвенциите води до по-четим, по-качествен и по-разбираем програмен код.
  18. 18. Типове данни • Какво е „тип данни“? – Класификационна система на видовете данните – Типът данни определя • • • • Множеството от възможни стойности Възможните операциите извършвани с данните Смисъла на данните Начина на тяхното съхранение • Характеристики – Наименование – Размер/обем – Стойност по подразбиране
  19. 19. Типове данни • Примитивни типове данни – – – – – – – Целочислени Реални с плаваща запетая Реални с десетична точност Булеви Дата/час Символи Символни низове
  20. 20. Типове данни • Изброими типове данни – Дават ефикасен начин за групиране на изброимо множество от константни стойности – Всяка стойност се задава с нейното име и приема стойност от целочислен тип
  21. 21. Типове данни • Изброими типове данни (примери) – – – – – Дните от седмицата Месеците в годината Състоянията на светофар Програмите на автоматична пералня Други
  22. 22. Типове данни • Структури – Дават възможност за обединяването на характерни за монолитна логическа единица данни, свойства и функции – Монолитна в случая се разбира, че промяната на която и да е от данните всъщност представлява друга логическа единица
  23. 23. Типове данни • Структури (примери) – Точка в двумерното пространство • Данни: вътрешно представяне на точката в двумерното пространство • Свойства: X- и Y- координати, ъгъл спрямо оста, разстояние до началото на координатната система, и др. • Функции: определяне на разстоянието до друга точка, принадлежност към вътрешността на затворен контур и др. – Цвят • Данни: вътрешно представяне на цвят • Свойства: червена, зелена и синя компонента на цвета • Функции: смесване на цвета с друг цвят за получаване на трети
  24. 24. Литерали • Какво е „литерал“? – Запис в изходния код представляващ фиксирана стойност от определен тип – Обикновено задаваните от литералите стойности са от примитивен тип – Езикът C# дава възможност с литерали да се описват и по-сложни структури
  25. 25. Литерали • Видове литерали според типа данни – – – – – – Булев тип Цели числа Реални числа Символи Символни низове Нулев литерал (null) • Екраниране (escaping) на литерали – Kогато литералите съдържат специални символи – Начини за екраниране на литерали
  26. 26. Променливи и константи • Какво е „променлива“? – Идентификатор с асоциирана с него стойност, която може да бъде променяна по време на изпълнение • Характеристики на променливите – Наименование (напр. courseName) – Тип (напр. string) – Текуща стойност (напр. “Програмиране на C#”) • Обявяване на променливи – (тип) (наименование) • Използване на променливи
  27. 27. Променливи и константи • Присвояване на стойност на променливи – (променлива) = (израз) • Инициализация на променливи – Първоначално задаване на стойност на променливи – Променливите не могат да се използват, преди да бъдат инициализирани
  28. 28. Променливи и константи • Какво е „константа“? – Идентификатор с асоциирана с него стойност, която не може да бъде променяна по време на изпълнение • Характеристики на константите – Наименование (напр. Pi) – Тип (напр. double) – Стойност (напр. 3.14159265359d) • Обявяване на константи – const (тип) (наименование) = (константен израз) • Използване на константи
  29. 29. Стойностни и референтни типове данни • Същност – Стойностни типове данни • • • • По-малки по обем Съхраняват се в “stack” – бърз достъп Предават се по стойност Примитивни и изброими типове, както и структури – Референтни типове данни • • • • По-големи по обем Съхраняват се в “heap” – бавен достъп Предават се по референция Класове
  30. 30. Стойностни и референтни типове данни • Стойности по подразбиране – Числовите типове – нула – Символен тип – символът ‘0’ – Символен низ – null (литерал указващ нулева позиция в паметта, буквално „нищо“) – Дата/час – 1 януари 1, 00:00:00; – Структури – съответства на структурата, чиито всички полета имат своите подразбиращи се стойности; – Класовете – null (литерал указващ нулева позиция в паметта, буквално „нищо“)
  31. 31. Стойностни и референтни типове данни • Нулируеми типове данни – Понякога се налага добавянето на стойността null към множеството от възможни стойности – Примери: • Средна аритметична оценка, когато не всички изпити са положени • Други – Обявяване на променливи от нулируем тип • Добавяне на символа „?” към наименованието на типа
  32. 32. Класове и обекти • Какво е „клас“? – Основа на обектно-ориентираното програмиране – Подобни на структурите типове данни със значително по-разширени възможности – Подробно изучавани във втората част на курса • Какво е „обект“? – Обектът е променлива, типът на която е клас – Обектът е проява на определен клас – Пример: • Планетите от Слънчевата система са от клас Планета
  33. 33. Оператори, изрази и съждения • Какво е „оператор“? Какво е „операнд“? – Операторите са синтактични конструкции на езика предназначени за извършване на операции върху определени програмни единици – операнди. • Видове оператори според броя на операндите – Унарни – с един операнд – Бинарни – с два операнда – Тернарни – с три операнда
  34. 34. Оператори, изрази и съждения • Видове оператори според вида на операциите (1) – – – – – Аритметични операции Логически операции Побитови операции Оператори за сравнение Оператори за присвоявяне
  35. 35. Оператори, изрази и съждения • Видове оператори според вида на операциите (2) – Други оператори • • • • • • • • • • Слепване на низове Достъпване на член-променливи и член-функции Достъпване на индексиран елемент Групиране Преобразуване на типове Условен оператор Създаване на обект/структура Взимане на тип данни и големина на тип данни Проверка на тип данни Null-coalescing
  36. 36. Оператори, изрази и съждения • Преобразуване на типовете данни – Какво е „преобразуване на типовете данни“? – Неявно преобразуване на типове данни – автоматично без загуба на информация – Явно преобразуване на типове данни – ръчно с възможна загуба на информация – Преобразуване на типове данни с функции
  37. 37. Оператори, изрази и съждения • Какво е „израз“? – Поредица от оператори, литерали и променливи даващи като резултат определена стойност – Изразите се изчисляват на базата на определени правила за приоритет и асоциативност • Приоритет на операциите – Определя реда, в който се изпълняват операциите при изчисляване на даден израз • Асоциативност на операциите – Набор от правила определящ реда на изпълнение на две операции с един и същи приоритет около един и същи операнд
  38. 38. Оператори, изрази и съждения • Какво е „съждение“? – Съждението в езиците за програмиране е аналог на изречението – то дава смисъл на „казаното“ и инструктира компютъра да извърши определена дейност. – В езика C# съжденията се отделят със символа “;”. • Какво е „блок“? – Блокът е поредица от едно или повече съждения. – В езика C# блоковете се оформят със затваряне на съжденията между символите “{“ и “}”.
  39. 39. Въпроси?
  40. 40. Благодаря! • Валери Дачев – – – – valery@david.bg http://vdachev.net/ @vdachev https://www.facebook.com/vdachev • ДАВИД академия – – – – acad@david.bg http://acad.david.bg/ @david_academy https://www.facebook.com/groups/david.academy/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×