12
Профессиональное программирование на языке C# Лекция №2 «Правый поворот» Доктор физ.-мат. наук, профессор Р.В. Шамин Сахалинский филиал Дальневосточного федерального университета Кафедра прикладной информатики и математики Сахалинский научный центр Институт морской геологии и геофизики ДВО РАН

Профессиональное программирование на языке C# Лекция № 2 «Правый поворот»

Embed Size (px)

DESCRIPTION

Сахалинский филиал Дальневосточного федерального университета Кафедра прикладной информатики и математики Сахалинский научный центр Институт морской геологии и геофизики ДВО РАН. Профессиональное программирование на языке C# Лекция № 2 «Правый поворот». Доктор физ.-мат. наук , - PowerPoint PPT Presentation

Citation preview

Профессиональное программирование

на языке C#

Лекция №2 «Правый поворот»

Доктор физ.-мат. наук,профессор Р.В. Шамин

Сахалинский филиал Дальневосточного федерального университетаКафедра прикладной информатики и математики

Сахалинский научный центрИнститут морской геологии и геофизики ДВО РАН

План сегодняшней лекции:

Понятия переменных в C#

Простейшее использование функций

Методы рисования в Windows средствами GDI+ .NET

Понятия о событиях в Windows

Мультипликация методами C#

Что мы с вами сегодня создадим?

Улыбку Чеширского кота

Машинку, катающуюся по экрану

Понятие переменных в C#:

Переменная – это основное понятие в программировании!

Джон фон Нейман – автор концепции современного программирования:данные отделены от исполняемых команд

Переменная – это ячейка памяти для хранения данных, которые могут быть модифицированы по ходу выполнения программыПрисвоение: a = 120 основная операция!

C# - строго типизированный язык программирования!

перед использованием переменной нужно:• объявить переменную• указать ее тип

В C# все переменные являются объектами, но об этом потом…

Типы переменных:

Скалярные типы переменных:

числовые символьные логические

Составные типы переменных:

массивы классы перечисления

Помним, что каждая переменная – это объект класса и ссылка!

Числовые:• целый тип: int / long / uint• дробные: float / double

Символьные:• символ: char• строка: string /

StringBuilderЛогические:• булев тип: bool

Объявление переменных:

int a;long b = 120;double c = 3.1415;float d = 2*2;char e = ‘A’;string s = “Мама мыла раму”;string p = @”http://shamin.ru/”;bool r = true;bool q = false;Пустой тип:

• void

Понятие функции:

Функция (процедура, подпрограмма) – это отдельный код, который выполняется только при вызове его из другого программного кода.

Код функции – замкнутый код, независящий от других участков программы.

Функция имеет входные параметры и возвращаемое значение.

int Summa(int a, int b){

int c;c = a + b;return c;

}

Определение функции:

void Print(string name){

string s = “Привет, “ + Name;

Console.Writeln(s);}

В C# все функции являются членами классов, поэтому эти функции называются методами!

Как рисуют под Windows?

Рисуют на холсте Canvas (Device Context) – аппаратно-независимая технология.

Линии рисуют перьями (Pen), фигуры закрашивают кистями (Brush), тексты пишут шрифтами (Font).

Принципиальный момент!Оконные координаты:

Преобразование из классических:

Единица измерения - пиксель𝑦 ′=𝐻 /2− 𝑦

Обычно используют относительные координаты – каждый холст принадлежит какому-нибудь окну, а окном в Windows является почти все, что видимо – окна приложений, элементы управления и т.д. Сами окна тоже часто позиционируются относительно родительского окна.

Проба пера:

Инструменты – методы холста

Clear – очищает холст и заливает все одним цветомDrawArc – рисует дугу, часть эллипсаDrawEllipse / FillEllipse – рисует эллипсDrawLine – рисует линиюDrawLines – рисует ломаннуюDrawPie / FillPie – рисует сектор эллипсаDrawPoligon / FillPoligon – рисует многоугольникDrawRectangle / FillRectangle – рисует прямоугольникDrawString – пишет графический текст

Еще один момент:

Преобразование координат

Удобно рисовать в относительных пропорциях, отображая его в реальности холста.

Пусть наш рисунок на листе (-Xm, Xm)x(-Ym, Ym) с центром (0, 0).А холст имеет ширину = W, высоту = H.

Код для преобразования:

Событийно-управляемая система:

Программный код может вызываться явно из другого кода, либо в результате наступления события.

События – это клавиатура, мышь, сообщения от операционной системы и так далее.Каждое окно в Windows может обрабатывать различные события.

Рассмотрим событие – onPaint.Это событие возникает, когда необходимо перерисовать окно.

Например, если окно было перекрыто другим окном или рисуется впервые.

Можно вызвать это событие вручную с помощью метода Invalidate()

Вывод:

Рисовать на форме нужно в обработчике события onPaint!

Тогда наш рисунок всегда будет на виду!

Почему нужно поворачивать направо?

• Компьютеры и программирование – это торжество правой идеи!

• Нет ничего лучше свободной конкуренции для прогресса и цивилизации

• Правый поворот – это прогресс и цивилизация

• Программирование позволяет строить свое индивидуальное будущее!

• Будьте творческими и свободными!Помните, что сейчас неминуемая третья волна, поэтому своевременность – это требование любого успеха.

Поворот налево – это тупик.

Вспомним три шага успеха:

Не бойтесь, творите!

Творите с целью!

Имея цель – общайтесь!

«Бог ждет от человека творческого акта как ответ человека на творческий акт Бога»

Николай Бердяев

Очевидно, что смысл человека – в творчестве!Зачем ребенок играет? – он творит!Нет ничего интереснее нового, своего!

Успех = ясность цели + целеустремленность

Для настоящего успеха нужно образование и воля, желание успеха.Будьте конкурентоспособнее – сильнее!

IP / Labs предлагает:

Формирование команд:

1. Научное программирование2. Веб-программирование3. Программирование для мобильных устройств

Участие в научной работе Института морской геологии и геофизики ДВО РАН:

Интересная работа в профессиональном молодежном коллективе из Москвы, Нижнего Новгорода, Новосибирска и Южно-Сахалинска

Написание научных статей, выступление на международных конференциях, защита диссертации – возможность обучения / работы заграницей…

Наша основная область – это исследования волн-убийц в океане. Основной метод – компьютерное моделирование и вычислительные эксперименты.