Языки программирования высокого уровня

Содержание

Слайд 2

Описание языка программирования Цель: формализовать описание языка программирования для построения процедур

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

Цель: формализовать описание языка программирования для построения процедур трансляции
Описание

языка программирования состоит из четырёх компонентов:
описание лексики,
описание синтаксиса,
описание семантики,
описание прагматики.
Слайд 3

Описание языка программирования Лексика (словарь языка, алфавит языка) – набор основных

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

Лексика (словарь языка, алфавит языка) – набор основных и

специальных символов. К специальным символам относятся знаки операций и разделители (+ - * = : и др.).
Литера – один знак (буква цифра = ! < и др.).
Символ – неделимая с точки зрения языка
конструкция.
Примеры символов языка С:
while do for else int float return = != < <= >= <> ( )
+ ++ - -- ;
Слайд 4

Описание языка программирования В исходной программе смежные символы могут быть разделены

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

В исходной программе смежные символы могут быть разделены произвольным

количеством пробелов, но внутри символа пробелы не допускаются, например,
for (i=1; i <= n; ++i)
p = p*x;
return (p);
Слайд 5

Описание языка программирования Синтаксис ЯП – совокупность правил для построения правильных

Описание языка программирования
Синтаксис ЯП – совокупность правил для построения правильных предложений

языка (набор требований, которым должна удовлетворять программа).
Семантика ЯП – правила истолкования предложений языка.
Например, а = а + 25 имеет следующее истолкование: содержимое ячейки с именем а увеличивается на 25.
.
Слайд 6

Описание языка программирования Прагматика ЯП – методология программирования, т.е. описание методов

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

Прагматика ЯП – методология программирования, т.е. описание методов и

приёмов, позволяющих исходя из постановки задачи составить программу её решения.
Описание прагматики (применения) языка отвечает на вопрос: «Как писать программы на данном языке программирования?». Описание прагматики не формализуется, это - передача опыта.
Слайд 7

Структура компилятора Компилятор - это программа, которая переводит программу на языке

Структура компилятора

Компилятор - это программа, которая переводит программу на языке высокого

уровня в эквивалентную программу на другом (объектном) языке.
Слайд 8

Структура компилятора Работа компилятора включает два основных этапа: 1. Анализ -

Структура компилятора

Работа компилятора включает два основных этапа:
1. Анализ - определение синтаксической

правильности исходной программы.
2. Синтез - генерация объектной программы;
этот этап выполняется для программ, не содержащих ошибок.
Слайд 9

Структура компилятора Таким образом, компилятор разбивается на составляющие модули:

Структура компилятора

Таким образом, компилятор разбивается на составляющие модули:

Слайд 10

Классификация программного обеспечения Программное обеспечение(ПО) – совокупность программ, описаний и инструкций

Классификация программного обеспечения

Программное обеспечение(ПО) – совокупность программ, описаний и инструкций по

их применению, позволяющих использовать компьютер как универсальную систему для хранения, обработки и обмена информацией.
Классификация ПО:
Слайд 11

Классификация программного обеспечения Системное ПО обеспечивает организацию вычислительного процесса и контроль

Классификация программного обеспечения

Системное ПО обеспечивает организацию вычислительного процесса и контроль за

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

Классификация программного обеспечения Прикладное ПО – программы, с помощью которых пользователь

Классификация программного обеспечения

Прикладное ПО – программы, с помощью которых пользователь решает

задачи, не прибегая к программированию.
Примеры прикладного ПО:
графические редакторы (Adobe Photoshop, CorelDRAW),
текстовые редакторы (Microsoft Word),
табличные процессоры (Microsoft Excel),
издательские системы (PageMaker, QuarkXPress),
программы монтажа видеофильмов (Adobe Premiere),
игры и др.
Слайд 13

Классификация программного обеспечения Система программирования (СП) – это программное обеспечение, позволяющее

Классификация программного обеспечения

Система программирования (СП) – это программное обеспечение, позволяющее разрабатывать

и исполнять на компьютере программы, написанные на языке более высокого уровня, чем язык машинных команд.
Наиболее известные и широко используемые СП: Microsoft Visual Studio ( C++, C#, F#, Basic – в версии 2010), Borland Delphi и др.

Компоненты СП:

Слайд 14

Парадигмы программирования Виды парадигм программирования: процедурная, объектно-ориентированная, функциональная, логическая. Каждая из

Парадигмы программирования

Виды парадигм программирования:
процедурная,
объектно-ориентированная,
функциональная,
логическая.
Каждая из парадигм используется

для решения задач определённого класса.
Слайд 15

Парадигмы программирования Процедурные языки дают программисту возможность разбить программу на несколько

Парадигмы программирования

Процедурные языки дают программисту возможность разбить программу на несколько процедур

(подпрограмм).
Процедура - именованная последовательность действий для решения некоторой подзадачи поставленной задачи.
Языки процедурного программирования: Фортран, Паскаль, С и др.
Слайд 16

Парадигмы программирования Объектно-ориентированная парадигма базируется на понятии – объект. =============================== Объект

Парадигмы программирования

Объектно-ориентированная парадигма базируется на понятии – объект.
===============================
Объект объединяет (инкапсулирует)

данные и действия (методы) по их обработке (Рис.*).
===============================
Объекты взаимодействуют между собой, посылая и получая сообщения (Рис.**).
=================================
Взаимодействуя между собой, объекты управляют ходом выполнения программы.
=================================
Языки ООП: С++, С#, Java и др.

Рис.*

Рис.**

Слайд 17

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

Парадигмы программирования

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

формальном языке
воспользоваться системой логического вывода для получения решения.
============================================
Программист сообщает что известно и задаёт вопросы.
==============================================
Программа больше является описанием того, что нужно сделать, чем того, как это сделать.
==============================================

Язык логического программирования: Prolog и др.

Слайд 18

Парадигмы программирования Задача, предложенная в книге Н. Нильсона по искусственному интеллекту,

Парадигмы программирования

Задача, предложенная в книге Н. Нильсона по искусственному интеллекту, решается

в рамках логической парадигмы.
Тони, Майкл и Джон – члены альпинистского клуба. Каждый член этого клуба является горнолыжником, скалолазом или и тем и другим.
Все скалолазы не любят дождь.
Все горнолыжники любят снег.
Джон любит снег.
Майкл любит всё, что не любит Тони, и не любит всё, что любит Тони.
Тони любит снег и дождь.
Есть ли член альпинистского клуба, который является скалолазом и не является горнолыжником? Кто он?