Разработка программы на языке С++

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 05.06.2020
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ВЫСШЕГО ОБРАЗОВАНИЯ И НАУКИ РФ

Государственное бюджетное профессиональное образовательное учреждение города Москвы

«Колледж связи № 54» имени П.М. Вострухина»

Контрольная работа

По дисциплине: «Основы алгоритмизации и программирования»

Выполнил:

Сальков А.В.

Москва, 2020 г

Язык С++ возник в начале 1980-х годов, когда сотрудник фирмы Bell Labs Бьёрн Страуструп придумал ряд усовершенствований к языку C под собственные нужды [1]. Когда в конце 1970-х годов Страуструп начал работать в Bell Labs над задачами теории очередей (в приложении к моделированию телефонных вызовов), он обнаружил, что попытки применения существующих в то время языков моделирования оказываются неэффективными, а применение высокоэффективных машинных языков слишком сложно из-за их ограниченной выразительности. Так, язык Симула имеет такие возможности, которые были бы очень полезны для разработки большого программного обеспечения, но работает слишком медленно, а язык BCPL достаточно быстр, но слишком близок к языкам низкого уровня и не подходит для разработки большого программного обеспечения.

Вспомнив опыт своей диссертации, Страуструп решил дополнить язык C (преемник BCPL) возможностями, имеющимися в языке Симула. Язык C, будучи базовым языком системы UNIX, на которой работали компьютеры Bell, является быстрым, многофункциональным и переносимым. Страуструп добавил к нему возможность работы с классами и объектами. В результате практические задачи моделирования оказались доступными для решения как с точки зрения времени разработки (благодаря использованию Симула-подобных классов), так и с точки зрения времени вычислений (благодаря быстродействию C). В первую очередь в C были добавлены классы (с инкапсуляцией), наследование классов, строгая проверка типов, inline-функции и аргументы по умолчанию. Ранние версии языка, первоначально именовавшегося «C with classes» («Си с классами»), стали доступны с 1980 года.

Разрабатывая C с классами, Страуструп написал программу cfront[en] -- транслятор, перерабатывающий исходный код C с классами в исходный код простого C. Это позволило работать над новым языком и использовать его на практике, применяя уже имеющуюся в UNIX инфраструктуру для разработки на C. Новый язык, неожиданно для автора, приобрёл большую популярность среди коллег и вскоре Страуструп уже не мог лично поддерживать его, отвечая на тысячи вопросов.

