1. Исполнители команд: робот, автомат, человек, компьютер. Компьютер как формальный исполнитель алгоритмов (программ).
1. исполнителем называется человек, животное, машина или коллектив выполняющий алгоритм записанный на понятном ему языке. Исполнитель характеризуется: средой обитания (условия необходимые для его работы) и системой команд.
Система команд исполнителя включает:
1. Список команд
2. Назначение команд
3. Способ передачи
4. Ситуацию не могу
5. Ситуацию не понимаю.
6.
Исполнители бывают формальные инее формальные. Формальный исполнитель выгоняет понятные ему команды не понимая их назначения и не может проверить правильность алгоритма. Компьютер является формальным исполнителем.
Алгоритм это порядок действий, который от исходных данных приводит к истинному результату. Алгоритм может быть записан на естественном языке, изображен в виде блок-схемы, записан с соблюдением строгих правил синтаксиса на алгоритмическом языке или закодирован на языке программирования.
|
|
Для того чтобы компьютер мог его выполнить, алгоритм должен быть записан на понятном для компьютера языке. Устройством, которое обрабатывает информацию в компьютере, является процессор, следовательно, алгоритм должен быть записан на языке, «понятном» для процессора, т. е. должен использовать систему команд процессора. Таким образом, алгоритм должен быть записан на машинном языке, представляющем собой логические последовательности нулей и единиц.
Действительно, вначале, в 50—60 годы, программы писались на машинном языке, т. е. представляли собой очень длинные последовательности нулей и единиц. Однако составление программ на машинном языке было чрезвычайно трудоемким делом.
Для облегчения труда программистов начали создаваться языки программирования, т. е. искусственно созданные языки с несколькими десятками слов (операторов) и строгими правилами синтаксиса, т. е. правилами соединения этих слов в предложения.
Интересно, что языки программирования развиваются так же, как и естественные, т. е. они обогащаются новыми операторами и новыми возможностями, возникают различные версии языка (Pascal, VisualBasic и др.).
Для того чтобы процессор мог выполнить программу, эта программа и данные, с которыми она работает, должны быть загружены в оперативную память.
Итак, мы создали программу на Паскале (некоторый текст) и загрузили ее в оперативную память из внешней памяти или с клавиатуры. Теперь мы хотим, чтобы процессор ее выполнил, однако процессор «понимает» команды на машинном языке, а наша программа написана на Pascal. Как быть? Необходимо, чтобы в оперативной памяти находилась программа переводчик (транслятор), автоматически переводящая с Паскаля на машинный язык.
|
|
Ясно, что один и тот же компьютер может «понимать» и QBasic, и Turbo Pascal, и какой-либо другой язык, все зависит от того, транслятор какого языка программирования размещен в оперативной памяти компьютера.
Рассмотрим на простейшем примере (умножение двух чисел) процесс построения алгоритма, его кодирование на языке программирования и выполнение программы. В качестве языка программирования выбран Паскаль, однако это может быть практически любой язык программирования.
Сначала запишем алгоритм на естественном языке. Он является линейным и состоит из трех действий. Затем построим блок-схему данного алгоритма, что позволяет в наглядной форме представить логическую структуру алгоритма и проследить динамику его выполнения. В процессе построения алгоритма особое внимание обратим на то, какие данные вводятся в компьютер и какие выводятся (фиксируются аргументы и результаты алгоритма).
паскаль |
Begin Read(a,b); X:=a*b; Write(x); End; |
Следующим этапом является кодирование алгоритма на языке программирования и загрузка полученной программы в оперативную память.
Программа займет в оперативной памяти определенное количество ячеек в области, отведенной для программ пользователя. Программа будет записана в памяти во внутреннем представлении языка программирования, который процессор «не понимает». Для перевода программы на машинный язык, понятный процессору, в памяти должна находиться программа-транслятор с данного языка программирования.
Переход в режим выполнения программы задается соответствующей командой (RUN), процессор последовательно будет считывать из памяти операторы и их выполнять.