You are on page 1of 25

getWidth()/2.

Computer Science p.1


Ш++, лекція 04

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Доброго вам дня!
Сьогодні:

● Графіка (нарешті!)
● Робимо обчислення в координатній системі
● Використовуємо if та for .. знову)
● … навіть більше.

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Згадуємо

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Створення та модифікація

int beepersCount = 10;


тип назваЗмінної = значення;

beepersCount = ...;
beepersCount + 1

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Наслідування

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Класи та об'єкти

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Графіка нарешті

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Графічні об'єкти
● будемо створювати графічні об'єкти
● будемо створювати змінні,
що будуть утримувати посилання на об'єкт
● використовувати ключове слово new
● GLabel label = new GLabel("Hеу!", 0, 0);

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Концепція колажа

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Керування об'єктами
● "Іван, дай_мені_солі!"
● об'єкт.метод(параметри)
● label.setFont("Comic Sans-32");
label.setColor(Color.ORANGE);

хто? що як та що
робити? робити? саме?
Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Типи змінних
● Примітивні ● Посилання
○ int ○ KarelTheRobot
○ double ○ GLabel
○ boolean ○ String


true
false
○ Dog

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Система координат і GLabel

baseline * у GLabel все в пікселях!

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Компіляція звичайна
● GRect (x,y, w,h)
● GOval (x,y, w,h) (100; 100)

● GLine (x,y, x2,y2)

● setFilled(fill) (200; 200)

● setFillColor(color)

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Розмір вікна

● getWidth()
● getHeight()

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Аligning / вирівнювання

getWidth()

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Магічні числа
double weight = 9.8 * (mass – 14.3);

● важко читати
● складно підтримувати

правило: якщо в коді є число, і це не 0, не 1, не 2


... то це магічне число (скоріш за все :) )

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Константи

static final тип ім'я = значення;

приклад імені: NUMBER_OF_CATS

"константи - сила." (с) Білл Гейтс


Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Центрування об'єктів

getWidth()/2.0

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
if, while, for
while (!(time == endOfLesson || noPower()) ) {
if (listeningStudents != 0 && smiles > 0) {
for(int i = 1; i <= 3; i++)
discussTopic(i); // if, while, for
}
else
youtube();
}

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Каскадні if'и

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Цикли
● доступ до лічильника
● різниця між for і while
○ практично відсутня
● вкладені цикли

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
З приводу другого завдання

private void drawPawprint(double x, double y) {


// here is your turn to type some code!!
}

● параметри як змінні
● передача по значенню!

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Бонус: сінуси

Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Бонус: програма "відгадай число"
пишемо код пишемо код пишемо код
пишемо код пишемо код пишемо код
пишемо код пишемо код пишемо код
пишемо код пишемо код пишемо код
пишемо код пишемо код пишемо код
пишемо код пишемо код пишемо код
пишемо код пишемо код пишемо код
Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved

You might also like