Поділіться своєю думкою про онлайн уроки інформатики. Пройдіть анонімне опитування на головній сторінці сайту
Завдання 1: Малювання прямокутника
Умова: Створити програму, яка малює прямокутник із заданими координатами і розмірами.
Розв’язок на Python:
python
Копіювати код
import tkinter as tk
def draw_rectangle():
canvas.create_rectangle(50, 50, 150, 100, outline="blue", width=2)
# Графічний інтерфейс
window = tk.Tk()
window.title("Прямокутник")
canvas = tk.Canvas(window, width=200, height=200, bg="white")
canvas.pack()
button = tk.Button(window, text="Намалювати", command=draw_rectangle)
button.pack()
window.mainloop()
Розв’язок на Lazarus:
Елементи на формі:
TPaintBox (PaintBox1) — область для малювання.
TButton (Button1) — кнопка "Намалювати".
Код:
pascal
Копіювати код
procedure TForm1.Button1Click(Sender: TObject);
begin
with PaintBox1.Canvas do
begin
Brush.Color := clWhite; // Заповнення фону
FillRect(PaintBox1.ClientRect);
Pen.Color := clBlue; // Колір ліній
Pen.Width := 2;
Rectangle(50, 50, 150, 100); // Малюємо прямокутник
end;
end;
Завдання 2: Малювання кола
Умова: Написати програму, яка малює коло із заданим радіусом та центром.
Розв’язок на Python:
python
Копіювати код
import tkinter as tk
def draw_circle():
canvas.create_oval(50, 50, 150, 150, outline="red", width=2)
# Графічний інтерфейс
window = tk.Tk()
window.title("Коло")
canvas = tk.Canvas(window, width=200, height=200, bg="white")
canvas.pack()
button = tk.Button(window, text="Намалювати", command=draw_circle)
button.pack()
window.mainloop()
Розв’язок на Lazarus:
Елементи на формі:
TPaintBox (PaintBox1) — область для малювання.
TButton (Button1) — кнопка "Намалювати".
Код:
pascal
Копіювати код
procedure TForm1.Button1Click(Sender: TObject);
begin
with PaintBox1.Canvas do
begin
Brush.Color := clWhite; // Заповнення фону
FillRect(PaintBox1.ClientRect);
Pen.Color := clRed; // Колір ліній
Pen.Width := 2;
Ellipse(50, 50, 150, 150); // Малюємо коло
end;
end;
Завдання 3: Малювання лінії
Умова: Створити програму, яка малює пряму лінію між заданими точками.
Розв’язок на Python:
python
Копіювати код
import tkinter as tk
def draw_line():
canvas.create_line(20, 20, 180, 180, fill="green", width=2)
# Графічний інтерфейс
window = tk.Tk()
window.title("Лінія")
canvas = tk.Canvas(window, width=200, height=200, bg="white")
canvas.pack()
button = tk.Button(window, text="Намалювати", command=draw_line)
button.pack()
window.mainloop()
Розв’язок на Lazarus:
Елементи на формі:
TPaintBox (PaintBox1) — область для малювання.
TButton (Button1) — кнопка "Намалювати".
Код:
pascal
Копіювати код
procedure TForm1.Button1Click(Sender: TObject);
begin
with PaintBox1.Canvas do
begin
Brush.Color := clWhite; // Заповнення фону
FillRect(PaintBox1.ClientRect);
Pen.Color := clGreen; // Колір лінії
Pen.Width := 2;
MoveTo(20, 20); // Початок лінії
LineTo(180, 180); // Кінець лінії
end;
end;
Додайте елемент TPaintBox на форму.
Він використовується як область для малювання.
Налаштуйте розмір області.
Додайте кнопку TButton.
Встановіть підпис, наприклад, "Намалювати".
Додайте обробник події OnClick для кнопки.
Напишіть у коді процедуру для малювання графічного примітиву (лінії, прямокутника чи кола) у Canvas елемента PaintBox.
Запустіть проєкт і перевірте, як малюються обрані примітиви.
Тест з графічного програмування:
Питання 1:
Які основні графічні примітиви використовуються при створенні зображень?
а) Тільки лінії
b) Точки та лінії
c) Круги та прямокутники
d) Точки, лінії, круги, прямокутники
Правильна відповідь: d) Точки, лінії, круги, прямокутники
Питання 2:
Які координати визначають точку в лівому верхньому куті графічного екрана?
a) (0, 0)
b) (1, 1)
c) (-1, -1)
d) (100, 100)
Правильна відповідь: a) (0, 0)
Питання 3:
Як можна встановити колір фігури при малюванні у Python з використанням бібліотеки turtle?
a) turtle.set_fill_color("red")
b) turtle.fill("red")
c) turtle.color("red")
d) turtle.paint("red")
Правильна відповідь: c) turtle.color("red")
Питання 4:
Як можна визначити розмір прямокутника у Lazarus?
a) Canvas.DrawRectangle(50, 50, 150, 100)
b) Canvas.RectSize(50, 50, 150, 100)
c) Canvas.RectangleSize(50, 50, 150, 100)
d) Canvas.Rectangle(50, 50, 150, 100)
Правильна відповідь: d) Canvas.Rectangle(50, 50, 150, 100)
Питання 5:
Як у Python позначити команду завершення програми в turtle?
a) turtle.end()
b) turtle.close()
c) turtle.stop()
d) turtle.mainloop()
Правильна відповідь: d) turtle.mainloop()
Питання 6:
Для чого використовується Canvas.Brush.Color у Lazarus?
a) Встановлення ширини малюнка
b) Вибір кольору заливки
c) Зміна прозорості
d) Визначення форми малюнка
Правильна відповідь: b) Вибір кольору заливки
Питання 7:
Як можна змінити розмір круга у Python з використанням turtle?
a) turtle.size(100)
b) turtle.radius(100)
c) turtle.resize(100)
d) turtle.circle(100)
Правильна відповідь: d) turtle.circle(100)
Питання 8:
Як можна змінити колір заливки у прямокутника в Lazarus?
a) Canvas.Filling.Color
b) Canvas.FillColor
c) Canvas.Brush.Color
d) Canvas.Rect.Fill.Color
Правильна відповідь: c) Canvas.Brush.Color
Питання 9:
Як можна створити квадрат в Lazarus?
a) Canvas.DrawSquare(50, 50, 100)
b) Canvas.Rectangle(50, 50, 100, 100)
c) Canvas.Square(50, 50, 100)
d) Canvas.Draw(50, 50, 100, 100)
Правильна відповідь: b) Canvas.Rectangle(50, 50, 100, 100)
Питання 10:
Як у Python визначити товщину лінії при малюванні з turtle?
a) turtle.width(5)
b) turtle.line_width(5)
c) turtle.thickness(5)
d) turtle.line(5)
Правильна відповідь: a) turtle.width(5)