- •20 Лекция №1. Линейные под. Информатика и программирование
- •Лекция №1 Линейные под
- •Процессы обработки данных, вычислительные процессы, алгоритмы.
- •Этапы подготовки и решения задач на эвм
- •Проектирование программ
- •Жизненный цикл программы
- •Содержание этапа «Анализ требований»
- •Спецификация программы
- •Содержание этапа «Проектирование»
- •Содержание этапа «Кодирование»
- •Языки программирования
- •Содержание этапа «Испытание»
- •Содержание этапа «Эксплуатация»
- •Содержание этапа «Моральное старение»
- •Операторы Object Pascal
- •Оператор присваивания
- •Пример оператора присваивания
- •Синтаксичеcкие диаграмм
- •Синтаксичеcкая диаграмма оператора присваивания
- •Контрольные вопросы
- •Источники дополнительных сведений
- •Предметный указатель
Содержание этапа «Кодирование»
На основе проекта программы и выбранных одного или нескольких языков программирования разрабатываются программы, реализующие проект.
Языки программирования
Для реализации алгоритмов на компьютере используют языки программирования. В настоящее время существует несколько десятков языков программирования. Некоторые из них устарели, многие активно используются. Сложность реализуемых проектов постоянно увеличивается, одновременно появляются новые технические решения и возможности. Для эффективной реализации алгоритмов в обновляющейся среде разрабатываются новые языки программирования. Для каждого языка есть своя область применения: вычислительные задачи, накопление и обработка данных, управление информационными потоками и прохождением задач в компьютерных системах, обеспечение коммуникации в локальных и глобальных сетевых проектах, и т.д.
Языки программирования подразделяют по уровням. Уровень языка определяется степенью детализации инструкций в программе - чем менее подробна программа, тем выше уровень языка, на котором она написана. По этому критерию обычно выделяют три уровня языков программирования:
машинные (языки машинных команд);
машинно-ориентированные (ассемблеры);
машинно-независимые (языки высокого уровня).
Машинные языки и машинно-ориентированные языки — это языки низкого уровня. Они предназначаются для компьютеров или класса компьютеров с определенной структурой системы команд и используются для программирования элементарных операций обработки данных. Программные конструкции, написанные на таких языках, часто используются для создания языков высокого уровня.
Языки высокого уровня используют слова естественных языков, чаще всего английского, и общепринятые математические символы. Эти языки более удобны для человека, они используются независимо от типа компьютеров.
Языки высокого уровня делятся на:
алгоритмические (Basic, Pascal, С и др.), в которых программа однозначно реализует алгоритм;
логические (Prolog, Lisp и др.), которые ориентированы на построение алгоритма решения задачи;
объектно-ориентированные (Object Pascal, C++, Java и др.), в основе которых лежит понятие объекта, а в программе описываются правила взаимодействия объектов и их реакции на события, возникающие в операционной среде.
При программировании на машинном языке программист может держать под своим контролем каждую команду и любую область памяти и создавать максимально эффективные программы. Но процесс написания сложной программы на машинном языке очень трудоемок и утомителен. Программа получается громоздкой, труднообозримой, её трудно тестировать, отлаживать, изменять и развивать.
Языки высокого уровня облегчают работу программиста, ускоряют процесс составления и модификации программы и повышают надежность создаваемых программных продуктов.
Для перевода программы, написанной на языке высокого уровня, в соответствующую машинную программу используются языковые процессоры. Различают два вида языковых процессоров: интерпретаторы и трансляторы.
Интерпретатор — это программа, которая получает исходную программу и по мере распознавания конструкций входного языка реализует действия, описываемые этими конструкциями.
Транслятор — это программа, которая принимает исходную программу и порождает на своем выходе программу уже на другом языке программирования (например, объектную программу). В частном случае, объектным может оказаться машинный язык, и в этом случае полученную на выходе транслятора программу можно сразу же выполнить на ЭВМ. В общем случае объектный язык необязательно должен быть машинным или близким к нему (автокодом). В качестве объектного языка может служить и некоторый промежуточный язык.
Для промежуточного языка может быть использован другой транслятор или интерпретатор — с промежуточного языка на машинный. Транслятор, использующий в качестве входного язык близкий к машинному (автокод или язык Ассемблера), традиционно называют Ассемблером.
Транслятор с языка высокого уровня называют компилятором.