SlideShare a Scribd company logo
1 of 22
Курс по програмиране на
C#
Занятие №2
Конзолен вход и изход.
Условни преходи. Масиви

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

Конзолен вход и изход
Условни преходи и цикли
Масиви
Многомерни масиви
Конзолен вход и изход
• Какво е „конзола“?
– Съвкупността от физически устройства за въвеждане
и визуализиране на информация
– Историческо начало и наследство
– Конзола в Microsoft Windows

• Класът System.Console
– Класът е дефиниран в базовата класова библитека
– Осигурява разширено взаимодействие с функциите на
конзолата
Конзолен вход и изход
• Печат в конзолата
– Печат на литерали, променливи и изрази – Write() и
WriteLine()
– Печат на форматиран текст –
{index[,alignment][:formatString]}

• Четене от конзолата
–
–
–
–

Изчитане на символ – Read()
Изчитане на комбинация от клавиши – ReadKey()
Изчитане на ред – ReadLine()
Изчитане на други типове данни, превръщане на низ
и обработка на грешки
Конзолен вход и изход
• Печат на специални символи
– Промяна на шрифта на конзолата с такъв поддържащ
Unicode
– Установяване на изходното кодиране на конзолата с
Console.OutputEncoding

• Значение на регионалните настройки
– Регионалните настройки имат значение при обработка на някои
типове данни представени като низове
• Числа, дата, час, валута и др.

– Валидни данни като низове при едни регионални настройки
могат да се окажат невалидни при други
Конзолен вход и изход
• Други операции с конзолата
–
–
–
–
–
–
–

Управление на курсора
Издаване на системен звук
Цвят и фонов цвят на изхода
(Максимален) размер на конзолата
Състояние на Caps Lock, Num Lock, Scroll Lock, и др.
Положение на конзолата
Други
Конзолен вход и изход
// ДЕМО
Условни преходи и цикли
• Какво е „условие“?
– Условията са изрази даващи булев резултат
– В езика C# условия се получават като комбинация от сравнения
и логически операции

• Операции за сравнение
– Равенство („==“) и неравенство („!=“)
– По-голямо („>”) и по-голямо или равно („>=“)
– По-малко („<“) и по-малко или равно („<=“)
Условни преходи и цикли
• Логически операции
–
–
–
–

Логическо „не“ („!”)
Логическо „и“ („&&”)
Логическо „или“ („||”)
Изключващо „или“ („^”)

• Правила на Де Морган
– Двойно отрицание
– Отрицание на логическото „и“
– Отрицание на логическото „или“
Условни преходи и цикли
• Какво е „безусловен преход“? Оператор „goto”
• Какво е „условен преход“?
– Конструкция в езика за програмиране позволяваща
(не)извършването на една или повече операции в
зависимост от дадено условие

• Основни условни преходи
–
–
–
–

Конструкции „if” и „if-else”
Вложени конструкции „if” и „if-else”
Редуващи се конструкции „if” и „if-else”
Конструкция „switch-case”. Добри практики
Условни преходи и цикли
• Какво е „цикъл“?
– Цикълът е редица от съждения, които се задават
веднъж, но могат да се изпълняват многократно и
последователно

• Видове цикли
–
–
–
–

Цикли с предусловие
Цикли с постусловие
Крайни цикли
Безкрайни цикли
Условни преходи и цикли
• Конструиране на цикли
–
–
–
–
–
–

Цикъл с предусловие „while”
Цикъл с постусловие „do-while”
Цикъл „for”
Цикъл „foreach”
Оператори „break”, „continue” и „goto”
Вложени цикли
Условни преходи и цикли
// ДЕМО
Масиви
• Какво е „масив“?
– Масивът е редица от определен брой елементи от
един и същи тип данни

• Характеристики на масивите
– Наименование
– Тип данни на елементите в масива
– Големина/брой на елементите в масива
Масиви
• Работа с масиви
–
–
–
–
–
–

Ограничения
Деклариране
Създаване и инициализация
Достъпване на елемент
Обхождане
Копиране
Масиви
// ДЕМО
Многомерни масиви
• Какво е „многомерен масив“?
– Многомерни са масивите с повече от едно измерения

