Контрольный рубеж 2 / Основы программирования
.docxПрограммирование
-
Машинный код
Команды, поступающие в процессор по шинам, представляют собой последовательности нулей и единиц, то есть числа.
Поэтому программа, с которой работает процессор, представляет собой последовательность чисел, называемую машинным кодом.
Каждая модель процессора имеет свой собственный набор команд. Говорят, что процессор A совместим с процессором B, если процессор A полностью «понимает» машинный код процессора B.
Программа «Hello, world!» для процессора архитектуры x86 выглядит следующим образом (в шестнадцатеричном представлении ):
BB 11 01 B9 0D 00 B4 0E 8A 07 43 CD 10 E2 F9 CD 20 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21
-
Понятие алгоритма и языков программирования
Алгоритм - Точно определенное описание способа решения задачи в виде конечной (по времени) последовательности действий.
Для представления алгоритма в виде, понятном компьютеру, служат языки программирования.
Алгоритм записывается на одном из таких языков, полученный текст программы с помощью трансляторов (спец. служебные приложения) переводится в машинный код, либо исполняется.
Язык программирования - формализованный язык.
-
Синтаксис и семантика языков программирования
Синтаксис языка программирования определяет «слова», понятные транслятору, и правила записи команд (операторов).
Синтаксис – это описание языка программирования, определяющее вид, форму и структуру конструкций языка.
Пример. «Это кошка страус зеленая». Слова и символы допустимы для русского языка, но вместе составляют недопустимую конструкцию (синтаксическая ошибка)
Семантика языка программирования определяет смысл каждой синтаксической структуры. Семантика языка – это интерпретация абстрактного синтаксиса в терминах модели. Пример. «Зеленая кошка – это страус». Синтаксис правильный, но фраза лишена смысла (семантическая ошибка).
Процесс поиска ошибок в программе (синтаксических или семантических) называется тестированием, процесс устранения ошибок – отладкой.
-
Компиляторы
Компилятор автоматически переводит текст программы в машинный код, который затем можно использовать отдельно от текста исходной программы.
Компиляторы полностью обрабатывают весь текст программы. Они просматривают его в поисках ошибок, а затем транслируют в машинный код. При этом выполняется оптимизация.
В результате законченная программа получается компактной и эффективной и может быть перенесена на другие компьютеры с процессором, поддерживающим этот код.
-
Интерпретаторы
Интерпретатор сразу выполняет команды языка, указанные в тексте программы. Интерпретатор берет очередной оператор, анализирует его структуру и исполняет, затем происходит переход к следующему оператору и т. д. Программы с большим объемом повторяющихся вычислений могут работать медленно Для работы на другом компьютере требуется наличие интерпретатора В реальных системах программирования используются и компиляция, и интерпретация. Отладка может выполняться в процессе интерпретации, а результирующий код не обязательно будет машинным – он может быть промежуточным машинно-независимым кодом абстрактного процессора, который в различных компьютерных архитектурах станет выполняться с помощью интерпретатора или компилироваться в соответствующий машинный код.