Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по БЕЙСИКу 2_тит.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1.01 Mб
Скачать

Свойства алгоритма

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

  • Массовость - алгоритм должен быть пригоден для решения любой за­дачи данного типа.

  • Дискретность - означает возможность разбиения всего алго­ритма на части (фрагментирование) и выполнения его по частям.

  • Инвариантность - означает возможность решения задачи несколькими способами.

  • Результативность - означает, что, будучи примененным к со­ответствую­щему типу задач, алгоритм обязательно приведет к искомому результату. Результатом выполнения алгоритма должна быть одна или несколько выходных величин, зависящих от исходных данных.

  • Конечность – означает требование нормального завершения алгоритма за ко­нечное количество шагов.

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

Для решения одной задачи могут быть разработаны несколько алгоритмов.

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

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

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

Алгоритмический язык – это совокупность средств и пра­вил для пред­ставления алгоритма в виде, воспринимаемом компьютером, и его испол­не­ния. Алгоритмический язык, с од­ной стороны, близок к обычному языку и чи­тается как обычный текст, с другой стороны, алгоритм включает в себя мате­матиче­скую символику, числа, обозначения величин и функ­ций, знаки опера­ций, скобки и т.д.

Различают языки программирования высокого уровня и низкого уровня. Каж­дая ко­манда языка программирования низкого уровня представляет со­бой элемен­тарное преобразо­вание данных в регистрах памяти компьютера (сдвиг, пораз­рядное сравнение и т.п.), поэтому процесс создания программ на язы­ках низ­кого уровня является весьма трудоемким и требует спе­циальных знаний. При­мерами языков программирования низкого уровня являются языки АССЕМБЛЕР, Форт и др.

Языки программирования высокого уровня по своей структуре очень похожи на языки общения человека с человеком, они также имеют свой алфавит, синтаксис и семантику.

В языке программирования высокого уровня каждая команда представ­ляет со­бой микропрограмму (набор элементарных операций для ЭВМ), кото­рая вы­зы­вается так называемым ключевым словом, по­этому пользователь может не вникать во внутренние преобразо­вания данных при выполнении этой ко­манды, а пользуясь лишь ключевыми словами данного алгоритмиче­ского языка. К язы­кам высокого уровня относятся ФОРТРАН, БЕЙСИК, ПАСКАЛЬ, и др.

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

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

ТРАНСЛЯТОРЫ: КОМПИЛЯТОРЫ И ИНТЕРПРЕТА­ТОРЫ

Транслятор - в широком смысле - программа, преобразующая текст, написанный на одном языке программирования, в текст на другом языке.

Транслятор - в узком смысле - программа, преобразующая программу, написанную на одном (входном) языке, в программу, представленную на другом (выходном) языке.

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

Интерпретатор - транслятор, способный параллельно переводить и выполнять программу, написанную на алгоритмическом языке высокого уровня.

Интерпретатор выполняет синтаксическую проверку, а затем и вы­полнение по­сле­довательно для каждой команды программы. Примером интерпретатора явля­ется большинство модификаций языка программирования БЕЙСИК.

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

Компилятор последовательно преобразует в объект­ные коды исходный текст программы, записанной на алгорит­миче­ском языке, подклю­чает ре­дактор связей, библиотеку стандарт­ных функций и создает, таким об­разом, программный модуль, готовый к вы­пол­нению. Компиляторы обла­дают более высоким быстродейст­вием по срав­нению с интерпретаторами. Компиляторами явля­ются такие языки программирования высокого уровня, как ФОРТРАН, ПАСКАЛЬ, СИ и др. Большинство современных версий языка про­грам­мирования БЕЙСИК также являются компиляторами.