Языки программирования общие понятия

9. Языки программирования

9.1. Основные понятия и элементы языков программирования

Язык программирования – это набор букв, слов, чисел и мнемонических сокращений, используемых при записи компьютерной программы, а также правила записи программы из элементов языка (его синтаксис).

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

Алфавит – фиксированный для данного языка набор символов (букв, цифр, специальных знаков и т. д.), которые могут быть использованы при написании программы.

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

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

У формального языка много общего с естественным языком, предложения которого также строятся в соответствии с грамматическими правилами. Однако грамматика естественного языка, подобно наукам о природе с известной степенью достоверности описывает и обобщает результаты наблюдений за естественным языком как за явлением окружающего мира. Характерные для грамматики естественных языков исключения из правил свидетельствуют о том, что зафиксированная в грамматике языка система правил не может в точности описать все закономерности развития языка.

Читайте также:  Видеоуроки 1с предприятие программирование

Формальные языки проще естественных языков. Они создаются одновременно с системой правил построения слов и предложений. Исключения из правил в формальном языке могут свидетельствовать лишь о противоречивости и некорректности системы грамматических правил.

Иными словами, язык программирования имеет жёсткую структуру. По русски (на естественном языке) мы можем одну и ту же мысль выразить по-разному: «завтра идти на работу», «на работу идти завтра» или «завтра на работу идти». Эмоциональные оттенки этих фраз будут немного отличаться благодаря смысловому ударению. Однако, в программах такие вольности не допускаются. Если в любой конструкции языка программирования изменить порядок следования элементов, конструкция станет ошибочной.

Грамматические правила можно записывать различными способами. Грамматика естественного языка традиционно описывается в виде грамматических правил на естественном языке. Грамматика формального языка также может быть описана в виде множества правил на естественном языке. Но обычно для этого используют специальные средства записи: формулы и схемы.

Для многих широко распространённых языков программирования созданы международные стандарты. Специальные организации проводят регулярное обновление и публикацию спецификаций и формальных определений соответствующего языка. В рамках таких комитетов продолжается разработка и модернизация языков программирования и решаются вопросы о расширении или поддержке уже существующих и новых языковых конструкций.

Основными элементами (понятиями) языков программирования являются следующие.

Имена (идентификаторы) – последовательность символов для обозначения объектов программы (переменных, массивов, функций и дp.).

Операции. Существуют следующие типы операций:

  • арифметические операции: сложение, обозначается символом “+”; вычитание, обозначается символом “–”; умножение, обозначается символом “*”; деление, обозначается символом “/” и дp.;
  • логические операции: операции “логическое и”, “логическое или”, “логическое не” и др.;
  • операции отношения: меньше, обозначается символом “”; меньше или равно, обозначается символами “=”; равно, обозначается символом “=”; не равно, обозначается символами “<>”.
  • операция конкатенации символьных значений дpуг с другом, изображается знаком «+».
  • числовые: (7.5, 12;)
  • логические: (true(истина), false(ложь));
  • символьные: («А», «+»; и т.п.)
  • строковые: (например «abcde», «информатика»).
  • целые,
  • вещественные,
  • логические,
  • символьные
  • строковые.
  • арифметические;
  • логические;
  • строковые.

Источник

2.1. Основные понятия языков программирования.

Любой язык программирования должен включать следующие понятия:

алфавит– множество символов, с помощь которых записывается текст программы;

оператор – синтаксическая конструкция, предназначенная как для записи алгоритмических действий по преобразованию данных, так и для задания порядка выполнения других действий;

идентификатор (имя) – специальная неделимая группа символов из алфавита языка, используемая при записи операторов и ряда других элементов программы;

константа – идентификатор, имеющий постоянное значение, которое может быть в дальнейшем использовано в программе; изменять значение констант запрещается;

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

переменная – элемент данных, с которыми производятся действия; переменная обозначается идентификатором; любая переменная характеризуется таким важным понятием, как

тип – множество значений переменной и, как следствие, множество допустимых операций над этой переменной;

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

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

2.2. Структуры и типы данных языка программирования

Любая программа на процедурном языке программирования, как правило, оперирует с числовыми данными, поэтому любой язык программирования содержит числовые типы, которые подразделяются на целые и вещественные типы. Ряд языков обладает по одному или двум представителям целых и вещественных типов (например, в Фортране-77 насчитывается три целых и два вещественных типа – с обычной и одинарной точностью, а в языке Object Pascal – 9 целых и 7 вещественных типов). Каждый тип характеризуется объемом занимаемой памяти и множеством допустимых значений операндов для данного типа.

Современные языки программирования содержат, кроме того, логический, символьный и строковый (текстовый) типы. Практически ни один язык программирования не обходится без массивов. Язык Pascal весьма богат множеством стандартных типов и позволяет программистам создавать свои, пользовательские, типы.

2.3. Ада Лавлейс – первый в мире программист

2.3.1. Краткая историческая справка

Августа Ада Кинг Лавлейс (англ. Augusta Ada King Byron, Countess of Lovelace), английский математик.

Род деятельности: математика

Дата рождения: 10 декабря 1815 г.

Место рождения: Лондон, Великобритания.

Дата смерти: 27 ноября 1852 г.

Авгу́ста А́да Кинг (урождённая Ба́йрон), графиня Ла́влейс (англ. Augusta Ada King Byron, Countess of Lovelace, обычно упоминается просто Ада Лавлейс; 10 декабря 1815, Лондон, Великобритания — 27 ноября 1852, там же) — английский математик. Известна прежде всего созданием описания вычислительной машины, проект которой был разработан Чарльзом Бэббиджем. Составила первую в мире программу (для этой машины). Ввела в употребление термины «цикл» и «рабочая ячейка».

Источник

Лекция 8. Языки программирования

Компьютерная программа представляет собой логически упорядоченную последовательность команд, предназначен­ных для управления компьютером. Процессор компьютера исполняет программы, написанные на машинным кодом. Писать программы в машинных кодах вручную очень сложно, причем с ростом размера программы эта задача усложняется. В компьютерах первого поколения использовались программы, написанные в ма­шинных кодах, причем для каждого компьютера существовал свой собственный машинный код. В тот период (начало 50-х гг.) средства програм­мирования и программное обеспечение только зарождались и были еще не развиты. Для того чтобы сделать программу читабельной и иметь возможность следить за ее смысловой структурой, разработали символический язык ассемблер, близкий к машинному (конец 50-х – начало 60-х гг.), в котором появилось понятие переменной. Ассемб­лер стал первым полноценным языком программирования. Благода­ря этому заметно уменьшилось время разработки и возросла надеж­ность программ. Для записи кодов операций и обрабатываемой информации в ассемблере используются стандартные обозначения, позволяющие записывать числа и текст в общепринятом виде, для кодов команд приняты мнемонические обозначения, например MOV AX, BX (переместить машинное слово из регистра AX в регистр BX), ADD AX, CX (сложить регистр AX c CX), JMP loop1 (безусловный переход не метку loop1) и др. Для обозначе­ния величин, размещаемых в памяти, можно применять имена констант. После ввода программы ассемблер сам заменяет символические имена на адреса памяти, а символические коды команд на числовые. Исполь­зование ассемблера сделало процесс программирование более нагляд­ным. Дальнейшее развитие этой идеи привело к созданию языков программирования высокого уровня, в которых длинные и сложные последовательности машинных кодов были заменены одним един­ственным обозначающим их словом – операторы.

Источник

Понятие о языках программирования

Языки программирования – это формальные языки, специально созданные для общения человека с компьютером. Каждый язык программирования, равно как и «естественный» язык (русский, английский и т.д.), имеет алфавит, словарный запас свои грамматику и синтаксис, а также семантику.

Алфавит – фиксированный для данного языка набор основных символов, допускаемых для составления текста программы на этом языке.

Синтаксис – система правил, определяющих допустимые конструкции языка программирования из букв алфавита.

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

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

Синтаксис – описывает структуру программ как наборов символов (обычно говорят — безотносительно к содержанию).

Пример синтаксической ошибки : употребление оператора цикла For без To или Next, или отсутствие знака равенства в приведенной на рисунке программе.

Синтаксические ошибки распознаются встроенным синтаксическим анализатором.

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

Семантика – определяет смысловое значение предложений алгоритмического языка.

Пример семантической ошибки :

1) For i As Integer = 1 To 10 Step -2

2) Если надо вычислить , то запись x = a / b * c содержит семантическую ошибку, т.к. приоритет операций деления и умножения одинаков, то вначале а делиться на b , а затем полученный результат умножает на с .

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

Классы языков программирования

  • Императивное
  • Декларативное
    • функциональное
    • логическое
    • Процедурное
    • Объектно-ориентированное
    • Неструктурное
    • Структурное
    • Языки низкого уровня
    • Языки высокого уровня
    • алфавит языка значительно шире машинного, что делает его гораздо более выразительным и существенно повышает наглядность и понятность текста;
    • набор операций, допустимых для использования, не зависит от набора машинных операций, а выбирается из соображений удобства формулирования алгоритмов решения задач определенного класса;
    • конструкции операторов задаются в удобном для человека виде;
    • поддерживается широкий набор типов данных.
    • Фортран – старейший язык программирования, предназначен для решения математических задач.
    • Кобол – для решения экономических задач
    • Delphi – универсальный.
    • Бейсик , Pascal – для обучения.
    • Java (джава) – язык сетевого программирования.
    • Для системного программирования наиболее подходят языки C, C++, C#. Cи – язык разработанный для написания операционной системы UNIX (обычно ядро операционных систем писали на Assembler ).

    Источник

Оцените статью