Вход

Особенности реализации принципа наследования в алгоритмическом языке C++ на примере конкретной задачи

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 404789
Дата создания 04:21
Страниц 20
Мы сможем обработать ваш заказ (!) 29 марта в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
1 050руб.
КУПИТЬ

Описание

Целью курсовой работы является приобретение навыков проектирования алгоритмов обработки матриц, кодирования их на алгоритмическом языке С++ и реализация в среде MS Visual Studio.
В ходе выполнения курсовой работы будут созданы:
• консольные приложения с подпрограммами, с локальными и динамическими массивами;
• консольные приложения с классами. ...

Содержание

Введение 3
Условие задачи 5
Раздел 1. Решение задачи с использованием функций 5
Выбор функций, назначение функций 5
Шаблоны функций 5
Состав данных функции main 6
Блок-схема алгоритма функции main 7
Описание данных функции обработки 8
Блок-схема алгоритма функции count_of_rows 8
Код консольного приложения с подпрограммами 10
Код консольного приложения с динамической матрицей 11
Раздел 2. Консольная программа с использованием класса 12
Описание класса и методов 12
Код консольного приложения с использованием класса 12
Раздел 3. Определение класса-наследника 14
Описание классов и методов 14
Код консольного приложения с использованием класса-наследника 15
Тесты 18
Заключение 20
Список литературы 20

Введение

Инструкции первых языков программирования, появившихся в начале 50-х годов XX века и ориентированных на конкретный компьютер, записывались в исходном коде и выполнялись последовательно. Данные, полученные при выполнении предыдущих инструкций, могли быть считаны из памяти или записаны в нее. Таким образом, программы представляли собой последовательность команд, которые должен был выполнить компьютер. Языки программирования, использующие этот подход (прежде всего, это машинные инструкции и язык ассемблера), образовали императивную парадигму программирования. В отличие от декларативного подхода, при котором задается спецификация решения задачи, в императивном широко используются операторы присваивания. Ранние императивные языки сложны для понимания и решения прикладных задач.
Развитие вычисли тельных устройств и компьютерной техники привело к появлению процедурных языков. Процедурные языки программирования, первые реализации которых относятся к концу 50-х годов, позволили разбивать задачи на шаги и решать их за шагом, причем возможность определять каждый шаг в процессе решения задачи была предоставлена программисту. Эти языки использовали императивную парадигму, но последовательно выполняемые операторы могли быть собраны в подпрограммы, то есть более крупные целостные единицы кода, с помощью самого языка. Согласно некоторым классификациям, такой подход выделяется в самостоятельную парадигму, получившую название процедурной. К процедурным языкам программирования относятся, например, Паскаль, Си, Алгол, КОБОЛ и Фортран.
Процедурный подход потребовал структурирования будущей программы, разделения ее на отдельные процедуры. При разработке отдельной процедуры о других процедурах требовалось знать только их назначение и способ вызова. Появилась возможность перерабатывать отдельные процедуры, не затрагивая остальной части программы, сокращая при этом затраты труда и машинного времени на разработку и модернизацию программ.
Следующим шагом в углублении структурирования программ стало так называемое структурное программирование, при котором программа в целом и отдельные процедуры рассматривались как последовательности канонических структур: линейных участков, циклов и разветвлений. Появилась возможность читать и проверять программу как последовательный текст, что повысило производительность труда программистов при разработке и отладке программ. С целью повышения структурности программы были выдвинуты требования к большей независимости подпрограмм, подпрограммы должны связываться с вызывающими их программами только путем передачи им аргументов, использование в подпрограммах переменных, принадлежащих другим процедурам или главной программе, стало считаться нежелательным.
Процедурное и структурное программирование затронули прежде всего процесс описания алгоритма как последовательности шагов, ведущих от варьируемых исходных данных к искомому результату. Для решения специальных задач стали разрабатываться языки программирования, ориентированные на конкретный класс задач: на системы управления базами данных, имитационное моделирование и т.д. При разработке трансляторов все больше внимания стало уделяться обнаружению ошибок в исходных текстах программ, обеспечивая этим сокращение затрат времени на отладку программ.
Расширение класса решаемых задач требовало разработки новых алгоритмов и приведения их в удобную для применения форму. Объектно-ориентированный подход получил свое развитие в результате решения проблемы концептуальной близости текста программы и описания задачи - построения расширяемого языка, содержащего небольшое ядро и допускающего расширение, дополняющее язык типами данных и операторами, отражающими концептуальную сущность конкретного класса задач. Первыми языками-ядрами были Симула и Алгол-68.
Объектно-ориентированный подход к программированию оказался эффективным в тех случаях, когда некоторый реально существующий предмет характеризуется очень большим числом параметров. Тогда подпрограммы, описывающие алгоритмы обработки или функционирования такого предмета, имеют настолько большое число формальных параметров, что программирование их вызовов слишком трудоемко и сопряжено с большим количеством ошибок. Эффективным методом программирования таких задач является создания в программе объекта, соответствующего предмету. Этот объект будет включать в себя данные, соответствующие параметрам предмета, и подпрограммы (в Си++ функции), описывающие алгоритмы обработки или функционирования предмета. Данные объекта должными являться по умолчанию доступными для алгоритмов объекта (как бы быть глобальными для этих алгоритмов) и не включаться в списки параметров соответствующих подпрограмм. Таким образом, количество параметров подпрограмм существенно уменьшится

Список литературы

1. Б. Страуструп. Язык программирования С++. - Издательство: Бином, 2011. - 1136 с.
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00634
© Рефератбанк, 2002 - 2024