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

Содержание

Слайд 2

Эволюция языков программирования

Первым программистом была
женщина – леди Ада Лавлейс,
дочь поэта

Эволюция языков программирования Первым программистом была женщина – леди Ада Лавлейс, дочь
лорда Байрона.
Она разрабатывала программы
для одного из первых механических
компьютеров, созданного в начале
XIX века английским учёным
Чарльзом Беббиджом.
Однако настоящее программирование в современном понимании началось с момента создания первой ЭВМ. Тем не менее, имя этой замечательной женщины – Ada – присвоено одному из самых мощных современных языков программирования, который является базовым для министерства обороны США.

Слайд 3

Языки низкого уровня

Машинный язык – единственный язык, понятный ЭВМ. Он реализуется аппаратно:

Языки низкого уровня Машинный язык – единственный язык, понятный ЭВМ. Он реализуется
каждую команду выполняет некоторое электронное устройство. Программа на машинном языке представляет собой последовательность команд и данных, заданных в цифровом виде.
Стремление программистов оперировать не цифрами, а символами, привело к созданию мнемонического языка программирования, который называют языком ассемблера, мнемокодом, автокодом.

Слайд 4

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

Эти языки являются универсальными (с их помощью можно создавать любые

Языки высокого уровня Эти языки являются универсальными (с их помощью можно создавать
прикладные программы) и алгоритмически полными, имеют более широкий спектр типов данных и операций, поддерживают технологии программирования.
Принципиальными отличиями языков высокого уровня от языков низкого уровня являются:
? использование переменных;
? возможность записи сложных выражений;
? расширяемость типов данных за счет конструирования новых типов из базовых;
? расширяемость набора операций за счёт подключения библиотек подпрограмм;
? слабая зависимость от типа ЭВМ.

Слайд 5

Новое поколение языков

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

Новое поколение языков Универсальные языки программирования – позволяет получить быстро эффективную, надежную
безошибочную программу.
Проблемно-ориентированные языки программирования – решают экономические задачи (COBOL), задачи реального времени (Modula-2, Ada), символьной обработки (Snobol), моделирования (GPSS, Simula, SmallTalk), численно-аналитические задачи (Analitic) и другие.
Языки сверхвысокого уровня - программист задаёт отношения между объектами в программе, например систему линейных уравнений, и определяет, что нужно найти, но не задаёт как получить результат.

Слайд 6

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

По степени ориентации на специфические возможности ЭВМ.
По степени детализации алгоритма

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

Слайд 7

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

Структуры данных служат теми материалами, из которых

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

Слайд 8

Классификация структур данных

Классификация структур данных

Слайд 9

Основные процессы

Транслятор (англ. translator – переводчик) – это программа-переводчик, преобразующая программу, написанную

Основные процессы Транслятор (англ. translator – переводчик) – это программа-переводчик, преобразующая программу,
на одном из языков высокого уровня, в программу, состоящую из машинных команд.
Основные группы трансляторов:
1) Ассемблеры - системная обслуживающая программа, которая преобразует символические конструкции в команды машинного языка.
2) Компиляторы - (англ. compiler – составитель, собиратель) читает всю программу целиком, делает её перевод и создаёт законченный вариант программы на машинном языке, который затем и выполняется.
3) Интерпретаторы - (англ. interpreter – истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.

Слайд 10

Взаимодействие программ с устройствами ЭВМ

Эмулятор – программа или программно-техническое средство, обеспечивающее возможность

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

Слайд 11

Среда исполнения

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

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

Слайд 12

Классификация программных ошибок

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

Классификация программных ошибок По видам вредоносного воздействия: ошибки, приводящие к порче пользовательских
процессе обработки;
ошибки, приводящие к неавторизованному доступу к пользовательским данным;
ошибки, приводящие к исчерпанию системных ресурсов;
ошибки, приводящие к аварийному завершению исполнения программы;
ошибки, приводящие к исполнению злонамеренного кода.