40128

Языки программирования и их классификация

Доклад

Менеджмент, консалтинг и предпринимательство

При первом способе его началом является пара символов а окончанием последний символ строки: Это комментарий При втором способе его началом является пара символов а окончанием пара символов: Еще один пример комментария В C различают три группы типов данных: фундаментальные типы встроенные типы и типы определяемые пользователем. Фундаментальные типы делятся на...

Русский

2015-01-17

66 KB

0 чел.

Языки программирования делятся на 3 группы:

  1.  Машинные языки – исходный текст программы состоит из машинных кодов, которые непосредственно могут исполнятся на ЭВМ.
  2.  Машинно-ориентированные языки – исходный текст программы состоит из условных обозначений команд микропроцессора.
  3.  Алгоритмические языки (языки высокого уровня) – исходный текст программы состоит из инструкций, удобных для восприятия человеком и при этом четко формализованных.

Для записи текста программы на C++ используется алфавит языка. Алфавит состоит из следующих символов:

1.   Буквы:

_  а...z A...Z

2.   Цифры:

0...9

3.   Специальные символы:

‘ “ + - * / \ % = > < # | & ^ ~ ! ? . , : ; () [] {}

4.   Пробел, символ табуляции, перевод строки (переход на новую строку).

Заглавные и строчные буквы в C++ различаются.

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

Минимальной единицей языка, обладающей определенным смыслом, является лексема.

Лексема - это последовательность из одного или нескольких символов. Лексемы делятся на следующие группы: идентификаторы, литералы, операторы, разделители, ключевые слова, комментарии и директивы препроцессора.

Идентификатор (или просто имя) - это имя переменной, константы, функции, типа, синоним типа, имя метки или имя константы типа перечисления (enum).

Применение идентификатора начинается с разъяснения компилятору его назначения. Это разъяснение называется определением. В соответствии с этим определением идентификатор может применяться только в некоторой части программы.

Эта часть называется областью видимости идентификатора.

Некоторые правила именования идентификаторов:

1.   Идентификатор начинается с буквы и может содержать буквы и цифры (знак подчеркивания считается буквой).

2.   Ограничения на длину имени не накладываются, но конкретная реализация может различать лишь конечное число его начальных символов (в Visual C++ компилятор различает только первые 31 символ).

3.   Имена, начинающиеся со знака подчеркивания, зарезервированы для нужд реализации (использовать их в программах не следует).

4.   Идентификаторы с малой областью видимости должны быть короткими, а с большой - по возможности подробными. Для разделения слов в имени удобно пользоваться знаком подчеркивания.

5.   Стилистическое соглашение между программистами: в начале имени добавляется сокращенное обозначение типа данных (i - int, d - double, p - указатель, sz -С-строка и т.д.).

6.   В именах макросов лучше использовать только заглавные буквы.

Примеры идентификаторов:

hello DEFINED varO long name bAr BAR class MyVariable foO

Примеры лексем, которые нельзя использовать в качестве идентификаторов:

012 $sys if .name pay.due

n+m A1&A2 Not_Done!

Некоторые идентификаторы являются стандартными, например, имя главной функции программы (main).

Литерал - это изображение конкретного значения одного из арифметических типов, либо типа С-строки.

Различают литералы: логические, символьные, целые, с плавающей точкой и строковые.

Примеры литералов:

true

а

12345

543.21

"Простая  строка   на   C++!"

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

Операторы бывают унарные и бинарные. Унарные операторы бывают префиксные и постфиксные (суффиксные).

Важные особенности C++, позволяющие строить гибкие и эффективные выражения:

1.   Поддерживается очень много различных операторов.

2.   Действие присваивания реализовано в виде оператора =.

3.   Для пользовательских типов данных возможно определение своих операций.

Примеры выражений на C++:

а += 5 + (b = с % 2)

а = ((b < с) ? (d = е) : (f = g))

р = &(х++)

Разделитель - это символ или последовательность символов, разграничивающая одни конструкции языка или их части от других.

Прежде всего, к разделителям относятся: пробел, символ табуляции и перевод строки.

Их можно использовать в любом количестве и сочетании между двумя любыми лексемами, а в некоторых местах они просто необходимы.

Символ «точка с запятой» (;) является специальным разделителем в инструкциях (он часто неофициально называется пустой инструкцией или пустым оператором - это неверно).

