Vvmebel.com

Новости с мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Решение всех упражнений из книги Р. Лафоре «Объектно-ориентированное программирование в С++»

Хотя я и начинающий с++-шник. Хочу помочь другим людям. Здесь я буду выкладывать всё что мне удалось решить. В моих решениях будет много хедеров, делал я это в Dev C++. Ос Win 7 64 bit.

Начнём со второй главы:

Решение всех упражнений из книги Р. Лафоре «Объектно-ориентированное программирование в С++»
Мне надо решение упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++".

Ищу ответы на задания из книги Лафоре Р. «Объектно-ориентированное программирование в С++» 4 издание.
Дошел до 10 главы, из каждой главы делал все 12 заданий, хочу проверить правильно ли я их делал. И.

Да. Так лучше не писать, но я сам у него этот хедер встречал

Добавлено через 1 минуту

Спасибо что откликнулись в этой теме и подметили ошибки в коде. Я извиняюсь что пришлось прибегнуть к такому решению, оно временное и работает. Если у вас есть конкретный совет, как только что скомпилированную программу заставить не закрываться сразу же после исполнения, то пожалуйста изложите, мне это очень важно. Еще раз спасибо.

Добавлено через 1 минуту

Да. Так лучше не писать, но я сам у него этот хедер встречал

Добавлено через 1 минуту

А тут getch() зачем?

Вы правы, это без надобности, сейчас уберу.

Добавлено через 1 минуту
Уважаемы модераторы. Подскажите как изменить первый пост в топике

Вы правы, сейчас так и использую.

Добавлено через 4 минуты
Пожалуйста, скажите какие хедеры лишние

Прошу Вас, не надо в коде таких штук делать. Во-первых, только для windows. Во-вторых, некрасиво.

Кажется не совсем корректно работает!
\\
Пример: введите значение фунта 8.65, выдает ответ 8.12.11, а надо 8.13.0,
Кто поможет??

Добавлено через 1 минуту

какие именно задачи, попробую помочь

Добавлено через 2 минуты
ну собственно почему static_cast делает из значения 13, 12

Мой вариант решения задачи 12 Главы 2.
Оформлена как отдельная функция т.к. пишу все упражнения в отдельном модуле.

Упражнение 12___Обратная конвертация____Лафоре C++

