diff --git a/dk92_cheltsov/Readmy.rst b/dk92_cheltsov/Readmy.rst new file mode 100644 index 0000000..eda2d40 --- /dev/null +++ b/dk92_cheltsov/Readmy.rst @@ -0,0 +1,8 @@ + +- Full name: Cheltsov Heorhee +- **Group:** ДК-92 +- Organization/University: Igor Sikorsky Kyiv Polytechnic Institute +- Department: The Department of Design of Electronic Digital Equipment +- Ph.number: +380963904072 +- Telegram `@dj0bsh `_. +- Email: cheltsovgeorgiy@gmail.com diff --git a/dk92_cheltsov/laba0/laba0.py b/dk92_cheltsov/laba0/laba0.py new file mode 100644 index 0000000..ff5c2f6 --- /dev/null +++ b/dk92_cheltsov/laba0/laba0.py @@ -0,0 +1,27 @@ +def voltage_ripple(VAC, Iav, C): + VDC = 0 + Vrip = 0 + Vrip_per = 0 + print('You enter VAC = %fV'%VAC) + print ('Current of load = %fA'%Iav) + print('Capacitance = %fuF'%C) + VDC = VAC*1.414-1.2 + print('Maximum voltage after full bridge rectifier = %fV'%VDC) + Vrip = Iav/(2*C*(10**-6)*50) + print('Voltage ripple on load = %fV'%Vrip) + Vrip_per = Vrip/VDC*100 + print('Voltage ripple on load = %f%%' %Vrip_per) + print('Percent of ripple is', end=' ') + if Vrip_per <= 1: + print('exelent') + elif Vrip_per <= 2: + print('good') + elif Vrip_per <= 5: + print('not bad') + elif Vrip_per <= 10: + print('normal') + elif Vrip_per <= 20: + print('very bad') + else: + print('it`s won`t work correctly') + return Vrip diff --git a/dk92_cheltsov/laba1/Readme.rst b/dk92_cheltsov/laba1/Readme.rst new file mode 100644 index 0000000..03f186e --- /dev/null +++ b/dk92_cheltsov/laba1/Readme.rst @@ -0,0 +1,14 @@ +Лабораторна робота №1 +===================== + +Данна лаболаторна робота створена для органызації комфортного вводу ввиводу для курсової роботи + +`Репозиторій курсової роботи `_. + + +Алгоритм користування + + - запустити программу, ввести повідомлення яке потрібно передати + - запустити тестберч проекту у ModelSim (-vsim -do sim_controller.do) + - після симуляції перевірити вхідні та вихідні файли + diff --git a/dk92_cheltsov/laba1/inh.txt b/dk92_cheltsov/laba1/inh.txt new file mode 100644 index 0000000..943eecc --- /dev/null +++ b/dk92_cheltsov/laba1/inh.txt @@ -0,0 +1,4 @@ +4c +4f +4c +ff \ No newline at end of file diff --git a/dk92_cheltsov/laba1/input.txt b/dk92_cheltsov/laba1/input.txt new file mode 100644 index 0000000..7e49e63 --- /dev/null +++ b/dk92_cheltsov/laba1/input.txt @@ -0,0 +1 @@ +LOL \ No newline at end of file diff --git a/dk92_cheltsov/laba1/morse_consol.py b/dk92_cheltsov/laba1/morse_consol.py new file mode 100644 index 0000000..d82cf78 --- /dev/null +++ b/dk92_cheltsov/laba1/morse_consol.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 + +"""This module created for using as consol in project +https://github.com/dj0b/Corse_work_morse +BEFORE START PROJECT OPEN MODELSIM +inh.txt(input ROM) - input text file every letter in new line and in heximal format +outh.txt(outpur ROM) - output text file lines 0-5 is service, xx - undefined symbols +""" + +end_str = "ff" +print('!Max length is 4095 symbols!') +in_str = input('Enter your messege: ') +"""read and save massege for transmission""" + +in_str = in_str.upper() +t = open("input.txt", "w") +t.write(in_str) +t.close() +"""write massege for transmission analis""" + +in_list = [] +in_list = list(in_str) +print(in_list) +"""convert string to list for a simpler next convertion in ASCII(hex) """ + +hex_str = "" +for in_list in in_list: + hex_str += format(ord(in_list), "x") + "\n" +"""convert letters to ASCII format """ + +hex_str += end_str +print(hex_str) + +i = open("inh.txt", "w") +in_str = in_str.upper() +i.write(hex_str) +i.close() +"""write in files for initialization input ROM""" + +input('pres enter when simulation end ') + +o = open("outh.txt", "r") +lines = o.read().splitlines() +o.close() +del(lines[0:5]) +del(lines[len(in_str):4099]) +print(lines) +"""read file delate service and undefined lines""" + +text = "" +for lines in lines: + bytes_object = bytes.fromhex(lines) + ascii_string = bytes_object.decode("ASCII") + text += ascii_string +"""convert ASCII to letters""" + +print(text) +f = open("output.txt", "w") +f.write(text) +f.close() +"""write in files analis""" + + + diff --git a/dk92_cheltsov/laba1/outh.txt b/dk92_cheltsov/laba1/outh.txt new file mode 100644 index 0000000..574091e --- /dev/null +++ b/dk92_cheltsov/laba1/outh.txt @@ -0,0 +1,4099 @@ +// memory data file (do not edit the following line - required for mem load use) +// instance=/controller_tb/rom +// format=hex addressradix=h dataradix=h version=1.0 wordsperline=1 noaddress +00 +20 +49 +54 +20 +49 +53 +20 +41 +4c +49 +56 +45 +ff +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx +xx diff --git a/dk92_cheltsov/laba1/output.txt b/dk92_cheltsov/laba1/output.txt new file mode 100644 index 0000000..e69de29 diff --git a/dk92_cheltsov/laba2/README.rst b/dk92_cheltsov/laba2/README.rst new file mode 100644 index 0000000..e3e3c80 --- /dev/null +++ b/dk92_cheltsov/laba2/README.rst @@ -0,0 +1,23 @@ +Лаболаторная работа 2 + +Клас который наследует имее теже параметры и функции что и родительский клас +класы battery, accumulator, power_supply наследуют power_supply + +определяет поведения больше и меньше для коректного сравнения емкости аккумуляторв +def __lt__(self, other): + return (self.C * self.volts) < (other.C * other.volts) +def __lt__(self, other): + return (self.C * self.volts) < (other.C * other.volts) + +меняет строковое представление на заданое отображение при принт (возврящяет строку) +def __lt__(self, other): + return (self.C * self.volts) < (other.C * other.volts) + +2й метод который меняет строковое представление на заданое отображение при принт (используеться также для добавления в контейнеры) +def __lt__(self, other): + return (self.C * self.volts) < (other.C * other.volts) + +код в нутрт запускаеться толкько при запуске как модуля, не может импортироваться и запускатьмся другим скриптом +if __name__ == "__main__": + print("This code do not rum from call from another code") + _demo_() diff --git a/dk92_cheltsov/laba2/laba2.py b/dk92_cheltsov/laba2/laba2.py new file mode 100644 index 0000000..b0017bc --- /dev/null +++ b/dk92_cheltsov/laba2/laba2.py @@ -0,0 +1,71 @@ +#!/usr/bin/env python3 + +class source_of_V: + def voltage (self, v): + self.volts=v + + +class battery(source_of_V): + def __init__ (self, size, v): + self.size=size + self.voltage(v) + + def __str__(self): + return f"Bettery format {self.size}" + + +class accumulator(source_of_V): + def __init__ (self, capacity, v): + self.C=capacity + self.voltage(v) + + def __lt__(self, other): + return (self.C * self.volts) < (other.C * other.volts) + def __gt__(self, other): + return (self.C * self.volts) > (other.C * other.volts) + + def __repr__(self): + return f"Accumulator capacity = {self.C}Ah, {self.volts}V, Max {self.C * self.volts}W" + +class power_supply(source_of_V): + def __init__ (self, current, v): + self.A=current + self.voltage(v) + + def __str__(self): + return f"Power supply = {self.A}A, {self.volts}V, Max {self.A * self.volts}Wh" + + +if __name__ == "__main__": + def _demo_(): + print("demo") + bat = battery('AA', 1.5) + print(bat.size, ", ", bat.volts, "V, ", bat) + accum = accumulator(5, 3.7) + print(accum.C, "Ah, ", accum.volts, "V, ", accum) + PS = power_supply(300, 12) + print(PS.A, "A, ", PS.volts, "V, ", PS) + + accum2 = accumulator(5, 7.4) + print("\n1", accum, "\n2", accum2) + + if(accum2 < accum): + print("first bigger") + if(accum2 > accum): + print("second bigger") + + accum2.C=2 + print("\n1", accum, "\n2", accum2) + + if(accum2 < accum): + print("first bigger") + if(accum2 > accum): + print("second bigger") + + +if __name__ == "__main__": + print("This code do not rum from call from another code") + _demo_() + + + diff --git a/dk92_cheltsov/mkr1 Cheltsov/DK-92_Chel'tsov_Heorhij_Serhijovych.rst b/dk92_cheltsov/mkr1 Cheltsov/DK-92_Chel'tsov_Heorhij_Serhijovych.rst new file mode 100644 index 0000000..a1d2797 --- /dev/null +++ b/dk92_cheltsov/mkr1 Cheltsov/DK-92_Chel'tsov_Heorhij_Serhijovych.rst @@ -0,0 +1,81 @@ +============================== +Чельцов Георгій Сергійович +============================== + +- Завдання +#. Який формат опису повідомлень комітів використовується в курсі? Навіщо потрібно дотримуватися певного формату? + Наведіть приклад команди, що додає до репозиторію коміт з важливими виправленнями кодової бази + +#. Що таке об'єднання гілок та для чого використовується? Конфлікти при об'єднанні. + Наведіть приклад конфлікту (синтаксис) та команди для внесення змін до репозиторію після вирішення конфлікту. + +#. Множина (set). Для чого слугує? Чим відрізняється від списку (list) та кортежа (tuple)? Наведіть приклади використання +#. Оператор ідентичності та оператор ``==``. В чому їх відмінності? + Коли в умовних конструкціях варто використовувати той чи інший оператор? + +#. Що таке she-bang та для чого використовується? Який she-bang буде максимально коректним для Python 3? + Чи використовується she-bang в скриптах? Якщо так, чому? Якщо ні, коли? +#. Позиційні та лише-позиційні аргументи функцій. Яким чином функція може приймати довільне значення позиційних аргументів? + Наведіть приклад (пов'язаний з галуззю електроніки, наприклад, розрахунок за формулою). + +#. Конструкція умовного виконання Python. Яким чином можна реалізувати приорітетну логіку перевірок з її допомогою? + Наведіть приклад коду, де спочатку перевіряється виконання логічного виразу *A та B*, далі виразу *лише A*. + Якщо виконується перша умова *A та B*, вивести "ONE"; якщо наступна *лише А*, вивести "TWO"; якщо жодна з умов, вивести "FAIL". +#. Тернарний оператор Python. Навести код, що **за допомогою тернарного оператора** + присвоїть змінній ``var`` значення ``69`` якщо змінна ``arg`` задана в ``None``, в іншому випадку – присвоїть значення ``arg``. + Як зробити це без тернарного оператора? Наведіть приклад коду. + +- Выдповіді +#. Опис коміта повинен бути лаконічним та міститі інформіцію що міститься в цьму коміті. Дотримання певного формату опису комітів + дозволяє простіше їх перешлядати( та виглядае гарно та більш професійно). + $ git commit +#. - +#. Set - множина, вбудована структура данних в python. + Множина - це набір унікальних елементів в випадековому порядку (неупорядоченный список). Множина класна тим що виконання операції + "належить об'єкт множині" відбуваеться швидше ніж в списках та кортежах. + На відміну від списку та кортежу множина зберігає елементи в випадковому поряжку, також на відміну від кортежу елементи можна змінювати. + Множина використовуеться в випадках коли потрібно перевіряти належність елементів до до набору унікальних елементів і нема необхідності в порядку збеерження. +#. Оператор = використовуеться для присвоення значень до зманних, а оператор == порівннюе та відає true or false. Оператор = в арифметичних діях, == в логічних. +#. Шибенг - це перша строка файлу яка починаеться з (#!) написаного на скриптовій мові. + У системах Unix завантажувач розуміе залишок рядка після (#!) як розмішення файла програми интерпритатора : + **#!/usr/bin/env python3.5** + Завантажувач запускає дану программу і передає їй ім'я файлу скрипту з шебенгом як параметр. + У системах Windows не існує поняття «режим виконання». Програма встановлення Python автоматично пов’язує файли .py з python.exe, так що подвійне клацання + файлу Python запускає його як сценарій. + Скрипту можна надати режим виконання або дозвіл за допомогою команди chmod: + **$ chmod +x myscript.py** +#. - +#. file MKR1_queue.py +from queue import PriorityQueue + +func = PriorityQueue() #we initialise the PQ class instead of using a function to operate upon a list. + +A = 1 +B = 0 + + +func.put((1, A*B)) +func.put((2, A)) + +while func: + if A*B == 1: + print(func.get(), "ONE") + if A == 1: + print(func.get(), "TWO") + if ((A != 1)&(B != 1)): + print("FAIL") + + +#. file MKR1_Ternar.py +def ternar(arg): + var = 69 + return var if arg == None else arg + print(var) + + + + + + + + diff --git a/dk92_cheltsov/mkr1 Cheltsov/MKR1_Ternar.py b/dk92_cheltsov/mkr1 Cheltsov/MKR1_Ternar.py new file mode 100644 index 0000000..082d298 --- /dev/null +++ b/dk92_cheltsov/mkr1 Cheltsov/MKR1_Ternar.py @@ -0,0 +1,4 @@ +def ternar(arg): + var = 69 + return var if arg == None else arg + print(var) diff --git a/dk92_cheltsov/mkr1 Cheltsov/MKR1_queue.py b/dk92_cheltsov/mkr1 Cheltsov/MKR1_queue.py new file mode 100644 index 0000000..1e56dd8 --- /dev/null +++ b/dk92_cheltsov/mkr1 Cheltsov/MKR1_queue.py @@ -0,0 +1,18 @@ +from queue import PriorityQueue + +func = PriorityQueue() #we initialise the PQ class instead of using a function to operate upon a list. + +A = 1 +B = 0 + + +func.put((1, A*B)) +func.put((2, A)) + +while func: + if A*B == 1: + print(func.get(), "ONE") + if A == 1: + print(func.get(), "TWO") + if ((A != 1)&(B != 1)): + print("FAIL") diff --git a/dk92_cheltsov/mkr2 Cheltsov/README.rst b/dk92_cheltsov/mkr2 Cheltsov/README.rst new file mode 100644 index 0000000..b5865ac --- /dev/null +++ b/dk92_cheltsov/mkr2 Cheltsov/README.rst @@ -0,0 +1,31 @@ +Написать код, реализующий бросок кубика в ООП-стиле. + + Создать класс, реализующий игральный кубик. + + При создании объекта задается количество граней, а если оно не указано – используется стандартное, + заданное *на уровне класса* (для данного класса – 6). + Класс имеет методы: + - ``roll`` – кидает кубик. При этом задает значение, как выпал кубик. И возвращает это же значение. + Предусмотреть, что после броска кубик нельзя снова бросить, если при инициализации + параметр ``is_rerollable`` (по умолчанию False) не задан в True. + - ``handout`` – ``classmethod``, создающий по M кубиков для N игроков + - Специальные (dunder-) методы для сравнения двух кубиков. Сравнивать можно только те кубики, которые + уже были брошены. + - Специальные (dunder-) методы для красивого вывода выпавшего значения кубика. Предусмотреть, + что кубик на момент вывода может быть еще не брошен. + + Создать ряд стандартных классов для игральных кубиков с 11 и 15 гранями, которые наследуются от + предыдущего класса. + + Отдельно описать логику, где несколько игроков могут играть вместе, бросая кубики. + + В блоке ``if __name__ == '__main__':`` коротко продемонстрировать использование. + + Все должно задокументировано согласно PEP257. + Код должен соответствовать стилю PEP8. Wemake-Python-Styleguide, при запуске flake8 + не должен выводить *ни одной* ошибки. + +Время на сдачу: PR должен быть подан до 00:01 24.12.21 +Свой вопрос скидываете в README.rst. Там же описываете особенности реализации (если нужно) +Рядом кладете файл mkr2.py с реализацией +Все это в поддиректории mkr2 внутри вашей директории \ No newline at end of file diff --git a/dk92_cheltsov/mkr2 Cheltsov/mkr2.py b/dk92_cheltsov/mkr2 Cheltsov/mkr2.py new file mode 100644 index 0000000..c90ae12 --- /dev/null +++ b/dk92_cheltsov/mkr2 Cheltsov/mkr2.py @@ -0,0 +1,93 @@ + +from dataclasses import dataclass + +@dataclass +class dice: + faces: int = 6 + value: int = None + is_rerollable:bool = False + + def __init__(self, faces: int = 6, value: int = None, is_rerollable:bool = False): + self.faces = faces + self.value = value + self.is_rerollable = is_rerollable + + def roll(self, val): + #return self.value = random.randint(1, 6) + if(not self.is_rerollable): + self.value = val + self.is_rerollable = True + return self.value + if(self.is_rerollable): + print("ERROR dice are alredy rolled") + return -1 + + def __lt__(self, other): + if(not self.is_rerollable): + print("ERROR first dice not roll!") + return 0 + if(not other.is_rerollable): + print("ERROR second dice not roll!") + return 0 + return self.value < other.value + + def __lt__(self, other): + if(not self.is_rerollable): + print("ERROR first dice not roll!") + return 0 + if(not other.is_rerollable): + print("ERROR second dice not roll!") + return 0 + return self.value > other.value + + def __str__(self): + if(self.value == None): + return f""" + _____ + /____/| + | || + | ? || + |_____|/ + """ + return f""" + _____ + /____/| + | || + | {self.value} || + |_____|/ + """ + + + +if __name__ == "__main__": + def _demo_(): + print("_______DEMO dice_______") + d1 = dice() + print(d1.value) + print(d1) + + d1.roll(5) + print(d1) + + d2 = dice() + + if(d1 > d2): + print("first playr win") + + if(d1 < d2): + print("second playr win") + + d2.roll(4) + print(d2) + + if(d1 > d2): + print("first playr win") + + if(d1 < d2): + print("second playr win") + + + +if __name__ == "__main__": + _demo_() + diff --git a/dk92_cheltsov/students.rst b/dk92_cheltsov/students.rst new file mode 100644 index 0000000..ccdaef3 --- /dev/null +++ b/dk92_cheltsov/students.rst @@ -0,0 +1,10 @@ +Student List +############ + +============= ======================= +Student Directory +============= ======================== +Name Lastname `dk91_lastname `_ +============= ======================== +Чельцов Горгий +==========================================