• Характеристики на многомерните масиви
– Наименование
– Тип данни на елементите в масива
– Големина на/брой на елементите във всяко
измерение
Многомерни масиви
• Работа с многомерни масиви
–
–
–
–
–
–

Ограничения
Деклариране
Създаване и инициализация
Достъпване на елемент
Обхождане
Копиране
Многомерни масиви
• Масиви от масиви (jagged arrays)
– За разлика от многомерните масиви, масивите от
масиви могат да бъдат с различен размер във всяко
свое измерение

• Избор между многомерни масиви и масиви от
масиви
– Многомерните масиви имат фиксирани размери,
докато при масивите от масиви тя може да варира
– При многомерните масиви извличането на цял ред
или сечение е сравнително по-трудоемко
– Масивите от масиви изискват инициализация на
всички елементи
Многомерни масиви
// ДЕМО
Въпроси?
Благодаря!
• Валери Дачев
–
–
–
–

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/

More Related Content

What's hot

What's hot (17)

Училищен курс по програмиране на C# (2013/2014), занятие №13
Училищен курс по програмиране на C# (2013/2014), занятие №13Училищен курс по програмиране на C# (2013/2014), занятие №13
Училищен курс по програмиране на C# (2013/2014), занятие №13
 
Училищен курс по програмиране на C# (2013/2014), занятие №14
Училищен курс по програмиране на C# (2013/2014), занятие №14Училищен курс по програмиране на C# (2013/2014), занятие №14
Училищен курс по програмиране на C# (2013/2014), занятие №14
 
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
 
Училищен курс по програмиране на C# (2013/2014), занятие №2
Училищен курс по програмиране на C# (2013/2014), занятие №2Училищен курс по програмиране на C# (2013/2014), занятие №2
Училищен курс по програмиране на C# (2013/2014), занятие №2
 
Курс по уеб програмиране (2015), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2015), занятие №4 - JavaScript (част 2/2)Курс по уеб програмиране (2015), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2015), занятие №4 - JavaScript (част 2/2)
 
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
 
Курс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTMLКурс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTML
 
Курс по уеб програмиране (2015), занятие №2 - CSS
Курс по уеб програмиране (2015), занятие №2 - CSSКурс по уеб програмиране (2015), занятие №2 - CSS
Курс по уеб програмиране (2015), занятие №2 - CSS
 
Училищен курс по програмиране на C# (2013/2014), занятие №4
Училищен курс по програмиране на C# (2013/2014), занятие №4Училищен курс по програмиране на C# (2013/2014), занятие №4
Училищен курс по програмиране на C# (2013/2014), занятие №4
 
Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...
Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...
Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...
 
Училищен курс по програмиране на C# (2013/2014), занятие №1
Училищен курс по програмиране на C# (2013/2014), занятие №1Училищен курс по програмиране на C# (2013/2014), занятие №1
Училищен курс по програмиране на C# (2013/2014), занятие №1
 
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
 
Курс по уеб програмиране (2014), занятие №2 - CSS
Курс по уеб програмиране (2014), занятие №2 - CSSКурс по уеб програмиране (2014), занятие №2 - CSS
Курс по уеб програмиране (2014), занятие №2 - CSS
 
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
 
Въведение в Python
Въведение в PythonВъведение в Python
Въведение в Python
 
Въведение в Perl
Въведение в PerlВъведение в Perl
Въведение в Perl
 
Основни структури за управление на изчислителния процес
Основни структури за управление на изчислителния процесОсновни структури за управление на изчислителния процес
Основни структури за управление на изчислителния процес
 

Similar to Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. Масиви

Nakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - IntroNakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - Intro
Svetlin Nakov
 
15.характеристика на cisc инструкции
15.характеристика на cisc инструкции15.характеристика на cisc инструкции
15.характеристика на cisc инструкции
dnaidenowa
 

Similar to Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. Масиви (6)

[Concise Bulgarian]joys and-woes_of_using_postman
[Concise Bulgarian]joys and-woes_of_using_postman[Concise Bulgarian]joys and-woes_of_using_postman
[Concise Bulgarian]joys and-woes_of_using_postman
 
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
 
Nakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - IntroNakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - Intro
 
2022 TurnovoConf MySQL за начинаещи.pptx
2022 TurnovoConf MySQL за начинаещи.pptx2022 TurnovoConf MySQL за начинаещи.pptx
2022 TurnovoConf MySQL за начинаещи.pptx
 
15.характеристика на cisc инструкции
15.характеристика на cisc инструкции15.характеристика на cisc инструкции
15.характеристика на cisc инструкции
 
Курс по програмиране за напреднали (2012) - 1. Обектно-ориентирано програмира...
Курс по програмиране за напреднали (2012) - 1. Обектно-ориентирано програмира...Курс по програмиране за напреднали (2012) - 1. Обектно-ориентирано програмира...
Курс по програмиране за напреднали (2012) - 1. Обектно-ориентирано програмира...
 

More from DAVID Academy

More from DAVID Academy (11)

Курс по уеб програмиране (2014), занятие №1 - HTML
Курс по уеб програмиране (2014), занятие №1 - HTMLКурс по уеб програмиране (2014), занятие №1 - HTML
Курс по уеб програмиране (2014), занятие №1 - HTML
 
Училищен курс по програмиране на C# (2013/2014) - Помагало
Училищен курс по програмиране на C# (2013/2014) - ПомагалоУчилищен курс по програмиране на C# (2013/2014) - Помагало
Училищен курс по програмиране на C# (2013/2014) - Помагало
 
Училищен курс по програмиране на C# (2013/2014) - Упражнения
Училищен курс по програмиране на C# (2013/2014) - УпражненияУчилищен курс по програмиране на C# (2013/2014) - Упражнения
Училищен курс по програмиране на C# (2013/2014) - Упражнения
 
Училищен курс по програмиране на C# (2013/2014), занятие №3
Училищен курс по програмиране на C# (2013/2014), занятие №3Училищен курс по програмиране на C# (2013/2014), занятие №3
Училищен курс по програмиране на C# (2013/2014), занятие №3
 
Курс по информационни технологии (2013) - 5. HTTP & Web Services
Курс по информационни технологии (2013) - 5. HTTP & Web ServicesКурс по информационни технологии (2013) - 5. HTTP & Web Services
Курс по информационни технологии (2013) - 5. HTTP & Web Services
 
Курс по информационни технологии (2013) - 4. XML, XSD, XML в .NET Framework
Курс по информационни технологии (2013) - 4. XML, XSD, XML в .NET FrameworkКурс по информационни технологии (2013) - 4. XML, XSD, XML в .NET Framework
Курс по информационни технологии (2013) - 4. XML, XSD, XML в .NET Framework
 
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQLКурс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
 
Курс по информационни технологии (2013) - 0. Представяне
Курс по информационни технологии (2013) - 0. ПредставянеКурс по информационни технологии (2013) - 0. Представяне
Курс по информационни технологии (2013) - 0. Представяне
 
Курс по информационни технологии (2013) - Помагало
Курс по информационни технологии (2013) - ПомагалоКурс по информационни технологии (2013) - Помагало
Курс по информационни технологии (2013) - Помагало
 
Курс по програмиране на C# (2013) - Упражнения
Курс по програмиране на C# (2013) - УпражненияКурс по програмиране на C# (2013) - Упражнения
Курс по програмиране на C# (2013) - Упражнения
 
