Розробка діалогової системи для рішення прикладних задач

Автор работы: Пользователь скрыл имя, 15 Ноября 2013 в 23:44, курсовая работа

Описание работы

Язык программирования C++ широко используется для разработки программного обеспечения. А именно, создание разнообразных прикладных программ, разработка операционных систем, драйверов устройств, а также видео игр и многое другое. Существует несколько реализаций языка программирования C++ — как бесплатных, так и коммерческих. Их производят проекты: GNU, Microsoft и Embarcadero (Borland). Проект GNU — проект разработки свободного программного обеспечения (СПО). Язык программирования С++ был создан в начале 1980-х годов, его создатель сотрудник фирмы Bell Laboratories – Бёрн Страуструп.

Файлы: 1 файл

теория.doc

— 557.00 Кб (Скачать файл)


Введение

 

 

C++ компилируемый язык  программирования общего назначения, сочетает свойства как высокоуровневых,  так и низкоуровневых языков  программирования. В сравнении с  его предшественником, языком программирования Cи, наибольшее внимание уделено  поддержке объектно-ориентированного и обобщённого программирования. Название «язык программирования C++» происходит от языка программирования C, в котором унарный оператор ++ обозначает инкремент переменной.

Язык программирования C++ широко используется для разработки программного обеспечения. А именно, создание разнообразных прикладных программ, разработка операционных систем, драйверов устройств, а также видео игр и многое другое. Существует несколько реализаций языка программирования C++ — как бесплатных, так и коммерческих. Их производят проекты: GNU, Microsoft и Embarcadero (Borland). Проект GNU  — проект разработки свободного программного обеспечения (СПО).

Язык программирования С++ был создан в начале 1980-х годов, его создатель сотрудник фирмы Bell Laboratories – Бёрн Страуструп.

Он придумал ряд усовершенствований к языку программирования C, для  собственных нужд. Т. е. изначально не планировалось создания языка программирования С++.  Ранние версии языка С++, известные под именем »Cи с классами», начали появляться с 1980 года. Язык C, будучи базовым языком системы UNIX, на которой работали компьютеры фирмы Bell, является быстрым, многофункциональным и переносимым. Страуструп добавил к нему возможность работы с классами и объектами, тем самым зародил предпосылки нового, основанного на синтаксисе С, языка программирования. Синтаксис C++ был основан на синтаксисе C, так как Бьёрн Страуструп стремился сохранить совместимость с языком C.

 

 

1 Основная часть

 

    1. Основные типы С++

 

 

Основные типы в C++ подразделяются на две группы: целочисленные типы и типы с плавающей точкой. Это арифметические типы.

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

К целочисленным типам  относятся типы, представленные следующими именами основных типов: char, short, int, long .

Имена целочисленных  типов могут использоваться в  сочетании с парой модификаторов  типа: signed, unsigned.

Эти модификаторы изменяют формат представления данных, но не влияют на размеры выделяемых областей памяти.

Модификатор типа signed указывает, что переменная может принимать  как положительные, так и отрицательные  значения. Возможно, что при этом самый левый бит области памяти, выделяемой для хранения значения, используется для представления знака. Если этот бит установлен в 0, то значение переменной считается положительным. Если бит установлен в 1, то значение переменной считается отрицательным.

Модификатор типа unsigned указывает, что переменная принимает неотрицательные значения. При этом самый левый бит области памяти, выделяемой для хранения значения, используется так же, как и все остальные биты области памяти - для представления значения.

В ряде случаев модификаторы типа можно рассматривать как имена основных типов.

Здесь также многое определяется конкретной реализацией. В версиях Borland C++ данные типов, обозначаемых как signed, short и int в памяти занимают одно и то же количество байтов.

Особое место среди  множества основных целочисленных типов занимают перечисления, которые обозначаются ключевым словом enum. Перечисления представляют собой упорядоченные наборы целых значений. Они имеют своеобразный синтаксис и достаточно специфическую область использования. К плавающим типам относятся три типа, представленные следующими именами типов, модификаторов и их сочетаний: float, double, long double.

Как и ранее, модификатор  типа входит в число имён основных типов.

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

Для хранения значений плавающих  типов в памяти используется специальный  формат представления вещественных чисел. Этот формат называется IEEE форматом.

А вот сочетания имён типов и модификаторов для представления чисел с плавающей точкой: float, double, long double.

Вот и всё об основных типах. Помимо основных типов в C++ существуют специальные языковые средства, которые  позволяют из элементов основных типов создавать новые, так называемые производные типы.

 

 

    1. Операторы ввода и вывода

 

 

Cin – это объект входного потока пространства  имен std:std::cin>>x; В данном коде программы используется оператор cin, операция взятия из потока >> чтобы получить от пользователя введенное им значение. Объект std::cin забирает вводимую пользователем информацию из стандартного потока ввода, который обычно является клавиатура. Функция cin достаточно интеллектуальна, чтобы понять, какая информация введена с клавиатуры. Ведь мы можем ввести целое число, а также можем ввести дробное, символьное или текст.

Cout – это объект  выходного потока пространства  имен std::. Это необъявленный идентификатор. Его не нужно объявлять. Его нужно только подключать к программе при помощи слова include: #include std::cout <<"Выходной поток"; В данном коде программы используется оператор cout, операция поместить в поток <<, чтобы вывести на экран пользователю определенную информацию. В данном случае на экран выведется Выходной поток. cout достаточно умный, чтобы определить, что нужно вывести на экран, то есть это будет переменная дробного числа или целого или символьного.

1.3 Условный оператор