спасибо за помошь, но у Вас та же проблема, посмотрите пошаговое выполнение программы.
Прилагаю скрин выполнения программы, результат снова не корректный((((
Вот как раз в той строке где отделяется десятичная часть(в моем случае 0.65), и после умножения на 20 по формуле

(shiling = new_pens * 20 =0.65*20=13),

int_shiling = static_cast (shiling),

число 13 становится 12. Разъясните плиз, каким образом.

Вот отдельно вынес это действие и получается 13.
Я не знаю как это объяснить.

(в выше написанном коде) так и ничего не додумал.

.
Интересует задание 5 глава 3

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Объектно-ориентированное программирование: класс «Библиотека»
Никак не могу лабу сделать, может кто поможет Создать в Delphi класс для объекта реального мира по.

Объектно-ориентированное программирование. Описание автомобиля. Ошибка компиляции: identifier idents no member «.»
Lazarus. Описать так: Бак — предок двигателя; двигатель — авто. Авто я пока не использовал в.

Объектно-ориентированное приложение: «Эмулятор банкомата»
Доброго времени всем! я начал изучать С++ И хотел бы спросить вашей помощи в этом нелёгком труде.

Книга: «Объектно-ориентированное программирование»

Объе?ктно-ориенти?рованное, или объектное, программи?рование (в дальнейшем ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов. В случае языков с прототипированием вместо классов используются объекты-прототипы. Данное издание представляет собой компиляцию сведений, находящихся в свободном доступе в среде Интернет в целом, и в информационном сетевом ресурсе «Википедия» в частности. Собранная по частотным запросам указанной тематики, данная компиляция построена по принципу подбора близких информационных ссылок, не имеет самостоятельного сюжета, не содержит никаких аналитических материалов, выводов, оценок морального, этического, политического, религиозного и мировоззренческого характерав отношении главной тематики, представляя собой исключительно фактологический материал.

Читать еще:  Создатель языка программирования c

Издательство: «Книга по Требованию» (2012)

Другие книги схожей тематики:

170х240 мм), 928стр. (иллюстрации) стр.) @ Классика Computer Science @ @ Подробнее.

См. также в других словарях:

Объектно-ориентированное программирование — технология программирования, при которой программа рассматривается как набор дискретных объектов, содержащих, в свою очередь, наборы структур данных и процедур, взаимодействующих с другими объектами. См. также: Объектно ориентированное… … Финансовый словарь

объектно-ориентированное программирование — Метод построения программ как совокупностей объектов и классов объектов, которые могут вызывать друг друга для выбора и выполнения операций. Примечание Объекты состоят из данных и операций над данными. [ГОСТ 19781 90] объектно ориентированное… … Справочник технического переводчика

Объектно-ориентированное программирование — Эта статья во многом или полностью опирается на неавторитетные источники. Информация из таких источников не соответствует требованию проверяемости представленной информации, и такие ссылки не показывают значимость темы статьи. Статью можно… … Википедия

Объектно-ориентированное программирование на Python — Объектно ориентированное программирование на Python программирование на Python с использованием парадигмы ООП: с самого начала Python проектировался как объектно ориентированный язык программирования[1]. Содержание 1 Введение 1.1 … Википедия

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ (ООП) — Парадигма программирования, в которой основными концепциями являются понятия объектов и классов (либо, в менее известном варианте языков с прототипированием, прототипов) Словарь бизнес терминов. Академик.ру. 2001 … Словарь бизнес-терминов

Объектно-ориентированное программирование на Питоне — С самого начала Питон проектировался как объектно ориентированный язык программирования [1]. Содержание 1 Введение 1.1 Принципы ООП … Википедия

Событие (объектно-ориентированное программирование) — У этого термина существуют и другие значения, см. Событие. Событие в объектно ориентированное программировании это сообщение, которое возникает в различных точках исполняемого кода при выполнении определённых условий. События предназначены для… … Википедия

Класс (объектно-ориентированное программирование) — Класс, наряду с понятием «объект», является важным понятием объектно ориентированного подхода в программировании (хотя существуют и бесклассовые объектно ориентированные языки, например, Прототипное программирование). Под классом подразумевается… … Википедия

Интерфейс (объектно-ориентированное программирование) — У этого термина существуют и другие значения, см. Интерфейс (значения). Интерфейс (от лат. inter «между», и face «поверхность») семантическая и синтаксическая конструкция в коде программы, используемая для специфицирования… … Википедия

SOLID (объектно-ориентированное программирование) — У этого термина существуют и другие значения, см. Solid. SOLID это аббревиатура пяти основных принципов дизайна классов в объектно ориентированном проектировании Single responsibility, Open closed, Liskov substitution, Interface segregation … Википедия

Метод (объектно-ориентированное программирование) — Метод в объектно ориентированном программировании это функция, принадлежащая какому то классу или объекту. Как и процедура в процедурном программировании, метод состоит из некоторого количества операторов для выполнения какого то действия, имеет … Википедия

Бертран Мейер — Основы объектно-ориентированного программирования

99 Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания.

Скачивание начинается. Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Описание книги «Основы объектно-ориентированного программирования»

Описание и краткое содержание «Основы объектно-ориентированного программирования» читать бесплатно онлайн.

Фундаментальный учебник по основам объектно-ориентированного программирования и инженерии программ. В книге подробно излагаются основные понятия объектной технологии – классы, объекты, управление памятью, типизация, наследование, универсализация. Большое внимание уделяется проектированию по контракту и обработке исключений, как механизмам, обеспечивающим корректность и устойчивость программных систем.

В книге Бертрана Мейера рассматриваются основы объектно-ориентированного программирования. Изложение начинается с рассмотрения критериев качества программных систем и обоснования того, как объектная технология разработки может обеспечить требуемое качество. Основные понятия объектной технологии и соответствующая нотация появляются как результат тщательного анализа и обсуждений. Подробно рассматривается понятие класса — центральное понятие объектной технологии. Рассматривается абстрактный тип данных, лежащий в основе класса, совмещение классом роли типа данных и модуля и другие аспекты построения класса. Столь же подробно рассматриваются объекты и проблемы управления памятью. Большая часть книги уделена отношениям между классами – наследованию, универсализации и их роли в построении программных систем. Важную часть книги составляет введение понятия контракта, описание технологии проектирования по контракту, как механизма, обеспечивающего корректность создаваемых программ. Не обойдены вниманием и другие важные темы объектного программирования – скрытие информации, статическая типизация, динамическое связывание и обработка исключений. Глубина охвата рассматриваемых тем делает книгу Бертрана Мейера незаменимой для понимания основ объектного программирования.

Читать еще:  Python 3 среда программирования

Автор: Мейер Бертран

Название: Основы объектно-ориентированного программирования

Содержание

Лекция 1. Качество ПО

Лекция 2. Критерии объектной ориентации

Лекция 3. Модульность

Лекция 4. Подходы к повторному использованию

Лекция 5. К объектной технологии

Лекция 6. Абстрактные типы данных (АТД)

Лекция 7. Статические структуры: классы

Лекция 8. Динамические структуры: объекты

Лекция 9. Управление памятью

Лекция 10. Универсализация

Лекция 11. Проектирование по контракту: построение надежного ПО

Лекция 12. Когда контракт нарушается: обработка исключений

Лекция 13. Поддерживающие механизмы

Лекция 14. Введение в наследование

Лекция 15. Множественное наследование

Лекция 16. Техника наследования

Лекция 17. Типизация

Лекция 18. Глобальные объекты и константы

Лекция 1. Качество ПО

Качество — это цель инженерной деятельности; построение качественного ПО (software) — цель программной инженерии (software engineering). В данной книге рассматриваются средства и технические приемы, позволяющие значительно улучшить качество ПО. Прежде чем приступить к изучению этих средств и приемов, следует хорошо представлять нашу цель. Качество ПО лучше всего описывается комбинацией ряда факторов. В этой лекции мы постараемся проанализировать некоторые из них, покажем, где необходимы улучшения, и укажем дорогу в дальнейшем путешествии по лекциям этого курса.

Внешние и внутренние факторы

Все мы хотим, чтобы наше ПО было быстродействующим, надежным, легким в использовании, читаемым, модульным, структурным и т.д. Но эти определения описывают два разных типа качества. Наличие или отсутствие таких качеств, как скорость и простота использования ПО, может быть обнаружено его пользователями. Эти качества можно назвать внешними факторами качества.

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

Такие характеристики ПО, как модульность или читаемость, являются внутренними факторами, понятными только для профессионалов, имеющих доступ к тексту ПО.

В конечном счете, только внешние факторы имеют значение. Но ключ к достижению внешних факторов спрятан во внутренних факторах: для того, чтобы достичь видимого качества, проектировщики и конструкторы должны иметь внутренние приемы, позволяющие улучшать скрытые от пользователя качества.

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

Обзор внешних факторов

Рассмотрим самые важные внешние факторы качества, стремление к которым есть центральная задача ОО-построения ПО.

Определение: корректность

Корректность — это способность ПО выполнять точные задачи так, как они определены их спецификацией.

Корректность является важнейшим качеством. Если система не делает того, что она должна делать, то все остальное — ее быстродействие, хороший пользовательский интерфейс — не имеет особого значения.

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

Читать еще:  Язык программирования бейсик это

Методы обеспечения корректности обычно условны. Серьезная система ПО, даже небольшая по нынешним меркам, использует столь многое, что невозможно гарантировать ее корректность, работая со всеми компонентами на одном уровне. Необходим многоуровневый подход:

Рис. 1.1. Слои в разработке ПО

В условном подходе к корректности мы заботимся только о том, чтобы обеспечить корректность каждого уровня, основываясь на предположении, что нижележащие уровни корректны. Это единственно реалистичный подход, поскольку он позволяет разделить проблему и на каждой ступени сконцентрироваться на ограниченном круге задач. Нельзя проверить, что программа на языке высокого уровня корректна, если не предположить, что используемый компилятор корректно реализует язык. Это не слепое доверие компилятору, а разделение проблемы на две: проверка корректности компилятора и проверка корректности программы относительно семантики языка.

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

Рис. 1.2. Уровни в процессе разработки, включающем повторное использование

Здесь также применим условный подход: следует обеспечить корректность библиотек и корректность приложения при условии, что библиотеки корректны.

Многие практики полагают, что достижение корректности ПО связано с тестированием и исправлением ошибок. Мы же более амбициозны: в дальнейших лекциях исследуется ряд технических приемов, в частности типизация и метод утверждений, направленных на построение ПО, корректного с самого начала. Исправление ошибок и тестирование, конечно, остаются необходимыми как средства дополнительной проверки результата. Можно было бы пойти дальше и принять совсем формальный подход к построению ПО. Это не является целью наших лекций, как ясно из несколько «робких» терминов — «проверять», «гарантировать», «обеспечивать», используемых выше вместо слова «доказывать». Все же многие из описанных ниже технических приемов происходят непосредственно от математических методов формальной спецификации и верификации программ, проходя длинный путь к обеспечению идеала корректности.

Определение: устойчивость

Устойчивость — это способность ПО соответствующим образом реагировать на аварийные ситуации.

Устойчивость дополняет корректность. Корректность относится к поведению системы в случаях, определенных спецификацией; устойчивость характеризует то, что происходит за пределами этой спецификации.

Рис. 1.3. Устойчивость против корректности

Как видно из определения, устойчивость по своей природе более нечеткое понятие, чем корректность. Невозможно сказать, как в случае с корректностью, что в аварийных ситуациях система должна «выполнять свои задачи», поскольку ситуации выходят за пределы спецификации. Если бы эти задачи были известны, аварийный случай стал бы частью спецификации, и мы бы снова вернулись в область корректности.

Это определение «аварийной ситуации» нам еще понадобится при изучении обработки исключений (Об исключительных ситуациях см. лекция 12). Оно подразумевает, что понятия нормальной и аварийной ситуации всегда относительны по отношению к заданной спецификации; ситуация аварийна, если она выходит за рамки спецификации. Если расширить спецификацию, аварийные случаи становятся нормальными — даже если они соответствуют таким нежелательным событиям, как, например, ошибочный ввод пользователя.

Термин «нормальный» в этом смысле не означает «желательный», а просто «запланированный в проекте ПО». Хотя на первый взгляд может показаться парадоксальным, что ошибочный ввод может называться нормальным случаем, любой другой подход опирается на субъективные критерии и, таким образом, бесполезен.

Всегда будут существовать случаи, на которые спецификация явно не распространяется. Роль требования устойчивости — удостовериться, что и в таких случаях система не приводит к непоправимой ситуации; она должна выдать соответствующее сообщение об ошибке, гладко завершить работу или войти в так называемый режим «постепенного вывода из работы».

Определение: расширяемость

Расширяемость — это легкость адаптации ПО к изменениям спецификации.

Ссылка на основную публикацию
Adblock
detector