Курс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функции
Курс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функцииКурс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функции
Курс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функции
 

Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. Масиви

  • 1. Курс по програмиране на C# Занятие №2 Конзолен вход и изход. Условни преходи. Масиви 2013
  • 2. Съдържание 1/1 • • • • Конзолен вход и изход Условни преходи и цикли Масиви Многомерни масиви
  • 3. Конзолен вход и изход • Какво е „конзола“? – Съвкупността от физически устройства за въвеждане и визуализиране на информация – Историческо начало и наследство – Конзола в Microsoft Windows • Класът System.Console – Класът е дефиниран в базовата класова библитека – Осигурява разширено взаимодействие с функциите на конзолата
  • 4. Конзолен вход и изход • Печат в конзолата – Печат на литерали, променливи и изрази – Write() и WriteLine() – Печат на форматиран текст – {index[,alignment][:formatString]} • Четене от конзолата – – – – Изчитане на символ – Read() Изчитане на комбинация от клавиши – ReadKey() Изчитане на ред – ReadLine() Изчитане на други типове данни, превръщане на низ и обработка на грешки
  • 5. Конзолен вход и изход • Печат на специални символи – Промяна на шрифта на конзолата с такъв поддържащ Unicode – Установяване на изходното кодиране на конзолата с Console.OutputEncoding • Значение на регионалните настройки – Регионалните настройки имат значение при обработка на някои типове данни представени като низове • Числа, дата, час, валута и др. – Валидни данни като низове при едни регионални настройки могат да се окажат невалидни при други
  • 6. Конзолен вход и изход • Други операции с конзолата – – – – – – – Управление на курсора Издаване на системен звук Цвят и фонов цвят на изхода (Максимален) размер на конзолата Състояние на Caps Lock, Num Lock, Scroll Lock, и др. Положение на конзолата Други
  • 7. Конзолен вход и изход // ДЕМО
  • 8. Условни преходи и цикли • Какво е „условие“? – Условията са изрази даващи булев резултат – В езика C# условия се получават като комбинация от сравнения и логически операции • Операции за сравнение – Равенство („==“) и неравенство („!=“) – По-голямо („>”) и по-голямо или равно („>=“) – По-малко („<“) и по-малко или равно („<=“)
  • 9. Условни преходи и цикли • Логически операции – – – – Логическо „не“ („!”) Логическо „и“ („&&”) Логическо „или“ („||”) Изключващо „или“ („^”) • Правила на Де Морган – Двойно отрицание – Отрицание на логическото „и“ – Отрицание на логическото „или“
  • 10. Условни преходи и цикли • Какво е „безусловен преход“? Оператор „goto” • Какво е „условен преход“? – Конструкция в езика за програмиране позволяваща (не)извършването на една или повече операции в зависимост от дадено условие • Основни условни преходи – – – – Конструкции „if” и „if-else” Вложени конструкции „if” и „if-else” Редуващи се конструкции „if” и „if-else” Конструкция „switch-case”. Добри практики
  • 11. Условни преходи и цикли • Какво е „цикъл“? – Цикълът е редица от съждения, които се задават веднъж, но могат да се изпълняват многократно и последователно • Видове цикли – – – – Цикли с предусловие Цикли с постусловие Крайни цикли Безкрайни цикли
  • 12. Условни преходи и цикли • Конструиране на цикли – – – – – – Цикъл с предусловие „while” Цикъл с постусловие „do-while” Цикъл „for” Цикъл „foreach” Оператори „break”, „continue” и „goto” Вложени цикли
  • 13. Условни преходи и цикли // ДЕМО
  • 14. Масиви • Какво е „масив“? – Масивът е редица от определен брой елементи от един и същи тип данни • Характеристики на масивите – Наименование – Тип данни на елементите в масива – Големина/брой на елементите в масива
  • 15. Масиви • Работа с масиви – – – – – – Ограничения Деклариране Създаване и инициализация Достъпване на елемент Обхождане Копиране
  • 17. Многомерни масиви • Какво е „многомерен масив“? – Многомерни са масивите с повече от едно измерения • Характеристики на многомерните масиви – Наименование – Тип данни на елементите в масива – Големина на/брой на елементите във всяко измерение
  • 18. Многомерни масиви • Работа с многомерни масиви – – – – – – Ограничения Деклариране Създаване и инициализация Достъпване на елемент Обхождане Копиране
  • 19. Многомерни масиви • Масиви от масиви (jagged arrays) – За разлика от многомерните масиви, масивите от масиви могат да бъдат с различен размер във всяко свое измерение • Избор между многомерни масиви и масиви от масиви – Многомерните масиви имат фиксирани размери, докато при масивите от масиви тя може да варира – При многомерните масиви извличането на цял ред или сечение е сравнително по-трудоемко – Масивите от масиви изискват инициализация на всички елементи
  • 22. Благодаря! • Валери Дачев – – – – 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/