Министерство по развитию информационных технологий и коммуникаций республики узбекистан каршинский филиал ташкентского университета информационных технологий
Download 124.37 Kb.
|
5 Indepent work
- Bu sahifa navigatsiya:
- ИМЕНИ МУХАММАДА АЛ-ХОРАЗМИ ФАКУЛЬТЕТ “ КОМПЬЮТЕРНЫЙ ИНЖЕНЕРИНГ” САМОСТОЯТЕЛЬНАЯ РАБОТA
- СОЗДАНИЕ И ИСПОЛЬЗОВАНИЕ ШАБЛОННЫХ КЛАССОВ План Создание и использование классов шаблонов Использование шаблонных функций
- Механизм перезагрузки функций в шаблонных функциях Заключение Список литературы
МИНИСТЕРСТВО ПО РАЗВИТИЮ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И КОММУНИКАЦИЙ РЕСПУБЛИКИ УЗБЕКИСТАН КАРШИНСКИЙ ФИЛИАЛ ТАШКЕНТСКОГО УНИВЕРСИТЕТА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ИМЕНИ МУХАММАДА АЛ-ХОРАЗМИ ФАКУЛЬТЕТ “ КОМПЬЮТЕРНЫЙ ИНЖЕНЕРИНГ” САМОСТОЯТЕЛЬНАЯ РАБОТA ПО ПРЕДМЕТУ: « DASTURLASH 1 » Группа: TT-12-21 Подготовил (а): Nazarov S Принял (а): Nurjabova D Карши-2023 СОЗДАНИЕ И ИСПОЛЬЗОВАНИЕ ШАБЛОННЫХ КЛАССОВ План Создание и использование классов шаблонов Использование шаблонных функций Механизм перезагрузки функций в шаблонных функциях Заключение Список литературы Реализация удобных пользовательских интерфейсов, оконных рамок, меню и экранов породила новый стиль программирования. Стало необходимо выполнять программы не последовательно от начала до конца, а отдельные ее блоки. Когда происходит определенное событие, программа должна реагировать соответствующим образом. Например, при нажатии кнопки выполняются только действия, связанные с ней. Таким образом, программы должны быть более интерактивными. Это следует учитывать при их разработке. Объектно-ориентированное программирование полностью отвечает этим требованиям. Он может использовать несколько программных компонентов и комбинировать их таким образом, чтобы манипулировать данными. Основная цель объектно-ориентированного программирования — рассматривать данные и процедуры, действующие с ними, как единый объект. Объектно-ориентированный подход (OBA) — это шестисторонний подход к разработке программного обеспечения. Программное обеспечение, разработанное по парадигме OMYO, должно обладать следующими свойствами: естественность; 2. надежность; 3. возможность повторного использования; 4. простота мониторинга; 5. способность к совершенствованию; 6. легкость периодического выпуска новых версий. Естественность. Естественная компьютерная база создается с помощью OMYO. Естественные формы более понятны. Вместо использования таких терминов, как «компьютер» или «память», вы можете использовать термины, относящиеся к решаемой задаче. Вместо преобразования разрабатываемого компьютера в компьютерный язык OMYO позволяет использовать термины определенного языка. Надежность. Хорошее программное обеспечение должно быть таким же надежным, как и любой другой продукт, например холодильник или телевизор. Модульная природа объектов позволяет вносить изменения в одно из значений программы, не затрагивая другие ее значения. Благодаря объектной концепции информацией владеют лица, нуждающиеся в этой информации, а ответственность возлагается на тех, кто выполняет данные функции. Повторное использование. Когда строитель начинает строить дом, он не всегда изобретает новый вид кирпича. Когда радиоинженер создает новую схему, он не всегда изобретает новый тип резистора. Тогда зачем ученому-компьютерщику «изобретать колесо»? Поскольку Макала нашел свое решение, это решение следует использовать много раз. Хорошо спроектированные классы объектов легко повторно использовать. Как и модули, объекты можно повторно использовать в разных программах. В отличие от модульного программирования, OMYO позволяет использовать наследование для расширения существующих объектов и полиморфизм для написания нового кода. Простота отслеживания. Рабочий период дактурии машкулот не заканчивается с ее развитием. В процессе использования компьютера вам понадобится рычаг, известный как трекинг. От 60 до 80 процентов времени, отведенного Dactur, уходит на отслеживание. Развитие составляет всего 20% бизнес-цикла eca. Хорошо спроектированный объектно-ориентированный компьютер прост в использовании. Для устранения ошибки достаточно сделать исправление в одном месте. Поскольку изменения в использовании прозрачны, все остальные объекты автоматически используют преимущества усовершенствования. Из-за своей естественности текст дактура должен быть понятен другим разработчикам. Расширяемость. Пользователи часто запрашивают добавление новых функций в систему при мониторинге компьютера. Также необходимо расширить функции этих объектов при создании библиотеки объектов. Компьютерные расходные материалы представляют собой статические (защищенные) emacs. Чтобы софт оставался полезным, необходимо сразу расширять его возможности. OMYO имеет множество устройств расширения компьютеров. К ним относятся приоритет, полиморфизм, переопределение, представление и многие другие шаблоны, которые можно использовать во время разработки. Периодический выпуск новых версий. Срок службы современной компьютерной техники часто измеряется неделями. Благодаря OMYO цикл разработки программного обеспечения сократился, поскольку программное обеспечение стало более надежным, расширяемым и пригодным для повторного использования. Естественность компьютерной поддержки облегчает разработку сложных систем. Любая разработка требует внимательного подхода, поэтому натуральность позволяет сократить сроки разработки ПО, ведь привлекает все внимание к решаемой задаче. Когда компьютер разделен на ряд объектов, появляется возможность разрабатывать каждую часть компьютера параллельно с другими. Несколько разработчиков смогут разрабатывать классы независимо друг от друга. Такая параллельная разработка сокращает время разработки. Язык C++ и объектно-ориентированное программирование. Язык C++ поддерживает принципы объектно-ориентированного программирования. Вот эти принципы: Инкапсуляция Наследование Полиморфизм Инкапсуляция. Инкапсуляция — это объединение данных и кода, работающего с этими данными, в одном объекте. В терминологии OMD данные называются объектными данными-членами (данными-членами), а коды называются объектными методами или функциями-членами (методами, функциями-членами). Инкапсуляция обеспечивает сокрытие данных. Это очень удобная функция, поскольку пользователю не нужно думать о внутренней работе объекта, который он использует. На самом деле, не обязательно знать принцип работы холодильника, чтобы им пользоваться. Хорошо спроектированный объект приложения не должен беспокоиться о взаимодействии своих внутренних переменных. В C++ принцип инкапсуляции защищен созданием нестандартных типов (пользовательских типов), называемых классами. Класс — это особый тип, который содержит поля, методы и свойства. Класс представляет собой сложную структуру, которая содержит, помимо определений данных, определения процедур и функций. У класса нет физического объекта, ближайшей его аналогией является объявление структуры. Память выделяется только тогда, когда класс используется для создания объекта. Этот процесс также называется созданием экземпляра класса. Правильно определенный объект класса может использоваться как целый программный модуль. Вся внутренняя работа реального класса должна быть скрыта. Пользователям правильно определенного класса не нужно знать, как он работает, им просто нужно знать, что делает класс. Именно благодаря инкапсуляции повышается степень независимости, ведь внутренние детали скрыты за интерфейсом. Инкапсуляция — это объектно-ориентированное описание модульности. С помощью инкапсуляции программное обеспечение можно разделить на модули, выполняющие определенные функции. Детали реализации этих функций будут скрыты от внешнего мира. По сути, термин инкапсуляция означает «герметически запечатанный; Это означает, что он защищен от внешних воздействий. Если инкапсуляция применяется к какому-либо компьютерному объекту, то этот объект рассматривается как черный ящик. Вы можете сказать, что делает черный ящик, только взглянув на его внешний интерфейс. Чтобы заставить черный ящик что-то сделать, нужно отправить ему сообщение. Не важно, что происходит внутри черного ящика, важнее, чтобы черный ящик адекватно отреагировал на отправленное сообщение. Интерфейс — это уникальный контракт с внешним миром, который определяет, как внешние объекты могут отправлять запросы этому объекту. Интерфейс представляет собой панель управления объектом. Обратите внимание, что ЖК-дисплей часов Casio будет элементом данных этого объекта, а кнопки управления будут методами объекта. Кнопки часов можно использовать для установки времени на дисплее, то есть, используя термины OMD, методы изменяют элементы данных и модифицируют состояние объекта. Благодаря своей универсальности объект можно использовать неоднократно. Когда инкапсуляция выполняется тщательно, объекты не привязываются к конкретной программе. Они будут доступны везде, где это возможно. Чтобы использовать объект в другом месте, просто используйте его интерфейс. - Благодаря инкапсуляции в объект можно вносить изменения, которые видны другим объектам. Если интерфейс не меняется, все изменения будут видны тем, кто использует объект. Инкапсуляция позволяет улучшить компонент, обеспечить совместимость реализации, устранить ошибки, и все это не влияет на другие объекты дактура. - При использовании защищенного объекта возможны непреднамеренные взаимодействия между объектом и другой частью данных. Таким образом, можно создавать модульные программы с помощью инкапсуляции. Инкапсуляция камеры имеет три отличительные особенности: - абстракция; - закрытие тока; - разделение ответственности. Наследование. Наследование позволяет создавать новые классы, добавляя новые поля, свойства и методы к существующим классам. Вновь созданный класс-потомок наследует свойства и методы базового, т.е. класса-предка. Виды ворчливости. Ворилик применяют в трех важных случаях: 1. при многократном применении; 2. стоять в стороне; 3. изменить типы. Использование одних типов завихренности предпочтительнее других. Вместо вырезания или вставки кода наследование обеспечивает автоматический доступ к коду, а это означает, что при доступе к коду он обрабатывается так, как если бы он был частью нового класса. Когда вы используете последовательность для нескольких реализаций, вы привязаны к реализации (реализации) ресурса. Небольшой размер кода и простое управление кодом ускоряют разработку проекта. В этом случае вам придется написать меньше строк кода, что также уменьшит количество добавляемых ошибок. Взаимозаменяемость — одна из важнейших концепций OMYO. Поскольку класс-получатель может отправлять сообщения своему классу-предку, оба они могут рассматриваться одинаково. Полиморфизм. C++ позволяет функции с одним и тем же именем выполнять разные действия при использовании разными объектами. Это называется полиморфизмом функций и классов. Поли означает много, морфе означает форму. Полиморфизм — это множественные вариации формы. Позже мы подробно познакомимся с этими понятиями. О шаблонах В этом уроке мы познакомимся с шаблонами, которые являются основными возможностями языка программирования C++. С помощью шаблонов можно создавать общие функции и общие классы. Универсальные функции и универсальные классы позволяют использовать разные типы данных, не перегружая их (без написания большого количества кода). То есть нам не нужно писать отдельную функцию для каждой категории Шаблоны бывают двух типов: Шаблон функции (шаблон функции) Шаблон класса (шаблон класса) Создание шаблона функции (шаблон функции) Шаблон функции выполняется с помощью ключевого слова template. Ниже приведена форма для создания шаблона функции: template TYPE> return-type func-name (args) { // тело функции } Этот пробел представляет собой тип данных, используемый в настоящее время функцией TYPE. Компилятор автоматически заменяет этот тип типом данных, поступающим в функцию. Здесь класс и шаблон — это ключевые слова, используемые для создания шаблона функции. Но в некоторых случаях мы можем использовать ключевое слово typename вместо ключевого слова class. Следующий пример служит для обмена двумя переменными нужного типа, и нам не нужно писать отдельную функцию для каждой категории. Пример шаблона функции
// swap funksiyasi haqiqiy toifa uchun (float) swapargs(a, b); // swap funksiyasi simvol toifa uchun (char) cout << "Swapped i, j: " << i << ' ' << j << '\n'; cout << "Swapped x, y: " << x << ' ' << y << '\n'; cout << "Swapped a, b: " << a << ' ' << b << '\n'; return 0; } Описание программы: Другая версия универсальной функции В следующем примере функция swapargs() объявляется в другой версии. То есть шаблон на первой строке, а функция на отдельной строке. template void swapargs(X &a, X &b) { X temp; темп = а; а = б; б = температура; } Но в этом представлении, если какой-либо код написать вместо первой и второй строк, он выдаст шаблон ошибки int c // ОШИБКА void swapargs(X &a, X &b) { X temp; темп = а; а = б; b = temp;} Переопределить шаблон функции. template void swapargs(X &a, X &b) { X temp;temp = a;a = b;b = temp; cout << "Был вызван swapargs шаблона функции.\n"; } // В этом случае функция swapargs() работает только для типа int. void swapargs(int &a, int &b) { int temp; темп = а; а = б; б = температура; cout << "Пользовательская функция swapargs для типа int.\n"; } int main() { int i=10, j=20; двойной х=10,1, у=23,3; символ a='x', b='z'; cout << "Исходный i, j: " << i << ' ' << j << '\n'; cout << "Исходные x, y: " << x << ' ' << y << '\n'; cout << "Исходные a, b: " << a << ' ' << b << '\n'; перестановки (я, j); // вызывает явно перегруженную функцию swapargs() swapargs(x, y); // вызывает универсальный метод swapargs() swapargs(a, b); // вызывает универсальный swapargs() cout << "Поменял местами i, j: " << i << ' ' << j << '\n'; cout << "Поменял местами x, y: " << x << ' ' << y << '\n'; cout << "Поменял местами a, b: " << a << ' ' << b << '\n'; вернуть 0; } Современная компьютерная математика предоставляет целый набор интегрированных программных комплексов и пакетов для автоматизации математических вычислений. Среди этих систем Mathcad представляет собой простую, достаточно доработанную и проверенную систему математических расчетов. В целом Mathcad представляет собой уникальный набор современных численных методов компьютерной математики. Он включает в себя опыт, правила и методы математических вычислений, собранные в результате развития математики на протяжении многих лет. Пакет Mathcad — это программный инструмент для выполнения инженерных расчетов, предназначенный для профессиональных математиков. С его помощью можно решать алгебраические и дифференциальные уравнения с переменными и постоянными параметрами, анализировать функции и искать их экстремум, а также строить таблицы и графики для анализа найденных решений. Mathcad также имеет собственный язык программирования для решения сложных задач. Интерфейс Mathcad аналогичен интерфейсу всех программ Windows. После запуска Mathcad в его окне появляются его главное меню и три инструмента панели инструментов: Standard (Стандарт), Formatting (Форматирование) и Math (Математика). Когда Mathcad запускается, файл его рабочего документа автоматически открывается с именем Untitled 1 и называется Worksheet. Панель инструментов Standard (Стандартная) содержит набор команд для работы с несколькими файлами. Форматирование содержит несколько команд для форматирования формул и текстов. Math содержит математические инструменты, используемые для вставки символов и операторов в окно файла документа. На следующем рисунке показано окно Mathcad и его математическая панель инструментов: Calculator (Калькулятор) - шаблон основных математических операций; График (Graphic) – шаблон графика; Матрица (Matrix) – шаблон матрицы и матричных операций; Evluation (Оценка) — оператор отправки значений и оператор вывода результатов; Colculus (расчет) – шаблон расчета дифференцирования, интегрирования, суммирования; Boolean (булевы операторы) – логические операторы; Programming (Программирование) — операторы создания необходимых модулей для создания программы; Греческий (греческие буквы) - операторы для работы с символьными символами. Download 124.37 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling