- •Введение в
- •Программирование — процесс создания компьютерных программ.
- •-Большая часть работы программистов связана с написанием исходного кода, тестированием и отладкой программ
- •Единственный язык, напрямую выполняемый ЭВМ — это машинный язык (также называемый машинным кодом
- •Тема 1. Основные методологии
- •Ядро классификации определяет парадигма программирования
- •Парадигма программирования определяет то, в каких терминах программист описывает логику программы.
- •Замечание
- •Примеры мультипарадигмальных языков программирования, разделённых по числу поддерживаемых парадигм
- •Процедурное программирование Парадигма: императивная
- •Структурное программирование
- •Декларативное программирование
- •Согласно второму определению, программа «декларативна», если она написана на функциональном языке программирования,
- •Функциональное программирование
- ••Математические функции выражают связь между
- ••Функциональное программирование не предполагает изменяемость данных (отсутствует такое понятие, как переменная). Основой для
- •Логическое
- ••Логическое программирование основано на теории и аппарате математической логики с использованием математических принципов.
- •ориентированное
- •Обобщенное
- ••ОП– это создание кода программы независимого от типа данных
- •ИНФОРМАЦИОННАЯ СИСТЕМА-
- •Язык программирования
- •Язык программирования
- •Синтаксис и семантика формального языка
- •Классификация языков программирования
- •Высокоуровневый язык программирования — язык
- •Языкам высокого уровня свойственно умение работать с комплексными структурами данных. В большинстве из
- •Сверхвысокоуровневый язык программирования
- •Так Icon (и его диалект Unicon ) являются VHLL. К языкам сверхвысокого уровня
- •Машинно-зависимые
- •1.Машинный язык. Отдельный компьютер имеет свой определенный Машинный язык , ему предписывают выполнение
- •Системы
- •Системы
- •Схема процесса обработки программы в ЭВМ
- •Рафаэль. Афинская школа
- •Рафаэль. Афинская школа
- •Функциональное программирование
- •Функциональное программирование
- ••Функциональное программирование не предполагает изменяемость данных (отсутствует такое понятие, как переменная). Основой для
- •Логическое
- •Обобщенное
- ••ОП– это создание кода программы независимого от типа данных
- •Синтаксис и семантика формального языка
•ОП– это создание кода программы независимого от типа данных
•Однако это можно обеспечить и с помощью шаблонов , например ,языка С++. Шаблон функций или классов задает поведение целого семейства функций и задают способы построения целого семейства классов.
Шаблоны являются инструментами обобщенного программирования, но оно идет дальше по пути обобщения.
Разнотипные данные могут быть объединены в различного типа контейнеры. 
•ОП -парадигма программирования, заключающаяся в написании алгоритмов обработки независимых не только от типов данных, содержащихся в контейнере, но и от самой структуры контейнера
21
ИНФОРМАЦИОННАЯ СИСТЕМА-
средство общения между людьми,
человеком и машиной и между
машинами
Естественный и формальный языки
Естественный язык знаковые системы, исторически
сформированные в процессе взаимодействия людей 
Это словесная разговорная речь.
Ему присуща неопределенность и неточность.
Формальный язык – знаковые системы, созданные людьми для
определенных целей (стенография, азбука 22
Язык программирования
•Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык
программирования определяет набор лексических, синтаксических и семантических правил, задающих
внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.
•Со времени создания первых программируемых машин
человечество придумало более двух с половиной тысяч
языков программирования. Каждый год их число увеличивается. Создатели языков по-разному толкуют
понятие язык программирования. К наиболее
распространённым утверждениям, признаваемым большинством разработчиков, относятся следующие:
•Функция: язык программирования предназначен для
написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации
управления отдельными устройствами.
23
Язык программирования
•Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки
используются для общения людей между собой. Можно
обобщить определение «языков программирования» — это
способ передачи команд, приказов, чёткого руководства к
действию; тогда как человеческие языки служат также для обмена информацией.
•Исполнение: язык программирования может использовать
специальные конструкции для определения и манипулирования
структурами данных и управления процессом вычислений.
24
Синтаксис и семантика формального языка
•Алгоритмический или формальный язык –это набор символов , являющихся алфавитом языка.
•Система правил связи символов для образования “слов” с помощью которых представляются компоненты языка называется лексикой языка
•Синтаксис формального языка есть система правил построения различных выражений этого языка из букв алфавита, правильно построенных формул. К синтаксису языка относятся правила построения операций, операторов, выражений и других конструкций языка. Синтаксис выражает момент формы в языке.
•Система истолкования слов языка называемся семантикой языка
•Семантика языка есть смысловое толкование различных конструкций языка
Классификация языков программирования
Языки программирования
Машинно-зависимые Машинно-независимые
Проблемно-ориентированные языки:
машинный Фортран, Алгол – языки, созданные для решения математических задач;
символьного
кодирования
Универсальные языки
Ассемблеры
26
Высокоуровневый язык программирования — язык
программирования, разработанный для быстроты и удобства использован ия программистом.
Основная черта высокоуровневых языков — это абстракция - введение смысловых конструкций, описывающих данные и операции над ними, описания которых на машинном коде (или низкоуровневом языке
программирования) очень трудоемки.
Высокоуровневые языки стремятся не только облегчить решение сложных программных задач, но упростить портирование программного
обеспечения.
Использование разнообразных трансляторов или
интерпретаторов обеспечивает связь программ, написанных при помощи
языков высокого уровня, с различными операционными системами и оборудованием, в то время как их исходный код остаётся, в идеале, неизменным.
Такого рода оторванность высокоуровневых языков от аппаратной реализации компьютера помимо множества плюсов имеет и минусы.
В частности, она не позволяет создавать простые и точные инструкции к
используемому оборудованию. |
27 |
Языкам высокого уровня свойственно умение работать с комплексными структурами данных. В большинстве из них интегрирована поддержка строковых типов, объектов, операций файлового ввода-вывода и т. п.
Первым языком программирования высокого уровня считается компьютерный язык Plankalkül, разработанный немецким инженером Конрадом Цузе ещё в период 1942—1946 годах.
Однако транслятора для него не существовало до 2000 года. Первым в мире транслятором языка высокого уровня является ПП (Программирующая Программа), он же ПП-1, успешно испытанный в 1954 году. Транслятор ПП-2 (1955 год, 4-й в мире транслятор) уже был оптимизирующим и содержал собственный загрузчик и отладчик, библиотеку стандартных процедур, а транслятор ПП для ЭВМ Стрела-4 уже содержал и компоновщик (linker) модулей. Однако, широкое применение высокоуровневых языков началось с возникновением Фортрана и созданием
компилятора для этого языка (1957).
28
Сверхвысокоуровневый язык программирования
(язык программирования сверхвысокого уровня, англ.
very high-level programming language, VHLL) — язык
программирования с очень высоким уровнем абстракции.
В отличие от языков программирования высокого уровня, где описывается принцип «как нужно сделать», в сверхвысокоуровневых языках программирования
описывается лишь принцип «что нужно сделать». Термин впервые появился в середине 1990-х годов для идентификации группы языков, используемых для быстрого написания одноразовых скриптов и подобных задач.
29
Так Icon (и его диалект Unicon ) являются VHLL. К языкам сверхвысокого уровня также часто относят такие современные сценарные и декларативные (в частности функциональные) языки как Python, Ruby и Haskell, а также Perl и предшествовавший ему мини-язык AWK.
Большой класс языков сверхвысокого уровня — это языки используемые для специфических приложений и задач (то есть предметно-ориентированные). В связи с этой ограниченностью они могут использовать синтаксис, который никогда не используется в других языках программирования, например, непосредственно синтаксис английского языка. Примером VHLL, распознающего синтаксис английского языка, может служить язык компилятора Inform версии 7.
30
