Этапы и проблемы решения задач с использованием компьютера
Решение задач на компьютере. Уровни вычислительных систем: архитектура компьютера, операционные системы, методы и технологии программирования, прикладные технологии, информационные системы. Виды программного обеспечения (ПО): программа, программный комплекс, программный продукт (изделие), программная система. Основные показатели качества ПО. Жизненный цикл ПО: основные этапы и процессы, их соотношение с содержанием и видами занятий учебной дисциплины.
2. Общие сведения о языке программирования C++ и системе программирования
Языки программирования и системы программирования. История создания языков C и C++. Краткая характеристика языка C++. Структура и основные элементы программы. Классификация действий и данных. Пример программы на языке C++. Система программирования. Трансляция программ и выполнение программы. Стандарты C и C++. Системы программирования C/C++ для различных вычислительных платформ и операционных сред.
2.1. История создания языка C++
Язык C++ создавался на основе языка C и является его расширенной и улучшенной версией, в которой реализованы принципы объектно-ориентированного программирования. С++ также включает ряд других усовершенствований языка C, например расширенный набор библиотечных функций. Поэтому историю его создания следует начать с его предка.
Язык C был разработан Дэнисом Ритчи как "надстройка" над ассемблером в начале 70-х годов прошлого столетия. Язык C был предназначен для поддержки технологии структурного программирования. В 1983 году был учрежден комитет по созданию ANSI-стандарта, для обеспечения единства в различных реализациях этого языка. Конечная версия этого стандарта стала доступной для желающих в начале 1990 годов. Эта версия языка C получила название С89, и именно она явилась фундаментом, на котором был построен язык C++. Язык C многие относят к языкам "среднего" уровня, который позволяет программисту достаточно просто делать практически все, что он хочет, но за последствия этих действий в большинстве случаев ответственность ложится именно на программиста, а не на язык программирования.
Усложнение программ в конце 70-х годов привело к появлению новых технологий программирования, одной из которых является объектно-ориентированное программирование. Язык C не поддерживал эту технологию, что, в конечном итоге, и привело к разработке языка C++.
Дату рождения языка C++ относят к 1979 году, когда Бьерн Страуструп создал язык "С c классам". Свое современное название (C++) он получил в 1983 году. Язык C++ полностью включает в себя все элементы языка C, то есть программы, написанные на языке C, практически без изменений могут быть откомпилированы в системах C++. Основные новшества языка C++ связаны с поддержкой технологий объектно-ориентированного программирования.
В 1994 году был предложен стандарт языка C++. Однако вскоре, в связи с созданием Александром Степановым стандартной библиотеки шаблонов (STL), стандарт был пересмотрен в сторону существенного расширения и усложнения. Этот стандарт появился в свет в 1998 году и основным стандартом языка C++ до настоящего времени и поддерживается всеми основными современными C++ - компиляторами.
C++ является родительским по отношению к таким языкам, как Java и C#. Эти языки очень похожи, хотя и предназначены для решения задач различных категорий. Языки Java и C# предназначены, в первую очередь, для решения задач ориентированных на сильно распределенные сетевые среды. Но благодаря своей способности поддерживать многоплатформные среды эти языки теряют в своей эффективности (например, в быстродействии) по сравнению с языком C++.
2.2. Краткая характеристика языка C++
Алфавит языка
Алфавит C++ включает:
· прописные и строчные латинские буквы и знак подчеркивания;
· арабские цифры от 0 до 9;
· специальные знаки:
“ { } , | [ ] ( ) + - / % * . \ ‘ : ? < = > ! & # _ ; ^
· пробельные символы: пробел, символы табуляции, символы перехода на новую строку.
Из символов алфавита формируются лексемы (лексема или элементарная конструкция - минимальная единица языка, имеющая самостоятельный смысл):
· ключевые (зарезервированные) слова;
· идентификаторы;
· знаки операций;
· константы;
· разделители (скобки, точка, запятая, пробельные символы);
· комментарии.
Границы лексем определяются другими лексемами, такими, как разделители или знаки операций.
Ключевые слова
Всего в C++ 63 ключевых слов:
asm | else | new | this |
auto | enum | operator | throw |
bool | explicit | private | true |
break | export | protected | try |
case | extern | public | typedef |
catch | false | register | typeid |
char | float | reinterpret_cast | typename |
class | for | return | union |
const | friend | short | unsigned |
const_cast | goto | signed | using |
continue | if | sizeof | virtual |
default | inline | static | void |
delete | int | static_cast | volatile |
do | long | struct | wchar_t |
double | mutable | switch | while |
dynamic_cast | namespace | template |
Ключевые слова предопределены в языке программирования и имеют вполне определенный смысл для компилятора. Использовать эти слова по какому-либо другому назначению нельзя.
Идентификаторы
Идентификаторы – это имена различных программных объектов (имена переменных, констант, функций и т.д.).
Синтаксически правильный идентификатор – это последовательность латинских букв, цифр и символов «_» - нижнее подчеркивание, начинающаяся с буквы или символа «_».
Важно помнить, что в C++ различается строчное и прописное написание букв. То есть, например, идентификаторы ABC, Abc и abc представляют в программе не один и тот же объект, а три разных объекта. Некоторые компиляторы позволяют отключить такую чувствительность к написанию букв, но делать этого не следует, так как это может помешать переносимости программ с одного компилятора на другой.
Максимальная длина идентификатора в стандарте языка не установлена, однако, в некоторых компиляторах это значение ограничено 32 символами или может регулироваться с помощью настроек компилятора.
Использование в собственных идентификаторах в качестве первого символа «_» нежелательно, так как так обычно именуются различные системные объекты, и в ряде случаев может помешать переносимости программ с одного компилятора на другой. Обычно этот символ используется для выделения отдельных частей идентификаторов с целью обеспечения более удобного их восприятия.
Пользовательские идентификаторы не должны совпадать с ключевыми словами языка. При таком совпадении компилятор выдает сообщение о синтаксической ошибке. Также нежелательно совпадение пользовательских идентификаторов с именами стандартных функций или переменных, так как при этом становится невозможным использование соответствующих стандартных функций и переменных. В этом случае ошибки при компиляции программы не возникает.
Имена программных объектов (идентификаторов) должны отражать назначение именуемых объектов. Простые (обезличенные) идентификаторы следует использовать для различных вспомогательных объектов, когда их область действия ограничена.
Знаки операций
Служат для указания действий над операндами. В зависимости от количества операндов в C++ имеются унарные, бинарные и одна тернарная операции. Знаки операций могут изображаться одним или несколькими символами. Если операция содержит в своем изображении несколько символов, то между символами не должно быть пробелов. Некоторые операции в C++ в зависимости от контекста могут выполнять разные действия. Большинство стандартных операций можно переопределять (перегружать).
Константы
Константы – это данные, значения которых не могут меняться в процессе работы программы. Подробно синтаксические правила записи различных констант будут рассмотрены при изучении соответствующих типов данных. Сейчас только одно замечание по поводу использования алфавита языка при формировании строковых (текстовых) констант: в них можно использовать не только символы алфавита языка C++, но и все другие символы, имеющиеся в используемой таблице символов (символы национальных алфавитов, символы псевдографики и т.д.).
Комментарии
Комментарии – это фрагменты текста, игнорирующиеся компилятором при обработке текста программы. Комментарии в текстах программ используются для различных пояснений к тексту программы, а также для исключения временно не нужных фрагментов текста программы (например, отладочных кодов или вариантов реализации).
В C++ имеются комментарии двух видов: однострочные и многострочные.
Однострочный комментарий начинается двумя символами // (прямой косой черты) и заканчивается в конце строки текста программы.
Многострочный комментарий – начинается символами /* и заканчивается */ и может содержать множество строк. Многострочные комментарии не могут вкладываться друг в друга. Однострочные комментарии могут находиться внутри многострочных комментариев.
Дата добавления: 2019-02-07; просмотров: 237;