Программирование в C++

 

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

(ФГБОУ ВПО «ВГТУ»)

Факультет заочного образования

Кафедра Компьютерных интеллектуальных технологий проектирования






КУРСОВАЯ РАБОТА

По дисциплине: «Программирование»

По теме: «Программирование в C++»



Разработал студент В.В. Мешков

Руководитель П.Ю. Гусев









Воронеж, 2014г.


Введение


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


1. Теоретическая часть


.1 Общее описание языка


C++ - компилируемый <#"justify">1.2 История создания


Язык возник в начале 1980-х годов <#"justify">·Получить универсальный язык со статическими типами данных, эффективностью и переносимостью языка C.

·Непосредственно и всесторонне поддерживать множество стилей программирования, в том числе процедурное программирование <#"justify">Выбор именно C в качестве базы для создания нового языка программирования объясняется тем, что язык C:

·является многоцелевым, лаконичным и относительно низкоуровневым языком;

·подходит для решения большинства системных задач;

·исполняется везде и на всём;

·стыкуется со средой программирования UNIX.

Несмотря на ряд известных недостатков языка C, Страуструп пошёл на его использование в качестве основы, так как «в C есть свои проблемы, но их имел бы и разработанный с нуля язык, а проблемы C нам известны». Кроме того, это позволило быстро получить прототип компилятора (cfront), который лишь выполнял трансляцию добавленных синтаксических элементов в оригинальный язык C.

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

·сохранение действующего кода, написанного изначально на C и прямо перенесённого в C++;

·исключение необходимости переучивания программистов, ранее изучавших C (им требуется только изучить новые средства C++);

·исключение путаницы между языками при их совместном использовании («если два языка используются совместно, их различия должны быть или минимальными, или настолько большими, чтобы языки было невозможно перепутать»).

К 1983 году <#"justify">1.3 История стандартов


В 1985 году <#"justify">1.4 Обзор языка


Стандарт C++ на 2003 год <#"justify">1.Комментарии:

С++ поддерживает как комментарии в стиле C:

« /* это комментарий, который может состоять из нескольких строчек

*/»

так и однострочные:

«// вся оставшаяся часть строки является комментарием»,

где // обозначает начало комментария, а ближайший последующий символ новой строки, который не предварён символом \ (либо эквивалентным ему обозначением ??/), считается окончанием комментария.

2.Типы

В C++ доступны следующие встроенные типы:

·Символьные: char, wchar_t (char16_t и char32_t, в стандарте C++11 <#"justify">1.6 Объектно-ориентированные особенности языка


C++ добавляет к C объектно-ориентированные возможности. Он вводит классы, которые обеспечивают три самых важных свойства ООП <#"justify">1.Описание функций в теле класса

В теле класса можно указать только заголовок функции, а можно описать всю функцию (см. пример с функцией Alloc ниже. В этом случае она считается встраиваемой (inline)).

2.Константные функции-члены

Нестатические функции-члены (и только они) могут иметь описатель const

class Array

{

...double operator[] (int n) const;

Такие функции не имеют права изменять поля класса (кроме полей, определённых как mutable). Если они пытаются это сделать, компилятор должен выдать сообщение об ошибке.

3.Наследование <#"justify">Конструктор наследника вызывает конструкторы базовых классов, а затем конструкторы нестатических членов-данных, являющихся экземплярами классов. Деструктор работает в обратном порядке.

Наследование бывает публичным, защищённым и закрытым (то есть закрытого типа).

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

4.Полиморфизм

Семантика системы типов С++ не полиморфна (в отличие от потомков ML <#"justify">Основным способом организации информации в C++ являются классы. В отличие от структуры (struct) языка C, которая может состоять только из полей и вложенных типов, класс (class) C++ может состоять из полей, вложенных типов и функций-членов (member functions). Инкапсуляция в С++ реализуется через указание уровня доступа к членам класса: они бывают публичными (открытыми, public), защищёнными (protected) и собственными (закрытыми, приватными, private). В C++ структуры формально отличаются от классов лишь тем, что по умолчанию члены и базовые классы у структуры публичные, а у класса - собственные.

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

6.Конструкторы и деструкторы

В классах всегда есть специальные функции - конструкторы <#"justify">2.Практическая часть


2.1.Задача 1


Составить программу поиска трехзначных чисел которые при делении на 47 дают в остатке 43, а при делении на 43 дают в остатке 47.

Текст программы:


#include <iostream>

#include <conio.h>

#include <ctime>

namespace std;

()

{i,j;(i=100; i<1000; i++)

{if ((i%47==43) or (i%43==47))<<i<<endl;

}

_getch();

}


Выходные данные:




.2 Задача 2


Дано натуральное число. Определить номер цифры «8» в нем, считая от конца числа. Если такой цифры нет, ответом должно быть число 0, если таких цифр в числе несколько - должен быть определен номер самой левой из них.

Текст программы:


#include <iostream>

#include <conio.h>

#include <ctime>

#include <stdlib.h>

#include <cstring>

namespace std;

()

{a;j[25];dlina,i,bufer,k;=-1;=1;<< "Vvedite naturalnoe chislo:";>> a;(a<=0) cout<<"Chislo "<<a<<" ne podhodit pod uslovie zadachi"<<endl;(a>0)(a,j,10);= strlen(j)-1;(i=dlina;i!=-1;i--)

{(j[i]=='8')

{=k;

}=k+1;

}(bufer != -1)<<bufer<<endl; cout<<"0"<<endl;

_getch();

}


Входные, выходные данные





Заключение


В процессе курсовой работы мной были изучены методы создания циклов for, предложений if, в результате чего приобретены практические навыки в этих областях. Для этого использовалась главная функция main, обеспечивающая всю необходимую и правильную работу программы.

наследование инкапсуляция константный функция


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


1. Джарод Холингвэрт, Дэн Баттерфилд, Боб Сворт, Джэйми Оллсоп C++Builder 5. Руководство разработчика.

. Borland C++ Builder 5. Энциклопедия программиста. Калверт Ч., Рейсдорф К., "ДиаСофт" - 2001, 944 стр.

3. Галерея «ПЕТРОПОЛЬ». Неформальное введение в C++ и TURBO VISION. 1992г.

. М.И. Болски. Язык программирования Си. 1988г.

5. Герберт Шилдт. C + + для начинающих. Пер. с англ. М: ЭКОМ Паблишерз 2007.

. Герберт Шилдт. Полный справочник по C + + 4-е издание. Пер. с англ. М: издательский дом « Вильямс » 2010.


ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