Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СбУ-2014-13Б - / Лекции / Лекция-Языки и методы программирования.doc
Скачиваний:
77
Добавлен:
06.02.2016
Размер:
173.57 Кб
Скачать

Лекция на тему «Языки и методы программирования»

Вопросы:

  1. Машинный код процессора

  2. Алгоритм и программа

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

  4. Компиляторы и интерпретаторы

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

  6. Системы программирования

    1. Средства создания программ

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

    3. Структурное программирование

    4. Объектно-ориентированное программирование

  1. Машинный код процессора

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

  1. Алгоритм и программа

Управлять компьютером нужно по определенному алгоритму. Алгоритм – это точно определенное описание решения задачи в виде конечной (по времени) последовательности действий. Такое описание ещё называется формальным. Для представления алгоритма в виде, понятном компьютеру, служат языки программирования. Сначала всегда разрабатывается алгоритм действий, а потом он записывается на одном из таких языков. В итоге получается текст программы - полное, законченное и детальное описание алгоритма на языке программирования. Затем этот текст программы специальными служебными приложениями, которые называются трансляторами, либо переводится в машинный код, либо исполняется.

Трансляция это способ преобразования исходного текста программы, написанного на языке высокого уровня, в язык машинных кодов (объектный код). В процессе трансляции про­водится лексический, синтаксический и семантический анализ текста программы. Если в программе имеются ошибки, то система программирования выдает соответствующие сообщения.

Одной из разновидностей транслятора является компилятор, обеспечивающий перевод программ с языка высокого уровня (приближенного к человеку) на язык более низкого уровня (близкий к ЭВМ), или машинный язык. Другая разновидность транслятора – ассемблер, осуществляющий перевод с языка низкого уровня (языка Ассемблер) на машинный язык, имеющий примерно тот же уровень. Некоторые трансляторы служат для переноса программ с одной машины на другую.

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

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

Поэтому сегодня практически все программы создаются с помощью языков программирования. Теоретически программу можно написать и средствами обычного человеческого (естественного) языка – это называется программированием на метаязыке (подобный подход обычно используется на этапе составления алгоритма), но автоматически перевести такую программу в машинный код пока невозможно из-за высокой неоднозначности естественного языка.

Языки программирования – искусственные языки. От естественных они отличаются ограниченным числом «слов», значение которых понятно транслятору, и очень строгими правилами записи команд (операторов).

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

На этапе лексического анализа производится выделение из исходного текста отдельных слов и символов языка и их про­верка. Определяются ключевые слова, имена объектов и данных, удаляются лишние пробелы и комментарии. Нарушение формы записи приводит к тому, что транслятор не может понять назначение оператора и выдает сообщение о синтаксической ошибке.

На этапе семантического анализа производится проверка типов данных.

Правильно написанное, но не отвечающее алгоритму использование команд языка приводит к семантическим ошибкам (называемые ещё логическими ошибками времени выполнения).

Процесс поиска ошибок в программе называется тестированием, процесс устранения ошибок – отладкой.

Примеры вопросов

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

  • построителем кода;

  • транслятором;

  • переводчиком;

  • редактором связей?

2. На какой стадии трансляции может быть выявлена ошибка «пропущена точка с запятой»:

  • на стадии оптимизации кода;

  • на стадии лексического анализа;

  • на стадии синтаксического анализа;

  • на стадии семантического анализа?

3. Какая стадия трансляции занимается проверкой типов в выра­жениях:

  • генерация кода;

  • лексический анализ;

  • семантический анализ;

  • синтаксический анализ?

4. К какому сообщению приводит обнаруженное при тестировании нарушение формы записи программы? — К сообщению о синтаксической ошибке.