![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Язык программированияСтр 1 из 7Следующая ⇒
Машинный код процессора Алгоритм и программа Язык программирования Компиляторы и интерпретаторы Классификация языков программирования Системы программирования Средства создания программ Эволюция языков программирования Структурное программирование Объектно-ориентированное программирование
Машинный код процессора Процессор компьютера – это большая интегральная микросхема. Все команды и данные он получает в виде электрических сигналов. Сигналы можно представить как совокупности нулей и единиц, т.е. числами. Разным командам соответствуют разные числа. Поэтому реально программа, с которой работает процессор, представляет собой последовательность чисел, называемую машинным кодом. Алгоритм и программа Управлять компьютером нужно по определенному алгоритму. Алгоритм – это точно определенное описание решения задачи в виде конечной (по времени) последовательности действий. Такое описание ещё называется формальным. Для представления алгоритма в виде, понятном компьютеру, служат языки программирования. Сначала всегда разрабатывается алгоритм действий, а потом он записывается на одном из таких языков. В итоге получается текст программы - полное, законченное и детальное описание алгоритма на языке программирования. Затем этот текст программы специальными служебными приложениями, которые называются трансляторами, либо переводится в машинный код, либо исполняется. Трансляция это способ преобразования исходного текста программы, написанного на языке высокого уровня, в язык машинных кодов (объектный код). В процессе трансляции проводится лексический, синтаксический и семантический анализ текста программы. Если в программе имеются ошибки, то система программирования выдает соответствующие сообщения. Одной из разновидностей транслятора является компилятор, обеспечивающий перевод программ с языка высокого уровня (приближенного к человеку) на язык более низкого уровня (близкий к ЭВМ), или машинный язык. Другая разновидность транслятора – ассемблер, осуществляющий перевод с языка низкого уровня (языка Ассемблер) на машинный язык, имеющий примерно тот же уровень. Некоторые трансляторы служат для переноса программ с одной машины на другую.
Язык программирования Самому написать программу в машинном коде весьма сложно, причем эта сложность резко возрастает с увеличением размера программы и трудоемкости решения нужной задачи. Условно можно считать, что машинный код приемлем, если размер программы не превышает нескольких десятков байтов и нет потребности в операциях ручного ввода/вывода данных. Поэтому сегодня практически все программы создаются с помощью языков программирования. Теоретически программу можно написать и средствами обычного человеческого (естественного) языка – это называется программированием на метаязыке (подобный подход обычно используется на этапе составления алгоритма), но автоматически перевести такую программу в машинный код пока невозможно из-за высокой неоднозначности естественного языка. Языки программирования – искусственные языки. От естественных они отличаются ограниченным числом «слов», значение которых понятно транслятору, и очень строгими правилами записи команд (операторов). Совокупность подобных требований образует синтаксис языка программирования, а смысл каждой команды и других конструкций языка – его семантику. На этапе лексического анализа производится выделение из исходного текста отдельных слов и символов языка и их проверка. Определяются ключевые слова, имена объектов и данных, удаляются лишние пробелы и комментарии. Нарушение формы записи приводит к тому, что транслятор не может понять назначение оператора и выдает сообщение о синтаксической ошибке. На этапе семантического анализа производится проверка типов данных. Правильно написанное, но не отвечающее алгоритму использование команд языка приводит к семантическим ошибкам (называемые ещё логическими ошибками времени выполнения). Процесс поиска ошибок в программе называется тестированием, процесс устранения ошибок – отладкой. Примеры вопросов 1. Компонент интегрированной системы программирования, • построителем кода; • транслятором; • переводчиком; • редактором связей? 2. На какой стадии трансляции может быть выявлена ошибка «пропущена точка с запятой»: • на стадии оптимизации кода; • на стадии лексического анализа; • на стадии синтаксического анализа; • на стадии семантического анализа? 3. Какая стадия трансляции занимается проверкой типов в выражениях: • генерация кода; • лексический анализ; • семантический анализ; • синтаксический анализ? 4. К какому сообщению приводит обнаруженное при тестировании нарушение формы записи программы? — К сообщению о синтаксической ошибке.
|