Тема. Робота з чергою
Мета. Формування навиків програмування черги засобами мови програмування та її використання в обчислювальних програмах
Завдання
Описати мовою програмування чергу для збереження координат точки у просторі та написати код для додавання координат до черги та читання їх з неї. Зчитані з черги дані слід порядково уводити до текстового поля.
Розв’язання
Мовою VB.NET
Public Class Form1
Structure S_Queue
Public x, y, z As Double
End Structure
Dim Queue(100) As S_Queue 'Масив для збереження черги
Dim First As Integer = 0 'Початок черги
Dim Last As Integer = -1 'Кінець черги
Sub PutQueue(ByVal x As Double, ByVal y As Double, ByVal z As Double)
'Процедура запису даних до черги
Last += 1
Queue(Last).x = x
Queue(Last).y = y
Queue(Last).z = z
Label5.Text = Last - First + 1
End Sub
Function IsEmpty() As Boolean
'Процедура перевірки черги на порожність
IsEmpty = First > Last
End Function
Function GetQueue(ByRef x As Double, ByRef y As Double, ByRef z As Double) As Boolean
'Процедура читання даних з черги
If Not IsEmpty() Then
x = Queue(First).x
y = Queue(First).y
z = Queue(First).z
First += 1
GetQueue = True
Else
GetQueue = False
End If
Label5.Text = Last - First + 1
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim x, y, z As Double
x = TextBox1.Text
y = TextBox2.Text
z = TextBox3.Text
PutQueue(x, y, z)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim x, y, z As Double
If GetQueue(x, y, z) Then
TextBox4.Text += "X=" + Str(x) + vbTab + "Y=" + Str(y) + vbTab + "Z=" + Str(z) + vbNewLine
End If
End Sub
End Class
Завдання для самостійного виконання
Варіант | Завдання |
1 | Написати програму для уведення до черги цілих чисел та виводу їх до текстового поля порядково |
2 | Написати програму для уведення до черги цілих чисел та виводу їх до текстового поля через пробіл |
3 | Написати програму для уведення до черги слів (рядків) та виводу їх до текстового поля порядково |
4 | Описати структуру «Геометрична фігура» з параметрами: назва, площа, об’єм, кількість вершин. Написати програму для уведення до черги даних даної структури та виводу їх до текстових полів з відповідними підписами |
5 | Описати структуру «Працівник підприємства» з параметрами: прізвище,ім’я, по батькові, дата народження, професія, розряд. Написати програму для уведення до черги даних даної структури та виводу їх до текстових полів з відповідними підписами |
6 | Описати структуру «Погодні умови» з параметрами: температура, атмосферний тиск, швидкість вітру, вологість, напрямок вітру. Написати програму для уведення до черги даних даної структури та виводу їх до текстових полів з відповідними підписами |
7 | Описати структуру «Пацієнт лікарні» з параметрами: прізвище,ім’я, по батькові, дата народження, діагноз, лікар, дата госпіталізації. Написати програму для уведення до черги даних даної структури та виводу їх до текстових полів з відповідними підписами |
8 | Описати структуру «Автомобіль» з параметрами: марка, рік випуску, країна виробник, об’єм двигуна, кількість циліндрів, колір. Написати програму для уведення до черги даних даної структури та виводу їх до текстових полів з відповідними підписами |
9 | Описати структуру «Книга» з параметрами: автор, назва, шифр, рік видання, видавництво, кількість сторінок, жанр. Написати програму для уведення до черги даних даної структури та виводу їх до текстових полів з відповідними підписами |
10 | Описати структуру «Комп’ютер» з параметрами: марка, процесор, тактова частота, кількість ядер, дата випуску, об’ємRAM, об’єм HDD. Написати програму для уведення до черги даних даної структури та виводу їх до текстових полів з відповідними підписами |
11 | Описати структуру «Принтер» з параметрами: марка, тип, продуктивність, шумність, мережевий чи ні, кольоровий чи ні, можливість друку з карт пам’яті. Написати програму для уведення до черги даних даної структури та виводу їх до текстових полів з відповідними підписами |
12 | Описати структуру «Будинок» з параметрами: кількість поверхів, площа, кількість вікон, рік побудови, матеріал стін, матеріал даху. Написати програму для уведення до черги даних даної структури та виводу їх до текстових полів з відповідними підписами |
13 | Описати структуру «Країна» з параметрами: назва, материк, площа в тис. км2, населення в млн. чол., форма державного устрою, рік утворення. Написати програму для уведення до черги даних даної структури та виводу їх до текстових полів з відповідними підписами |
14 | Описати структуру «Планета» з параметрами: назва, радіус, маса, густина планети в г/см3, радіус орбіти, наявність атмосфери, середня температура поверхні в К, наявність природних супутників. Написати програму для уведення до черги даних даної структури та виводу їх до текстових полів з відповідними підписами |
15 | Описати структуру «Користувач соціальної мережі» з параметрами: ім’я, по батькові, прізвище, дата народження, стать, адреса електронної пошти, логін, пароль, захоплення, країна, місце проживання, навчальний заклад.. Написати програму для уведення до черги даних даної структури та виводу їх до текстових полів з відповідними підписами |
Література
Караванова, Т.П. Інформатика: методи побудови алгоритмів та їх аналіз: Необчисл. алгоритми: Навч. посіб. для 9-10 кл. з поглибл. вивч. інформатики. Т.П.Караванова.– К.: Генеза, 2007. – 216 с.: іл. – Бібліогр.: с. 212. (Сторінки 65-70)












