Содержание
- 2. Что такое подпрограмма? https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B4%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0 Подпрограмма (англ. subroutine) — поименованная или иным образом идентифицированная часть компьютерной программы,
- 3. Подпрограммы – в Си (и не только) Pascal: Процедуры и функции procedure ReadArray; begin end; function
- 4. Зачем нужны подпрограммы?
- 5. Зачем нужны подпрограммы? Писать меньше кода - Повторяющийся код реализовать один раз, а вызывать многократно (sin(),
- 6. Знакомство с функциями в Си
- 7. Простейшие функции #include void a() { printf("Hello! It is a()!\n"); } void main() { printf("Hello! It
- 8. Точка входа в программу #include void a() { printf("Hello! It is a()!\n"); } void main() {
- 9. Использование до определения
- 10. Простейшие функции (3) #include // это - ОБЪЯВЛЕНИЕ функции a() void a(); // это - ОПРЕДЕЛЕНИЕ
- 11. Функция может возвращать результат #include // это - ОПРЕДЕЛЕНИЕ функции main() возвращающей значение типа int int
- 12. Функция может получать аргументы (1) #include // это - ОБЪЯВЛЕНИЕ функции ndfl(), получающей один аргумент типа
- 13. Функция может получать аргументы (2) // это ВЫЗОВ функции ndfl() с одним аргументом s // Значение,
- 14. “Факториал” – что это такое Факториал натурального числа n определяется как произведение всех натуральных чисел от
- 15. Функция может иметь свои (локальные) переменные (1) #include // это - ОБЪЯВЛЕНИЕ функции fuct(), получающей один
- 16. Функция может иметь свои (локальные) переменные (2) // это - ОПРЕДЕЛЕНИЕ функции fuct(), получающей один аргумент
- 17. Можно использовать глобальные переменные (1) #include // Глобальная переменная - количество звезд int numStars = 4;
- 18. Можно использовать глобальные переменные (2) // это - ОПРЕДЕЛЕНИЕ функции main(), не имеющей аргументов, // и
- 19. В Си НЕЛЬЗЯ вкладывать функции друг в друга #include void a(); void main() { printf("Hello! It
- 20. Формальная грамматика Си – определение функции Watcom C. Описание языка - http://givi.olnd.ru/wclr/22_gramma.html определение-функции декларатор составная-команда Язык
- 21. Локальные переменные Локальная переменная - https://ru.wikipedia.org/wiki/%D0%9B%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F В программировании локальной переменной называют переменную, объявленную внутри блока кода.
- 22. Глобальные переменные Программирование на C и C++ - https://cpp.com.ru/shildt_spr_po_c/02/0204.html В отличие от локальных, глобальные переменные видимы
- 23. Формальные параметры функции Программирование на C и C++ - https://cpp.com.ru/shildt_spr_po_c/02/0204.html Если функция имеет аргументы, значит должны
- 25. Используем функции в графике
- 26. Нарисуем ромб // Рисуем ромб MoveToEx(hdc, 80, 0, NULL); LineTo(hdc, 50, 50); LineTo(hdc, 80, 100); LineTo(hdc,
- 27. Ромб // Рисуем ромб MoveToEx(hdc, 80, 0, NULL); LineTo(hdc, 50, 50); LineTo(hdc, 80, 100); LineTo(hdc, 110,
- 28. Ромб HPEN hPen; hPen = CreatePen(PS_SOLID, 3, RGB(0, 0, 0)); SelectObject(hdc, hPen); // Рисуем ромб MoveToEx(hdc,
- 29. Относительные координаты int x = 50; int y = 0; MoveToEx(hdc, x + 30, y, NULL);
- 30. Относительные координаты int x = 50; int y = 0; MoveToEx(hdc, x + 30, y, NULL);
- 31. Относительные координаты int x = 100; int y = 100; MoveToEx(hdc, x + 30, y, NULL);
- 32. Относительные координаты int x = 100; int y = 100; MoveToEx(hdc, x + 30, y, NULL);
- 33. Относительные координаты
- 34. Отдельная функция для отрисовки ромба с заданным положением void Romb(HDC hdc, int x, int y) {
- 35. Рисуем при помощи нашей функции несколько ромбов в ряд … HDC hdc = BeginPaint(hWnd, &ps); Romb(hdc,
- 36. Рисуем при помощи нашей функции несколько ромбов – используем цикл … HPEN hPen; hPen = CreatePen(PS_SOLID,
- 37. Создаем функцию, вызывающую нашу функцию case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &ps); //
- 39. Лабораторная работа №8 Упаковываем в функции ранее написанный код
- 40. Задача 1. Переделать задачу из ЛР1 Оформить информацию о себе в виде функции aboutMe. Из main()
- 41. Задача 2. Переделать задачу из ЛР4 Код отрисовки дома перенести в функцию drawHome() Из функции WndProc
- 42. Задача 3. Переделать задачу из ЛР5 Код отрисовки автомобиля перенести в функцию drawCar() Из функции WndProc
- 43. Задача 4*. Переделать задачу из ЛР7 Код отрисовки автомобиля перенести в функцию drawTree() Из функции WndProc
- 44. Домашнее задание по ЛР8 Доделать задачи 1-3. Все задания по отрисовке рисунков из лабораторных работ 4,
- 45. ИТОГО по ЛР9 Сделали код программ первых лабораторных работ более понятным – за счет вынесения части
- 47. Лабораторная работа №9 Используем функции для рисования множества объектов
- 48. Автомобиль деда Мороза - логотип
- 49. Вынесли код в отдельную функцию void StClausAuto(HDC hdc) { // верхний треугольник MoveToEx(hdc, 20, 0, NULL);
- 50. Относительные координаты
- 51. Задача 1. Елочка (Логотип авто Деда Мороза) в виде функции с параметрами x, y Сделать функцию
- 52. Относительные координаты
- 53. Задача 1.1: 5 логотипов по углам и в центре
- 54. Задача 1.2: 8 логотипов в горизонтальную линию Решение
- 55. Задача 1.3 - РЕШЕНИЕ: 4 логотипа в вертикальную линию
- 56. Задача 1.4: 4 логотипа в диагональную линию
- 58. Грузовой автомобиль - расчеты
- 59. Задача 2.1 Создать функцию drawTruck для рисования грузового автомобиля Сделать функцию drawTruck(HDC hdc, int x, int
- 60. Задача 2.2: 5 автомобилей по углам и в центре Сделать функцию drawTrucks1(HDC hdc) которая рисует грузовики
- 61. Задача 2.3 – 2.5– Создать 3 рисунка из грузовиков Сделать функции drawTrucks2(HDC hdc) drawTrucks3(HDC hdc) drawTrucks4(HDC
- 63. Задача 3*. Снежная баба в виде функции с параметрами x, y Сделать функцию void SnowWoman(HDC hdc,
- 64. Задача 3.1* – Создать картинку по образцу
- 65. Задача 3.2* – Создать функцию SnowWoman
- 66. Задача 3.3* – 3.6* – Создать 4 рисунков из снежных баб Рекомендуется для отрисовки каждого из
- 67. Домашнее задание ЛР9 Доделать рисунки из Задач 1 и 2, которые не успели сделать на занятии
- 68. ЛР9 – оформление Для сдачи работы нужно иметь: 1) код программы (с собой) 2) Расчет картинки
- 69. ИТОГО по ЛР9 Сделали функцию, при помощи которой можно рисовать сколько угодно елочек в любых местах
- 71. ИТОГО по лекции 5 Узнали как объявляются и определяются функции Узнали как вернуть значение из функции
- 73. Скачать презентацию