- •Понятие алгоритма.
- •Языки программирования
- •1. Интерпретация (Interpretation) - метод выполнения в эвм программы, заданной на языке программирования, при котором инструкция исходной программы переводится и сразу выполняется.
- •2. Компиляция (Compile - собирать) -метод выполнения в эвм программы, но не сразу, а лишь тогда, когда собран перевод всего текста программы.
- •Вопросы к теоретической части зачета по информатике (2 семестр)
Языки программирования
Какими бы совершенными ни были электронно-вычислительные машины, без набора соответствующих программ компьютеры превращаются в бесполезную груду стекла, пластмассы и металла. Успех применения ЭВМ в любой области человеческой деятельности зависит прежде всего от того, есть ли в наличии программы для решения возникающих задач и насколько эти программы совершенны.
Поскольку ЭВМ применяются для решения все новых и новых задач, программное обеспечение (ПО) постоянно развивается. Совершенствование ПО можно сравнить с ростом дерева.
"Корень дерева" — это аппаратные средства; именно они определяют возможности ЭВМ и круг задач, которые можно решить с помощью данной машины.
"Надземная часть дерева" - это математическое обеспечение, которое включает в себя:
"Ствол и крона дерева" — программное обеспечение и "листья" - информация, связанная с использованием этих программ.
По мере роста дерева усиливается его корневая система (аппаратные средства), появляются все новые и новые "ветви" г программы нового назначения, а также "листья" — информация к ним.
Современные ЭВМ - это не только комплекс технических устройств, но и приложенный к нему, как его основная часть, заранее разработанный комплект программ.
Этот комплект программ образует так называемое математическое обеспечение (МО). По современным оценкам, доля математического обеспечения (т.е. всего того, что не является аппаратурой) составляет в среднем 80% от общей стоимости компьютерного продукта.
Иногда бывает ситуация, когда, не зная, как решить ту или иную задачу, человек думает: "Надо заложить в ЭВМ, и пусть она посчитает". Это говорит о том, что не все понимают, что можно, а чего нельзя ждать от компьютера и почему нельзя. А компьютер может делать лишь то, что осмыслил человеческий разум. Необходимо запомнить главное:
"Ум" компьютера - это ум человека, воплощенный в программе.
Мы уже знаем, что алгоритм, записанный на языке программирования, называется программой. А что же мы понимаем под языком программирования?
ЯЗЫК ПРОГРАММИРОВАНИЯ - это совокупность набора символов (алфавит) системы, правил образования (синтаксис) и истолкования конструкций из символов (семантика) для задания алгоритмов с использованием символов естественного языка.
Именно для удобного решения задач с помощью ЭВМ искусственно и создавались языки программирования. Естественным же языком, который "понимает" компьютер, является машинный. Машинный язык - это такой язык, который компьютер воспринимает непосредственно, то есть это язык машинных команд данной модели компьютера. А мы уже знаем, что ЭВМ "понимают" только язык двоичных знаков: нулей и единиц.
Процесс описания конкретного алгоритма на языке машинных команд называется программированием в машинных кодах. Для выполнения этой работы программист должен знать коды всех машинных операций, назначение и особенности применения каждой из них, также помнить адреса конкретных ячеек памяти, хранящие те или иные операции. Процесс разработки такой программы чрезвычайно трудоемок и непроизводителен. Поэтому для своего облегчения программисты придумали язык, переводящий символические имена в машинные коды. Ведь гораздо легче запомнить какое-то ключевое слово, чем соответствующий ему двоичный код. Такие программы, работающие с помощью мнемонических (символьных) обозначений, называют ассемблерами. Они и сейчас находят широкое применение, особенно при разработке эффективных, быстродействующих программ.
Именно такие машинные и полумашинные языки программирования относят к языкам низкого уровня. Их еще называют машинно-ориентированными языками (сюда относят и автокод).
В 1955 г. появился первый язык высокого уровня. Программы, написанные на таком языке, представляли собой набор уже не отдельных машинных команд, а более крупных элементов, называемых операторами данного языка. На языке высокого уровня исходная программа состояла из последовательности операторов.
Именно такие языки и ориентированы на описание алгоритмов. Поэтому их еще называют алгоритмическими языками.
Все алгоритмические языки отличаются прежде всего наглядной формой реализации алгоритма в виде программы, поскольку используют привычную математическую символику и ограниченный набор понятных ключевых слов. Основным достоинством алгоритмических языков является их универсальность, то есть независимость от конкретного типа машин (машинно-независимые языки).
Поскольку машина "понимает" - только свой машинный язык, программа на алгоритмическом языке перед выполнением переводится на этот язык с помощью специальной программы - транслятора, название которой происходит от английского слова translator (переводчик). В программе-трансляторе "заложены" все правила алгоритмического языка и способы преобразования различных его конструкций на машинный язык.
Существуют два способа трансляции: