Основные возможности С++, операторы Case, построение интерфейса

СОДЕРЖАНИЕ.
ВВЕДЕНИЕ ………………………………………………………………….2
1. РАЗДЕЛ IСОЗДАНИЕ ДИАОЛОГА……………………………………6
          1.1.Построение диалога………………………………………………6
          1.2.Оператор Case…………………………………………………….9
2.РАЗДЕЛ II ОСНОВНЫЕВОЗМОЖНОСТИ ЯЗЫКА С++……………11
2.1.Первое знакомство с языком С++……………………………….12
2.2. Математически операции в С++. Основныетипы данных,   Операцияприсваивания. Операции инкремента и декремента…..13          2.3. Использование операторов ветвления…………………………16          2.4. Создание массивов. Циклические операции…………………..213.РАЗДЕЛ III ИНТЕГРИРОВАННАЯ СРЕДА РАЗРАБОТКИ MICROSOFT VISUAL STUDIO 5.0……………………………………….25ЗАКЛЮЧЕНИЕ……………………………………………………………..32СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ ……………………….33ПРИЛОЖЕНИЕ 1………………………………………………………………………..34

ВВЕДЕНИЕ
В одном энциклопедическомсловаре по поводу того, что такое язык, сказано буквально следующее:
«ЯЗЫК» — 1) естественный язык, важнейшее средствочеловеческого общения. Язык неразрывно связан с мышлением; являетсясоциальным средством хранения и передачи информации, одним из средствуправления человеческим поведением. Язык возник одновременно с возникновениемобщества в процессе совместной трудовой деятельности первобытных людей.Возникновение членораздельной речи явилось мощным средством дальнейшегоразвития человека, общества и сознания. Языки мира различаются строением,словарным составом и др., однако всем Языкам присущи некоторые общиезакономерности, системная организация единиц языка (например, парадигматическиеи синтагматические отношения между ними) и др.
C++ также является языком. Его так и называют «язык программирования        C++». Это формальный язык. Онслужит для описания данных и алгоритмов их обработки на ЭВМ. Несмотря наогромную разницу между естественными и формальными языками, у них есть многообщего. Их общие черты неожиданно проявляются в самых разных областях.
         Например, изучениеестественного языка является сложным процессом, включающим как обретениеэлементарных автоматических навыков, так и восприятие сложных абстрактныхпонятий. При этом возможность относительно свободного использования языка каксредства общения появляется уже на ранних стадиях этого процесса, когда вообщеещё не имеет смысла говорить о знании языка. Так, подавляющее большинствонаселения любого крупного города общается между собой, используя разговорныйязык той страны или той местности, в которой расположен этот город. Практическивсе, кто проживает в городе, свободно владеет разговорным языком, а вернее, навыкамиразговорной речи. При этом лишь незначительная часть жителей действительнознает этот язык.
Первые опыты программирования,подобно использованию навыков разговорной речи, не требуют особых познаний вобласти формальных языков. Для составления работающих программ достаточно иметьинтуитивные представления об алгоритмах и устройстве компьютера. Часто бываетдостаточно ознакомиться с несколькими работающими программами или даже сфрагментами таких программ, чтобы, в буквальном смысле используя образцы,успешно описывать собственные алгоритмы.
         Однако грамотная речьневозможна без знания языка, а профессиональное программирование требуетглубоких знаний в области языков программирования.
Дело в том, что C++ является языком «общения»человека с компьютером. Основным «читателем»текстов на языке C++ является транслятор. Это особая программа, в обязанностикоторой входит проверка правильности текста программы и его последующий переводна язык процессора — основного устройства ЭВМ, который и обеспечивает выполнениепрограммы.

— строчные и прописные буквы латинского алфавита (мы их будем называть буквами)
— цифры от 0 до 9 (назовём их буквами-цифрами),

         C++ — это сложный, логически стройный икрасивый язык. Его хорошеезнание приводит к мастерскому владению этим языком. И здесь уже будет по силамрешение любой задачи.
         Алфавит (или множество литер)языка программирования C++ основывается на множестве символов таблицы кодовASCII. Алфавит C++ включает:

