Professional Documents
Culture Documents
(SHPP) (CS) Lecture 04
(SHPP) (CS) Lecture 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
Створення та модифікація
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
Based on original Stanford CS106A presentations © 2019 Stanford University All Rights Reserved
Компіляція звичайна
● GRect (x,y, w,h)
● GOval (x,y, w,h) (100; 100)
● 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);
● важко читати
● складно підтримувати
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
З приводу другого завдання
● параметри як змінні
● передача по значенню!
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