Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Алгоритмические языки.




 

Алгоритмические язы­ки, представляющие алгоритмы в виде последовательности читаемых програм­мистом (не двоично-кодированных) команд, подразделяются (Слайд 4):

1. Машинно-ориентированныеязыки относятся к языкам программирования низко­го уровня — программирование на них наиболее трудоемко, но позволяет созда­вать оптимальные программы, максимально учитывающие функционально-струк­турные особенности конкретного компьютера. Программы на этих языках, при прочих равных условиях, будут более короткими и быстрыми. Большинство команд таких языков при трансляции (переводе) на машинный (двоичный) язык генерируют одну машинную команду.

2. Процедурно-ориентированныеи проблемно-ориентированные языкиотносятся к языкам высокогоуровня, использующим макрокоманды, которые при трансляции генерируют:

 

· процедурно-ориентирован­ная макрокоманда - десятки машинных ко­манд,

· проблемно-ориентированная макрокоманда - сотни машинных команд.

 

Процедурно-ориентированные языки программирования — самые ис­пользуемые (Basic, Pascal, C++, PL, ALGOL, COBOL и др.). При их использовании программист должен описывать всю процедуру решения задачи, тогда как проблемно-ориентированные языки (их называют так­же непроцедурными) позволяют лишь формально идентифицировать проблему и указать состав, структуры представления и форматы входной и выходной ин­формации для задачи. В настоящее время значение такие языки потеряли актуальность. Доминируют пакеты прикладных программ и специальные приложения.

 

Все языки программирования (машинно-ориентированные и вы­сокого уровня), для их восприятия компьютером требуют наличия программ пере­вода — трансляторов на машинный язык (Слайд 5).

Транслятор (translator) — програм­ма, преобразующая программу, написанную на одном языке, в программу, представлен­ную на другом языке. Транслятор воспринимает предложения (операторы) одного языка и вырабатывает соответствующие предложения (операторы) другого языка. Если вторым является языкпроцессора, то транслятор именуют компи­лятором. Например, компилятор берет про­грамму, написанную на языке С, и преобра­зует ее в программу на языке ассемблера

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

Т.о., алгоритм непосредственно воспринимается и исполняется компьютером, если он представлен в двоичном коде на машинном языке.

 

 

3. Ко­манды.

 

Алгоритм решения задачи, заданный в виде последовательности команд на языке ЭВМ (в кодах машины), называется машинной программой.

КОП  
Адреса  
Командамашинной программы (машиннаякоманда)(Слайд 6) - элементарная инструкция, выполняемая автоматически без каких-либо дополнитель­ных указаний и пояснений, состоит из двух частей - операционной и адресной:

 

Операционная частькоманды (КОП - код операции) - это группа разрядов в ко­манде, предназначенная для представления кода операции машины.

Адресная частькоманды (адреса) - это группа разрядов в команде, в которых за­писываются коды адреса (адресов) ячеек памяти машины предназначенных для оперативного хранения информации, или иных объектов, задействованных при выполнении команды. Часто эти адреса называются адресамиоперандов, то есть чисел, участвующих в операции. По количеству адресов (Аl, А2, АЗ,...), записываемых в команде, команды делятся на безадресные, одно-, двух- и трехадресные.

 
 


Типовая структура трехадресной команды:

Аl и А2 — адреса ячеек (регистров), где расположены соответственно первое и второе числа, участвующие в операции, АЗ — адрес ячейки (регистра), куда следует поместить число, полученное в результате выполнения операции.

 
 


Типовая структура двухадресной команды:

Аl — это обычно адрес ячейки (регистра), где хранится первое из чисел, уча­ствующих в операции, и куда после завершения операции должен быть записан результат операции; А2 — обычно адрес ячейки (регистра), где хранится второе участвующее в операции число.

 
 
КОП  


А1  
Типовая структура одноадресной команды:

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

Безадресная командасодержит только код операции, а информация для нее долж­на быть заранее помещена в определенные регистры машины (безадресные коман­ды могут использоваться только совместно с командами другой адресности).

4. Состав машинных команд.

 

Стандартный набор современных ПК содержит более 240 машинных команд, образующих группы по видам выполняемых опе­раций (Слайд 7):

 

§ операциипересылки информации внутри компьютера;

§ арифметическиеоперации над информацией;

§ логическиеоперации над информацией;

§ операциинадстроками (текстовой информацией);

§ операцииобращения к внешним устройствам компьютера;

§ операциипередачиуправления;

§ обслуживающие и вспомогательныеоперации.

 

Операции передачи управления (ветвленияпро­граммы) служат для изменения естественного порядка выполнения ко­манд:

 

1. Операции безусловной передачи управлениявсегда обусловливают выполнение после данной команды, не следующей по порядку, а той, адрес которой в явном или неявном виде указан в адресной части команды, и делятся на:

§ команды передачи управления, передающие управление по задан­ному адресу и больше никаких действий не выполняющие;

§ команды передачи управления (команды вызова процедуры или подпрограммы) - кроме передачи управления процедуре еще за­поминают в специальной стековой памяти адрес следующей команды (адрес возврата из процедуры);

§ безадресные команды передачи управления (команды возврата из процедуры), возвращающие управление по запомненному адресу возврата.

 

Вторая и третья команд безусловных передач управления работают совместно — одна передает управление процедуре, другая возвращает из нее.

Важ­ную роль в выполнении этих команд передачи управления играет специальным образом орга­низованная область оперативной памяти — стековая память. Обращение к ячейкам этой памяти выполняется по принципу (FILOfirstinput, last output - первым вошелпоследним вышел), т.е. последний записанный операнд первым считывается.

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

 

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

Последовательность подготовки и решения задачи на компьютере (Слайд 8):

 

1. Формулировка и формализованная постановка задачи.

2. Выбор математической модели и метода решения задачи.

3. Разработка алгоритма решения задачи, то есть последовательности процедур, которые необходимо выполнить для решения задачи.

4. Составление программы решения задачи, (запись алгоритма на языке, понятном машине).

5. Ввод программы в компьютер и ее отладка.

6. Ввод исходных данных и решение задачи на компьютере.

7. Анализ полученных результатов и выводы по результатам решения.

 


Поделиться:

Дата добавления: 2015-08-05; просмотров: 85; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты