Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Объектно ориентированное программирование

Автор:   •  Ноябрь 8, 2019  •  Лабораторная работа  •  4,366 Слов (18 Страниц)  •  428 Просмотры

Страница 1 из 18

МИНОБРНАУКИ РОССИИ

Федеральное государственное образовательное учреждение

высшего образования

«Пензенский государственный технологический университет»

(ПензГТУ)

Факультет заочного обучения

Кафедра «Информационные технологии и системы»

Дисциплина «Объектно-ориентированное программирование»

Лабораторная Работа

Пенза 2019

  1. Цель работы

Целью данной лабораторной работы является изучение на практике основ объектно-ориентированного программирования.

  1. Задача лабораторной работы

Разработайте простой калькулятор для командной строки. Пользователь вводит операнды и выбирает операцию, получает результат. Программа запрашивает продолжение работы над результатом, ввод новых операндов и операций над ними или выход.

  1. Текст программы
  2. # Лабораторная работа №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 – Основная программа

  1. Результаты работы программы

           [pic 1]

Рисунок 2 – результат работы программы

  1. Вывод:

           В ходе выполнения лабораторной работы я написал простейший калькулятор, для командной строки с расширенными функциями работы над результатом.

  1. Цель работы

Целью данной лабораторной работы является изучение на практике основ объектно-ориентированного программирования.

  1. Задача лабораторной работы

Напишите программу, которая для указанного числа найдет значение квадратного корня, используя итерационную формулу Герона. Без использования функции sqrt().

...

Скачать:   txt (17.9 Kb)   pdf (522.8 Kb)   docx (869.2 Kb)  
Продолжить читать еще 17 страниц(ы) »
Доступно только на Essays.club