Види навчальної діяльності
Обговорюємо
- Чим відрізняються способи зміни значення лічильника в циклі з лічильником у мовах програмування Free Pascal та Python?
- Як в операторах циклу в мовах програмування Free Pascal та Python організовують виконання декількох команд у тілі циклу?
- У яких випадках доцільніше використовувати цикл з лічильником?
Діємо разом
- Вправа 1. Розробіть у середовищі програмування мовою програмування Python проект, за допомогою якого можна визначити, скільки слів введено в текстове поле, якщо відомо, що між словами міститься лише один пропуск.
- У середовищі програмування мовою Python створіть новий файл з іменем Кількість слів.
- В області програмного коду запишіть команди за зразком:
- Запустіть проект на виконання. Перевірте, чи результат для введеного тексту, як на скріншоті, відповідає значенню 3:
- Збережіть проект і завершіть роботу із середовищем програмування.
import tkinter
from tkinter import ttk
from tkinter import messagebox
main = tkinter.Tk()
main.title('Кількість слів у реченні')
# створення об'єкта для отримання значення з текстового поля: Введіть речення
row_var = tkinter.StringVar()
# опрацювання події натиснення кнопки
def button_click():
# початкові дані: s - кількість слів (спочатку дорівнює нулю), z - рядок, що складається з одного пропуску
s = 0
z = ' '
# отримання значення введеного рядка і присвоєння змінній st
st = row_var.get()
# визначення довжини рядка
k = len(st)
# проходимо за допомогою циклу від початку рядка до кінця, фіксуючи кожне слово, якщо зустрінемо пропуск
for i in range(0, k):
if st[i] == z:
s = s + 1 # s++
# виведення повідомлення про кількість слів у реченні
tkinter.messagebox.showinfo('Результат', str(s+1))
#створення текстового напису Введіть речення та його розміщення на головній формі
label = tkinter.Label(text='Введіть речення')
label.pack()
#створення текстового поля Введіть речення та його розміщення на головній формі
edit = tkinter.Entry(main, textvariable=row_var)
edit.pack()
#створення кнопки та розміщення об'єкта на головній формі
button = tkinter.Button(main, text='Визначити', command=button_click)
button.pack()
#запуск опрацювання подій програми
main.mainloop()
- Вправа 2. Розробіть проект у середовищі програмування Lazarus, за допомогою якого можна визначити найбільший спільний дільник двох цілих чисел (НСД).
- Завантажте середовище Lazarus і створіть новий проект.
- Змініть значення властивостей об'єкта Form1, розмістіть на формі об'єкти, як на зразку, та надайте значень їх властивостям
- Змініть шрифт і розмір текстових написів на формі.
- Створіть процедуру опрацювання події натиснення кнопки Визначити:
procedure TForm1.Button1Click(Sender: TObject); var a, b: integer; begin a := StrToInt(Edit1.Text); b := StrToInt(Edit2.Text); while (a <> 0) and (b <> 0) do begin if a > b then a := a mod b else b := b mod a end; Edit3.Text := 'Найбільший спільний дільник ' + IntToStr(a+b); end;
- Проаналізуйте програмний код, запустіть проект на виконання. Якщо є помилки - виправте їх.
- Збережіть проект і завершіть роботу із середовищем програмування.
- Поміркуйте, як скласти схему для узагальнення опису циклів із повторенням мовами програмування Free Pascal та Python. Побудуйте таку схему у середовищі текстового процесора. За потреби, доповніть схему новими даними.
Досліджуємо
- Завдання. Виконайте фрагменти програм, написані мовою програмування Python:
- а) друкується таблиця множення на 9
for i in range(1, 11):
for j in range(1, 11):
result = i * j
print(str(i) + ' * ' + str(j) + ' = ' + str(result))
print()
for i in range(10, 0, -1):
print(i*i)
n = 10
s = 0
for i in range(1, n+1):
s += i
print('Сума цілих чисел з діапазону від 1 до ' + str(n) + ' дорівнює ' + str(s))
d = 1
for i in range(1, 11):
if i % 2 == 0:
d *= i
print('Добуток парних чисел першого десятка дорівнює ' + str(d))
r = input('Введіть текст:\n')
d = len(r)
s = 0
for i in range(0, d):
if r[i] in ('.', '!', '?'):
s += 1
print('Кількість введених речень ' + str(s))
Зверніть увагу на оператори циклу, які використовуються в програмах.
Домашнє завдання
- Опрацювати підручник: §25 с. 172-174