— символ ‘_’ (подчерк — также считается буквой),
— набор специальных символов: ” { }, | [ ] + — % /; ‘:? =! & # ~ ^. * — прочие символы.
         Алфавит C++ служит для построения слов, которые в C++ называются лексемами.
 Различают пять типов лексем:
— идентификаторы,
— ключевые слова,
— знаки (символы) операций,
— литералы,
— разделители.

           Почти все типы лексем (кромеключевых слов и идентификаторов) имеют собственные правила словообразования,включая собственные подмножества алфавита. Лексемы разделяются разделителями.Этой же цели служит множество пробельных символов, к числу которых относятсяпробел, символы горизонтальной и вертикальной табуляции, символ новой строки,перевода формата и комментарии.
         C++ — это язык программирования общегоназначения, Цель которого — сделать работу серьезных программистов болееприятным занятием. За исключением несущественных деталей, C++ являетсянадмножеством языка С. Помимо возможностей, предоставляемых С, C++ обеспечиваетгибкие и эффективные средства определения новых типов. Программист можетразделить приложение на несколько фрагментов, определив новые типы, отражающиебазовые концепции предметной области. Такой способ разработки часто называютабстракцией данных. Объекты типов, определяемых пользователем, содержатнеобходимую информацию, свою для каждого типа. Такие объекты можно удобно ибезопасно использовать даже в контексте, где их тип нельзя определить во времякомпиляции. Программы, использующие объекты таких типов, часто называютобъектными. При надлежащем использовании подобные методы дают более короткие,понятные и простые в сопровождении программы. Ключевое понятие в C++ — класс.C++ предоставляет гораздо лучшие, чем С, средства для проверки типов иподдержки модульного программирования. Кроме того, язык содержитусовершенствования, непосредственно не связанные с классами, такие как:символические константы, встраивание функций в место вызова, аргументы функцийпо умолчанию, перегруженные имена функций, операторы управления свободнойпамятью и ссылки. C++ сохраняет способность языка С эффективно работать саппаратной частью на уровне битов, байтов, слов, адресов и т. д. Текущаяреализация будет работать на большинстве систем, поддерживающих язык С.Библиотеки языка С можно использовать в программе, написанной на C++, ибольшинство инструментальных средств С можно применять для C++.
Целью данной  курсовой работы  показать простое взаимодействие человека скомпьютером средствами языка С++. Microsoft Visual C++ имеет огромные средствасоздания для создания графических интерфейсов, но описание всех возможностейязыка С++  по созданию графическогоинтерфейса далеко уходить за рамки данной курсовой работы.

РАЗДЕЛ I
СОЗДАНИЕДИАОЛОГА
По словарю С.И.Ожегова: Интерфейс — в вычислительной технике:система унифицированных связей и сигналов, посредством которых устройствавычислительного комплекса взаимодействуют друг с другом.
От того, насколько удобен и практичен интерфейс зависит во многом успехпрограммы среди огромной массы уже созданных. Не редко, программы, которыеимеют меньше функциональных возможностей, но более приятный и интуитивныйинтерфейс становятся лидерами среди своих конкурентов. За примером далеко ходитне надо. Всем известная Windowsполучила такое широкое распространение и монополию, всего лишь тем что еёинтерфейс понятен даже ребёнку, ведь до её создания  понятие пользователь не существовало, былолишь понятие программист, который должен был днём и ночью помнить кучу команд вDOS для выполненияпростейших операций.
         Любой язык программирования позволяетсоздавать интерфейс с пользователем. Ведь программа не имеет смысла, есличеловек который её использует, не вводит исходные данные. Язык С++ имеетогромные средства для создания диалога с пользователем. В данной курсовойработе будет рассмотрен пример, в котором используется цифровое меню в качествепростейшего интерфейса.
1.1.Построениедиалога

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

