Рассчитай точную стоимость своей работы и получи промокод на скидку 200 ₽
Найди эксперта для помощи в учебе
Найти эксперта
+2
Пример заказа на Автор24
Студенческая работа на тему:
Классы и объекты, Ассоциация классов, Наследование и полиморфизм
Создан заказ №4030676
20 мая 2019

Классы и объекты, Ассоциация классов, Наследование и полиморфизм

Как заказчик описал требования к работе:
1. Классы и объекты Данкласс class BigNum { static final intbase = 100; static final intlen= 4; byte [] digits; BigNum(){ digits = new byte[len]; } BigNum(long x){ this(); fromLong(x); } BigNum(BigNumbigNum){ digits = bigNum.digits.clone(); } void fromLong(long x){ for(inti=0; x>0; i++){ digits[i] = (byte) (x % base); x = x / base; } } void add(BigNum x){ byte c=0; intsum; for(inti=0; i0 &digits;[i]==0) i--; while(i>=0) { String d = ((Byte) digits[i--]).toString(); if(d.length()==1) d = "0" + d; result = result + d; } if(result.charAt(0)=='0') return result.substring(1); return result; } } Итестовыйкласс: import org.junit.Test; import static org.junit.Assert.*; public class BigNumTest { @Test public void shift() throws Exception { } @Test public void isLarger() throws Exception { } @Test public void mul() throws Exception { } @Test public void sub() throws Exception { } @Test public void add() throws Exception { BigNum x = new BigNum(55); x.add(x); assertEquals(x.toString(), "110"); x.add(new BigNum(9999)); assertEquals(x.toString(), "10109"); } @Test public void toStringTest() throws Exception { assertEquals(new BigNum(10).toString(), "10"); assertEquals(new BigNum(9999).toString(), "9999"); assertEquals(new BigNum(10203).toString(), "10203"); BigNum x = new BigNum(1); long y = Integer.parseInt(x.toString()); assertEquals(y, 1); } } Реализовать не реализованные методы и тесты.   2. Ассоциация классов Дан класс class BigSignNum { private BigNumnum; private booleanisPositive; BigSignNum(long x) { if(x>0) { num= new BigNum(x); isPositive= true; } else { num= new BigNum(-x); isPositive= false; } } BigSignNum(BigSignNum x) { num= new BigNum(x.num); isPositive= x.isPositive; } void add(BigSignNum x){ if(x.isPositive) if(isPositive) num.add(x.num); else if(num.isLarger(x.num)) num.sub(x.num); else { BigNumtmp = new BigNum(x.num); tmp.sub(num); num= new BigNum(tmp); isPositive= false; } else { BigSignNumtmp = new BigSignNum(x); tmp.isPositive= true; sub(tmp); } } void sub(BigSignNum x){} void mul(BigSignNum x, intshift){} public String toString(){ if(isPositive) return num.toString(); else return "-"+num.toString(); } } Итестовыйкласс: import org.junit.Test; import static org.junit.Assert.*; public class BigSignNumTest { @Test public void mul() throws Exception { } @Test public void add() throws Exception { BigSignNum x = new BigSignNum(2); x.add(new BigSignNum(2)); assertEquals(x.toString(),"4"); x.add(new BigSignNum(-8)); assertEquals(x.toString(),"-4"); x.add(new BigSignNum(2)); assertEquals(x.toString(),"-2"); x.add(new BigSignNum(-8)); assertEquals(x.toString(),"-10"); } @Test public void sub() throws Exception { } @Test public void toStringTest() throws Exception { assertEquals(new BigSignNum(10).toString(), "10"); assertEquals(new BigSignNum(-9999).toString(), "-9999"); assertEquals(new BigSignNum(-10203).toString(), "-10203"); BigSignNum x = new BigSignNum(-11); long y = Integer.parseInt(x.toString()); assertEquals(y, -11); } } Реализовать не реализованные методы и тесты.   3. Наследование и полиморфизм Данкласс class BigFloatextends BigNum{ private booleanisPositive; private long shift; BigFloat(float x){ super(); shift = -(long) (log10(1000000/abs(x))/2); long xl = (long) (x*pow(100, -shift)); if(x>0) isPositive= true; else { xl = -xl; isPositive= false; } fromLong(xl); normalize(); } BigFloat(BigFloat x){ super(x); isPositive= x.isPositive; shift = x.shift; } private void calcShift(BigFloattmp){ if(shift =0 &&digits;[i]==0; i--) ; shift(len-i-1); shift = shift - len+ i + 1; } void add(BigFloat x) { BigFloattmp = new BigFloat(x); if (tmp.isPositive) { calcShift(tmp); if (isPositive) super.add(tmp); else if (super.isLarger(tmp)) super.sub(tmp); else { ((BigNum)tmp).sub(this); digits = tmp.digits.clone(); shift = tmp.shift; isPositive= false; } normalize(); } else { tmp.isPositive= true; sub(tmp); } } void sub(BigFloat x) { } void mul(BigFloat x){ } public String toString(){ String sign = isPositive?"":"-"; return sign + super.toString() + "e" + ((Long)(shift*2)).toString(); } } И тестовыйкласс: public class BigFloatTest { @Test public void normalize() throws Exception { BigFloat x = new BigFloat(100); x.sub(new BigFloat(99.99f)); x.normalize(); float y = Float.parseFloat(x.toString()); assertTrue(abs(y - 0.01)
подробнее
Заказчик
заплатил
200 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
20 дней
Заказчик принял работу без использования гарантии
21 мая 2019
Заказ завершен, заказчик получил финальный файл с работой
5
Заказ выполнил
Fastmat
5
скачать
Классы и объекты, Ассоциация классов, Наследование и полиморфизм.docx
2020-06-30 20:12
Последний отзыв студента о бирже Автор24
Общая оценка
5
Положительно
Отличный автор. Всегда на связи. Сделал работу качественно и по адекватной цене, все показал и рассказал. Всем рекомендую

Хочешь такую же работу?

Оставляя свои контактные данные и нажимая «Создать задание», я соглашаюсь пройти процедуру регистрации на Платформе, принимаю условия Пользовательского соглашения и Политики конфиденциальности в целях заключения соглашения.
Хочешь написать работу самостоятельно?
Используй нейросеть
Мы создали собственный искусственный интеллект,
чтобы помочь тебе с учебой за пару минут 👇
Использовать нейросеть
Тебя также могут заинтересовать
Разработка Информационной системы учета автомобилей предприятия
Курсовая работа
Программирование
Стоимость:
700 ₽
программированное обучение достоинства и недостатки
Реферат
Программирование
Стоимость:
300 ₽
Программа+ пояснительная записка
Курсовая работа
Программирование
Стоимость:
700 ₽
Основы алгоритмизации и языки программирования-1 ЛБ3
Лабораторная работа
Программирование
Стоимость:
300 ₽
ПРОЕКТИРОВАНИЕ СЕТИ АБОНЕНТСКОГО ДОСТУПА НА БАЗЕ ТЕХНОЛОГИИ PON
Курсовая работа
Программирование
Стоимость:
700 ₽
База данных магазина (нужна только программа)
Курсовая работа
Программирование
Стоимость:
700 ₽
Разработка п.о. для автоматизации услуг химчистки
Курсовая работа
Программирование
Стоимость:
700 ₽
Python 3 в Jupyter. Использование регрессионного анализа
Контрольная работа
Программирование
Стоимость:
300 ₽
Визуальное проектирование в программировании (UML)
Контрольная работа
Программирование
Стоимость:
300 ₽
Решение системы линейных уравнений методом Гаусса
Контрольная работа
Программирование
Стоимость:
300 ₽
Небольшое задание по Матлабу
Контрольная работа
Программирование
Стоимость:
300 ₽
Технические средства автоматизации и управления
Контрольная работа
Программирование
Стоимость:
300 ₽
Контрольно-курсовая работа по "Операционные системы и среды"
Контрольная работа
Программирование
Стоимость:
300 ₽
Создание брендбука в программе «Inkscape»
Контрольная работа
Программирование
Стоимость:
300 ₽
Пакеты прикладных программ
Контрольная работа
Программирование
Стоимость:
300 ₽
Контрольная по предмету Прикладные экономические пакеты
Контрольная работа
Программирование
Стоимость:
300 ₽
Читай полезные статьи в нашем
Основы работы с системой автоматизированного проектирования КОМПАС-3D LT
Приобретение навыков моделирования играет важную роль в жизни человека. В современных технологиях широко используют информационные модели технических устройств, зданий и много другого, представленного чертежами и схемами. Так карты, представляющие информационные модели поверхности Земли, используются в географии, военном деле, судоходстве и т.д. В физике, радиотехнике и электротехнике используются...
подробнее
Работа с логическими выражениями. Использование скриптов на HTML-страницах
При использовании в кодах программ логических условий применяются операции сравнения различных типов данных:
= равно
не равно

> больше
> = больше или равно.
Также применяются логические функции и операторы:

Результат выполнения логической операции может принимать одно из двух возможных значений: True (истина) или False (ложь).
Переменным можно присваивать только английские значения...
подробнее
Haskell язык программирования

Рисунок 1. Карри Хаскелль. Автор24 — интернет-биржа студенческих работ
Предшественником Haskell можно считать язык Miranda, выпущенный в 1985 г. и давший толчок развитию ленивых языков.
Miranda распространялся под коммерческой лицензией, поэтому в 1987 г. на конференции по развитию функциональных языков, проходившей в Портленде, было решено разработать свободный аналог этого языка, для чего был созд...
подробнее
Ruby, язык программирования
Ruby — язык программирования (ЯП), обладающий следующими особенностями:
Ruby относится к категориям высокоуровневых, рефлективных и интерпретируемых языков. В нем реализована концепция объектно-ориентированного программирования (классы с полями и методами, наследование, полиморфизм, инкапсуляция, примеси, методы-одиночки, итераторы, замыкания и т.д.).
К уникальным свойствам языка можно отнести:
В то ...
подробнее
Основы работы с системой автоматизированного проектирования КОМПАС-3D LT
Приобретение навыков моделирования играет важную роль в жизни человека. В современных технологиях широко используют информационные модели технических устройств, зданий и много другого, представленного чертежами и схемами. Так карты, представляющие информационные модели поверхности Земли, используются в географии, военном деле, судоходстве и т.д. В физике, радиотехнике и электротехнике используются...
подробнее
Работа с логическими выражениями. Использование скриптов на HTML-страницах
При использовании в кодах программ логических условий применяются операции сравнения различных типов данных:
= равно
не равно

> больше
> = больше или равно.
Также применяются логические функции и операторы:

Результат выполнения логической операции может принимать одно из двух возможных значений: True (истина) или False (ложь).
Переменным можно присваивать только английские значения...
подробнее
Haskell язык программирования

Рисунок 1. Карри Хаскелль. Автор24 — интернет-биржа студенческих работ
Предшественником Haskell можно считать язык Miranda, выпущенный в 1985 г. и давший толчок развитию ленивых языков.
Miranda распространялся под коммерческой лицензией, поэтому в 1987 г. на конференции по развитию функциональных языков, проходившей в Портленде, было решено разработать свободный аналог этого языка, для чего был созд...
подробнее
Ruby, язык программирования
Ruby — язык программирования (ЯП), обладающий следующими особенностями:
Ruby относится к категориям высокоуровневых, рефлективных и интерпретируемых языков. В нем реализована концепция объектно-ориентированного программирования (классы с полями и методами, наследование, полиморфизм, инкапсуляция, примеси, методы-одиночки, итераторы, замыкания и т.д.).
К уникальным свойствам языка можно отнести:
В то ...
подробнее
Теперь вам доступен полный отрывок из работы
Также на e-mail вы получите информацию о подробном расчете стоимости аналогичной работы