
- •Лекция 1
- •14 Ч. Лекции
- •58 Ч. Лабораторные работы
- •1.0 Основы алгоритмизации задач
- •1.1. Методы подготовки решения задачи на эвм
- •1.2. Алгоритмы и его свойства
- •1.3. Способы описания алгоритмов:
- •1.4. Стандартные блок-схемы
- •1.5. Базовые алгоритмические структуры
- •1.6. Методы алгоритмизации задач
- •2. Основы программирования
- •2.1. Машинный код процессора
- •2.2. Программа на языке программирования
- •2.3. Трансляторы
- •2.4. Классификация языков программирования
- •2.5. Языки низкого уровня
- •2.6. Языки высокого уровня
- •Лекция 2
- •3.0. Интегрированная среда разработки (иср) Visual c# 2010 Express
- •3.1. Основные характеристики.
- •3.2. Консольное приложение
- •3.3. Сохранение проекта
- •3.3. Структура папок при сохранении консольного приложения
- •3.5. Компиляция
- •4.2. Словарь языка
- •4.3. Комментарии
- •4.4. Идентификаторы (имена)
- •4.5. Ключевые слова
- •4.6. Числа
- •4.7. Переменные и константы
- •5.0. Структура программы консольного приложения на c#
- •Лекция 3
- •6.0. Типы данных
- •6.1. Типы значений
- •6.2. Ссылочные типы
- •6.3. Задание типов в объявлениях переменных
- •6.4. Встроенные базовые типы
- •6.5. Типы чисел Типы целых чисел
- •Типы чисел с плавающей запятой
- •Значения типов по умолчанию
- •6.6. Преобразования типов
- •6.7. Стандартное форматирование чисел
- •6.8. Символы char
- •7. Инструкции, команды
- •7.1. Выражения
- •7.2. Разделители
- •7.3. Математические операции
- •7.4. Приоритеты операций
- •Лекция 4
- •7.0. Операторы
- •7.2. Унарные операторы
- •7.3. Мультипликативные операторы
- •7.4. Аддитивные операторы (типа сложения)
- •7.5. Операторы отношений
- •7.6. Операторы присвоения
- •8.0. Инструкции
- •8.1. Безусловный переход вызовом функций
- •8.2. Оператор перехода goto
- •Лекция 5
- •9.0. Условные операторы.
- •9.1. Сложные условия
- •9.2. Инструкция if
- •9.3. Инструкции выбора switch, case
- •Лекция 6
- •10.0. Операторы цикла
- •10.1. Инструкция goto
- •10.2. Инструкция for
- •10.3. Использование нескольких управляющих переменных цикла
- •10.4. Использование переменных цикла c любым шагом их изменения
- •10.5. Инструкция while . . Цикл с предусловием
- •10.6. Инструкция do - while Цикл с постусловием
- •10.7. Накопление сумм и произведений
- •10.8. Безусловные переходы
- •Лекция 7
- •11.0. Массивы
- •11.1. Операции с массивами
- •Вывод массива
- •Ввод массива
- •Поиск максимального ( или минимального ) элемента массива
- •Поиск заданного элемента массива
- •Сортировка массива
- •11.2. Расчет статистических показателей
- •11.3. Использование генератора случайных чисел
- •11.4. Массивы строк
- •Лекция 8
- •12.0. Введение в классы, объекты и методы
- •12.1. Синтаксис класса
- •13.0. Подпрограммы
- •13.1. Основные понятия
- •13.2. Сравнение вариантов
- •13.3. Описание методов (процедур и функций)
- •13.4. Аргументы и параметры
- •13.5. Области действия имен
- •13.6. Тело метода (процедуры и функции)
- •13.7. Вызов метода. Синтаксис.
- •13.8. Функция
- •13.9. Процедура
- •Лекция 9
- •14. Исключительные ситуации
- •14.1. Виды исключений:
- •14.2. Существуют два типа блоков:
- •Лекция 10
- •15. Объектно-ориентированное программирование (ооп)
- •15.1. Классы в с#
- •15.2. Основные принципы ооп
- •Конструкторы
- •Деструкторы
- •15.3. Графическая структура понятий оо Подхода
- •15.4. Преимущества ооп:
- •Лекция 11
- •16.0. Приложение под ос Windows
- •16.1. Основные характеристики
- •16.2. Основной экран среды:
- •16.3. Окно Конструктора формы
- •16.4. Окно Редактора кода
- •16.6. Характеристика проекта
- •16.7. Сохранение проекта – приложения под Windows
- •16.8. Запуск и компиляция приложения
- •16.9. Шаблон кода:
- •16.10. Разработка приложения
- •16.11. Простейшее приложение
- •16.12. Создание интерфейса приложения
- •16.13. Определение функциональности приложения
- •16.14. Отладка
- •Лекция 12
- •17.0. Ввод и вывод данных в Windows-Приложениях
- •17.1 Ввод из поля редактирования и вывод в метку, и окно сообщения
- •17.2 Окно сообщения
- •18.0 Процедуры и функции
- •18.1 Структура процедуры
- •18.2 Структура функции
- •19. Модули
- •19.1 Свойства модуля
- •19.1. Структура модуля
- •Лекция 13
- •20.0. Массивы в Windows Forms Application
- •20.1 Операции с массивами в Windows-приложениях
- •21.0. Графика в c#
- •21.1. Рисованные изображения
- •Объект Graphics
- •Перо (Pen) или карандаш
- •Кисть (Brush) или заливка
- •Шрифты и текст
- •21.2. Методы рисования
- •21.3. Методы заливки
- •21.4. Рисование с помощью примитивов
- •21.5. Рисование графика функции
- •21.6. Растровая графика
Лекция 3
6.0. Типы данных
Язык C# является типизированным языком. Каждая переменная и константа имеет тип, как и выражение, результатом вычисления которого является значение.
Тип данных определяет множество значений, которые могут принимать элементы программы. Введение типа дало возможность автоматического поиска ошибок при компиляции, что приводит к созданию надежных программ.
Тип определяет для элемента программы:
объем памяти для размещения. По типу компилятор определяет размер памяти для размещения значений элемента,
место для хранения переменной типа,
минимальное и максимальное значения, которые могут принимать данные,
разрешенные операции.
Типы могут быть:
стандартные (не требуют объявления),
пользователя (тип пользователя должен быть объявлен дополнительно).
Типы Т1 и Т2 идентичны, если:
– имеют один и тот же идентификатор типа,
– один объявлен эквивалентным другому (один из них может быть преобразован к другому). Например, целый в вещественный, символьный в строковый.
Система типов языка C# включает следующие категории:
Типы-значения, // в переменных типа значения хранятся данные
Ссылочные типы, // в переменных хранятся ссылки на фактические данные
Типы указателей. // в переменных хранятся адреса ячеек памяти из диапазона значений и специального значения — нулевого адреса.
Существует возможность преобразовать тип значения в ссылочный тип и обратно в тип значения с помощью упаковки-преобразования и распаковки-преобразования.
6.1. Типы значений
Переменные, основанные на типах значений, содержат непосредственно значения. При присвоении переменной одного типа значений другому создается копия присваиваемого значения. В этом заключается отличие от переменных ссылочного типа, при присвоении которых копируются ссылки на объекты, но не сами объекты.
Все типы значений являются неявными производными от System.ValueType .
Типы значений состоят из двух основных категорий:
Структура struck. Это тип значения, который используется для объявления небольших групп связанных переменных, например координат точки.
Перечисление enum. Оно состоит из набора именованных констант, который называется списком.
По умолчанию первому элементу задан номер 0, а последующие – увеличиваются на 1. Например: enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};
Структуры делятся на следующие категории:
Числовые типы. Они могут быть целочисленные, вещественные – с плавающей запятой, десятичные.
Логический bool. Ключевое слово bool используется при объявлении переменных для хранения логических значений, true и false.
Пользовательские структуры.
6.2. Ссылочные типы
Переменные ссылочных типов, называемые объектами, они сохраняют ссылки на фактические данные. Для объявления ссылочных типов используют ключевые слова:
Класс class.
Интерфейс interface.
Делегат delegate.
Динамический dynamic.
Объект object.
Строка string.
Классы
Класс – совокупность объектов с одинаковыми свойствами. Определив класс, его можно использовать, загрузив в память. Класс, загруженный в память, называется объектом или экземпляром класса. Экземпляр класса создается с помощью ключевого слова new. Каждый экземпляр класса занимает отдельную область памяти.
Подобно тому, как на основе одного чертежа можно построить несколько зданий, можно создать любое количество объектов одного класса. Часто используют массивы или списки, содержащие множество объектов одного класса с независимыми значениями.
Классы объявляются с помощью ключевого слова class. Класс может содержать:
Методы; // подпрограммы для обработки данных объекта какого-то класса
Свойства; // характеристики объекта, его параметры
Поля; // предназначены для хранения информации об объекте
События; // сигналы, формируемые пользователем, ОС, программой
Делегаты; // способ передачи метода
Вложенные классы.
Тип object
Переменным типа object можно назначать значения любых типов. Когда переменная типа значения преобразуется в объект, говорят, что она упаковывается. Когда переменная типа object преобразуется в тип значения, говорят, что она распаковывается.
Тип string
Тип string представляет последовательность из нуля или более символов в кодировке Юникод. Строка C# представляет собой группу одного или нескольких символов, заключенных в двойные кавычки и объявленных с помощью ключевого слова string,
string S = "Hello, Friend!";
Строковые объекты являются неизменяемыми, после создания их нельзя изменить.