При описании конкретных конструкций языка указано, какие в них используются разделители и в каких местах.

Комментарий - это произвольный текст, поясняющий работу участков программы и не влияющий на ее выполнение.

В C++ комментарий включается в программу двумя способами.

При первом способе его началом является пара символов «//», а окончанием последний символ строки:

// Это комментарий!

При втором способе его началом является пара символов «/*», а окончанием - пара символов «*/»:

/*  Еще один пример

комментария!      */

В C++ различают три группы типов данных: фундаментальные типы, встроенные типы и типы, определяемые пользователем.

Фундаментальные типы делятся на:

1. Логический тип (bool).

2. Символьные типы (char, wchar_t).

3. Целочисленные (целые) типы (например, тип int).

4. Типы с плавающей точкой (например, double).

5. Тип void - используется для указания на отсутствие информации.

Логический, символьные и целые типы вместе называются интегральными, и к ним можно применять все арифметические и все логические операции.

Интегральные типы вместе с вещественными типами с плавающей точкой называются арифметическими, и к ним применимы все арифметические операции и обычные (непобитовые) логические операции (операции сравнения, операции: «И», «ИЛИ», «НЕ»).

Встроенные типы делятся на:

1. Типы указателей (например, int *).

2. Типы ссылок (например, double &).

3. Типы массивов (используются квадратные скобки: []).

4. Типы функций (используются круглые скобки: ()).

Типы, определяемые пользователем, делятся на:

1. Типы перечислений (enum) - используются для представления значений из конкретного множества.

2. Типы структур и классы (struct, union, class).

Класс можно называть обобщением типа структуры.

Пользовательские типы позволяют формировать на базе фундаментальных и встроенных типов структуры данных (объекты) произвольной сложности.

Размер результата вычисления выражения или размер объекта определенного типа в байтах можно получить при помощи оператора sizeof следующим образом: sizeof expr. Здесь expr- выражение.

Размер самого типа можно получить при помощи оператора sizeof следующим образом: sizeof (type). Здесь type - имя типа или то же, что и expr.

Характеристики типов, зависящие от реализации можно также получить, используя заголовочный файл <limits>.

В C++ крайне важно различать понятия «объявление» и «определение». Прежде чем использовать идентификатор в программе, его следует объявить. Объявить - означает: связать имя с некоторым типом. Примеры объявлений:

// Объявления, являющиеся определениями.

char sym;

const double pi = 3.1415926535897932385;

const char *season[] = {"весна", "лето", "осень", "зима"};

struct Date {int d, m, y;};

int day(Date *p) { return p->d; }

typedef complex<short> Point;

enum Beer {Carlsberg, Tuborg, Thor};

namespace NS { int a; } // Определение пространства имен.

// Чистые объявления - не являются определениями,

double sqrt(double);

extern int error_number;

Из примеров видно, что объявления могут делать нечто большее, чем просто связывание имени с типом. Большинство объявлений являются одновременно и определениями, т. е. они определяют некоторую сущность, которая соответствует имени.

Например, для sym - это выделение областей памяти определенных размеров, для pi - это размещение в памяти определенного константного значения, для Date - это определение нового типа, для day - это определение тела функции и т. д.

Из приведенных объявлений определениями не являются: sqrt и error_number. Эти объявления являются чистыми объявлениями (другие названия - прототипы, сигнатуры, интерфейсы).

Сущности, на которые ссылаются данные имена, должны быть определены где-то в другом месте. Тело функции sqrt должно быть задано каким-то другим объявлением, и память для целой переменной error_number должна быть выделена некоторым другим объявлением.

Например:

double sqrt(double d) { /* Тело функции */ };

int error_number = 1;


 

А также другие работы, которые могут Вас заинтересовать

22613. Вивчення коливань фізичного маятника 210.5 KB
  Вивчення коливань фізичного маятника. Експериментальне вивчення коливального руху маятникастержня у гравітаційному полі Землі. Маятникстержень макетна установка для здійснення коливального руху маятника та вимірювання періоду його коливань. У випадку фізичного маятника мал.