— выбор задач, которые будут применены;
— создание алгоритма;
— выбор средств при помощи, которых будет создан диалог;
— анализ на удобность и практичность;
— некоторое усовершенствование;

1. Welcome to C++; 2. Mathematic operation; 3. The operator of a condition; 4. Using cycles ;        Диалог будет содержать следующие пункты меню:
При выборепервого пункта меню на экран будет выведена программа,  которая приветствует пользователя; при выборевторого — программа,  котораядемонстрирует простые математические возможности; при выборе третьего пункта –программа которая демонстрирует возможности оператора ветвления; при выборечетвёртого пункта программа демонстрирует возможности операторов цикла исложных типов данных. Общий вид диалога представлен на рис.1.1.
          Для создания диалога на языке С++, необходимоиспользовать поток ввода/вывода (cin/ cout), который более детально рассмотрены ниже.
      Задачи будут весьма простые, и всеони сводятся к демонстрации основных возможностей языка C++. Как указывалось выше диалог будет в виде цифровогоменю, после нажатия определённой клавиши пользователю будет открыватьсясоответствующая программа. Естественно такой диалог далеко не самый красивый,но с точки зрения практичности он имею довольно высокий уровень. Усовершенствоватьего можно путём добавления дополнительных пунктов или текстовых подсказок, дляобеспечения более комфортной работы с программой.

рис.1.1. Общий вид диалога

1.2.Оператор Case

Switch()
case: оператор1, оператор2;
case: оператор1, оператор2; Для создания данного диалога, лучше всего подойдёт оператор Case. Он позволяет в зависимости от значения переменнойвыполнять ту или иную часть программы. Использование другого оператораветвления т.е. IfElseменее предпочтительно, так как в данном примере  нужно оперировать одной переменной для переходак определённой части программы. Оператор Caseимеет следующий синтаксис:
 

Такимобразом, в нашем примере пользователь нажав определённую кнопку запуститсоответствующую часть программы.
Алгоритм  более детально представлен на рис1.2.

Mathematic operation;
Да
Нет
Да
Начало
Welcome to C++
 Main_select = 2
Нет
Да
 Main_select = 1

 Main_select = 3
                        Рис. 1.2. Схема диалога
Да
Нет
The operator of a condition.

 SHAPE * MERGEFORMAT
Using a cycles.
Нет
Да
Конец
 Main_select = 4

РАЗДЕЛ II
ОСНОВНЫЕ ВОЗМОЖНОСТИЯЗЫКА С++
Перечислим некоторые существенные особенности языка С++:
— С++ обеспечивает полный набор операторов структурного программирования,самые необходимые и главные из них будут рассмотренны чуть ниже;
— С++  предлагает необычнобольшой набор операций. Многие операции С++ соответствуют машинным командам ипоэтому допускают прямую трансляцию в машинный код. Разнообразие операцийпозволяет выбирать их различные наборы для минимизации результирующего кода;
С++ поддерживает указатели на переменные и функции. Указатель наобъект программы соответствует машинному адресу этого объекта. Посредствомразумного использования указателей можно создавать эффективно выполняемыепрограммы, т.к. указатели позволяют ссылаться на объекты тем же самым путем,как это делает ЭВМ. С++ поддерживает арифметику указателей, и тем самымпозволяет осуществлять непосредственный доступ и манипуляции с адресами памяти.
Однако, следует отметить, что преимущества языка С++ становятсяочевидными при реализации больших программных проектов. Первые же шаги припрограммировании на С++ требуют от студента тщательного проектированияпрограммы, а также определенной дисциплины при программировании.

