Цикл DO WHILE. Использование DO WHILE в графике

Содержание

Слайд 2

Слайд 3

Нужно нарисовать картинку (см рисунок) Задача 1а

Нужно нарисовать картинку (см рисунок)

Задача 1а

Слайд 4

Программа 1.1

Программа 1.1

Слайд 5

Программа 1.2

Программа 1.2

Слайд 6

Программа 1.3

Программа 1.3

Слайд 7

Население города увеличивается на 3% каждый год. В 2014 году население

Население города увеличивается на 3% каждый год. В 2014 году население

города составляло 650 000 человек. Напишите программу, которая выведет на экран предсказываемую численность населения города в каждом году, вплоть до 2040.

Задача 2а

Слайд 8

Программа 2.1

Программа 2.1

Слайд 9

Программа 2.2

Программа 2.2

Слайд 10

Программа 2.3

Программа 2.3

Слайд 11

Слайд 12

Население города увеличивается на 3% каждый год. В 2014 году население

Население города увеличивается на 3% каждый год. В 2014 году население

города составляло 650 000 человек. Напишите программу, которая выведет на экран предсказываемую численность населения города в каждом году, вплоть до 2040.
Используйте цикл DO WHILE.

Задача 2б

Слайд 13

Задача 2б – блок-схема

Задача 2б – блок-схема

Слайд 14

#include void main() { int year = 2014; long population =

#include
void main() {
int year = 2014;
long population =

650000;
do {
printf("%ld inhabitants live in the city in %d\n",
population, year);
population = (population * 103) / 100;
year = year + 1;
} while (year <= 2040);
}

Программа 2б

Слайд 15

Программа 2б в работе

Программа 2б в работе

Слайд 16

Нужно нарисовать картинку (см рисунок). Нужно использовать цикл DO WHILE Задача 1б

Нужно нарисовать картинку (см рисунок).
Нужно использовать цикл DO WHILE

Задача 1б

Слайд 17

Задача 1б - программа case WM_PAINT: { PAINTSTRUCT ps; HDC hdc

Задача 1б - программа

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd,

&ps);
int x1 = 10, y1 = 100;
int x2 = 300, y2 = 100;
int i = 0;
do {
MoveToEx(hdc, x1, y1, NULL);
LineTo(hdc, x2, y2);
y1 = y1 - 5;
y2 = y2 + 10;
i++;
} while (i < 16);
EndPaint(hWnd, &ps);
}
Слайд 18

Слайд 19

Термины

Термины

Слайд 20

Цикл do while do { Действие; } while (Условие);

Цикл do while

do {
Действие;
} while (Условие);

Слайд 21

Слайд 22

Лабораторная работа №6 Цикл DO WHILE

Лабораторная работа №6

Цикл DO WHILE

Слайд 23

Задача 1. Ряд натуральных чисел Вводится N. Нужно вывести натуральные числа от 1 до N (включительно).

Задача 1. Ряд натуральных чисел

Вводится N.
Нужно вывести натуральные числа от 1

до N (включительно).
Слайд 24

Задача 1. Ряд натуральных чисел Вводится N. Нужно вывести натуральные числа

Задача 1. Ряд натуральных чисел

Вводится N.
Нужно вывести натуральные числа от 1

до N (включительно).
(Ниже – программа целиком)
Слайд 25

Задача 1. Ряд натуральных чисел – трассировка(0)

Задача 1. Ряд натуральных чисел – трассировка(0)

Слайд 26

Задача 1. Ряд натуральных чисел – трассировка(1)

Задача 1. Ряд натуральных чисел – трассировка(1)

Слайд 27

Задача 1. Ряд натуральных чисел – трассировка(2)

Задача 1. Ряд натуральных чисел – трассировка(2)

Слайд 28

Задача 1. Ряд натуральных чисел – трассировка(3)

Задача 1. Ряд натуральных чисел – трассировка(3)

Слайд 29

Задача 1. Ряд натуральных чисел – трассировка(4)

Задача 1. Ряд натуральных чисел – трассировка(4)

Слайд 30

Задача 1. Ряд натуральных чисел – трассировка(5)

Задача 1. Ряд натуральных чисел – трассировка(5)

Слайд 31

Задача 1. Ряд натуральных чисел – трассировка(6)

Задача 1. Ряд натуральных чисел – трассировка(6)

Слайд 32

Задача 1. Ряд натуральных чисел – трассировка(7)

Задача 1. Ряд натуральных чисел – трассировка(7)

Слайд 33

Задача 1. Ряд натуральных чисел – трассировка(8)

Задача 1. Ряд натуральных чисел – трассировка(8)

Слайд 34

Задача 1. Ряд натуральных чисел – трассировка(9)

Задача 1. Ряд натуральных чисел – трассировка(9)

Слайд 35

Задача 1. Ряд натуральных чисел – трассировка(10)

Задача 1. Ряд натуральных чисел – трассировка(10)

Слайд 36

Задача 1. Ряд натуральных чисел – трассировка(11)

