Тема. Використання стеку
Мета. Формування навиків програмування стеків засобами мови програмування та їх використання в обчислювальних програмах
Завдання
Описати мовою програмування стек для збереження координат точки на площині та написати код для додавання координат до стеку та читання їх з нього. Зчитані зі стеку дані слід порядково уводити до текстового поля.
Розв’язання
Мовою VB.NET
Public Class Form1
Structure S_St
Public x, y As Double
End Structure
Dim stack(100) As S_St 'Масив для збереження стеку
Dim Count As Integer = -1 'Лічильник кількості елементів у стеку
Sub Push(ByVal x As Double, ByVal y As Double)
'Процедура запису даних до стеку
Count += 1
stack(Count).x = x
stack(Count).y = y
Label4.Text = Count + 1
End Sub
Function IsEmpty() As Boolean
'Процедура перевірки стеку на порожність
IsEmpty = Count < 0
End Function
Function Pop(ByRef x As Double, ByRef y As Double) As Boolean
'Процедура читання даних зі стеку
If Not IsEmpty() Then
x = stack(Count).x
y = stack(Count).y
Count -= 1
Pop = True
Else
Pop = False
End If
Label4.Text = Count + 1
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim x, y As Double
x = TextBox1.Text
y = TextBox2.Text
Push(x, y)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim x, y As Double
If Pop(x, y) Then
TextBox3.Text += "X=" + Str(x) + vbTab + "Y=" + Str(y) + 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 | Описати структуру «Користувач соціальної мережі» з параметрами: ім’я, по батькові, прізвище, дата народження, стать, адреса електронної пошти, логін, пароль, захоплення, країна, місце проживання, навчальний заклад.. Написати програму для уведення до стеку даних даної структури та виводу їх до текстових полів з відповідними підписами |
Література
1. Караванова, Т.П. Інформатика: методи побудови алгоритмів та їх аналіз: Необчисл. алгоритми: Навч. посіб. для 9-10 кл. з поглибл. вивч. інформатики. Т.П.Караванова.– К.: Генеза, 2007. – 216 с.: іл. – Бібліогр.: с. 212. (Сторінки 62-65)