22614. Визначення густини твердого тіла. Особливі методи зважування 93.5 KB
  Конструкція аналітичних терезів. Коромисло головний елемент терезів це рівноплечий важіль з опорною призмою посередині та шальками терезів 2 на кінцях. Точність терезів у значній мірі залежить від якості опор коромисла тому що тертя між призмою та опорною площиною впливає на результати вимірювань. З метою зменшення тертя шальки терезів на кінцях коромисла навішують через системи вантажепід\'ємних призм та подушок.
22615. Методичні вказівки до роботи з комп'ютерними програмами обрахунку даних лабораторних робіт з механіки та вимірювального циклу 414.5 KB
  Значна кількість студентів має ускладнення з застосуванням методу найменших квадратів частинного диференціювання при обробці непрямих вимірюваньз вибором та застосуванням відповідної методики визначення похибок вимірювання. У роботі треба зробити прямі ввимірювання маси та лінійних розмірів тіл правильної геометричної форми і обрахувати густину речовиниз якої зроблене тіло. Вона зкомпонована з програми безпосередніх обчислень та програми Обробка прямих вимірювань яка використовується для обробки результатів спостереженьпов'язаних з...
22616. ВИВЧЕННЯ ПРУЖНОГО УДАРУ ДВОХ КУЛЬ 23.5 KB
  Користуючись методом найменших квадратів МНК визначити модуль пружності сталі E модуль Юнга. Дати оцінку похибки визначення модуля Юнга E за методом НК. Дати оцінку E для одного окремо взятого вимірювання вивести формулу середнього квадратичного відхилення модуля Юнга SЕ . Модуль Юнга сталі E = 20  1010 Н м2 .
22617. Вивчення коливань струни 63 KB
  Якщо у iдеально гнучкої однорiдної струни що має нескiнчену довжину i знаходиться у станi рiвноваги вiдтягнути маленьку дiлянку та потiм вiдпустити її то виникає збурення яке пересувається вздовж струни у двох протилежних напрямках утворюючи двi бiжучi поперечнi хвилi. Якщо довжина струни скiнчена то бiжучi хвилi вiдбиваються вiд її кiнцiв. Фази та амплiтуди вiдбитих хвиль залежатимуть при цьому вiд положення та засобу закрiплення кiнцiв струни.
22618. Прямі вимірювання 929.5 KB
  Щоб отримати наближені значення похибки у формулу підставляють не істинне а так зване дійсне значення вимірюваної величини. Коли мова йде про похибки то їх звичайно підрозділяють на 3 категорії: промахи систематичні похибки та випадкові похибки. Промахи або грубі похибки виникають як результат неуважності експериментатора несправності приладів різких відхилень в умовах проведення експерименту стрибок напруги в електричній мережі та таке інше. Систематичні похибки відзначаються тим що не змінюються протягом часу.
22619. Вимірювальний практикум. Механіка 23 KB
  Вступні лекції Перша лекція Друга лекція Третя лекція Вимірювальний практикум Визначення густини твердого тіла Вимірювання струмів та напруг у колах постійного струму Вимірювання опорів за допомогою мостової схеми постійного струму Вимірювання електрорушійної сили ЕРС та напруг компенсаційним методом Градуювання напівпровідникового датчика температури Методичні вказівки до лабораторної роботи Електронний осцилограф Завдання до лабораторної роботи Визначення питомого опору провідника Механіка Вивчення коливань струни Вивчення...
22620. Вимірювання опорів за допомогою мостової схеми постійного струму 57.5 KB
  Вимірювання опорів за допомогою мостової схеми постійного струму. Вимірювання невідомих опорів за допомогою мосту Уітстона. Вимірювальні магазини опорів блок гальванометрів джерело живлення набір невідомих опорівз'єднувальні провідники.1 Вона складається з чотирьох опорів R1 R2 R3 R4 утворюючих плечі мосту гальванометра G та джерела живлення U підключених відповідно до діагоналей мосту ВД та АС.
22621. Крутильний балістичний маятник 181 KB
  Визначення швидкості польоту кулі у повітрі за допомогою крутильного балістичного маятника. Макетна установка для здійснення непружної взаємодії кулі та крутильного балістичного маятника вимірювання його кута відхилення та періоду колівань металеві кулі. Як у випадку балістичного так і балістичного крутильного маятника час співудару кулі з маятником значно менший порівняно з періодом виникаючих коливань Т тобто маятник не встигає відчутно відхилитися за час співудару. Якщо під час руху маятника знехтувати моментом сил тертя то можна...