Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Топ:
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Интересное:
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
2018-01-13 | 273 |
5.00
из
|
Заказать работу |
|
|
Язык программирования (ЯП) – формальная знаковая система, предназначенная для описания алгоритмов в форме, которая удобна для исполнителя (например, компьютера).
Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы.
Каждый язык программирования может быть представлен в виде набора формальных спецификаций, определяющих его синтаксис и семантику. Эти спецификации обычно включают в себя описание:
• Типов и структур данных
• Операционную семантику (алгоритм вычисления конструкций языка)
• Семантические конструкции языка
• Библиотеки примитивов (например, инструкции ввода-вывода)
• Философии, назначения и возможностей языка
Компилятор (compiler) — транслятор, который осуществляет перевод всей исходной программы в эквивалентную ей результирующую программу на языке машинных команд. (К. полностью (не построчно, как интерпретатор) преобразует исходный код программы в бинарный, который ОС может выполнять самостоятельно. Т. е. для запуска программы нет необходимости иметь К.. Схема работы К.: исх код прогр->К.->объектный код->ОС->результат)
Процесс компиляции состоит из следующих этапов:
1. Лексический анализ
2. Синтаксический (грамматический) анализ
3. Семантический анализ
4. Оптимизация
5. Генерация кода
Лексема - последовательность допустимых символов языка программирования, имеющая смысл для транслятора. Транслятор рассматривает программу как последовательность лексем.
|
Лексический анализ — процесс аналитического разбора входной последовательности символов (например, такой как исходный код на одном из языков программирования) с целью получения на выходе последовательности символов, называемых лексемами.
Грамматический анализ (грамматический разбор) — это процесс сопоставления линейной последовательности лексем (слов, токенов) языка с его формальной грамматикой. Результатом обычно является дерево разбора
Семантический анализ. Дерево разбора обрабатывается с целью установления его семантики (смысла) — напр. привязка идентификаторов к их декларациям, типам, проверка совместимости, определение типов выражений и т. д.
Интерпретатор — программа для интерпретации, т.е. непосредственного исполнения программ (производства вычислений, предписываемых этими программами) из исходного кода на определённом языке. (не генерируют машинного кода, а просто интерпретируют исходный код) (Если программа работает достаточно долго, то через некоторое время после запуска интерпретатор генерирует машинный код и передает управление ему) (читают исходный код программы и выполняет его. Преобразование в бинарный и выполнение происходит построчно. Схема работы интерпретаторов: исх код прогр->интерпретатор->ОС->результат)
Достоинства
• Бо́льшая независимость от платформы исполнения по сравнению с компилируемыми средами, так как интерпретатор не создает машинного кода;
• Упрощается построчная отладка программы;
• Более совершенные и наглядные средства диагностики ошибок в программе.
Недостатки
• Программы выполняются более медленно: декодирование элементов программы занимает больше времени, чем выполнение машинного кода;
• Программа занимает больше места в памяти: кроме самой программы и ее данных память также отводится под частично декодированную форму, таблицу символов и сам интерпретатор;
|
• Программа не может выполняться отдельно без интерпретатора;
• Практически отсутствует оптимизация кода, что приводит к дополнительному удлинению времени работы программы.
Компилируемые: ассемблер, С++, Паскаль; интерпретируемые: РНР, ДжаваСкрипт, Питон. С# и Джава – что-то среднее
Байт-код или байтко́д (псевдоко́д) — машинно-независимый код низкого уровня, генерируемый транслятором и исполняемый интерпретатором. Большинство инструкций байт-кода эквивалентны одной или нескольким командам ассемблера. Трансляция в байт-код занимает промежуточное положение между компиляцией в машинный код и интерпретацией
Императивное программирование – технология программирования, характеризующаяся принципом последовательного изменения состояния вычислителя пошаговым образом. При этом управление изменениями полностью определено и полностью контролируемо.
Императивные
• Неструктурированные
• Процедурные
• Объектно-ориентированные
• Скриптовые
(Описывает, КАК решить задачу и представить результат.
От машины к человеку
Джава, Питон, Си)
Декларативное программирование – технология программирования, построенная:
• на описании данных;
• на описании искомого результата.
Декларативные
• Функциональные
• Логические
• Языки разметки
(парадигма программирования, в которой задаётся спецификация решения задачи, т. е. описывается ЧТО представляет собой проблема и ожидаемый результат.
От человека к машине.
Не используют понятия состояния, т. е. не содержат переменных и операторов присваивания.
SQL, HTML)
Низкоуровневый язык программирования (язык программирования низкого уровня) — язык программирования, близкий к программированию непосредственно в машинных кодах используемого реального или виртуального (например, Java, Microsoft.NET, ассемблер) процессора.
Высокоуровневый язык программирования — язык программирования, разработанный для быстроты и удобства использования программистом. Основная черта высокоуровневых языков — это абстракция, то есть введение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на машинном коде (или другом низкоуровневом языке программирования) очень длинны и сложны для понимания. (Си, Питон, Лисп, Фортран, Делфи)
|
Объе́ктно-ориенти́рованное программи́рование (ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов.
Класс (class) – множество объектов, связанных общностью структуры и поведения; абстрактное описание данных и поведения (методов) для совокупности похожих объектов, представители которой называются экземплярами класса.
Объект (object) – конкретная реализация класса, обладающая характеристиками состояния, поведения и индивидуальности, синоним экземпляра.
Инкапсуляция (encapsulation) – техника, при которой несущественная с точки зрения интерфейса объекта информация прячется внутри него (упаковка данных и функций в единый компонент)
Наследование (inheritance) – свойство объектов, посредством которого экземпляры класса получают доступ к данным и методам классов-предков без их повторного определения.(реализация одного класса в терминах другого)
Полиморфизм (polymorphism) – свойство, позволяющее использовать один и тот же интерфейс для различных действий; полиморфной переменной, например, может соответствовать несколько различных методов. (взаимозаменяемость одного объекта другим со схожим интерфейсом) (способность функции обрабатывать данные разных типов)
|
|
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!