2.1. Первое знакомство с языком С++
Большинствокниг по различным языкам программирования, начинают свои первые главы сописания создания небольшой программы, которая выводит на экран приветственноесообщение. Не уходя далеко от общепринятых стандартов, начнём наше знакомство сязыком С++, созданием программы которая выведет на экран сообщение «Helloworld».
Этопрограммы будет выводится у нас при нажатии кнопки 1, после создания нашегоконечного диалога. Но сначала всё по порядку.
Мы создадимпростейший диалог, который будет выводит сообщение на экран. Эта программа неимеет входных данных, поэтому с практической точки зрения она не имеет смысла.Но разобраться с тем, что такое диалог и как его создавать, даже самый простойочень важная часть в изучении С++, ведь без диалога или интерфейса не обходитсяни одна программа.
Длясоздания приветственного сообщения необходимо использовать поток вывода. Обычнопоток вывода используется совместно с потоком ввода, но так как вводится вкомпьютер в данном примере нечего не будет, будет использован  только поток вывода.
Чтобыиспользовать поток ввода/вывода необходимо сначала подключить его. Для этого вначале необходимо написать директиву #include
Синтаксиспотока ввода/вывода
cout  >> “Сообщение” ;
cin 
При помощи оператора coutна экран выводится сообщение, например приглашениепользователю ввести значение переменной, как показано на рис.1.1 Поток вывода.При помощи оператора cinпользователь вводит значениепеременной.
Потокввода /вывода, может иметь несколько сложную структуру, например, когда нужновывести на экран одновременно и строковую константу и значение переменной однойстрокой.
Например:
         cout
Следуетобратить внимание, на то, что строковая константа записывается с кавычками, апеременная без.
Итак, в данной программе будетвыведена на экран фраза: “Helloworld”. Для этого будет использован поток вывода: cout
2.2. Математически операции в С++. Основныетипы данных, Операция присваивания. Операции инкремента и декремента
 Любой язык программирования имеет огромныевозможности для создания программ, в которых используются сложныематематические вычисления. Средствами С++, так как он является языкомнизкоуровневым,  можно создать программыот простого калькулятор до сложных мат. физических моделей, который будутиспользовать всю вычислительную мощь ЭВМ.
Так как при различных задачахнеобходимо использовать различные типы чисел (натуральные, целые,действительные), С++ позволяет описывать тип переменной для её эффективногоиспользования. Есть  возможность выделитьдля переменной, которая имеет небольшой диапазон значений, достаточно безизбытка места в памяти.
Для того чтобы имя переменной можнобыло использовать у программе на С++, оно должно быть объявлено. То есть нужнознать тип данного индефикатора, чтобы сообщить компилятору к какому типуотносится данная переменная
Объявление типа переменной вводит имяпеременной в область видимости, которая простирается от точки объявленияпеременной до конца блока. Типы данных в С++ можно разделить на простые исложные:
Простые –те типы, которые позволяют описывать переменные представляющие собой простыеданные (число, символ). Сложные – представляют совокупность простых (массивы)
Простыетипы в свою очередь подразделяются на целые и вещественные. Целые типы данныхиспользуются для хранения целых типов данных. Вещественныетипы данных предназначены для хранения действительных чисел. В компьютередействительные числа хранятся в виде чисел с плавающей точкой, с помощьюмантиссы.
Целые типыданных указаны в таблице 2.1.
Таблица 2.1. Простые типы данных
Тип данных
Байты
Биты
Min
Max
char
1
8
— 128
127
short
2
16
-32768
32767
 int
2
16
-32768
32767
 long
4
32
-2147483648
2147483647
Все целые типы можно использовать каклогические (0-ложь, 1 и больше – истинна)
Вещественные типы данных указаны втаблице 2.2.
Таблица 2.2. Вещественные типы данных
Тип данных
Байты
Биты
Min
Max
float
2
32
3.4E-38
3.4E+38
double
4
64
1.7E-308
1.7E+308
long double
10
80
3.4E-4932
3.4E+4932
         Описыватьпеременные можно в любом месте программы, но только до её использования.Описывать переменные очень просто достаточно указать её тип и написатьназвание, которое используется для обозначения этой переменной в программе.Например