К 1983 году в язык были добавлены новые возможности, такие как виртуальные функции, перегрузка функций и операторов, ссылки, константы, пользовательский контроль над управлением свободной памятью, улучшенная проверка типов и новый стиль комментариев (//). Получившийся язык уже перестал быть просто дополненной версией классического C и был переименован из C с классами в «C++». Его первый коммерческий выпуск состоялся в октябре 1985 года.

До начала официальной стандартизации язык развивался в основном силами Страуструпа в ответ на запросы программистского сообщества. Функцию стандартных описаний языка выполняли написанные Страуструпом печатные работы по C++ (описание языка, справочное руководство и так далее). Лишь в 1998 году был ратифицирован международный стандарт языка C++: ISO/IEC 14882:1998 «Standard for the C++ Programming Language»; после принятия технических исправлений к стандарту в 2003 году -- следующая версия этого стандарта -- ISO/IEC 14882:2003.

С++ -- это компилируемый, статически типизированный язык программирования общего назначения. Язык имеет богатую стандартную библиотеку, которая включает в себя распространённые контейнеры и алгоритмы, ввод-вывод, регулярные выражения, поддержку многопоточности и другие возможности. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником -- языком C, -- наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также игр. Тем не менее, C++ не является в строгом смысле надмножеством C; множество программ, которые могут одинаково успешно транслироваться как компиляторами C, так и компиляторами C++, довольно велико, но не включает все возможные программы на C.

Актуальность проекта

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

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

Программа, отражённая в проекте максимально оптимизирована: убраны лишние и вспомогательные строки, оставлен лишь цельный “каркас” (код) программы. Также, к программе можно быстро и без лишних проблем дописать установщик при должной необходимости. Программа работает с иностранным языком (английским) и способна показывать ясный результат на выводе без излишней информации. Код работает оперативно.

Тема и цель разработки проекта (постановка задачи)

Тема проекта №6: « Дан файл с логинами и паролями. Найдите топ 10 самых популярных паролей».

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

Основные этапы работы над проектом

1.Написание программы, соответствующей условию данной задачи с комментариями:

2. Отладка работы кода программы:

3. Вид доработанной программы в программе “Visual studio” с тестовой проверкой работоспособности кода:

Код программы

#include <sstream> //подключение необходимых библиотек для написания программы в строках 1-5

#include <string>

#include <list>

#include <algorithm>

#include <iterator>

int main() //главная функция программы

{

std::string str, wrd1, wrd2; //задание переменных типа string (строковые переменные)

std::cout << "String: ";

std::getline(std::cin, str); //Функция getline предназначена для ввода данных из потока

std::cout << "Change from: "; // все строки "cout" означают вывод каких либо данных, в этом случае - вывод текстом фразы: "Change from"

std::cin >> wrd1; // ввод первой переменной, отвечающей за выбор изменяемого слова из фразы

std::cout << "Change to: ";

std::cin >> wrd2; // ввод второй перемнной, отвечающей за итоговое слово (изменённое wrd 1)

std::istringstream ist(str); //Как и istream с ostream, так и потоковые классы для строк предоставляют буфер для хранения данных. Однако, в отличие от cin и cout, эти потоковые классы не подключены к каналу ввода/вывода (т.е. к клавиатуре, монитору и т.д.)

std::list<std::string> list;

std::copy(std::istream_iterator<std::string>(ist), std::istream_iterator<std::string>(), std::back_inserter(list));// добавляет элементы из одного контейнера в другой

std::replace(list.begin(), list.end(), wrd1, wrd2);

std::cout << "Result: ";//вывод слова "Result"

std::copy(list.begin(), list.end(), std::ostream_iterator<std::string>(std::cout, " ")); //копирование всего "списка"

std::cout << std::endl;

return 0; // проверка результата правильности выполнения программы

Комментарий к разработанной программе

Программа написана на языке программирования С++ с использованием программы “Visual studio C++” (версия от 14.03.2019). В программе используются различные библиотеки, задающие, как использование операций со строковыми типами данных - <string>, так и подключение заголовочных файлов - (#include) <algorithm>. Далее, согласно коду программы, используется главная функция - int maint(), в которой и записан основной код программы. В следующей строке задаются переменные, которые предполагается использовать во время разработки программного кода: str, wrd1, wrd2 - все они имеют строковый тип. Затем при помощи “getline” происходит ввод данных из потока. После этого все работают все строки "cout" и “cin”, которые предназначены для ввода и вывода исходных и итоговых данных (заменённых на символы слов, например). Завершается код программы несколькими “цепями” с использованием “copy”, который добавляет необходимые элементы из одного “контейнера” в другой, а после всего вышеупомянутого программа возвращает значение “0”, что и является свидетельством её успешной работы.

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

1. Итоговая проверка работоспособности кода

2. Проверка работы кода в условиях требования “заказчика” о полной замене слова на символы “*”:

3. Проверка работы кода с произвольными данными:

Анализ результатов

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

Вывод

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

Список используемой литературы

1.Бьёрн Страуструп. Язык программирования C++ = The C++ Programming Language / Пер. с англ. -- 3-е изд. -- СПб.; М.: Невский диалект -- Бином, 1999. -- 991 с. -- 3000 экз.

Размещено на Allbest.ru


Подобные документы

  • Структура и назначение программного кода программы по созданию 3D-графики средствами языка программирования Visual Basic. Элементы управления "Окно формы" и "Таймер", выполняемые ими функции и основные свойства, значение в работе программного кода.

    лабораторная работа [362,4 K], добавлен 06.07.2009

  • Реализация линейных списков в языке программирования C++. Основные операции при работе с ними. Разработка интерфейса и алгоритмов. Описание работы программы на псевдокоде. Составление программного кода. Тестирование, отладка и результат работы программы.

    курсовая работа [1,1 M], добавлен 07.01.2014

  • Разработка программы, реализующей построение объемной гистограммы с использованием свойств языка программирования Java. Возможность графически отобразить статистические данные урожайности как основное требование к программе. Реализация кода программы.

    курсовая работа [333,5 K], добавлен 21.01.2013

  • Многообразие мини-игр и возможности языка Visual basic 6.0 для их реализации. Понятие мини-игр и их классификация. Элементы управления мини-игры "Реверси". Разработка прикладной программы. Создание игрового интерфейса. Написание программного кода.

    курсовая работа [1,5 M], добавлен 03.06.2014

  • Обоснование выбора языка программирования. Анализ входных и выходных документов. Логическая структура базы данных. Разработка алгоритма работы программы. Написание программного кода. Тестирование программного продукта. Стоимость программного продукта.

    дипломная работа [1008,9 K], добавлен 13.10.2013

  • Постановка задачи и математическое описание ее решения. Назначение программного обеспечения. Описание принятых идентификаторов. Выбор языка программирования и написание программы на входном языке. Методика отладки программы и проведение ее тестирования.

    курсовая работа [96,1 K], добавлен 25.06.2013

  • Особенности разработки и реализации обучающей программы и схемы алгоритмов на языке программирования С++. Понятие равномерной и неравномерной дискретизации. Представление информации (составление кода) в виде таблицы перекодировки или многочлена.

    курсовая работа [704,6 K], добавлен 06.03.2013

  • Программный комплекс для разработки программы транслирующей программу с языка Pascal на язык С++. Построение логической и арифметической модели решения. Разработка компилятора для программы. Методы отладки программы и создание для нее документации.

    курсовая работа [742,6 K], добавлен 03.07.2011

  • Описание языка программирования Java: общие характеристики, главные свойства, краткий обзор. Надежность и безопасность, производительность и базовая система программы. Разработка программы поиска по словарю, алгоритм её работы. Общий вид кода программы.

    курсовая работа [20,3 K], добавлен 28.10.2012

  • Разработка программы, реализующей метод принятия решения на основе паутинной диаграммы, исходя из количества объектов исследования, их весов и критериев оценки. Листинг программного кода и пример работы программы: расчет площади многоугольников-объектов.

    контрольная работа [1,1 M], добавлен 10.06.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.