
- •Лекция 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. Растровая графика
8.1. Безусловный переход вызовом функций
Когда компилятор находит в основном тексте программы имя функции, то происходит приостановка выполнения текущего кода программы и осуществляется переход к найденной функции.
Когда функция выполнится и завершит свою работу, то произойдет возврат в основной код программы, на ту инструкцию, которая следует за именем функции.
Имя функции должно содержать пару круглых скобок (), даже если у функции нет аргументов. Это признак функции или метода. Например, Math.Sin(x).
8.2. Оператор перехода goto
Он предназначен для изменения порядка выполнения операторов программы.
Инструкция goto используется следующим образом:
В коде программы создается метка с именем (например, M).
Организуется переход на эту метку инструкцией goto M.
Имя метки M в коде обязательно должно заканчиваться двоеточием (:). Оно указывает на точку в программе, с которой будет выполняться программа после использования инструкции goto.
Пример. Вывести последовательность целых чисел до 9. Метка M – начало вывода цифр. Обычно инструкция goto связана с условием.
public static int Main()
{
int i = 0;
M: Console.WriteLine("i: {0 } ", i);
i = i + 1;
if (i < 10) goto M;
// Метка должна быть уникальной.
}
Лекция 5
9.0. Условные операторы.
9.1. Сложные условия
В программе условие – это выражение логического типа (Bool), которое может принимать одно из двух значений True(истина) или False(ложь).
Примеры простых условий:
(Summa<1000) // значение переменной Summa < 1000?
(Math.Pow(x,2)-10*x>=5) // выражение x2 -10·x5 ?
(x % 2 == 0) // остаток от деления x на 2 равен 0?
Примеры сложных условий:
(Day==6 | Day==7) // день суббота или воскресенье
(Sum>100 & Day==7) //скидка на товар стоимостью более 100у.е. в воскресный день
(m==1 & d>=1 & d<=10) //дни с 1 по 10 в первом месяце года.
Логические операторы & | имеют более низкий приоритет, чем операторы сравнения, и поэтому в условиях скобки можно не использовать.
9.2. Инструкция if
Применяется для ветвления по двум ветвям.
Полный формат (синтаксис) инструкции:
i
f
(условие) инструкция 1; // одна инструкция1
языка
else инструкция 2; // одна инструкция2 языка
Если условие выполняется, то исполняется
инструкция 1, в противном случае исполняется
инструкция 2. Фраза else может отсутствовать,
т.к. это необязательная часть инструкции if.
В
общем виде, когда надо выполнить несколько
действий, инструкция if
записывается следующим образом:
if (условие)
{
Блок инструкций 1; //несколько действий
}
else
{
Блок инструкций 2; //несколько действий
}
Фраза else может отсутствовать, т.к. это необязательная часть инструкции if.
Если условие выполняется, то исполняется Блок инструкций 1, в противном случае исполняется Блок инструкций 2.
Фигурные скобки записываются в случае, если в блоке более, чем одна инструкция.
Выполняется инструкция if следующим образом:
Вычисляется значение условия (правда или ложь?);
Если условие истинно (true), то выполняются инструкции1. На этом выполнение инструкций if завершается, инструкции, следующие за словом else, не будут выполнены. Если условие ложно (false), то выполняются инструкции, следующие за словом else, а инструкции за словом if игнорируются.
Задача. Поиск максимального числа из двух чисел x и y.
/
/
1-й вариант решения
int y, x, max;
x=12; y=5;
if (x>y) max=x;
else max=y;
Console.WriteLine("Максимальное "+ max);
Сокращенный формат if
Сокращенная форма используется для усеченного алгоритма, когда ветвь с альтернативным решением отсутствует.
if (условие) инструкция;
/
/
2-й вариант решения задачи поиска
максимального числа их двух чисел:
int y, x, max;
x=12; y=5;
max=x;
if (x<y) max=y;
Console.WriteLine("Максимальное "+ max);
Вложенные инструкции if; else …
Применяются для множественного ветвления. Синтаксис инструкции:
if (условие_1)
{
Блок инструкций 1;
}
else
if (условие_2)
{
Блок инструкций 2;
}
else
{
Блок инструкций 3;
}
Фраза else может отсутствовать, т.к. т.к. это необязательная часть инструкции if.
Если условие1 выполняется, то исполняется Блок инструкций 1, в противном случае проверяется условие2. Если оно выполняется, то исполняется Блок инструкций 2, в противном случае Блок инструкций 3.
В случае, если в какой-либо ветви необходимо выполнить одну инструкцию, то блочная инструкция в виде фигурных скобок { } в этой ветви не нужна.
Пример.
Задача.
Вычислить значение функции:
Ответы решения задачи:
При помощи логических операторов & («И») и | («ИЛИ») из простых условий можно строить сложные.
Например:
1
)
2)
Примеры записи условия:
if
(x<a
| x>b)
<выражение C2>;
else
<выражение
C1>;
if (x<=b
& x>=a)
<выражение C1>;
else
<выражение C2>;
или