inta;
double b;
charc;
где а,b,c – имя переменных.
В некоторыхситуациях необходимо описать такие значения переменных, которые будут неизменятся, т.е. констант. Константы описываются точно так же как и переменнаятолько перед типом ставится служебное слово const
Например,
const int a=5;
Чтобы использовать математическиеоперации, такие как вычисление, косинуса, синуса, логарифма, корня аргументаи.т.д нужно подключить библиотечный файл, для этого в начале программы необходимопрописать директиву  #include         Операция присваивания, наверняка является самой частой операцией при написание программ на языке С++.          Операция присваивания позволяет оперировать переменными, присуждая им определённые значения, или оперировать ими как операндами.
          Простая форма операции присваивания.a = 2;            В этом случае переменной а присвоилось значение 2;            Левый операнд операции присваивания является лево опустимым выражением. В качестве правого операнда операции присваивания может выступать любое выражение. Значение правого операнда присваивается левому операнду. Значение выражения оказывается равным значению правого операнда. Не существует никаких ограничений на структуру этого операнда. Правый операнд может состоять из множества выражений, соединенных операциями присвоения:             Операция инкремента увеличивает значение переменной на 1А++                 Операция декремента уменьшает  значение переменной на 1А—            Операции инкремента и декремента бывают постфиксные и префиксные. Если ++ или – стоит перед переменная то операция префиксная, если после – постфиксная. Если операция префиксная то значение переменной сначала увеличивается (уменьшается)  на  1, а только потом данная переменная участвует в вычислениях.            Например int a =1;(++a)+1;      значение а = 3(a++)+1;      значение а = 2            Для вычисления квадратного корня переменной в С++ используется следующий синтаксис:sqrt();            Для вычисления синуса переменной в С++ используется следующий синтаксис:sin ();            C++ допускает вложение операций т.е. можно написать:sqrt (sin());            Синтаксис остальных математических операций, можно посмотреть в справочной литературе, так как описание всех математических функции и   их нюансов, выходит за рамки этой курсовой работы.            2.3. Использование операторов ветвления            Даже самые старые языки программирования имеют возможность выполнять те или иные действия в зависимости от условия. Без операторов ветвления не обходится не одна более или менее серьезная программа. В С++ чаще всего используется оператор условия и условная операция, разницу между ними будет показана ниже.            Оператор условия предназначен для реализации алгоритмической структуры разветвления, при этом сначала проверяется условие и если оно истинно то выполняется оператор или операторы, если же условие не выполняется то выполняется другое действие или вообще не чего не выполняется. Синтаксис оператора условияif () {оператор 1;оператор 2;…………оператор n;}else {оператор 1;…………оператор n;}            При необходимости после else (т.е после того как условие не выполнилось), можно вставить ещё одно условие, но если и оно не выполнится то ни какие действия выполнятся не будут.Например:int a=2;int b=3;int a=2;if (a>b) {max=a;}else (a            В этом примере  выбирается максимальное значение из 2-ух переменных, так как было задано условие в else, но если a=b не чего выполнятся не будет.            Операция сравнения имеет следующий синтаксис: = ()? : ;            Единственная в C++ операция с тремя операндами. Первое выражение-операнд располагается слева от знака ?, второе выражение-операнд располагается между знаками? и :, третье выражение-операнд — справа от знака :. Выполнение условной операции начинается с вычисления значения самого левого операнда. Если его значение оказывается правда или >=1, то вычисляется значение второго операнда, которое и становится значением выражения. Если значение первого операнда оказывается ложь или =0, то вычисляется значение третьего операнда, и тогда это значение становится значением выражения. В качестве первого операнда часто используется условие. Тот же пример, только уже с использованием условной операцию int b=3;int a=2;max = (a>b)? a: b;            Как видно из этих двух примеров, разница между оператором сравнения и условной операцией очень большая, хоть они и являются операторами ветвления. Во-первых, условную операцию лучше всего использовать в небольших программах, где в зависимости от условия нужно присвоить переменной то или иное значение, программа получается короче и проще. Но в программах, где необходимо создать сложную разветвлённую структуру, использование оператора условия просто необходимо, Также их можно объединять для создания ещё более сложной разветвляющей структуры.             Разветвляющую структуру представлен на следуещем п