Занятие №2 на курса по програмиране на C# 2013 провеждан от ДАВИД академия в ПМГ "Никола Обрешков" - Казанлък. Включва темите:
- Конзолен вход и изход
- Условни преходи
- Масиви
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, и др.
Положение на конзолата
Други
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”
Вложени цикли
14. Масиви
• Какво е „масив“?
– Масивът е редица от определен брой елементи от
един и същи тип данни
• Характеристики на масивите
– Наименование
– Тип данни на елементите в масива
– Големина/брой на елементите в масива
15. Масиви
• Работа с масиви
–
–
–
–
–
–
Ограничения
Деклариране
Създаване и инициализация
Достъпване на елемент
Обхождане
Копиране
17. Многомерни масиви
• Какво е „многомерен масив“?
– Многомерни са масивите с повече от едно измерения
• Характеристики на многомерните масиви
– Наименование
– Тип данни на елементите в масива
– Големина на/брой на елементите във всяко
измерение
18. Многомерни масиви
• Работа с многомерни масиви
–
–
–
–
–
–
Ограничения
Деклариране
Създаване и инициализация
Достъпване на елемент
Обхождане
Копиране
19. Многомерни масиви
• Масиви от масиви (jagged arrays)
– За разлика от многомерните масиви, масивите от
масиви могат да бъдат с различен размер във всяко
свое измерение
• Избор между многомерни масиви и масиви от
масиви
– Многомерните масиви имат фиксирани размери,
докато при масивите от масиви тя може да варира
– При многомерните масиви извличането на цял ред
или сечение е сравнително по-трудоемко
– Масивите от масиви изискват инициализация на
всички елементи