Для того чтобы иметь  возможность реализовать логику в программе используются условные операторы. Умозрительно эти операторы  можно представить в виде узловых пунктов, достигая которых программа делает выбор по какому из возможных направлений двигаться дальше. Например, требуется определить, содержит ли некоторая переменная arg положительное или отрицательное число и вывести соответствующее сообщение на экран. Для этого можно воспользоваться оператором if (если), который и выполняет подобные проверки. В самом простом случае синтаксис данного оператора if имеет вид:

If  <выражение>   <операторы>  end

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

 

 

 

 

1.4 Цикл for

 

 

Цикл for является одним из основных видов циклов, которые имеются во

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

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

Синтаксис:  

for (<выражение инициализации>; <условное выражение>; <выражение  цикла>)               

<тело оператора>;

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

Тело  оператора  for  выполняется  нуль и более раз до тех пор, пока условное выражение <условное выражение> не станет  ложным.

Выражения инициализации <выражение инициализации> и цикла <выражение цикла> могут быть использованы для инициализации  и модификации величин во время  выполнения оператора for.

Первым шагом при выполнении оператора for является вычисление выражения инициализации, если оно имеется. Далее вычисление продолжается в зависимости от значения условного выражения:

1 Если условное выражение истинно (не равно нулю), то выполняется тело оператора.  Потом вычисляется  выражение  цикла (если оно есть). Процесс повторяется снова с вычислением условного выражения.

2  Если условное выражение опущено, то его значение принимается за истину и процесс выполнения продолжается, как описано выше. В этом случае оператор for может завершиться только при выполнении в теле оператора операторов break, goto, return.

3 Если условное выражение ложно, то выполнение оператора for заканчивается и управление передается следующему оператору в программе.

Оператор for может завершиться  при  выполнении  операторов break, goto, return в теле оператора. В некоторых случаях использование оператора запятая (,) позволит вводить составные выражения в оператор цикла for.

 

1.5 Цикл while

 

 

В конструкции while вычисляется выражение. Если его значение отлично от нуля (истинно), то выполняется тело оператора и выражение вычисляется снова. Этот цикл продолжается до тех пор, пока значение выражения не станет нулем, после чего выполнение программы продолжается с места после тела оператора.

Синтаксис:   

while (<выражение>) <тело  оператора>; 

 

Изначально значение суммы s положили равным нулю. В переменной i содержится очередное слагаемое, которое будет прибавляться к сумме s. Первым таким слагаемым будет i = 100.

 

 Пока выражение, заключенное  в круглые скобки цикла while будет истинным, совершается тело цикла. В теле цикла к сумме s прибавляется слагаемое i и это слагаемое уменьшается на 1. Цикл закончит свое выполнение, когда слагаемое i станет равным нулю и не будет выполняться условие i > 0.

Операторы можно разделять запятой (‘,’), тогда они будут выполняться последовательно. Если два оператора в теле цикла while объединить в последовательное выполнение, то можно не брать в фигурные скобки тело цикла:  

 

#include <stdio.h>

int s,i;

void main(void)

s = 0; i = 100; 

while(i > 0)   

s += i,i--; 

printf("%d\n",s);

}

 

 

1.6 Цикл do-while

 

 

Оператор цикла do-while проверяет условие окончания в конце, после каждого прохода через тело цикла; тело цикла всегда выполняется по крайней мере один раз. Сначала выполняется тело оператора, затем вычисляется выражение. 

Если оно истинно, то тело оператора выполняется снова  и т.д. Если выражение становится ложным, цикл заканчивается.

Синтаксис:

do <тело оператора> while (<выражение>);

Тело оператора do выполняется один или несколько раз до тех пор, пока выражение <выражение>  станет  ложным  (равным  нулю). Вначале  выполняется <тело оператора>, затем вычисляется <выражение>. Если выражение ложно, то оператор do  завершается и управление передается следующему оператору в программе.  Если  выражение  истинно  (не равно нулю), то тело оператора выполняется снова и снова проверяется выражение. Выполнение  тела оператора  продолжается  до  тех  пор,  пока  выражение не станет ложным.

 

 

 

 

 

 

1.7 Массивы в С++

 

 

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

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

Любой массив в C++ характеризуется  тремя параметрами: именем, типом элементов и размером. Как и обычная переменная, перед использованием массив должен быть объявлен. Общая форма записи объявления:

тип_элементов имя_массива[размер_массива];

Здесь тип_элементов - это любой  из известных стандартных типов (int, float, double, char и т.д.), имя_массива - уникальное имя (идентификатор), используемое для обращения к массиву, размер_массива - количество его элементов. В качестве последнего параметра в объявлении может быть использована только целочисленная константа или константное выражение.

Объявление массива является командой компилятору на выделение памяти для хранения его элементов. Общее количество выделенной памяти зависит не только от числа элементов, но и от размера каждого элемента, то есть от его типа. Например, текстовая строка из 1000 символов (тип char) займет P = 1000*sizeof(char) = 1000 байтов, а массив из такого же количества вещественных чисел двойной точности (тип double) займет уже в восемь раз больше - P = 1000*sizeof(double) = 8000 байтов.

Нумерация элементов в массиве  начинается с нуля. Таким образом, первый элемент массива имеет индекс 0, а последний - индекс n-1, где n - размер массива. Обращение к элементу производится с использованием имени массива и индекса элемента в квадратных скобках. Например, запись “x[0] = 5.5;” означает “присвоить значение 5.5 нулевому элементу массива x”.

Информация о работе Розробка діалогової системи для рішення прикладних задач