Цикл уроків з програмування на мові Visual Basic. 4 частина. Цикли. Включає в себе такі матеріали: Алгоритми з повтореннями. Оператори циклу мовою програмування. Практична робота: «Побудова алгоритмів з послідовними повтореннями». Поєднання повторення та розгалуження. Обчислення значень функції за допомогою сум або добутка. Рекуррентні посідовності. Практична робота: «Побудова рекурентних алгоритмів». Лабораторна робота « Реалізація рекурентних алгоритмів у вигляді проектів».
Тема: Алгоритми з повтореннями.
Мета: - навчитися створювати циклічні програми, використовуючи умовні оператори,
оператори з лічильником.
- розвивати в учнів уважність, збагатити словник новими термінами.
- виховувати допитливість , культуру мовлення, сприяти формуванню особистості.
ХІД УРОКУ.
І. Організаційний момент.
Привітання, перевірка присутніх , підготовка місць до роботи.
ІІ. Актуалізація опорних знань.
Повторення поняття циклу та правил опису циклів навчальною алгоритмічною мовою та за допомогою блок-схем .
Цикл – це базова структура, яка передбачає повторне виконання дії або блоку дій, якщо виконується певна умова.
Існує три основні типи циклів: з передумовою; з післяумовою ; із заданою кількістю повторень (з параметром).
Якщо кількість повторень відома заздалегідь, краще використовувати цикл лічильником, в іншому випадку –умовний цикл.
ІІІ. Вивчення нового матеріалу.
Поняття про « нескінченні» цикли. Кількість повторень у циклах повинна бути скінченною. Утворення нескінчениих циклів – часта помилка початківців. Нескінченні цикли приводять до зависання програми – коли користувач не отримує жодних результатів.
Цикл з параметром: використовують у тому випадку, коли заздалегідь відомо стартове і кінцеве значення лічильника.
Синтаксис виглядає так:
For Лічильник_циклу = Старт To Стоп Step Крок
Група операторів
Next [Лічильник_циклу]
Умовні позначення:
1. Лічильник - це змінна, яка містить поточне значення циклу. Прикожному оберті циклу Лічильник збільшується на Крок.
2. Початкове значення, Кінцеве значення, Крок - це можуть бути числа, вирази, змінні або властивості об'єктів, що містять відповідні числовізначення.
3. Лічильник починає відлік від початкового значення, але не може перевищити Кінцевого значення.
4. Крок можна опустити, тоді він буде дорівнює 1.
5. Крок може бути <0, тоді значення Лічильника буде спадати, а Початкове значення має бути більше Кінцевого значення.
Робота оператора:
1. При виконанні рядка 1 Лічильник приймає Початкове значення.
2. Виконуються оператори тіла циклу.
3. При виконанні третього рядка Лічильник збільшується на Крок.
4. Якщо Лічильник менше або дорівнює значенню Кінцевому, то знову виконуються оператори циклу, Лічильник збільшується (див. пункти 2, 3).
5. Якщо Лічильник перевищив Кінцеве значення, то виконується рядок, наступна за рядком Next.
Приклад:
For i = 1 To 10 Step 2
Print i
Next i
Такий цикл повториться 5 разів. Змінна i буде приймати значення від 1 до 10 з кроком 2, тобто 1, 3, 5, 7, 9. Ці числа будуть надруковані на формі за допомогою оператора Print.
ІІ. Закріплення вмінь.
Приклад 1.
Надрукувати фразу
Private Sub Command1_Click()
Dim i As Integer
Cls
For i=1 to 15 step 1
Form1.FontSize = 9 + i
Print i; "Вивчаємо цикли!"
Next i
End Sub
Приклад 2.
Дослідити, яке буде значення змінної s після виконання циклу
S=0
For i=1 to 9 step 2
S= s+i
Next i
Дослідимо зміну s та i:
S=1
I=1, S= 0+1=1
I=1+2=3, s=1+3=4
I=3+2=5, s=4+5=9
I=5+2=7, s=9+7=16
I=7+2=9, s=16+9=25
I=9+2=11,11<9= ні, вихід з циклу Відповідь 25
Приклад 3.
Обчислити суму чисел від 1 до n , де n=100
Програний код
Dim ch as integer
Dim s as integer
Dim n as integer
N= inputBox ( « Введіть n»)
S=0
For ch=1 to n step 1
S=s+ch
Next ch
Виведення S
Приклад 4
Обчислити значення функції y=x2 на проміжку [2;30] з кроком h.
Програний код
Dim x as single
Dim y as single
Dim h as single
h= inputBox ( « Введіть h»)
For x=2 to 30 step h
y= x^2
debug.print x, y
Next
ІІІ. Робота на комп’ютері.
Введення написаних програм.
IV. Підсумок уроку.
Бліц-опитування з нової теми.
V. Домашнє завдання.
Опрацювати конспект.
Розв'язати задачі:
1.Знайти n!=1*2*3*4*…..* n
2. Обчислити всі значення функції y=3*2a, де а=1,2,3...21.
Тема: Оператори циклу мовою програмування.
Мета: - навчитися створювати циклічні програми, використовуючи умовні оператори,
оператори з лічильником.
- розвивати розвиток пізнавального інтересу до предмета інформатика; формування
умінь порівнювати і класифікувати, знаходити спільне і відмінне, зіставляти і
робити висновки;
ХІД УРОКУ.
І. Організаційний момент.
Привітання, перевірка присутніх , підготовка місць до роботи.
ІІ. Актуалізація опорних знань.
А) перевірка д/з
Б) перевірка теорії
В) усно завдання:
1 D=1 2 s=0
For a=1 to 5 for x=1 to 5 step 2
D=d*a s= s+2*x
Next a next x
ІІІ. Вивчення нового матеріалу.
Сьогодні ми будемо вивчати цикли, де кількість повторень невідома. Згадаємо ці цикли в графічному вигляді( блок-схем)
WHILE логічний вираз
Серія команд
WEND
Дія команди: серія команд виконується в циклі, доки значення логічного виразу є істинне.
Правило 1.
Усередені тіла цикла має бути збільшення значення змінної, яка перевіряється
Правило 2.
Перед початком циклу повинно бути надане початкове значення змінної.
Приклад 1:
s=0
x=1
while x<=5
s=s+x
x=x+2
wend
Які значення приймають s та x.
Приклад 2.
Обчислити суму чисел від 1 до n , де n=100
Dim ch as integer
Dim s as integer
Dim n as integer
N= inputBox ( « Введіть n»)
S=0
Сh=1
While ch<=n
S=s+ch
Ch=ch+1
wend
Виведення S
DO
Серія команд
Loop Until логічний вираз
Дія команди: серія команд виконується в циклі, поки значення логічного виразу є хибним.
Правила 1 та 2 дійсні і для цикла ДО
Приклад 5
s=0
x=10
do s= s+x
x= x-3
loop until x<=0
Приклад 4.
Обчислити суму чисел від 1 до n , де n=100
Dim ch as integer
Dim s as integer
Dim n as integer
N= inputBox ( « Введіть n»)
S=0
Сh=1
do
S=s+ch
Ch=ch+1
Loop until ch>n
Виведення S
ІІІ. Робота на комп’ютері.
Введення написаних програм.
IV. Підсумок уроку.
Рефлексія
V. Домашнє завдання.
Опрацювати конспект.
Розв'язати задачі за допомогою вивчених циклів:
1.Знайти n!=1*2*3*4*…..* n
2. Обчислити всі значення функції y=3*2a, де а=1,2,3...21.
Тема: Оператори циклу мовою програмування.
Мета: навчальна: засвоєння учнями оператора циклу з передумовою та області його застосування; формування умінь і навичок запису оператора циклу: вироблення навичок складання програм, що реалізують алгоритми циклічні при вирішенні завдань;
розвиваюча: розвиток логічного і алгоритмічного мислення учнів; розвиток в учнів пізнавальної активності; розвиток пам'яті та уваги; розвиток комунікаційної компетентності в учнів; формування в учнів комп'ютерної грамотності та потреби у придбанні знань;
виховна: виховання дбайливого ставлення до комп'ютерної техніки; виховання толерантності.
ХІД УРОКУ:
І. Організаційний момент.
Відмічаються відсутні, готуються місця до роботи
ІІ. Актуалізація знань.
Гра « Знайди помилку» - повторення теорії з теми « Оператори циклів»
ІІІ. Розв’язування задач на використання оператора циклів .
1. Для перевірки фізичного розвитку перевіряють зростання школярів. Складіть програму, яка запитує зростання чергового школяра і обчислює після завершення медогляду середній зріст пройшли огляд.
2. У перший день плавець проплив 3 км. У кожен наступний день він пропливав на 10% більше, ніж у попередній. В якій по рахунку день плавець почне пропливати більше 5 км?
ІV. Введення програм та робота на комп’ютері.
V. Підсумок уроку.
Рефлексія:
- Чи було вам комфортно сьогодні на уроці?
- Що нового ви дізналися на сьогоднішньому уроці?
- Рішення, якої задачі було для вас найскладнішим?
- З якими саме труднощами ви зіткнулися при вирішенні цього завдання?
- Які завдання здалися вам простими?
V. Домашнє завдання.
1. Опрацювати конспект
2. Складіть задачі
А) Температура С в градусах Цельсія змінюється від 0 до 100 з кроком 5.Надрукувати таблицю переводу температури із градусів Цельсія в градуси Фаренгейта (F). Формула перекладу: F = 1,8 C + 32.
Б) Складіть таблицю значень функції y = 5x - 2 на відрізку [1; 20] з кроком b = 2.
3. Творче завдання. Складіть життєву задачу на використання операторів циклу .
Тема: Практична робота: «Побудова алгоритмів з послідовними повтореннями»
Мета: навчити використовувати вказівки циклу при створенні програм для поставлених задач, розвивати логічне мислення, підтримувати інтерес до предмету , виховувати навички до учням навичок самостійної роботи.
ХІД УРОКУ:
І. Організаційний момент.
Відмічаються відсутні, готуються місця до роботи
ІІ. Актуалізація знань.
Бліц-опитування :
А) Як записується і виконується вказівка повторення з передумовою?
Б) Як записується і виконується вказівка повторення з післяумовою?
в) Яка різниця між вказівкою повторення з передумовою і вказівкою повторення з післяумовою?
г) Як записується і виконується вказівка повторення з параметром?
Д) Яка величина зміни кроку у вказівці з параметром?
ІІІ. Практична робота по циклам.
Увага! 1 задачу розв’язувати з оператором зпараметром, 2 задачу – цикл з передумовою, 3 задача – цикл з післяумовою.
І варіант
1. Складіть таблицю значень функції y = 5x2 - 2x + 1 на відрізку [-5; 5] з кроком b = 2.
2.Обчислити значення многочлена x3 - 3x2 + 4x -2 для x=0,1,2,..5.
3. Кожна бактерія ділиться на дві протягом однієї хвилини. Початкове значення бактерій B. Скільки їх стане через A хвилин.
ІІ варіант
1. Складіть таблицю значень функції y = 4x2 - 5x - 10 на відрізку [-9; 9] з кроком b = 3.
2. Обчислити значення многочлена y=3x2 +5x/13 для х = 1,3,5,7,9, 11
3. Визначити кількість пасажирів, які можуть поміститися на борт літака, якщо його вантажопідйомність А тон (8т). (Вага кожного пасажира вводиться з клавіатури).
IV. Завершення практичної роботи, оцінювання знань та вмінь учнів.
V. Домашнє завдання.
1. Повторити команди цикла.
2. Творче завдання. Придумати завдання до різних циклів.
Тема: Поєднання повторення та розгалуження.
Мета: - навчитися створювати циклічні програми, використовуючи умовні оператори,
цикли
- розвивати розвиток пізнавального інтересу до предмета ; формувати
уміння порівнювати і класифікувати, знаходити спільне і відмінне, зіставляти і
робити висновки;
Хід уроку:
І. Організаційний момент.
Відмічаються відсутні, готуються місця до роботи
ІІ. Актуалізація знань.
Діалог з учнями: повторення операторів розгалуження та операторів циклу.
ІІІ. Новий матеріал.
Пошук потрібних значень серед великої кількості даних –одне з важливіших завдань програмування. Його виконують за допомогою алгоритмічної конструкції « розгалуження в циклі». Вона є комбінацією циклу з розгалуженням. Розгалуження в циклі виконуються за допомогою команд IF або SELECT CASE.
Задача 1.
Дана послідовність чисел, задана формулою аi = i2-30, де і = 1, 2, ….,10. Вивести послідовность у вигляді таблиці : номер числа, його значення.
Private Sub Command1_Click()
Dim i, a As Single
Cls
For i = 1 To 10
a = i ^ 2 - 30
Debug.Print i, a
Next
End Sub
Завдання 1. Вивести лише додатні елементи послідовності.
Private Sub Command1_Click()
Dim i, a As Single
Cls
For i = 1 To 10
a = i ^ 2 - 30
If a > 0 Then
Print i, a
End If
Next i
End Sub
Завдання 2. Вивести кількість від’ємних елементів.
Private Sub Command1_Click()
Dim i, a As Single
Dim k As Integer
Cls
k = 0
For i = 1 To 10
a = i ^ 2 - 30
If a < 0 Then
k = k + 1
End If
Next i
Text1 = Str(k)
End Sub
Типовою задачею програмування є аналіз даних з метою знаходження найбільшого( найменшого) даного у послідовності, а також номер такого даного.
Наприклад: визначити найбільший дохід компанії за певний період, дослідити, в якому році були найбільші втрати, з’ясувати, хто з менеджерів реалізував товарів на найбільшу суму.
Розглянемо на прикладі задачі метод знаходження найбільшого ( найменшого) значення і його номера.
Задача 2.
У послідовності чисел аi = i 2-5і +5 , де і = 1, 2, …., 6 знайти найбільше число і його номер.
Маємо значення 6 1, -1, -1, 1, 5, 11 . Найбільше число 11, а його номер 6.
Метод: Програма повинна переглянути всі числа і проаналізувати їх. Спочатку робиться припущення, що найбільше число перше. І номер відповідно – перший. Змінні,які відповідають умові задачі max ( min) i nomer. За допомогою циклу переглядаються всі числа і порівнюються з першим. Якщо виявиться число,більше ( меншим) за перше, то максимальним ( мінімальним) змінюється на знайдене і переглядаються інші числа. Коли цикл завершиться,то змінні max ( min) i nomer містимуть розв’язок задачі.
Private Sub Command1_Click()
Dim i, a, max, nomer As Integer
nomer = 1
max = nomer ^ 2 - 5 * nomer + 5
For i = 2 To 6
a = i ^ 2 - 5 * i + 5
If a > max Then
max = a
nomer = i
End If
Next i
Print nomer, max
End Sub
ІV. Введення програм та робота на комп’ютері.
V. Підсумок уроку.
Рефлексія:
VІ. Домашнє завдання.
1. Опрацювати конспект
2. Складіть проекти:
А) до задачі 1 – вивести всі елементи і суму додатніх
Б) до задачі 2 – найменший елемент і його номер
Тема: Поєднання повторення та розгалуження.
Мета: - закріпити вміння створювати циклічні програми, використовуючи умовні
оператори, цикли;
- розвивати розвиток пізнавального інтересу до предмета ;
- виховувати допитливість , культуру мовлення, сприяти формуванню особистості.
Хід уроку:
І. Організаційний момент.
Відмічаються відсутні, готуються місця до роботи
ІІ. Актуалізація знань.
Перевірка домашнього завдання.
ІІІ. Новий матеріал.
Розв’язування задач.
ІV. Введення програм та робота на комп’ютері.
V. Підсумок уроку.
VІ. Домашнє завдання.
Повторити конспект
Скласти програми:
Завдання:
1. Скласти програму, підраховують число відвідувань в поліклініці лікарів - спеціалістів (отоларинголога, окуліста та хірурга). В кінці дня видати підсумкове повідомлення.На
початку роботи програми повинна вводитися дата, яка буде фігурувати в підсумковому повідомленні.
2. Пасажирський літак може підняти вантаж загальною вагою 30т. Скласти програму для визначення ваги поштового вантажу, який можна помістити в літак після посадки пасажирів і завантаження їх багажу. Під час реєстрації пасажирів ЕОМ повинна підраховувати кількість пасажирів (умовну вагу однієї людини 100 кг) і підсумувувати вагу багажу.
Тема: Обчислення значень функції за допомогою сум або добутка.
Мета: навчальна: формувати практичні навички по створенню проектів з використанням циклів для знаходження значення функції, яка є сумою або добутком змінних, розвиваюча:розвинути кмітливість, логічне мислення, виховна: виховати інтерес до навчального предмету.
Хід уроку.
І. Організаційний момент.
Відмічаються відсутні, готуються місця до роботи
ІІ. АОЗ.
Тестування за допомогою програми TEST-W.
ІІІ. Новий матеріал.
Існують 2 способи знаходження значення функції:
Розглянемо 1 спосіб: кожне значення змінної необхідно кожний раз вводити з клавіатури.
Задача1.
Знайти суму додатніх значень виразу у=а3-2а2+2, де а=10, -6, 0.25,121,-8.7
Алгоритм програми:
Private Sub Command1_Click()
Dim a As Single
Dim S As Single
Dim y As Single
Dim i As Single
S = 0
For i = 1 To 4
a = InputBox(" Введіть a")
y = a ^ 3 - 2 * a ^ 2 + 2
If y > 0 Then
S = S + y
End If
Next i
Print S
End Sub
Елемент керування ListBox
Для виведення значень змінних у кілька рядків зручно скористатися елементом управлінняListBox (Список).
Для додавання списку на форму необхідно вибрати на панелі компонентів ListBox і намалювати на формі об’єкт потрібного розміру. У вікні за замовчуванням знаходиться текст List1. Щоб знищити цей текст, у рядку List (що знаходиться у вікні властивостей) відкрийте список і закрийте його (тобто створіть порожній список). Для додавання рядка в список List використовується метод Additem. Його синтаксис такий:
NameList.Additem рядок
Методу не можна присвоювати значення. Їх методу можна тільки передати.
Приклад . Застосування методу Additem:
List1.Additem “Яблуко”
List1.Additem str(x^2)
Приклад 6. Розгляньте приклади. Обміркуйте, які задачі реалізовані наведеними фрагментами програм:
1)-----------
For A=5 To 7
List1.Additem str(А^2)
Задача 2
Обчислити всі значення функції у=, для х=-7,-6, …2
Private Sub Command1_Click()
Dim x As Single
Dim y As Single
For x = -7 To 2 Step 1
y = Sqr(x ^ 4 + 2)
List1.AddItem Str(x) & " " & Str(y)
Next x
End Sub
IV. Закріплення вмінь. Робота на комп’ютері.
Введення програм.
V. Підсумок уроку.
Саморефлексія.
Заверши фразу:
1. Сьогодні я дізнався ...
2. Було цікаво ...
3. Було важко ...
4. Я виконував завдання ...
5. Я зрозумів, що ...
6. Тепер я можу ...
7. Я відчув, що ...
8. Я придбав ...
9. Я навчився ...
10. У мене вийшло..
VІ. Домашнє завдання.
Опрацювати конспект.
Скласти програми:
х приймає значення від -6, …7
Тема: Рекуррентні посідовності
Мета: навчаюча: ввести поняття рекурентних посідовностей, формувати практичні уміння і навички складати програми, використовуючи цикли, розвиваюча : сприяти розвитку мислення та розкриття творчих здібностей учнів, виховна: виховувати в учнів інтерес до предмету.
Хід уроку:
І. Організаційний момент.
Відмічаються відсутні, готуються місця до роботи
ІІ. АОЗ.
Гра « Знайди помилку»
ІІІ.Новий матеріал.
Одним із найпростіших і найважливіших застосувань циклічних структур є генерування рекурентних послідовностей. Ефективність розв'язання деяких математичних задач цілком залежить від вибору рекурентної послідовності та способу її обчислення.
"Рекурентний" означає "зворотний". Формула, що виражає член послідовності через один або декілька попередніх, називається рекурентним співвідношенням. Послідовність, члени якої задовольняють деякому рекурентному співвідношенню, називається рекурентною.
Приклади:
Найпростішими прикладами рекурентних послідовностей є арифметична та геометрична прогресії, елементи яких пов'язані з попередніми елементами співвідношеннями аn = an-1 + d та аn = аn-1 • q, де d та q — деякі сталі величини.
Змінна factorial послідовно набуває значень 1, 2, 6, 24.... Позначивши члени цієї послідовності через р0, р1, Р2, ..., рn, отримаємо рівність: рi = рi-1 • i, де і = 1, 2.....n. Така рівність є прикладом рекурентного співвідношення.
Числа Фібоначчі:
Завдання:
Придумайте рекурентне відношення, яке задає числові послідовності:
А) 2,3, 4, … n+1
Б) 5, 10, 15, n+5
В) 1, 1, 1, . . 1
Г) 1,-1, 1, -1, … 1*-1
Д)2, 4, 8,16…. 2n
Е) 2, 4, 16, 256 … 2n
Задача 1
Обчислити
В загальному вигляді ця послідовність записується так .
1. Присвоїти змінній Sum значення, рівне 0 (Sum : = 0).
2. Присвоїти змінній i значення, рівне 1 (i:= 1).
3. Добавити к сумі значення 1 / i (Sum := Sum + 1 / i).
4. Збільшити i на 1 (i:= i + 1).
5. Повторити кроки 3 і 4.
Задача 2.
Дано ціле n. Визначити 1*3*5*7*…*(2n+1).
Rez:=1; {Початкове значення дорівнює 1, тому що результат являється накопиченням
добутку}
For I:=0 to n do Rez:=rez*(2*I+1);
Задача 3.
Скласти програму обчислення значень функції y=(1+1)/(1+2)+(2+1)/(2+2)…(5+1)/(5+2)
ІV. Введення програм та робота на комп’ютері.
V. Підсумок уроку.
Саморефлексія:
1. Як ви гадаєте, чи виконали ми ті завдання, що поставили на початку уроку?
2. Які труднощі виникали у вас протягом уроку?
3. Що ви порадите однокласникам для подолання труднощів, що виникли?
ІV. Домашнє завдання.
Опрацювати конспект
Скласти програми: 1. Обчислити
2.
Тема: Практична робота: «Побудова рекурентних алгоритмів»
Мета: навчальна: навчитись практично застосовувати теоретичні відомості до розв’язання задач;придбати практичні навички використання вказівок розгалуження та повторення при розв’язку задач;виховна: використовуючи диференціальний та особистісний підхід, сприяти самореалізації учнів. розвиваюча: розвивати творче мислення та виконавчі здібності.
Хід уроку:
І.Організаційний момент.
Привітання, перевірка присутніх , підготовка місць до роботи.
ІІ.АОЗ.
Метод « Мозковий штурм»
Питання до класу:
IІІ. Практична робота на комп’ютері «Побудова рекурентних алгоритмів»
Повторення правил безпеки під час практичної роботи.
Алгоритм виконання практичної роботи:
4) Зберегти файл розв’язку
Скласти програми розв’язку задач:
І вид задач.
ІІ вид задач.
Знайти значення виразу, який є сумою або добутком чисел рекурентних послідовностей.
1. 5. 9.
2. 6. 10.
3. 7.
4. 8.
ІV. Підведення підсумків уроку. Запитання для бесіди:
V. Домашнє завдання. Опрацювати конспект. Розв’язати завдання з іншого варіанту.
Тема: Лабораторна робота « Реалізація рекурентних алгоритмів у вигляді проектів»
Мета: навчаюча: набути практичних навиків по створенню проектів рекурентних алгоритмів в VB, розвиваюча: формувати в учнів алгоритмічне і логічне мислення, розвивати уміння планувати свою діяльність, виховна: виховувати самостійність, відповідальність за виконувану роботу.
Хід уроку:
І. Організаційний момент. Актуалізація знань
Підготовка робочих місць, привітання учнів.
Бліц-опитування - повторення вивченого матеріалу за допомогою гри.
ІІ. Лабораторна робота.
Повторення правил з т/б – гра « Сходинки».
Робота на комп’ютері.
1. Запустіть систему програмування Microsoft Visual Basic, вибравши тип проекту Standard EXE.
ІІІ. Підсумок уроку.
Перевірка практичної роботи, виставлення оцінок, підведення підсумків.
ІV. Домашнє завдання.