Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Языки и системы программирования, способы записи алгоритмов, блок-схемы, алгоритмические конструкции.
Машинный язык - система команд, непосредственно понимаемых аппаратурой данной электронно-вычислительной системы. Как следствие этого, машинный язык однозначно определяется системой команд процессора и архитектурой компьютера. Набор команд процессора содержит: арифметико-логические команды - команды арифметических действий над двоичными числами и логических действий над двоичными векторами; команды управления - команды перехода, ветвлений, повторений, и некоторые другие команды; команды пересылки данных - команды, с помощью которых обмениваются данными ОЗУ и ЦП; команды ввода-вывода данных - команды, с помощью которых обмениваются данными ЦП и внешние устройства. Каждая команда содержит код операции, ею выполняемой и информацию об адресах данных, над которыми эта операция выполняется. Кроме этого, команда (непосредственно - команды управления и косвенно - другие команды) содержит информацию об адресе команды, которая будет выполняться следующей. Таким образом, любая последовательность команд, размещенная в ОЗУ, фактически представляет из себя алгоритм, записанный в системе команд процессора - машинную программу. Наиболее распространенной сейчас является архитектура ЭВМ с общей шиной. Общая шина - это центральная информационная магистраль, связывающая внешние устройства с центральным процессором. Она состоит из шины данных, шины адреса и шины управления. Шина данных предназначена для обмена данными между ОЗУ и внешними устройствами. По шине адреса передаются адреса данных. Эта шина однонаправлена. Шина управления служит каналом обмена управляющими сигналами между внешними устройствами и центральным процессором. Таким образом, машинный язык (язык процессора) - это набор команд, каждая из которых описывает некоторое элементарное действие по преобразованию информации, представленной в двоичном коде. Универсальное использование двоичного кода представления информации самых разнообразных форм приводит к тому, что программа решения даже достаточно простой задачи содержит сотни машинных команд. Написать такую программу, используя машинные команды, весьма непросто даже квалифицированному программисту. Реальные программы состоят из десятков и сотен тысяч машинных команд. Поэтому любая технология проектирования программы должна опираться на приемы, характерные для человеческого мышления, оперировать привычными для человека понятиями из той предметной области, которой принадлежит задача. Иными словами, программист (проектировщик алгоритмов) должен иметь возможность сформулировать свой алгоритм на языке привычных понятий; затем специальная программа должна выразить эти понятия с помощью машинных средств, осуществляя перевод (трансляцию) текста алгоритма на язык машины. Эта необходимость и привела к появлению языков программирования высокого уровня как языков записи алгоритмов, предназначенных для исполнения на ЭВМ. Машинно-ориентированные языки Предшественниками языков высокого уровня стали так называемые машинно-ориентированные языки или языки автокодов. Одним из самых ярких представителей машинно-ориентированных языков является Ассемблер. Ассемблер очень близок к машинному языку, большинство его инструкций является точным символическим представлением машинных команд. Преимущество состоит в том, что уже нет необходимости помнить числовые коды команд процессора, достаточно знать их символическое представление. Кроме этого, впервые в машинно-ориентированных языках появляется понятие переменной, как именованной области памяти для хранения данных, а вместе с ним и понятие типа данных. В программах на машинно-ориентированном языке появляется возможность использовать как числовую так и текстовую информацию в привычной для человека форме. Несмотря на явные преимущества машинно-ориентированных языков перед сугубо машинным языком, написание программ на этих языках по прежнему сопряжено со значительными трудностями. Программы получаются очень громоздки и трудно читаемы. Языки программирования высокого уровня Языки программирования высокого уровня играют роль средства связи между программистом и машиной, а также между программистами. Это обстоятельство накладывает на язык многие обязательства: Язык должен быть близок к тем фрагментам естественных языков, которые обеспечивают конкретную предметную область деятельности человека; (Язык, ориентированный на деловые сферы применений, должен содержать понятия, используемые в этом виде деятельности: документ, счет, база данных и т.п.). Все средства языка должны быть формализованы в такой степени, чтобы их можно было реализовать как машинные программы; (например, предложение “Найти документ X в базе Y“ должно породить программу в машинном языке, осуществляющую требуемый поиск). Язык программирования не только поддерживает предметно-ориентированную деятельность, но и стимулирует ее развитие. (понятие базы данных, вычислительной сети привело к революции в деловой деятельности). Язык программирования - нечто большее, чем средство описания алгоритмов: он несет в себе систему понятий, на основе которых человек может обдумывать свои задачи, и нотацию, с помощью которой он может выразить свои соображения по поводу решения задачи. Изучая новый язык программирования, лучше всего к нему относиться, как к любому другому иностранному языку: средства языка принимать как данные от Бога, даже если они нам кажутся непонятными, плохими или ненужными. ля записи алгоритмов используют самые разнообразные средства. Выбор средства определяется типом исполняемого алгоритма. Выделяют следующие основные способы записи алгоритмов:
- вербальный, когда алгоритм описывается на человеческом языке;
- символьный, когда алгоритм описывается с помощью набора символов;
- графический, когда алгоритм описывается с помощью набора графических изображений.
Общепринятыми способами записи являются графическая запись с помощью блок-схем и символьная запись с помощью какого-либо алгоритмического языка.
Описание алгоритма с помощью блок схем осуществляется рисованием последовательности геометрических фигур, каждая из которых подразумевает выполнение определенного действия алгоритма. Порядок выполнения действий указывается стрелками. Написание алгоритмов с помощью блок-схем регламентируется ГОСТом. Внешний вид основных блоков, применяемых при написании блок схем, приведен на рисунке: В зависимости от последовательности выполнения действий в алгоритме выделяют алгоритмы линейной, разветвленной и циклической структуры. В алгоритмах линейной структуры действия выполняются последовательно одно за другим: В алгоритмах разветвленной структуры в зависимости от выполнения или невыполнения какого-либо условия производятся различные последовательности действий. Каждая такая последовательность действий называется ветвью алгоритма. В алгоритмах циклической структуры в зависимости от выполнения или невыполнения какого-либо условия выполняется повторяющаяся последовательность действий, называющаяся телом цикла. Вложенным называется цикл, находящийся внутри тела другого цикла. Различают циклы с предусловием и послеусловием: Итерационным называется цикл, число повторений которого не задается, а определяется в ходе выполнения цикла. В этом случае одно повторение цикла называется итерацией. Популярное:
|
Последнее изменение этой страницы: 2017-03-09; Просмотров: 787; Нарушение авторского права страницы