Объектно ориентированное программирование
Автор: SalaSailer • Ноябрь 8, 2019 • Лабораторная работа • 4,366 Слов (18 Страниц) • 428 Просмотры
МИНОБРНАУКИ РОССИИ
Федеральное государственное образовательное учреждение
высшего образования
«Пензенский государственный технологический университет»
(ПензГТУ)
Факультет заочного обучения
Кафедра «Информационные технологии и системы»
Дисциплина «Объектно-ориентированное программирование»
Лабораторная Работа
Пенза 2019
- Цель работы
Целью данной лабораторной работы является изучение на практике основ объектно-ориентированного программирования.
- Задача лабораторной работы
Разработайте простой калькулятор для командной строки. Пользователь вводит операнды и выбирает операцию, получает результат. Программа запрашивает продолжение работы над результатом, ввод новых операндов и операций над ними или выход.
- Текст программы
- # Лабораторная работа №1
class Calculator():
def __init__(self):
super(Calculator, self).__init__()
while True:
print('Введите первое число')
a = float(input("a="))
key = input("Знак (+,-,*,/): ")
if key == 'Exit': break
if key in ('+', '-', '*', '/'):
print('Введите второе число')
b = float(input("b="))
if key == '+':
c = a + b
print(c)
while True:
choise = int(input('1. Продолжить? \n2. Ввод нового числа \n3. Выход\n'
'Выберите действие, введя соответствующую цифру: '))
if choise == 1:
b = float(input('Введите второй операнд: '))
key = input("Знак (+,-,*,/): ")
if key == '+':
c = c + b
print(c)
elif key == '-':
c = c - b
print(c)
continue
elif key == '*':
c = c * b
print(c)
continue
elif key == '/':
try:
c = c / b
print(c)
except(ZeroDivisionError):
print('На ноль делить нельзя! Повторите ввод')
continue
else:
print('Нет такого действия. Повторите')
elif choise == 2:
break
elif choise == 3:
exit()
else:
print('Нет такого действия. Повторите')
continue
if key == '-':
c = a - b
print(c)
while True:
choise = int(input('1. Продолжить? \n2. Ввод нового числа \n3. Выход\n'
'Выберите действие, введя соответствующую цифру: '))
if choise == 1:
b = float(input('Введите второй операнд: '))
key = input("Знак (+,-,*,/): ")
if key == '+':
c = c + b
print(c)
elif key == '-':
c = c - b
print(c)
continue
elif key == '*':
c = c * b
print(c)
continue
elif key == '/':
try:
c = c / b
print(c)
except(ZeroDivisionError):
print('На ноль делить нельзя! Повторите ввод')
continue
else:
print('Нет такого действия. Повторите')
elif choise == 2:
break
elif choise == 3:
exit()
else:
print('Нет такого действия. Повторите')
continue
elif key == '*':
c = a * b
print(c)
while True:
choise = int(input('1. Продолжить? \n2. Ввод нового числа \n3. Выход\n'
'Выберите действие, введя соответствующую цифру: '))
if choise == 1:
b = float(input('Введите второй операнд: '))
key = input("Знак (+,-,*,/): ")
if key == '+':
c = c + b
print(c)
elif key == '-':
c = c - b
print(c)
continue
elif key == '*':
c = c * b
print(c)
continue
elif key == '/':
try:
c = c / b
print(c)
except(ZeroDivisionError):
print('На ноль делить нельзя! Повторите ввод')
continue
else:
print('Нет такого действия. Повторите')
elif choise == 2:
break
elif choise == 3:
exit()
else:
print('Нет такого действия. Повторите')
continue
elif key == '/':
try:
c = a / b
print(c)
except(ZeroDivisionError):
print('На ноль делить нельзя! Повторите ввод')
continue
while True:
choise = int(input('1. Продолжить? \n2. Ввод нового числа \n3. Выход\n'
'Выберите действие, введя соответствующую цифру: '))
if choise == 1:
b = float(input('Введите второй операнд: '))
key = input("Знак (+,-,*,/): ")
if key == '+':
c = c + b
print(c)
elif key == '-':
c = c - b
print(c)
continue
elif key == '*':
c = c * b
print(c)
continue
elif key == '/':
try:
c = c / b
print(c)
except(ZeroDivisionError):
print('На ноль делить нельзя! Повторите ввод')
continue
else:
print('Нет такого действия. Повторите')
elif choise == 2:
break
elif choise == 3:
exit()
else:
print('Нет такого действия. Повторите')
continue
Листинг 1 – Основная программа
- Результаты работы программы
[pic 1]
Рисунок 2 – результат работы программы
- Вывод:
В ходе выполнения лабораторной работы я написал простейший калькулятор, для командной строки с расширенными функциями работы над результатом.
- Цель работы
Целью данной лабораторной работы является изучение на практике основ объектно-ориентированного программирования.
- Задача лабораторной работы
Напишите программу, которая для указанного числа найдет значение квадратного корня, используя итерационную формулу Герона. Без использования функции sqrt().
...