Алгоритм может быть записан на естественном языке, изображен в виде блок-схемы, записан с соблюдением строгих правил синтаксиса на алгоритмическом языке или закодирован на языке программирования. Для того чтобы компьютер мог его выполнить, алгоритм должен быть записан на понятном для компьютера языке.
Устройством, которое обрабатывает информацию в компьютере, является процессор, следовательно, алгоритм должен быть записан на языке, «понятном» для процессора, т. е. должен использовать систему команд процессора. Таким образом, алгоритм должен быть записан на машинном языке, представляющем собой логические последовательности нулей и единиц,
Действительно, вначале, в 50—60 годы, программы писались на машинном языке, т. е. представляли собой очень длинные последовательности нулей и единиц. Однако составление программ на машинном языке было чрезвычайно трудоемким делом.
Для облегчения труда программистов начали создаваться языки программирования, т. е. искусственно созданные языки с несколькими десятками слов (операторов) и строгими правилами синтаксиса, т. е. правилами соединения этих слов в предложения.
009_Компьютер как исполнитель алгоритмов
Известный всем Бейсик был создан в 1964 году сотрудниками Дартмутского колледжа Дж. Кемени и Т. Курцом. (Название BASIC является аббревиатурой английского названия Beginners All-purpose Symbolic Instruction Code.) Интересно, что языки программирования развиваются так же, как и естественные, т. е. они обогащаются новыми операторами и новыми возможностями, возникают различные версии языка (QBasiC, VisualBasic и др.).
Для того чтобы процессор мог выполнить программу, эта программа и данные, с которыми она работает, должны быть загружены в оперативную память.
Итак, мы создали программу на Бейсике (некоторый текст) и загрузили ее в оперативную память из внешней памяти или с клавиатуры. Теперь мы хотим, чтобы процессор ее выполнил, однако процессор «понимает» команды на машинном языке, а наша программа написана на Бейсике. Как быть? Необходимо, чтобы в оперативной памяти находилась программа переводчик (транслятор), автоматически переводящая с Бейсика на машинный язык.
Ясно, что один и тот же компьютер может «понимать» и QBasic, и Turbo Pascal, и какой-либо другой язык, все зависит от того, транслятор какого языка программирования размещен в оперативной памяти компьютера.
Рассмотрим на простейшем примере (умножение двух чисел) процесс построения алгоритма, его кодирование на языке программирования и выполнение программы. В качестве языка программирования выбран Бейсик, однако это может быть практически любой язык программирования.
Сначала запишем алгоритм на естественном языке. Он является линейным и состоит из трех действий. Затем построим блок-схему данного алгоритма, что позволяет в наглядной форме представить логическую структуру алгоритма и проследить динамику его выполнения. В процессе построения алгоритма особое внимание обратим на то, какие данные вводятся в компьютер и какие выводятся (фиксируются аргументы и результаты алгоритма).
ЕГЭ по информатике. Формальный исполнитель алгоритма.
Следующим этапом является кодирование алгоритма на языке программирования (в данном случае Бейсике) и загрузка полученной программы в оперативную память. Оперативная память состоит из отдельных адресуемых ячеек, в которых информация может храниться, записываться и стираться. Каждая ячейка имеет уникальный адрес, и в ней может храниться 1 байт информации. Количество таких ячеек в современных компьютерах велико и соответствует объему памяти, выраженному в байтах. Для памяти 16 Мб оно составляет 16 777216 ячеек.
Программа займет в оперативной памяти определенное количество ячеек в области, отведенной для программ пользователя. Программа будет записана в памяти во внутреннем представлении языка программирования (в данном случае Бейсика), который процессор «не понимает». Для перевода программы на машинный язык, понятный процессору, в памяти должна находиться программа-транслятор с данного языка программирования.
Переход в режим выполнения программы задается соответствующей командой (RUN), процессор последовательно будет считывать из памяти операторы и их выполнять. Выполнение программы «проиграем» на структурной схеме компьютера на конкретном примере (например, умножение чисел 5 и 8).
КЕМ — оператор комментариев; неисполняемый оператор, все, что стоит в строке программы после этого оператора, компьютером игнорируется.
INPUT — оператор ввода значений переменных; процессор отводит в оперативной памяти области (некоторое количество ячеек) и «называет» их именами переменных (А, В) из списка ввода; запрашивает у пользователя их значения (на экране дисплея появляется знак вопроса?); пользователь вводит значения переменных с клавиатуры (5,8); процессор записывает эти значения в отведенные области памяти.
LET — оператор присваивания; процессор считывает из памяти значения переменных (А, В), составляющих арифметическое выражение в правой части присваивания; вычисляет значение арифметического выражения (40); отводит в памяти область под переменную, стоящую в левой части присваивания (X); записывает вычисленное значение (40) арифметического выражения в эту область.
PRINT — оператор вывода значений переменных на экран; процессор считывает значение переменной (X) из памяти и высвечивает это значение (40) на экране дисплея.
END — оператор окончания программы; на экране дисплея появляется соответствующее сообщение (Ok) и курсор.
Источник: studopedia.su
Билет 15. Персональный компьютер как формальный исполнитель алгоритмов (программ)
Работа компьютера имитирует (моделирует) информационную деятельность человека.
Но компьютер – техническое устройство, поэтому для того, чтобы он выполнял определенные действия, им нужно управлять.
Компьютер действует как автоматический, формальный исполнитель алгоритмов обработки информации. Это его главное свойство. Автоматизм в его работе означает, что некоторые действия он выполняет без вмешательства человека в соответствии со следующими общими принципами:
ü Двоичное кодирование информации
ü Программное управление работой компьютера (идея Чарльза Беббиджа)
ü Хранимая программа (по предложению американского математика Джона фон Неймана (1903 – 1957) наряду с данными каждая команда программы работы компьютера, кодируемая определенной последовательностью нулей и единиц, помещается как число в одной из ячеек оперативной памяти)
Как в действительности происходит реализация этих принципов и осуществляется формальная автоматическая работа компьютера?
Современный компьютер – это единство аппаратных средств (Hardware) и программного обеспечения (Software).
Компьютерная программа – это закодированная информация о действиях, которые предписывается выполнить компьютеру, алгоритм для исполнения компьютером, записанный на языке двоичных кодов, или на специальном языке программирования.
Чтобы на компьютере можно было решать задачи, нужна совокупность программ – программное обеспечение, классификацию которого отражает схема.
Средства контроля и диагностики | ||
Системное | ||
Операционные системы | ||
Программное обеспечение (ПО) | Система программирования | Трансляторы |
Языки программирования | ||
Пакеты прикладных программ | ||
Уникальное | Прикладное | |
Библиотеки стандартных программ |
Пользователь вводит с клавиатуры команды компьютерной программы, написанной на языке программирования. Команды накапливаются в оперативной памяти, автоматически переводясь в машинные коды, благодаря программе – переводчику – транслятору с языка программирования на язык машинных кодов.
Устройство управления (УУ) процессора воспринимает, считывая из оперативной памяти, команду за командой, анализирует, а затем организует ее выполнение, используя соответствующие устройства компьютера. Эти устройства произведут действия: напечатают на бумаге, выведут на экран, воспримут с клавиатуры, занесут на магнитный диск и т.д.
Для выполнения команд самим процессором, в нем предусмотрено арифметико – логическое устройство (АЛУ). Выполнив одну команду из оперативной памяти, компьютер переходит к другой команде и так, пока не встретит команду на окончание работы или команду, которую не сможет выполнить. Он не сможет выполнить команду, если она предназначается устройству, не подключенному к компьютеру, или отсутствует в его системе команд, или содержит синтаксическую ошибку. Если программа составлена правильно, то компьютер выполнит программу за конечное число шагов и выдаст человеку результат решения задачи.
Выполнение команд компьютером осуществляется с помощью электронных схем, реализующих логические функции формальной, булевой алгебры, например логическое умножение, сложение, отрицание.
Кроме того, программы составляются программистами по алгоритмам решения определенных задач. Человек не объясняет исполнителю – компьютеру свои цели и смысл команд программы. Очевидно, что компьютер и не сможет понять смысла совершаемых им действий.
Более того, компьютер не обладает способностью к анализу результатов, например, относительно их соответствия постановке задачи. Компьютер не может обойтись без программы и исходных данных, подготовить которые под силу только человеку. Таким образом, и с этой точки зрения решение задачи компьютером – также формальное исполнение алгоритма ее решения, закодированного и хранимого вместе с данными в оперативной памяти.
Человек, принимая во внимание этот факт, должен понимать ограниченность возможностей компьютера как исполнителя и предусматривать точность в задании команд, поручаемых компьютеру для исполнения, так как вся ответственность за использование компьютера лежит только на людях (пользователях).
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
Компьютер как формальный исполнитель алгоритмов программ
Информатика и информационно-коммуникационные технологии в школе
Полная или частичная перепечатка каким бы то ни было способом материалов данного сайта допускается только с письменного согласия автора.
При цитировании или ином использовании материалов ссылка на сайт www.klyaksa.net обязательна.
Понятие алгоритма. Свойства алгоритма. Исполнители алгоритмов (назначение, среда, режим работы, система команд). Компьютер как формальный исполнитель алгоритмов (программ).
Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад (в 825 году) ученый из города Хорезма Абдулла (или Абу Джафар) Мухаммед бен Муса аль-Хорезми создал книгу по математике, в которой описал способы выполнения арифметических действий над многозначными числами. Само слово алгоритм возникло в Европе после перевода на латынь книги этого математика.
Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.
Вы постоянно сталкиваетесь с этим понятием в различных сферах деятельности человека (кулинарные книги, инструкции по использованию различных приборов, правила решения математических задач. ). Обычно мы выполняем привычные действия не задумываясь, механически. Например, вы хорошо знаете, как открывать ключом дверь. Однако, чтобы научить этому малыша, придется четко разъяснить и сами эти действия и порядок их выполнения:
1. Достать ключ из кармана.
2. Вставить ключ в замочную скважину.
3. Повернуть ключ два раза против часовой стрелки.
4. Вынуть ключ.
Если вы внимательно оглянитесь вокруг, то обнаружите множество алгоритмов которые мы с вами постоянно выполняем. Мир алгоритмов очень разнообразен. Несмотря на это, удается выделить общие свойства, которыми обладает любой алгоритм.
Свойства алгоритмов:
1. Дискретность (алгоритм должен состоять из конкретных действий, следующих в определенном порядке);
2. Детерминированность (любое действие должно быть строго и недвусмысленно определено в каждом случае);
3. Конечность (каждое действие и алгоритм в целом должны иметь возможность завершения);
4. Массовость (один и тот же алгоритм можно использовать с разными исходными данными);
5. Результативность (отсутствие ошибок, алгоритм должен приводить к правильному результату для всех допустимых входных значениях).
Виды алгоритмов:
1. Линейный алгоритм (описание действий, которые выполняются однократно в заданном порядке);
2. Циклический алгоритм (описание действий, которые должны повторятся указанное число раз или пока не выполнено задание);
3. Разветвляющий алгоритм (алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий)
4. Вспомогательный алгоритм (алгоритм, который можно использовать в других алгоритмах, указав только его имя).
Для более наглядного представления алгоритма широко используется графическая форма — блок-схема, которая составляется из стандартных графических объектов.
Вид стандартного графического объекта
Стадии создания алгоритма:
1. Алгоритм должен быть представлен в форме, понятной человеку, который его разрабатывает.
2. Алгоритм должен быть представлен в форме, понятной тому объекту (в том числе и человеку), который будет выполнять описанные в алгоритме действия.
Объект, который будет выполнять алгоритм, обычно называют исполнителем.
Исполнитель — объект, который выполняет алгоритм.
Идеальными исполнителями являются машины, роботы, компьютеры.
Исполнитель способен выполнить только ограниченное количество команд. Поэтому алгоритм разрабатывается и детализируется так, чтобы в нем присутствовали только те команды и конструкции, которые может выполнить исполнитель.
Исполнитель, как и любой объект, находится в определенной среде и может выполнять только допустимые в нем действия. Если исполнитель встретит в алгоритме неизвестную ему команду, то выполнение алгоритма прекратится.
Компьютер – автоматический исполнитель алгоритмов.
Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой.
Программирование — процесс составления программы для компьютера. Для первых ЭВМ программы записывались в виде последовательности элементарных операций. Это была очень трудоемкая и неэффективная работа. Поэтому в последствии были разработанные специальные языки программирования. В настоящее время существует множество искусственных языков для составления программ.
Однако, так и не удалось создать идеальный язык, который бы устроил бы всех.
Источник: www.klyaksa.net