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

advertisement
Сахалинский филиал Дальневосточного федерального университета
Кафедра прикладной информатики и математики
Сахалинский научный центр
Институт морской геологии и геофизики ДВО РАН
Профессиональное
программирование
на языке C#
Лекция №2 «Правый поворот»
Доктор физ.-мат. наук,
профессор Р.В. Шамин
План сегодняшней лекции:
Понятия переменных в C#
Простейшее использование функций
Методы рисования в Windows средствами GDI+ .NET
Понятия о событиях в Windows
Мультипликация методами C#
Что мы с вами сегодня создадим?
Улыбку Чеширского кота
Машинку, катающуюся по экрану
…
Понятие переменных в C#:
Переменная – это основное понятие в программировании!
Джон фон Нейман – автор концепции
современного программирования:
данные отделены от исполняемых команд
Переменная – это ячейка памяти для хранения
данных, которые могут быть модифицированы
по ходу выполнения программы
Присвоение: a = 120 основная операция!
C# - строго типизированный язык программирования!
перед использованием переменной нужно:
• объявить переменную
• указать ее тип
В C# все переменные являются объектами, но об этом потом…
Типы переменных:
Скалярные типы переменных:
Составные типы переменных:
 числовые
 символьные
 логические
 массивы
 классы
 перечисления
Помним, что каждая переменная – это объект класса и ссылка!
Числовые:
• целый тип: int / long / uint
• дробные: float / double
Символьные:
• символ: char
• строка: string / StringBuilder
Логические:
• булев тип: bool
Пустой тип:
• void
Объявление переменных:
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;
Понятие функции:
Функция (процедура, подпрограмма) – это отдельный код,
который выполняется только при вызове его из другого
программного кода.
Код функции – замкнутый код, независящий от других участков
программы.
Функция имеет входные параметры и возвращаемое значение.
Определение функции:
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
𝑦 ′ = 𝐻/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.
Это событие возникает, когда
необходимо перерисовать окно.
Вывод:
Например, если окно было перекрыто
другим окном или рисуется впервые.
Рисовать на форме нужно
в обработчике события
onPaint!
Можно вызвать это событие вручную с
помощью метода Invalidate()
Тогда наш рисунок всегда
будет на виду!
Почему нужно поворачивать направо?
• Компьютеры и программирование –
это торжество правой идеи!
• Нет ничего лучше свободной
конкуренции для прогресса и
цивилизации
• Правый поворот – это прогресс и
цивилизация
• Программирование позволяет строить
свое индивидуальное будущее!
• Будьте творческими и свободными!
Помните, что сейчас неминуемая третья
волна, поэтому своевременность – это
требование любого успеха.
Поворот налево – это тупик.
Вспомним три шага успеха:
Не бойтесь, творите!
«Бог ждет от человека творческого акта как ответ
человека на творческий акт Бога»
Николай Бердяев
Очевидно, что смысл человека – в творчестве!
Зачем ребенок играет? – он творит!
Нет ничего интереснее нового, своего!
Творите с целью!
Успех = ясность цели + целеустремленность
Для настоящего успеха нужно образование и
воля, желание успеха.
Будьте конкурентоспособнее – сильнее!
Имея цель – общайтесь!
IP / Labs предлагает:
Формирование команд:
1. Научное программирование
2. Веб-программирование
3. Программирование для мобильных устройств
Участие в научной работе Института морской геологии и
геофизики ДВО РАН:
Интересная работа в профессиональном молодежном коллективе
из Москвы, Нижнего Новгорода, Новосибирска и Южно-Сахалинска
Написание научных статей, выступление на международных
конференциях, защита диссертации – возможность обучения /
работы заграницей…
Наша основная область – это исследования волн-убийц в океане.
Основной метод – компьютерное моделирование и
вычислительные эксперименты.
Download