Задача 1. Ряд натуральных чисел – трассировка(11)

Слайд 37

Задача 1. Ряд натуральных чисел – трассировка(12)

Задача 1. Ряд натуральных чисел – трассировка(12)

Слайд 38

Задача 1. Ряд натуральных чисел – трассировка(13)

Задача 1. Ряд натуральных чисел – трассировка(13)

Слайд 39

Задача 1. Ряд натуральных чисел – трассировка(14)

Задача 1. Ряд натуральных чисел – трассировка(14)

Слайд 40

Задача 1. Ряд натуральных чисел – трассировка(15)

Задача 1. Ряд натуральных чисел – трассировка(15)

Слайд 41

Задача 1. Ряд натуральных чисел – трассировка(16)

Задача 1. Ряд натуральных чисел – трассировка(16)

Слайд 42

Задача 1. Ряд натуральных чисел Вводится N. Нужно вывести натуральные числа

Задача 1. Ряд натуральных чисел

Вводится N.
Нужно вывести натуральные числа от 1

до N (включительно).
Нарисуйте блок схему к Задаче 1.
Слайд 43

Задача 1. Ряд натуральных чисел ДЕМО в VS + Трассировка в VS

Задача 1. Ряд натуральных чисел

ДЕМО в VS + Трассировка в VS

Слайд 44

Задача 2. Степени двойки Нужно вывести степени числа 2 от 0 до 10

Задача 2. Степени двойки

Нужно вывести степени числа 2 от 0 до

10
Слайд 45

Задача 2. Степени двойки Нужно вывести степени числа 2 от 0

Задача 2. Степени двойки

Нужно вывести степени числа 2 от 0 до

10
(Ниже – начало программы)
Слайд 46

Задача 2. Степени двойки - трассировка Нужно вывести степени числа 2 от 0 до 5

Задача 2. Степени двойки - трассировка

Нужно вывести степени числа 2 от

0 до 5
Слайд 47

Задача 2. Степени двойки Нужно вывести степени числа 2 от 0

Задача 2. Степени двойки

Нужно вывести степени числа 2 от 0 до

10
Напишите код.
Нарисуйте блок схему к Задаче 2.
Слайд 48

Задача 3*. Деньги на счете (сложные проценты) На счет положили R

Задача 3*. Деньги на счете (сложные проценты)

На счет положили R рублей

сегодня под N процентов годовых.
Выведите какая будет сумма на счете через 1,2, 3 … 10 лет, если со счетом не будет никаких операций (с него не будут забирать деньги и не будут добавлять)
Слайд 49

Задача 3*. Деньги на счете (сложные проценты) На счет положили R

Задача 3*. Деньги на счете (сложные проценты)

На счет положили R рублей

сегодня под N процентов годовых.
Выведите какая будет сумма на счете через 1,2, 3 … 10 лет, если со счетом не будет никаких операций (с него не будут забирать деньги и не будут добавлять)
Слайд 50

Задача 3*. Деньги на счете (сложные проценты) На счет положили R

Задача 3*. Деньги на счете (сложные проценты)

На счет положили R рублей

сегодня под N процентов годовых.
Выведите какая будет сумма на счете через 1,2, 3 … 10 лет, если со счетом не будет никаких операций (с него не будут забирать деньги и не будут добавлять)
(Ниже – начало программы)
Слайд 51

Задача 3*. Деньги на счете (сложные проценты) На счет положили R

Задача 3*. Деньги на счете (сложные проценты)

На счет положили R рублей

сегодня под N процентов годовых.
Выведите какая будет сумма на счете через 1,2, 3 … 10 лет, если со счетом не будет никаких операций (с него не будут забирать деньги и не будут добавлять)
Нарисуйте блок схему к Задаче 3.
Слайд 52

Домашнее задание ЛР6 Доделать дома задачи 1-2 – если они не

Домашнее задание ЛР6

Доделать дома задачи 1-2 – если они не

были доделаны в классе.
Дорисовать блок схемы к задачам 1-2 – если они не были дорисованы или были с ошибками.
Сделать задачи 4, 5.1 5.2.
Задача 4. Реализовать задачу «Вводится число N. Нужно вывести первые N четных чисел». Нарисовать блок схему. Подготовить необходимые тесты.
Пример теста:
ввод N = 6
вывод 2 4 6 8 10 12
Задача 5.1. Придумать задачу на последовательность чисел («вывести все нечетные числа от 1 до N (1 3 5 7 9 …)», «вывести степени числа 4 от 0 до N (1 4 16 64 …)», «Вывести первые N чисел Фибоначчи (0 1 1 2 3 5 8 …)» и т.п.) и реализовать её используя DO WHILE. Для вашей реализации нарисовать блок-схему. Прописать необходимые тесты.
ИЛИ / И*
Задача 5.2. Придумать задачу из реальной жизни, экономики, финансов («Подсчитать накопленную инфляцию за N лет, если она все годы одинаковая и составляет K % в год», «Каждый месяц студент Вася откладывает 1000 рублей про запас. Вывести его запасы в ближайшие 36 месяцев (1000 2000 3000 4000 …)» и т.п.). Реализовать задачу используя DO WHILE – код, блок-схема, необходимые тесты.
В итоге у всех будут выполнены задачи 1, 2, 4 и одна из задач 5.1 или 5.2. У самых упорных будут выполнены задачи 1,2, 3*, 4, 5.1, 5.2
Слайд 53

