Professional Documents
Culture Documents
2023 - ФЛ25 - Кшенська Карина Олександрівна
2023 - ФЛ25 - Кшенська Карина Олександрівна
Звіт
до лабораторного практикума
з курсу «Основи програмування. Частина 2»
Львів- 2023
САМОАНАЛІЗ УСПІШНОСТІ У НАВЧАННІ
Так.
Мене не було декілька занять, але точне число сказати не зможу, викладачі були на
кожному занятті.
Засвоїла майже весь навчальний матеріял, хоча дві останні теми були непростими.
Процес навчання задовільний, проте вимагає багато часу, особливо звіт. Не бачу сенсу
копіювати повністю роботу за семестр і вставляти в звіт, якщо я можу приділити цей
час вивченню і інших дисциплін, а не тільки основ програмування.
75
Лаб.8 завдання:
лаб.5 номер 03
лаб.6 номер 29
лаб.7 номер 01
Лаб.10 завдання: 13
Для даних двох множин А та В цілих чисел у межах від 1 до 25 утворити множини C, D, E, F,
деC=AUB, D=A∩B, E=A\B, F=B\A. Перевірити, чи виконуються умови A⊆C, D⊆C, C=E U F
U D, E∩F=∅. Надрукувати елементи множин A, B, C, D, E, F.
Лаб.11 завдання: 22
У базі даних супермаркету міститься інформація про товар і його залишок на складі. У разі
залишку конкретного товару, меншого за 100 кілограм, необхідно видавати повідомлення
менеджеру про необхідність придбання такої продукції.
Лаб.12 завдання: 16
Сформувати динамічний рядок, вивести його на друк. Якщо у рядку є дві літери “К”, то
логічній змінній L присвоїти значення TRUE
Лаб.13 завдання: 09
Сформувати кільцевий однонаправлений список і видалити з нього всі літери “Р” перед
літерою “А”. Вивести на друк обидва списки.
Лаб.14 завдання: 29
Сформувати дерево, елементами якого є службові слова мови Паскаль, упорядковані за
алфавітом. Здійснити пошук слова CASE. Якщо слово відсутнє, то додати вузол з
відповідним ключем.
….
Лабораторна робота №8
Тема: "Поновлення знань й вмінь про IDE, Math, умовні конструкції, цикли, масиви, файли"
Мета: Мета роботи – поновити знання та вміння із попереднього курсу із "частина 1"
минулого семестра теми 01-04: IDE; math; if-then-else, case, switch; цикли, for, repeat, while);
теми 05-07: масиви array; символьні char, string; файли file) для всіх мов Python, Java,
JavaScript, C, C#, PHP, Pascal та порівняння їх правопису
Лаб. 5
Лаб. 6
Висновки
Мета роботи була пригадати все те, що було зроблено минулого семестру, але з невідомих
мені причин деякі лабораторні роботи не компілювалися так, як треба і як це було минулого
семестру, хоча в коді не було жодних змін.
Програма із підпрограмами
Python
file_path = "C:/Users/user/Desktop/kkk/prog/lab9/file9.txt"
def count_punctuation(file_path):
try:
with open(file_path, 'r', encoding='utf-8') as file:
text = file.read()
# Count the punctuation marks
full_stops = text.count('.')
commas = text.count(',')
exclamation_marks = text.count('!')
if __name__ == "__main__":
file_path = "file9.txt" # Replace with the path to your text file
full_stops, commas, exclamation_marks = count_punctuation(file_path)
Блок-схеми
Блок-схема
javascript
// Define sets A and B
const A = new Set([...Array(25).keys()].map(x => x + 1)); // A contains integers from 1 to 25
const B = new Set([...Array(25).keys()].map(x => x + 1)); // Example set B, change it as needed
Js
Висновки
Моє завдання було перевірити умови в створених множинах А і В, я використала всі числа
від 1 до 25 для їх створення і всі умови підтвердилися, але можна також вписати числа
самостійно або вибрати рандомні з встановлених меж.
Скріни тренінга-захисту у ВНС
Лабораторна робота №11
Тема: "Комбіновані, структуровані типи даних, записи у мові програмування"
Мета – ознайомитись із особливостями застосування комбінованих типів (записів, структур)
у алгоритмічній мові програмування. Вивчити особливості застосування різних видів
записів. Набути практичних навичок програмування з використанням комбінованих типів.
Блок-схема
Блок-схема
Текст програми
# Введення рядку вручну або за допомогою вводу користувача
dynamic_string = input("Введіть рядок: ")
# Виводимо значення L
print("Змінна L:", l)
Скріни результатів
Висновки
Моя робота була в тому, щоб зробити програму для обробки динамічного рядка і рахування
літер К в ньому. Я зробила ручне введення рядка і після цього програма переводить всі
літери в маленькі і рахує кількість букв К, якщо їх 2, то виводиться відповідне повідомлення.
def vydal(lanka):
q = lanka
while q.next is not None:
if q.next.elem == 'P' and q.next.next is not None and q.next.next.elem ==
'A':
q.next = q.next.next.next
else:
q = q.next
def vyvid(lanka):
q = lanka
while q is not None:
print(q.elem, end=' ')
q = q.next
print()
def is_int(s):
try:
int(s)
return True
except ValueError:
return False
while True:
i += 1
num = st[i]
vstav(vlan, num)
vlan = vlan.next
if i == len(st) - 1:
break
print("\nList before\n")
vyvid(vslov)
vlan = vslov
vydal(vlan)
print("\nResult\n")
vyvid(vslov)
Висновки
Лабораторна була спрямована на створення кільцевого списку і зчитування кожної ланки для
виконання операції. Задача полягала в віднайденні бувки Р яка стоїть перед А і видаленні Р.
class Point:
def init(self):
self.kluch = 0
self.zap = None
self.lv = None
self.pr = None
vtree = None
node = None
kl = 0
st = ""
def vd(d):
q=d
while (q.lv is not None):
q = q.lv
return q
# mainprogram
vtree = None
node = None
kl = 0
st = ""
# pre-installed data
vtree = treeadd(100, vtree, "in")
treeadd(50, vtree, "if")
treeadd(200, vtree, "label")
treeadd(65, vtree, "go to")
treeadd(250, vtree, "mod")
treeadd(60, vtree, "do")
treeadd(300, vtree, "not")
treeadd(350, vtree, "record")
print("My tree before:")
treewatch(vtree, "TOP1=")
b, node = treecheck(55, vtree)
if b == True:
print("My tree after:")
treewatch(vtree, "TOP2=")
else:
treeadd(55, vtree, "case")
print("My tree after:")
treewatch(vtree, "TOP2=")
Скріни програм
Висновки
Бінарні дерева допомагають у візуалізації, раціоналізації та пошуку інформації у великій її
кількості. В цій лабораторній я робила дерево зі службовими словами мови Паскаль, далі
мала шукати конкретне слово і, якщо такого не було, додати відповідний вузол дерева або
вивести те саме дерево.