Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Трансляция и выполнение




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

Запись алгоритма на языке, понятном машине, называется машинной программой, а язык - машинным языком. Для разных типов компьютеров машинные языки разные.

Машинные операции кодируются с помощью цифрового кода (номера операции) и информации об операндах - адрес ячейки памяти, отведенной для хранения операнда. Следовательно, машинная программа ненаглядная, трудно понимаемая для человека.

Отличия алгоритмических языков от машинных языков:

· большая выразительная возможность: алфавит алгоритмического языка шире алфавита машинного языка;

· набор операций не зависит от набора машинных операций и определяется удобством формулирования алгоритмов;

· одно предложение языка задает достаточно содержательный процесс обработки;

· удобное задание для человека операций, например, математическая запись;

· операнды имеют имена, выбираемые программистом (более удобно, чем адреса);

· более широкий выбор типов данных и, в целом, широкий набор вычислительных структур.

Алгоритм на алгоритмическом языке не может быть выполнен непосредственно на компьютере. Он должен быть переведен на машинный язык.

Если возможен перевод алгоритмического языка на машинный по формальным правилам, то перевод осуществляется машиной, с помощью выполнения определенной машинной программы. Такая программа называется транслятором с данного алгоритмического языка (на данный машинный язык).

Обратите внимание! Транслятор - это алгоритм, для которого входом служит текст на алгоритмическом языке, а выходом - текст на машинном языке.

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

Если мы всегда пишем правильные программы и имеем возможность работать с хорошим компилятором, то для практических целей можно условно считать компилятор и вычислительную машину единой машиной, которая может непосредственно выполнять программы. Таким образом, мы можем совершенно не задумываться о процессе компиляции. Комбинация компилятора и вычислительной машины иногда называется виртуальной машиной.

Нам не нужно было бы вникать в структуру виртуальной машины, если бы не возможность возникновения ошибок.

Существуют три типа ошибок в программах:

· Синтаксические ошибки − ошибки, которые можно обнаружить при компиляции.

· Ошибки, обнаруживаемые при выполнении рабочей программы (при некоторых входных данных программа не работает, например, деление на нуль).

· Ошибки, которые не обнаруживаются компьютером ни при компиляции, ни при выполнении программы (неправильный алгоритм).




Поделиться с друзьями:


Дата добавления: 2014-01-15; Просмотров: 375; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.