ЛР6 – оформление Для сдачи домашней работы нужно иметь: 1) Блок схемы всех реализованных программ.

ЛР6 – оформление

Для сдачи домашней работы нужно иметь:
1) Блок схемы всех

реализованных программ.
Слайд 54

Слайд 55

Лабораторная работа №7 Рисование при помощи DO WHILE

Лабораторная работа №7

Рисование при помощи DO WHILE

Слайд 56

Задача 1 В Windows приложение к уже готовому рисунку добавить рисунок куста.

Задача 1

В Windows приложение к уже готовому рисунку добавить рисунок

куста.
Слайд 57

Задача 1: Решение В Windows приложение добавить рисунок домика.

Задача 1: Решение

В Windows приложение добавить рисунок домика.

Слайд 58

Задача 2 В Windows приложение добавить рисунок второго куста.

Задача 2

В Windows приложение добавить рисунок второго куста.

Слайд 59

Задача 2: Решение В Windows приложение добавить рисунок второго куста.

Задача 2: Решение

В Windows приложение добавить рисунок второго куста.

Слайд 60

Задача 3* Кусты сделайте кустистее

Задача 3*

Кусты сделайте кустистее

Слайд 61

Задача 4 Добавьте забор вверху рисунка:

Задача 4

Добавьте забор вверху рисунка:

Слайд 62

Задача 4: Решение Добавьте забор вверху рисунка:

Задача 4: Решение

Добавьте забор вверху рисунка:

Слайд 63

Задача 4.1* Забор сделайте плотнее:

Задача 4.1*

Забор сделайте плотнее:

Слайд 64

Домашнее задание ЛР7 Доделать дома задачи 1, 2, 4 – если

Домашнее задание ЛР7

Доделать дома задачи 1, 2, 4 – если

они не были доделаны в классе. Затем сделать Задачу 5. Если есть силы, время и желание – Сделать задачи 3*, 4.1*, Задачу 6* и 7**.
Задача 5. К получившейся картине добавить 2 рисунка, состоящие из множества линий, которые отрисовываются в цикле – лестница, забор, узор на доме, трава у дома, и т.п.
Сделайте всё в цвете.
Задача 6*. Реализовать 4+ рисунка из картинок ниже
Задача 7**. Реализовать все 10 рисунков из картинок ниже.
Слайд 65

ЛР7 – оформление Для сдачи домашней работы нужно иметь: 1) Блок

ЛР7 – оформление

Для сдачи домашней работы нужно иметь:
1) Блок схемы всех

реализованных циклов DO WHILE
2) Расчеты всех нарисованных картинок.
Слайд 66

Слайд 67

Рисуем много линий case WM_PAINT: { PAINTSTRUCT ps; HDC hdc =

Рисуем много линий

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
int

x1 = 10, y1 = 100;
int x2 = 300, y2 = 100;
int i = 0;
do {
MoveToEx(hdc, x1, y1, NULL);
LineTo(hdc, x2, y2);
y1 = y1 - 5;
y2 = y2 + 10;
i++;
} while (i < 16);
EndPaint(hWnd, &ps);
}
Слайд 68

Цветное перо case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd,

Цветное перо

case WM_PAINT: {
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd,

&ps);
HPEN hPen;
int x = 10;
int r = 0;
do {
hPen = CreatePen(PS_SOLID, 1, RGB(r, 0, 0));
SelectObject(hdc, hPen);
MoveToEx(hdc, x, 10, NULL);
LineTo(hdc, x, 110);
DeleteObject(hPen);
x += 1;
r += 2;
} while (x <= 125);
EndPaint(hWnd, &ps);
}
Слайд 69

Цветное перо case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd,

Цветное перо

case WM_PAINT: {
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd,

&ps);
HPEN hPen;
int x = 10;
int r = 0;
do {
hPen = CreatePen(PS_SOLID, 1, RGB(r, r, r));
SelectObject(hdc, hPen);
MoveToEx(hdc, x, 10, NULL);
LineTo(hdc, x, 110);
DeleteObject(hPen);
x += 1;
r += 2;
} while (x <= 125);
EndPaint(hWnd, &ps);
}
Слайд 70

Слайд 71

Про Сквозной проект Кому хочется ЕЩЁ! Кто хочет 4+ или 5!

Про Сквозной проект

Кому хочется ЕЩЁ!
Кто хочет 4+ или 5!
Кто хочет реально

стать реальным программистом!
Намек – сегодня.
Детали – через неделю!
Кому совсем невтерпеж (если все лабы сделали!! - пишите в личку)