Жобалаудың барысын басқаруды жақсарту мақсатында әрбір кезең нақтыланады, яғни кезеңдерге бөлінеді.
Автоматтандырылған жүйені құрудың 4 кезеңі-Жұмыс сипаты, оның нәтижесі немесе орындаушылардың мамандануы бойынша анықталатын АЖ құру сатысының бір бөлігі.
АЖ құру кезеңдерінің мазмұны ГОСТ 34.601-90 1-қосымшасында регламенттелген.
"АС-қа қойылатын талаптарды қалыптастыру" 1-ші сатысында "объектіні тексеру және АС құру қажеттілігінің негіздемесі" 1-ші кезеңінде объект және оның қызметінің түрлері туралы деректер жинауды жүргізеді. Объектінің және оның құрамдас бөліктерінің жұмыс істеу сапасын бағалайды. Автоматтандыру құралдарының көмегімен шешуге болатын мәселелер мен міндеттерді анықтайды. Жүйені құрудың орындылығын бағалаудың техникалық-экономикалық, әлеуметтік және басқа да түрлерін береді.
"АС-қа пайдаланушылардың талаптарын қалыптастыру" 2-ші кезеңінде АС-қа қойылатын талаптарды қалыптастыру үшін бастапқы деректерді дайындайды, пайдаланушылардың талаптарын қалыптастырады және ресімдейді. Автоматтандыру объектісінің сипаттамасы, жүйені әзірлеуге, іске қосуға және пайдалануға рұқсат етілген шығындар, күтілетін нәтиже, жүйені құру және жұмыс істеу шарттары сияқты құжаттарды дайындайды .
3-ші кезеңде" орындалған жұмыс туралы есепті және жүйені (тактикалық-техникалық тапсырма — ТТТ) әзірлеуге өтінімді жасау " 1-ші кезеңде орындалған жұмыстар туралы есепті және ТТТ әзірлеуге өтінімді немесе мазмұны бойынша ұқсас басқа құжатты ресімдейді.
"Қажетті ғылыми-зерттеу жұмыстарын жүргізу" (ҒЗЖ) 2-кезеңінде пайдаланушылардың барлық талаптарын іске асыру мүмкіндігін бағалау және жолдарды іздестіруді орындайды, ҒЗЖ бойынша есептерді ресімдейді және бекітеді.
"АС тұжырымдамасының нұсқаларын әзірлеу және пайдаланушының талаптарын қанағаттандыратын АС тұжырымдамасының нұсқасын таңдау "3-кезеңінде АС тұжырымдамасының, оларды іске асыру жоспарлары мен ресурстарының баламалы нұсқаларын әзірлеуді, артықшылықтары мен кемшіліктерін бағалауды жүргізеді және бірнеше әзірленген оңтайлы нұсқадан таңдайды. Жүйені қабылдау тәртібі мен шарттарын, оның тиімділігін айқындайды.
self.lbl = Label(text=self.formula, font=("Times New Roman", 21, "bold"), bg="#000", foreground="#FFF")
self.lbl.place(x=11, y=50)
btns = [
"C", "DEL", "*", "=",
"1", "2", "3", "/",
"4", "5", "6", "+",
"7", "8", "9", "-",
"(", "0", ")", "X^2"
]
x = 10
y = 140
for bt in btns:
com = lambda x=bt: self.logicalc(x)
Button(text=bt, bg="#FFF",
font=("Times New Roman", 15),
command=com).place(x=x, y=y,
width=115,
height=79)
x += 117
if x > 400:
x = 10
y += 81
def logicalc(self, operation):
if operation == "C":
self.formula = ""
elif operation == "DEL":
self.formula = self.formula[0:-1]
elif operation == "X^2":
self.formula = str((eval(self.formula))**2)
elif operation == "=":
self.formula = str(eval(self.formula))
else:
if self.formula == "0":
self.formula = ""
self.formula += operation
self.update()
def update(self):
if self.formula == "":
self.formula = "0"
self.lbl.configure(text=self.formula)
if __name__ == '__main__':
root = Tk()
root["bg"] = "#000"
root.geometry("485x550+200+200")
root.title("Калькулятор")
root.resizable(False, False)
app = Main(root)
app.pack()
root.mainloop()
Объяснение:
1.Создаём окно 485 на 550. Размеры не важны, мне понравились такие. Так же указываем, что окно не будет изменяться.
class Main(Frame):
def __init__(self, root):
super(Main, self).__init__(root)
self.build()
def build(self):
pass
def logicalc(self, operation):
pass
def update():
pass
if __name__ == '__main__':
root = Tk()
root["bg"] = "#000"
root.geometry("485x550+200+200")
root.title("Калькулятор")
root.resizable(False, False)
app = Main(root)
app.pack()
root.mainloop()
2.Делаем кнопочки
В методе build создаём такой список:
btns = [
"C", "DEL", "*", "=",
"1", "2", "3", "/",
"4", "5", "6", "+",
"7", "8", "9", "-",
"+/-", "0", "%", "X^2"
]
Он отвечает за все кнопки, отображающиеся у нас в окне.
3.Мы создали список, теперь проходимся циклом и отображаем эти кнопки. Для этого в том же методе пишем следующее:
x = 10
y = 140
for bt in btns:
com = lambda x=bt: self.logicalc(x)
Button(text=bt, bg="#FFF",
font=("Times New Roman", 15),
command=com).place(x=x, y=y,
width=115,
height=79)
x += 117
if x > 400:
x = 10
y += 81
4.Замечательно, у нас есть кнопочки. Добавляем надпись с выводом результата. Я хочу что бы текст был слева, следовательно, атрибутов выравнивания текста писать не нужно.
self.formula = "0"
self.lbl = Label(text=self.formula, font=("Times New Roman", 21, "bold"),
bg="#000", foreground="#FFF")
self.lbl.place(x=11, y=50)
5.Пишем логику
def logicalc(self, operation):
if operation == "C":
self.formula = ""
elif operation == "DEL":
self.formula = self.formula[0:-1]
elif operation == "X^2":
self.formula = str((eval(self.formula))**2)
elif operation == "=":
self.formula = str(eval(self.formula))
else:
if self.formula == "0":
self.formula = ""
self.formula += operation
self.update()
def update(self):
if self.formula == "":
self.formula = "0"
self.lbl.configure(text=self.formula)
Так, как у нас нет ввода с клавиатуры, мы можем позволить себе сделать так, просто проверить на спец. кнопки (C, DEL, =) и в остальных случаях просто добавить это к формуле.
Жобалаудың барысын басқаруды жақсарту мақсатында әрбір кезең нақтыланады, яғни кезеңдерге бөлінеді.
Автоматтандырылған жүйені құрудың 4 кезеңі-Жұмыс сипаты, оның нәтижесі немесе орындаушылардың мамандануы бойынша анықталатын АЖ құру сатысының бір бөлігі.
АЖ құру кезеңдерінің мазмұны ГОСТ 34.601-90 1-қосымшасында регламенттелген.
"АС-қа қойылатын талаптарды қалыптастыру" 1-ші сатысында "объектіні тексеру және АС құру қажеттілігінің негіздемесі" 1-ші кезеңінде объект және оның қызметінің түрлері туралы деректер жинауды жүргізеді. Объектінің және оның құрамдас бөліктерінің жұмыс істеу сапасын бағалайды. Автоматтандыру құралдарының көмегімен шешуге болатын мәселелер мен міндеттерді анықтайды. Жүйені құрудың орындылығын бағалаудың техникалық-экономикалық, әлеуметтік және басқа да түрлерін береді.
"АС-қа пайдаланушылардың талаптарын қалыптастыру" 2-ші кезеңінде АС-қа қойылатын талаптарды қалыптастыру үшін бастапқы деректерді дайындайды, пайдаланушылардың талаптарын қалыптастырады және ресімдейді. Автоматтандыру объектісінің сипаттамасы, жүйені әзірлеуге, іске қосуға және пайдалануға рұқсат етілген шығындар, күтілетін нәтиже, жүйені құру және жұмыс істеу шарттары сияқты құжаттарды дайындайды .
3-ші кезеңде" орындалған жұмыс туралы есепті және жүйені (тактикалық-техникалық тапсырма — ТТТ) әзірлеуге өтінімді жасау " 1-ші кезеңде орындалған жұмыстар туралы есепті және ТТТ әзірлеуге өтінімді немесе мазмұны бойынша ұқсас басқа құжатты ресімдейді.
"АС тұжырымдамасын әзірлеу" 2-ші сатысында "объектіні зерделеу" 1-ші кезеңінде автоматтандыру объектісін егжей-тегжейлі зерделейді.
"Қажетті ғылыми-зерттеу жұмыстарын жүргізу" (ҒЗЖ) 2-кезеңінде пайдаланушылардың барлық талаптарын іске асыру мүмкіндігін бағалау және жолдарды іздестіруді орындайды, ҒЗЖ бойынша есептерді ресімдейді және бекітеді.
"АС тұжырымдамасының нұсқаларын әзірлеу және пайдаланушының талаптарын қанағаттандыратын АС тұжырымдамасының нұсқасын таңдау "3-кезеңінде АС тұжырымдамасының, оларды іске асыру жоспарлары мен ресурстарының баламалы нұсқаларын әзірлеуді, артықшылықтары мен кемшіліктерін бағалауды жүргізеді және бірнеше әзірленген оңтайлы нұсқадан таңдайды. Жүйені қабылдау тәртібі мен шарттарын, оның тиімділігін айқындайды.
Объяснение:
from tkinter import *
class Main(Frame):
def __init__(self, root):
super(Main, self).__init__(root)
self.build()
def build(self):
self.formula = "0"
self.lbl = Label(text=self.formula, font=("Times New Roman", 21, "bold"), bg="#000", foreground="#FFF")
self.lbl.place(x=11, y=50)
btns = [
"C", "DEL", "*", "=",
"1", "2", "3", "/",
"4", "5", "6", "+",
"7", "8", "9", "-",
"(", "0", ")", "X^2"
]
x = 10
y = 140
for bt in btns:
com = lambda x=bt: self.logicalc(x)
Button(text=bt, bg="#FFF",
font=("Times New Roman", 15),
command=com).place(x=x, y=y,
width=115,
height=79)
x += 117
if x > 400:
x = 10
y += 81
def logicalc(self, operation):
if operation == "C":
self.formula = ""
elif operation == "DEL":
self.formula = self.formula[0:-1]
elif operation == "X^2":
self.formula = str((eval(self.formula))**2)
elif operation == "=":
self.formula = str(eval(self.formula))
else:
if self.formula == "0":
self.formula = ""
self.formula += operation
self.update()
def update(self):
if self.formula == "":
self.formula = "0"
self.lbl.configure(text=self.formula)
if __name__ == '__main__':
root = Tk()
root["bg"] = "#000"
root.geometry("485x550+200+200")
root.title("Калькулятор")
root.resizable(False, False)
app = Main(root)
app.pack()
root.mainloop()
Объяснение:
1.Создаём окно 485 на 550. Размеры не важны, мне понравились такие. Так же указываем, что окно не будет изменяться.
class Main(Frame):
def __init__(self, root):
super(Main, self).__init__(root)
self.build()
def build(self):
pass
def logicalc(self, operation):
pass
def update():
pass
if __name__ == '__main__':
root = Tk()
root["bg"] = "#000"
root.geometry("485x550+200+200")
root.title("Калькулятор")
root.resizable(False, False)
app = Main(root)
app.pack()
root.mainloop()
2.Делаем кнопочки
В методе build создаём такой список:
btns = [
"C", "DEL", "*", "=",
"1", "2", "3", "/",
"4", "5", "6", "+",
"7", "8", "9", "-",
"+/-", "0", "%", "X^2"
]
Он отвечает за все кнопки, отображающиеся у нас в окне.
3.Мы создали список, теперь проходимся циклом и отображаем эти кнопки. Для этого в том же методе пишем следующее:
x = 10
y = 140
for bt in btns:
com = lambda x=bt: self.logicalc(x)
Button(text=bt, bg="#FFF",
font=("Times New Roman", 15),
command=com).place(x=x, y=y,
width=115,
height=79)
x += 117
if x > 400:
x = 10
y += 81
4.Замечательно, у нас есть кнопочки. Добавляем надпись с выводом результата. Я хочу что бы текст был слева, следовательно, атрибутов выравнивания текста писать не нужно.
self.formula = "0"
self.lbl = Label(text=self.formula, font=("Times New Roman", 21, "bold"),
bg="#000", foreground="#FFF")
self.lbl.place(x=11, y=50)
5.Пишем логику
def logicalc(self, operation):
if operation == "C":
self.formula = ""
elif operation == "DEL":
self.formula = self.formula[0:-1]
elif operation == "X^2":
self.formula = str((eval(self.formula))**2)
elif operation == "=":
self.formula = str(eval(self.formula))
else:
if self.formula == "0":
self.formula = ""
self.formula += operation
self.update()
def update(self):
if self.formula == "":
self.formula = "0"
self.lbl.configure(text=self.formula)
Так, как у нас нет ввода с клавиатуры, мы можем позволить себе сделать так, просто проверить на спец. кнопки (C, DEL, =) и в остальных случаях просто добавить это к формуле.
за внимание!)