Простая элементарная составляющая единица экономической информации

а) экономический показатель

б) атрибут

в) объект

г) реквизит

4. Переведите число 11001,01 из двоичной системы счисления в шестнадцатиричную

а) C.A

б) 19.4

в) 19.1

г) C.3

5. Для цветной картинки, составленной из 256 цветов в графическом режиме монитора 640 х 480, требуется объем видеопамяти (Кбайт)

а)300

б)256

в)2400

г)900

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

а) фильтрации

б) сортировки

в) архивации

г) формализации


Тема 2. Алгоритмизация и программирование

План

1. Понятие алгоритма

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

3. Графическое представление алгоритмов

4. Технологии программирования

5. Понятие языка программирования

6. Грамматика языков программирования

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

8. Системы программирования

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

Понятие алгоритма

Определение алгоритма[11] в сжатом виде было сформулировано известным русским математиком Марковым.

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

Наличие алгоритма формализует процесс решения задачи, исключая рассуждения исполнителя алгоритма. Использование алгоритма дает возможность решать задачу формально, механически исполняя команды алгоритма[12] в указанной последовательности.

Исполнитель алгоритма это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом.

Устройство, которое без непосредственного участия человека выполняет обработку информации по заложенной в него программе[13], называется автоматом. В информатике автомат – дискретный преобразователь информации, который преобразует некоторое множество входных сигналов в выходные, проходя при этом через множество внутренних состояний. Если указанные множества конечны, то автомат называется конечным автоматом.

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

Важнейшими свойствами алгоритма являются:

· определенность (детерминированность). В алгоритме должна соблюдаться однозначность предписываемой последовательности действий, не допускающая произвольного ее толкования;

· массовость. Алгоритм решения задачи разрабатывается в общем виде так, чтобы его можно было применить для решения задач, различающихся лишь исходными данными. При этом исходные данные могут выбираться из некоторой области, называемой областью применимости алгоритма;

· дискретность. Алгоритм должен быть разделен на отдельные элементарные акты;

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

· инвариантность по отношению к исполнителю. Алгоритм может оставаться неизменным при выполнении предписываемых им команд человеком или машиной любого типа.

Последнее свойство не означает, что при разработке алгоритма можно полностью игнорировать характер вычислительных средств, которыми он будет реализовываться[14]. Однако, это относится не к принципиальным возможностям, а лишь к удобству реализации алгоритма тем или иным средством.

Для решения любой относительно сложной задачи, как правило, могут быть разработаны несколько различных алгоритмов. Естественно, что следует выбрать лучший из них. Но когда мы говорим лучший, то всегда возникает вопрос: «С какой точки зрения лучший?»

Рассмотрим основные критерии качества алгоритма.

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

Пример. Рассмотрим численный пример вычисления величины:

х=25/5+45/5-100/5+50/5

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

Алгоритм А Алгоритм В
шаг операция результат шаг операция результат
у1=25+45 у1=25/5
у2=70-100 -30 у2=45/5
у3=-30+50 у3=-100/5 -20
х4=20/5 у4=50/5
      у5=5+9
      у6=14-20 -6
      х=-6+10

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

Таким образом, по связности алгоритм А значительно лучше. Кроме того, он еще и менее трудоемкий.

· Объем алгоритма - это количество операций (шагов), которые необходимо выполнить для получения конечного результата. Чем меньше трудоемкость, т.е. чем меньше операций нужно предусмотреть на его написание и исполнение, тем выше качество алгоритма. Уменьшение количества шагов экономит не только время математика - составителя алгоритма, но и машинное время, сокращает длительность решения задачи на ЭВМ.

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

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

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