Машинно-ориентированные (ассемблеры)




Алгоритмизация и процесс решения задачи

Название "алгоритм" произошло от латинской формы имени величайшего среднеазиатского математика Мухаммеда ибн Муса ал-Хорезми (Alhorithmi), жившего в 783—850 гг. В своей книге "Об индийском счете" он изложил правила записи натуральных чисел с помощью арабских цифр и правила действий над ними "столбиком", знакомые теперь каждому школьнику. В XII веке эта книга была переведена на латынь и получила широкое распространение в Европе. Алгоритмизация – важнейший этап в решении задач на ЭВМ.

Алгоритм – конечный набор правил, позволяющий чисто механически решать любую конкретную задачу из класса однотипных задач. К понятию алгоритм тесно примыкает понятие исполнитель – кто или что будет выполнять этот алгоритм. Исполнителю, как правило, неизвестна цель алгоритма, он просто выполняет предписанную последовательность действий. Такое выполнение называется формальным. Все команды, которые понимает какой-то исполнитель, составляют его систему команд.

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

  1. дискретность (состоит из отдельных шагов)
  2. понятность
  3. инвариантность (возможность использования различными пользователями)
  4. массовость (для решения однотипных задач)
  5. точность (однозначность толкования)
  6. результативность
  7. конечность (завершенность каждого шага и алгоритма в целом)

Способы записи

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

Основное достоинство такого способа представления – понятность. Недостатки: неоднозначность, избыточность, отсутствие наглядности связей.

Схемы программ. Это графическое отображение алгоритма согласно утвержденным стандартам. При таком способе каждое действие записывается внутри блоков. Блоки соединяются линиями, которые указывают последовательность действий. Линии могут оканчиваться стрелками, но обычно стрелки не ставят, если линии отражают естественную последовательность действий. Естественная последовательность: сверху вниз и слева направо. В противном случае стрелки обязательны. Рассмотрим наиболее употребительные блоки (рис.1).

 
 

 


Достоинство представления алгоритмов в виде схем программ - наглядность. Недостаток - большая трудоемкость выполнения.

Псевдокоды. Они занимают промежуточное место между естественным и формальным языком. Единого стандарта на псевдокод не существует. Псевдокод использует некоторые служебные слова (они подчеркиваются), но в то же время допускает утверждения и на естественном языке.

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

Во всех перечисленных способах представления алгоритмов допускается определенная свобода, они ориентированы на человека. На практике же основной исполнитель алгоритмов – ЭВМ. Для ЭВМ запись алгоритма должна быть абсолютно точна, т.е. язык для записи алгоритмов должен быть формализован. Такой язык называется языком программирования, а запись на таком языке называется программой.

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

В настоящее время в мире существует несколько сотен реально используемых языков программирования. Для каждого есть своя область применения. Любой алгоритм, как мы знаем, есть последовательность предписаний, выполнив которые можно за конечное число шагов перейти от исходных данных к результату. В зависимости от степени детализации предписаний обычно определяется уровень языка программирования — чем меньше детализация, тем выше уровень языка. По этому критерию можно выделить следующие уровни языков программирования:

Машинные

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

машинно-ориентированные (ассемблеры)

машинно-ориентированные языки (computer-oriented language) — языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры), используются, когда нужно иметь эффективную программу, в максимальной степени учитывающую специфику конкретного компьютера



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-06-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: