Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)


 

 

 

 



АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ. ОБЩЕЕ ОПИСАНИЕ



Управление ЭВМ программой

Как было указано ранее, по шине данных ЭВМ циркулирует информация в виде двоичных кодов. Процессор сам интерпретирует их либо как данные, которые подлежат обработке, либо как команды, которые необходимо выполнять. На вид эти два вида информации ничем друг от друга не отличаются. Различение данных и команд проводит процессор. Например, в ПЗУ находится байт 1FH, который распознается (дешифрируется) процессором как команда сложения двух чисел.

Поэтому процесс работы ЭВМ можно представить себе как непрерывное считывание из ПЗУ байта или нескольких байт и дешифрация их в команды процессору, выполнение команды и считывание очередной команды и т.п.

Таким образом, для работы ЭВМ необходимо, чтобы в ПЗУ или ОЗУ были загружены последовательности кодов команд. Эти двоичные последовательности и называются программой. Именно эти команды в двоичных кодах непосредственно и понимает процессор. Все другие виды программ, о которых говорится ниже, требуется "переводить на язык кодов".

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

Машинный язык

Машинный язык - последовательность двоичных кодов, которую понимает процессор без "переводчика". Его достоинства - максимальное быстродействие, минимальный объем памяти для программы.

Недостатки - низкая наглядность, трудность программирования. Как правило, на машинном языке написаны системные программы, требующие максимального быстродействия.

Язык Ассемблера

Язык Ассемблера (или просто Ассемблер) представляет собой набор конструкций, которые называются "мнемоники". Эти мнемоники и машинные коды имеют взаимно однозначное соответствие. Однако мнемоники легче запомнить, они могут представлять собой не одну операцию, а группу однотипных операций. Однако теперь для подготовки программ необходим "переводчик" с языка мнемоник на машинный язык. Этот переводчик называется транслятором. Основной процесс транслирования программ показан на рис 3.1.

 
 

 


Рис. 3.1

Достоинства Ассемблера: также как и для машинного языка - максимальное быстродействие и малый объем памяти. Кроме того, легкость написания и модификации программ. Недостатки: необходимость транслятора, затраты времени на трансляцию, большое количество команд, необходимое для выполнения даже простых операций.

Языки высокого уровня

Языки высокого уровня (ЯВУ) представляют собой последовательность операторов, каждый из которых кодирует большое количество элементарных операторов процессора. Эти языки также требуют транслятора (рис. 3.2).

 
 

 

 


Рис. 3.2.

Достоинства ЯВУ: высокая наглядность, высокая эффективность написания программ. Недостатки: необходимость транслятора, большой объем памяти, занимаемый программой, невысокое быстродействие.

 

Основы алгоритмизации и программирование

Введение

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

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

Таких этапов можно выделить девять:

1. Постановка задачи

2. Построение математической модели

3. Выбор и составление алгоритмов решения

4. Проектирование программы

5. Программирование

6. Автономная отладка

7. Комплексная отладка

8. Передача в эксплуатацию

9. Сопровождение

 

1). Первый этап предполагает описание словесное или с помощью специальных символов условий задачи и желаемого результата. Как правило, постановка задачи представляется в виде технического задания на разрабатываемую программу. Техническое задание представляется заказчиком и далеко не всегда он сам может формализовать или детально разработать задачу. Это могут быть химики, биологи, медики или инженеры, не имеющие опыта в постановке задач для решения их на ЭВМ.

2). На втором этапе осуществляется построение математической модели того процесса, который описывается в постановке задачи. Те описание его с помощью математического аппарата - составление уравнений, нахождение зависимостей. На этом этапе возможно подключение специалистов математиков или программистов.

3). На третьем этапе математическая модель представляется в виде удобном для числовой оценки и выбирается метод решения задачи.

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

4). На четвертом этапе осуществляется проектирование программного комплекса, то есть разрабатываются спецификации требований к отдельным модулям - частям программы.

5). На пятом этапе происходит кодирование алгоритма с помощью операторов конкретного языка программирования, выбранного в соответствии с решаемой задачей.

6). Шестой этап заключается в отладке каждого отдельного модуля, входящего в состав программного комплекса. Тестируется и проверяется отдельно, независимо от других каждая программа, входящая в комплекс на выполнение именно тех функций которые должны в ней выполняться.

7). Проверка всего комплекса.

8). На восьмом этапе разработанный комплекс передается в эксплуатацию, готовится комплект документации руководства по эксплуатации.

9). Девятый этап предполагает устранение обнаруженных во время эксплуатации ошибок и изменение рабочих программ с целью их усовершенствования.

Отладка - процесс выявления и устранения ошибок в тексте программы, исправление кода.

Тестирование - проверка работающей программы на специально подобранных контрольных примерах с целью выявления смысловых ошибок.

Алгоритм и его свойства

Алгоритм - последовательность действий со строго определенными правилами выполнения.

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

Например:

при заданных значениях "а", "в" выполнить следующие действия:

с=а*а

с=с+в*в

с=Öc

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

Каждый разрабатываемый алгоритм должен обладать следующими основными свойствами:

1- Дискретность. Это свойство состоит в том, что алгоритм должен представлять решение задачи как последовательное выполнение простых шагов. При этом для выполнения каждого шага алгоритма требуется конечный отрезок времени. То есть, преобразование исходных данных в результат осуществляется во времени дискретно.

2- Детерминированность (определенность). Каждое правило алгоритма должно быть четким однозначным, не требующим никаких дополнительных указаний.

3- Результативность (или конечность). Алгоритм должен приводить к решению задачи за конечное число шагов.

4- Массовость. Алгоритм разрабатывается в общем виде и применим для некоторого класса однотипных задач.

Алгоритмизация

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

Разработанный алгоритм можно зафиксировать несколькими способами:

· на естественном языке.

· в виде схемы (струкутрной схемы).

· на специальном языке для записи алгоритмов (алгоритмическом языке)

 

Алгоритмический язык - набор символов и система правил составления и истолкования конструкций из этих символов. Струкурная схема может состоять из следующих элементов:

Таблица 4.1.

N п/п Наименование символа Обозначение символа Функция символа
1 Процесс     Выполнение операции или группы операций
Условие
2

Решение   Да   Нет   Выбор направления выполнения алгоритма в зависимости от условия
3 Ввод - вывод     Преобразование данных, пригодных для вывода или отображения
4 Начало и     останов   Начало и прерывание обработки данных
5 Предопределенный процесс     Использование ранее созданных или отдельных алгоритмов и программ
6 Соединитель   Указание связи между прерванными линиями потока
7 Комментарий   Связь между элементами схемы и комментариями

 



Просмотров 841

Эта страница нарушает авторские права




allrefrs.su - 2025 год. Все права принадлежат их авторам!