По принципу действия
В этом случае критерием является форма представления информации,
с которой они работают. Цифровые ВМ – вычислительные машины дискретного действия; работают с информацией, представленной в дискретной, а точнее в цифровой форме.
Аналоговые ВМ - вычислительные машины непрерывного действия; работают с информацией, представленной в непрерывной (аналоговой) форме.
По назначению
Универсальные, проблемно-ориентированные, специализированные.
По этапам создания
Разделение ЭВМ на поколения условно, так как поколения сменялись постепенно, поэтому временные границы между поколениями размыты. Поколения ЭВМ разделяют в зависимости от физических элементов или технологии их изготовления, используемые при построении ЭВМ. При сравнении быстродействия ЭВМ под операцией понимают операцию над числами с плавающей точкой.
7. Обобщенная структурная схема ЭВМ.
ЭВМ состоит из системного блока, к которому подключаются монитор и клавиатура. В системном блоке находятся основные компоненты ЭВМ:
ВЗУ – внешние запоминающие устройства (жесткий диск, приводы CD/DVD/Blu-Ray, флэш-память); некоторые ВЗУ располагаются внутри системного блока и подключаются к контроллерам ВЗУ, а некоторые – снаружи системного блока и подключаются к портам ввода-вывода.
ВК – видеокарта (видеоадаптер, видеоконтроллер) формирует изображение и передает его на монитор;
ИП – источник питания обеспечивает питание всех блоков ЭВМ по системной шине;
КВЗУ – контроллеры внешних запоминающих устройств управляют обменом информацией с ВЗУ;
КК – контроллер клавиатуры содержит буфер, в который помещаются вводимые символы, и обеспечивает передачу этих символов другим компонентам;
КПВВ – контроллеры портов ввода-вывода управляют обменом информацией с периферийными устройствами;
МП – микропроцессор выполняет команды программы, управляет взаимодействием всех компонент ЭВМ;
ОЗУ – оперативное запоминающее устройство хранит исходные данные и результаты обработки информации во время функционирования ЭВМ;
ПЗУ – постоянное запоминающее устройство хранит программы, выполняемые во время загрузки ЭВМ;
ПУ – периферийные устройства различного назначения: принтеры, сканнеры, манипуляторы «мышь» и др.;
СА – сетевой адаптер (карта) обеспечивает обмен информацией с локальными и глобальными компьютерными сетями.
8. Устройства ввода ЭВМ. Назначение, типы.
К устройствам ввода информации относят клавиатуру и такие ПУ, как сканнеры, манипуляторы типа «мышь», джойстики,
9. Устройства вывода ЭВМ. Назначение, типы.
а к устройствам вывода информации – монитор и такие ПУ, как принтеры.
10. Основная память ЭВМ. Назначение и состав.
ОЗУ – оперативное запоминающее устройство хранит исходные данные и результаты обработки информации во время функционирования ЭВМ;
ПЗУ – постоянное запоминающее устройство хранит программы, выполняемые во время загрузки ЭВМ;
МПП – это память с самым меньшим временем доступа в ЭВМ.
Запоминающие устройства, используемые в ЭВМ, состоят из последовательности ячеек. Каждая ячейка содержит значение одного байта и имеет собственный номер (адрес), по которому происходит обращение к ее содержимому. Все данные в ЭВМ хранятся в двоичном виде нулей и единиц.
Запоминающие устройства характеризуются двумя параметрами:
- объем памяти – размер в байтах, доступных для хранения информации;
- время доступа к ячейкам памяти – средний временной интервал, в течение которого находится требуемая ячейка памяти и из нее извлекаются данные.
Оперативное запоминающее устройство (ОЗУ; RAM – Random Access Memory) предназначено для оперативной записи, хранения и чтения информации (программ и данных), непосредственно участвующей в информационно-вычислительном процессе, выполняемом ЭВМ в текущий период времени. После выключения питания ЭВМ, информация в ОЗУ уничтожается, поэтому она не подходит для долговременного хранения информации. Каждая ячейка памяти имеет свой адрес, выраженный числом.
Постоянное запоминающее устройство (ПЗУ; ROM – Read Only Memory) хранит неизменяемую (постоянную) информацию: программы, выполняемые во время загрузки системы, и постоянные параметры ЭВМ. В момент включения ЭВМ в его ОЗУ отсутствуют данные, так как ОЗУ не сохраняет данные после выключения ЭВМ. Но МП необходимы команды, в том числе и сразу после включения. Поэтому МП обращается по специальному стартовому адресу, который ему всегда известен, за своей первой командой. Этот адрес из ПЗУ. Основное назначение программ из ПЗУ состоит в том, чтобы проверить состав и работоспособность системы и обеспечить взаимодействие с клавиатурой, монитором, жесткими и гибкими дисками. Обычно изменить информацию ПЗУ нельзя.
Кроме ПЗУ существует энергонезависимая память CMOS RAM (Complementary Metal-Oxide Semiconductor RAM), в которой хранятся данные об аппаратной конфигурации ЭВМ: о подключенных к ЭВМ устройствах и их параметры, параметры загрузки, пароль на вход в систему, текущее время и дата. Питание памяти CMOS RAM осуществляется от батарейки. Если заряд батарейки заканчивается, то настройки, хранящиеся в памяти CMOS RAM, сбрасываются, и ЭВМ использует настройки по умолчанию.
11. Внешние запоминающие устройства ЭВМ. Назначение и типы.
Внешние запоминающие устройства (ВЗУ) предназначены для долговременного хранения и транспортировки информации. ВЗУ взаимодействуют с системной шиной через контроллеры внешних запоминающих устройств (КВЗУ). КВЗУ обеспечивают интерфейс ВЗУ и системной шины в режиме прямого доступа к памяти, то есть без участия МП. Интерфейс – это совокупность связей с унифицированными сигналами и аппаратуры, предназначенной для обмена данными между устройствами вычислительной системы.
ВЗУ можно разделить по критерию транспортировки на переносные и стационарные. Переносные ВЗУ состоят из носителя, подключаемого к порту ввода-вывода (обычно USB), (флэш-память) или носителя и привода (накопители на гибких магнитных дисках, приводы CD и DVD). В стационарных ВЗУ носитель и привод объединены в единое устройство (накопитель на жестких магнитных дисках). Стационарные ВЗУ предназначены для хранения информации внутри ЭВМ.
Рассмотрим три типа ВЗУ, разделенные по критерию физической основы или технологии производства носителя: 1) магнитные носители; 2) оптические носители; 3) флэш-память.
1) Магнитные носители основаны на свойстве материалов находиться в двух состояниях: «не намагничено»-«намагничено», кодирующие 0 и 1. По поверхности носителя перемещается головка, которая может считывать состояние или изменять его.
Рассмотрим три типа магнитных носителей.
1. Накопители на жестких магнитных дисках (НЖМД; harddisk – жесткий диск) представляют собой несколько дисков с магнитным покрытием, нанизанные на шпиндель, в герметичном металлическом корпусе. При вращении диска происходит быстрый доступ головки к любой части диска.
В НЖМД может быть до десяти дисков. Их поверхность размечается дорожками (track). Каждая дорожка имеет свой номер. Дорожки с одинаковыми номерами, расположенные одна над другой на разных дисках образуют цилиндр. Объем жестких дисков превышает 1 Тбайт (2011 г.), а время доступа – 0,005-0,03 с.
2.Накопители на гибких магнитных дисках (НГМД; FDD – Floppy Disk Drive) предназначены для записи информации на переносные носители – дискеты. Дискета представляет собой гибкий диск с магнитным покрытием, помещенный в жесткий корпус со шторкой, открываемой для доступа головки к диску, и прорезью для защиты от записи. Как и в случае жесткого диска, поверхность гибкого диска разбивается на дорожки, которые в свою очередь разбиваются на секторы. Секторы и дорожки формируются во время форматирования дискеты.
3.Дисковые массивы RAID (Redundant Array of Inexpensive Disks – массив недорогих дисков с избыточностью) используются для хранения данных в суперкомпьютерах (мощных ЭВМ предназначенных для решения крупных вычислительных задач) и серверах (подключенных к сети ЭВМ, предоставляющих доступ к хранящимся в них данным). Массивы RAID – это несколько запоминающих устройств на жестких дисках, объединенные в один большой накопитель, обслуживаемый специальным RAID-контроллером. Одна и та же информация хранится на различных жестких дисках и при потере информации на одном жестком диске восстанавливает ее с другого жесткого диска. RAID-массивы поддерживают технологию Plug and Play, то есть замену одного из дисков без остановки всего массива.
2) Оптические носители представляют собой компакт-диски диаметром 12 см (4,72 дюйма) или мини-диски диаметром 8 см (3,15 дюйма). Оптические носители состоят из трех слоев:
1) поликарбонатная основа (внешняя сторона диска);
2) активный (регистрирующий) слой пластика с изменяемой фазой состояния;
3) тончайший отражающий слой (внутренняя сторона диска).
В центре компакт-диска находится круглое отверстие, надеваемое на шпиндель привода компакт-дисков.
Запись и считывание информации на компакт-диск осуществляется головкой, которая может испускать лазерный луч. Физический контакт между головкой и поверхностью диска отсутствует, что увеличивает срок службы компакт-диска. Фаза второго пластикового слоя, кристаллическая или аморфная, изменяется в зависимости от скорости остывания после разогрева поверхности лазерным лучом в процессе записи, выполняемой в приводе. При медленном остывании пластик переходит в кристаллическое состояние и информация стирается (записывается «0»); при быстром остывании (если разогрета только микроскопическая точка) элемент пластика переходит в аморфное состояние (записывается «1»).
В зависимости от возможности чтения/записи все компакт-диски можно разделить на три типа:
1) ROM (Read Only Memory) – только для чтения; запись невозможна;
2) R (Recordable) – для однократной записи и многократного чтения; диск может быть однажды записан; записанную информацию изменить нельзя и она доступна только для чтения;
3) RW (ReWritable) – для многократной записи и чтения; информация на диске может быть многократно перезаписана.
Типы компакт-дисков | CD | DVD |
ROM | CD-ROM | DVD-ROM |
R | CD-R | DVD-R, DVD+R |
RW | CD-RW | DVD-RW, DVD+RW, DVD-RAM |
3) Флэш-память представляет собой микросхемы памяти, заключенные в пластиковый корпус, и предназначена для долговременного хранения информации с возможностью многократной перезаписи. Микросхемы флэш-памяти не имеют движущихся частей. При работе указатели в микросхеме перемещаются на начальный адрес блока, и затем байты данных передаются в последовательном порядке. При производстве микросхем флэш-памяти используются логические элементы NAND (И-НЕ). Количество циклов перезаписи флэш-памяти превышает 1 млн. В настоящее время размер флэш-памяти превышает 64 Гбайт (2011 г.), что позволило флэш-памяти вытеснить дискеты. Флэш-память подключается к порту USB.
12. Центральные устройства ЭВМ. Состав и принцип работы.
МП память диски видео сетев адапт порты
Микропроцессор (МП; CPU – Central Processing Unit (центральный обрабатывающий модуль)) – центральный блок ЭВМ, управляющий работой всех компонент ЭВМ и выполняющий операции над информацией. Операции производятся в регистрах, составляющих микропроцессорную память.
Основные функции МП:
- выполнение команд программы, расположенной в ОЗУ; команда состоит из кода, определяющего, что эта команда делает, и операндов, над которыми эта команда осуществляется;
- управление пересылкой информации между микропроцессорной памятью, ОЗУ и периферийными устройствами;
- обработка прерываний;
- управление компонентами ЭВМ.
Арифметико-логическое устройство (АЛУ) выполняет все арифметические (сложение, вычитание, умножение, деление) и логические (конъюнкция, дизъюнкция и др.) операции над целыми двоичными числами и символьной информацией.
Устройство синхронизации (УС) определяет дискретные интервалы времени – такты работы МП между выборками очередной команды. Частота, с которой осуществляется выборка команд, называется тактовой частотой.
Интерфейс МП (ИМП) предназначен для связи и согласования МП с системной шиной ЭВМ. Принятые команды и данные временно помещаются в кэш-память второго уровня. Размер кэш-памяти второго уровня – 256-2048 Кбайт. Ранее кэш-память второго уровня размещалась на материнской плате.
Микропроцессорная память (МПП) включает 14 основных двухбайтовых запоминающих регистров и множество (до 256) дополнительных регистров. Регистры – это быстродействующие ячейки памяти различного размера. Основные регистры можно разделить на 4 группы.
Основными параметрами МП являются тактовая частота, разрядность и рабочее напряжение.
Тактовая частота определяет количество элементарных операций (тактов), выполняемых МП за единицу времени. Тактовая частота современных МП измеряется в ГГц (1 Гц соответствует выполнению одной операции за одну секунду, 1 ГГц = 109 Гц). Чем больше тактовая частота, тем больше команд может выполнить МП, и тем больше его производительность. Разрядность процессора показывает, сколько бит данных МП может принять и обработать в своих регистрах за один такт.
Видеоподсистема ЭВМ
Видеоподсистема ЭВМ включает два устройства:
1) монитор (дисплей), отображающий на своем экране текстовую и графическую информацию пользователю;
2) видеокарта (ВК; видеоконтроллер, видеоадаптер), обеспечивающая формирование изображения, его хранение, обновление и преобразование в сигнал, отображаемый монитором.
Видеокарта представляет собой плату, устанавливаемую в специальный слот на материнской плате или интегрированную в материнскую плату. Видеокарта содержит следующие элементы:
- графический процессор, обрабатывающий изображение и преобразующий его в сигнал для монитора;
- видеопамять, хранящую воспроизводимую на экране информацию; объем видеопамяти превышает 1 Гбайт (2011 г.);
- цифро-аналоговый преобразователь (ЦАП), преобразующий цифровую информацию об изображении в аналоговый сигнал; характеристиками ЦАП являются частота преобразования и разрядность, определяющая количество цветов, поддерживаемых видеокартой;
- видеоакселераторы; различают два типа видеоакселераторов: для плоской (2D) и трехмерной (3D) графики; первые эффективны для работы с прикладными программами общего назначения, вторые ориентированы на работу с разными мультимедийными и развлекательными программами; видеоакселераторы позволяют производить математические вычисления для построения трехмерных сцен на двухмерном экране без участия МП.
Рассмотрим три типа мониторов:
1) на основе электронно-лучевой трубки;
2) жидкокристаллические;
3) плазменные.
Первый тип мониторов является аналоговым, а остальные – цифровыми.
Контроллеры портов ввода-вывода
Контроллер порта ввода-вывода (КПВВ) обеспечивает интерфейс между периферийным устройством, подключенным к порту КПВВ, и системной шиной.
Порты ввода-вывода делятся на два типа в зависимости от количества бит, проходящих за один такт передачи:
- параллельные, в которых за один такт проходит несколько бит (например, 8 или 16 бит);
- последовательные, в которых за один такт проходит один бит.
Сетевой адаптер
Для доступа ЭВМ к локальной сети используется специальная плата – сетевой адаптер, которая выступает в качестве физического соединения ЭВМ и канала связи. Сетевой адаптер выполняет следующие функции:
- подготовку данных, поступающих от ЭВМ, к передаче по каналу связи;
- передачу данных по каналу связи;
- прием данных из канала связи и перевод их в форму, понятную ЭВМ.
Каждый сетевой адаптер имеет уникальный физический адрес, записанный в него на стадии производства.
13. Обработка машинной команды центральными устройствами ЭВМ.
Обработка информации - получение одних информационных объектов из других информационных объектов путем выполнения некоторых алгоритмов.
Компьютер может вводить информацию, обрабатывать, выводить, а также накапливать.
Устройства ввода преобразуют вводимую информацию в числа. Например, вы нажимаете клавиши на клавиатуре, из нее в основной блок передаются числа, соответствующие нажимаемой клавише. Если вводится звуковая информация, она также преобразуется в поток чисел, каждое из которых соответствует амплитуде звукового сигнала в данный момент времени. При вводе изображения при помощи сканера полученный образ хранится в виде чисел, описывающих цвет и интенсивность отдельных точек изображения. При передвижении мыши по поверхности стола направление перемещения мыши и расстояние преобразуются в цифровую форму и передаются в компьютер.
Что касается хранения информации, то она хранится в цифровом виде. Это удобно для обработки информации компьютером. Помимо введенной для обработки информации в компьютере хранится и другой вид данных - программы для работы с информацией. Программы хранятся в виде чисел и представляют собой ни что иное, как инструкции компьютеру по работе с информацией. Программы предписывают компьютеру, какие следует выполнять операции в ответ на действия человека, работающего с компьютером. Как правило, для решения каждой задачи требуется иметь отдельную программу, хотя бывают и универсальные программы, способные выполнять несколько разных задач.
Устройством, обрабатывающим информацию в ЭВМ, является центральный процессор (ЦП). Он также обеспечивает согласование действий всей аппаратуры, входящей в состав компьютера. Располагается процессор в системном блоке. Там же расположены запоминающие устройства (память), предназначенные для хранения информации. Устройства ввода и вывода информации расположены вне системного блока. Они играют посредническую роль, обеспечивая взаимодействие человека и компьютера.
Обработка любой информации в процессоре связана с выполнением базовых арифметических и логических операций. Эту работу в процессоре выполняет арифметико-логическое устройство (АЛУ). Устройство управления (УУ) - второй блок процессора, формирует управляющие сигналы и координирует работу всех устройств и выполнение всех процессов в компьютере.
Процессор занимает в архитектуре ЭВМ центральное место, осуществляя управление взаимодействием всех основных компонентов, входящих в состав ЭВМ. Он непосредственно осуществляет обработку информации и программное управление данным процессом: дешифрует и выполняет команды программ, организует обращения к оперативной памяти (ОП), в нужных случаях инициирует операции ввода/вывода и работу периферийных устройств, воспринимает и обрабатывает запросы, поступающие как от устройств ЭВМ, так и из внешней среды (организация прерываний). Выполнение каждой команды состоит из выполнения более мелких операций - микрокоманд, выполняющих определенные элементарные действия. Набор микрокоманд определяется системой команд и логической структурой конкретной ЭВМ. Таким образом, каждая команда ЭВМ реализуется соответствующей микропрограммой, хранящейся в постоянном запоминающем устройстве (ПЗУ).
Микропроцессор выполняет обработку данных в точно отведенные единицы времени (такты), что необходимо для синхронизации процесса. Обработка информации тем быстрее, чем выше тактовая частота. Измеряется она в МГц (MHz, мегагерцах) и ГГц (GHz, гигагерцах).
В состав процессора входят следующие устройства:
Устройство управления (УУ),
Арифметико-логическое устройство (АЛУ),
Регистры процессорной памяти.
1. УУ – управляет работой всех устройств компьютера по заданной программе.
а) оно вызывает из памяти очередную команду программы и все участвующие в операции числа;
б) отправляет их в АЛУ, а полученный результат пересылает в память.
2. АЛУ - арифметико-логическое устройство предназначено для обработки данных. Оно выполняет над числами и командами необходимые арифметические и логические операции. Получив исходные данные и выполнив необходимые операции, АЛУ выдает промежуточный или конечный результат, компьютер затем отправляет в ЗУ.
3. Регистры – это внутренняя память процессора. Каждая из регистров служит своего рода черновиком, используя который процессор выполняет расчеты и сохраняет промежуточные результаты. У каждого регистра есть определенное назначение. В регистр – счетчик команд (СчК) помещается адрес той ячейки памяти ЭВМ, в компьютере хранится очередная исполняемая команда программы. В регистр команд (РК) помещается эта команда на время ее исполнения. Есть регистры, в которые помещают исходные данные и результаты выполнения команд. Полученный результат может быть переписан из регистра в ячейку ОЗУ.
14. Взаимодействие центральных и внешних устройств ЭВМ. Типы интерфейса.
Магистрально-модульный принцип построения компьютера
Под архитектурой компьютера понимается его логическая организация, структура, ресурсы, т. е. средства вычислительной системы, которые могут быть выделены процессу обработки данных на определенный интервал времени. Архитектура современных ПК основана на магистрально-модульном принципе. Модульный принцип позволяет потребителю самому подобрать нужную ему
конфигурацию компьютера и производить при необходимости его модернизацию. Модульная организация системы опирается на магистральный (шинный) принцип обмена информации. Магистраль или системная шина - это набор электронных линий, связывающих воедино по адресации памяти, передачи данных и служебных сигналов процессор, память и периферийные устройства. Обмен информацией между отдельными устройствами ЭВМ производится по трем многоразрядным шинам, соединяющим все модули, шине данных, шине адресов и шине управления. Подключение отдельных модулей компьютера к магистрали на физическом уровне осуществляется с помощью контроллеров, а на программном обеспечивается драйверами. Контроллер принимает сигнал от процессора и дешифрует его, чтобы соответствующее устройство смогло принять этот сигнал и отреагировать на него. За реакцию устройства процессор не отвечает - что функция контроллера. Поэтому внешние устройства ЭВМ заменяемы, и набор таких модулей произволен. Данные по шине данных могут передаваться как от процессора к какому-либо устройству, так и в обратную сторону, т. е. шина данных является двунаправленной. К основным режимам работы процессора с использованием шины передачи данных можно отнести следующие: запись/чтение данных из оперативной памяти и из внешних запоминающих устройств, чтение данных с устройств ввода, пересылка данных на устройства вывода.
нутримашинный системный интерфейс —система связи и сопряжения узлов и
блоков ЭВМ между собой — представляет собой совокупность электрических линий
связи (проводов), схем сопряжения с компонентами компьютера, протоколов
(алгоритмов) передачи и преобразования сигналов.
Существуют два варианта организации внутримашинного интерфейса.
1. Многосвязный интерфейс: каждый блок ПК связан с прочими блоками
своими локальными проводами; многосвязный интерфейс применяется, как правило,
только в простейших бытовых ПК.
2. Односвязный интерфейс: все блоки ПК связаны друг с другом через общую
или системную шину.
В подавляющем большинстве современных ПК в качестве системного интерфейса
используется системная шина. Структура и состав системной шины были
рассмотрены ранее. Важнейшими функциональными характеристиками системной шины
являются: количество обслуживаемых ею устройств и ее пропускная способность,
т.е. максимально возможная скорость передачи информации. Пропускная
способность шины зависит от ее разрядности (есть шины 8-, 16-, 32- и
64-разрядные) и тактовой частоты, на которой шина работает.
В качестве системной шины в разных ПК использовались и могут использоваться:
· шины расширений — шины общего назначения,
позволяющие подключать большое число самых разнообразных устройств;
· локальные шины, специализирующиеся на
обслуживании небольшого количества устройств определенного класса.
15. Шина. Характеристики и типы.
В основе устройства ЭВМ лежит системная шина, которая служит для обмена командами и данными между компонентами ЭВМ, расположенными на материнской плате. ПУ подключаются к шине через контроллеры. Такая архитектура ЭВМ называется открытой, так как легко может быть расширена за счет подключения новых устройств. Передача информации по системной шине также осуществляется по тактам.
Системная шина включает в себя:
- кодовую шину данных для параллельной передачи всех разрядов числового кода (машинного слова) операнда из ОЗУ в МПП и обратно; имеет 64 разряда;
- кодовую шину адреса для параллельной передачи всех разрядов адреса ячейки ОЗУ; имеет 32 разряда;
- кодовую шину инструкций для передачи команд (управляющих сигналов, импульсов) во все блоки ЭВМ; простые команды кодируются одним байтом, но есть и команды, кодируемые двумя, тремя и более байтами; имеет 32 разряда;
- шину питания для подключения блоков ЭВМ к системе энергопитания.
Системная шина обеспечивает три направления передачи информации:
1) между МП и ОЗУ;
2) между МП и контроллерами устройств;
3) между ОЗУ и внешними устройствами (ВЗУ и ПУ, в режиме прямого доступа к памяти).
Все устройства подключаются к системной шине через контроллеры – устройства, которые обеспечивают взаимодействие внешних устройств и системной шины.
Характеристиками системной шины являются количество обслуживаемых ею устройств и ее пропускная способность, то есть максимально возможная скорость передачи информации. Пропускная способность шины зависит от следующих параметров:
- разрядность или ширина шины – количество бит, которое может быть передано по шине одновременно (существуют 8-, 16-, 32- и 64-разрядные шины);
- тактовая частота шины – частота, с которой передаются биты информации по шине.
16. Обобщенная структурная схема персонального компьютера.
17. Программное обеспечение ЭВМ. Типы и состав.
Совокупность программ, процедур и правил, а также документации, связанных с функционированием системы обработки данных, составляют программное обеспечение (ПО; software). Программное и аппаратное обеспечение в ЭВМ работают в неразрывной связи и взаимодействии.
ПО предназначено для решения конкретных задач. Приложение (application) – это программная реализация решения задачи на ЭВМ. В большинстве случаев, приложения разрабатываются для последующего выхода с ним на рынок ПО. Программный продукт (ПП) – это комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.
Жизненный цикл ПП состоит из трех стадий: 1) разработка ПП; 2) эксплуатация и сопровождение; 3) завершение жизненного цикла.
Стадия разработки ПП включает следующие частично перекрывающиеся этапы.
МС – маркетинг рынка ПО и формирование требований к ПП предназначены для изучения требований к создаваемому ПП, включающие следующие действия:
- изучение сегмента рынка ПО, где предполагается использование разрабатываемого ПП, и анализ аналогичных ПП; определение состава и назначения функций обработки данных ПП;
- установление требований пользователя к способу взаимодействия с ПП (система меню, использование манипулятора «мышь», типы подсказок, виды экранных документов и т. п.);
- определение аппаратных и программных средств, необходимых для эксплуатации ПП.
ПС – проектирование структуры ПП связано с разработкой структуры ПП, структуры информационной базы задачи, выбором методов и средств создания программ – технологии программирования.
ПР – программирование и тестирование программ являются технической реализацией проектных решений и выполняются с помощью выбранного инструментария разработчика, включающего языки и системы программирования. Разработка отдельных модулей ПП ведется параллельно для сокращения продолжительности этого этапа. Тестирование является важным этапом разработки ПП и часто требует не меньше времени, чем программирование. Программа проверяется на устойчивость работы в случае неверных входных данных, ошибочных действиях пользователя и сбое аппаратного обеспечения. Тестирование разбивается на два этапа. Альфа-тестирование осуществляется в месте его разработки, и его результатом является стабильно работающая программа. Бета-тестирование производится у заказчика ПП для проверки его функциональности и выявления оставшихся ошибок. Тестирование продолжается и на этапе эксплуатации.
ДК – документирование ПП заключается в разработке необходимых сведений по установке и обеспечению надежной работы ПП, поддержке пользователей при выполнении функций обработки системой помощи и подсказок, определении порядка взаимодействия ПП с другими программами.
Стадия эксплуатации и сопровождения включает следующие этапы.
ВР – выпуск ПП на рынок ПО сопровождается различными приемами маркетинга: рекламой, увеличением числа каналов реализации, скидками, службой поддержки и др. ПП может быть выпущен на рынок как коммерческое, условно-бесплатное (shareware) или бесплатное (freeware) ПО. Для получения копии коммерческого пользователь должен предварительно его оплатить. Условно-бесплатное ПО является ознакомительным. Пользователь может попробовать данный ПП в течение определенного периода. По истечению этого периода пользователь должен купить ПО или отказаться от его использования. Бесплатное ПО не имеет ограничений на использование.
ЭП – эксплуатация ПП идет параллельно с этапом сопровождения. При этом эксплуатация может начинаться раньше и заканчиваться позже сопровождения.
СП – сопровождение ПП заключается в поддержке работоспособности ПП, переход на его новые версии, усовершенствование, исправление обнаруженных ошибок и т. п.
Стадия завершения жизненного цикла состоит из одного этапа.
СН – снятие ПП с продажи и отказ от сопровождения происходит, как правило, по следующим причинам:
- появлением новых технологий и устройств;
- плохих отзывах пользователей;
- смене политики разработчика этого ПП.
Системный уровень обеспечивает взаимодействие других программ компьютера с базовым уровнем и непосредственно с аппаратным обеспечением. Совокупность ПО системного уровня образует ядро операционной системы (ОС) ЭВМ. Ядро ОС выполняет следующие функции:
- управление и распределение памяти ОЗУ и ВЗУ;
- управление процессами ввода-вывода;
- поддержка файловой системы – упорядоченной совокупности объектов различного типа (файлов), хранящихся в ВЗУ;
- управление устройствами через специальные программы – драйверы;
- организация взаимодействия и диспетчеризации процессов – выполняемых в данный момент программ и задач;
- предоставление интерфейса пользователю для управления перечисленными функциями – системы окон, меню, панелей инструментов для вызова соответствующих функций.
Драйвер устройств – это программа, которая обеспечивает взаимодействие (преобразование сигналов, данных) с компонентами ЭВМ. Почти все компоненты взаимодействуют с ОС через драйверы.
Служебный уровень автоматизирует работы по проверке и настройке компьютерной системы. Задачи, решаемые на служебном уровне, аналогичны задачам системного уровня, однако ПО служебного уровня решает их эффективней. Таким образом, служебный уровень дополняет системный уровень.
Типы служебных программ.
1. Диспетчеры файлов (файловые менеджеры). Предоставляют удобные средства для выполнения большинства операций по обслуживанию файловой системы: копированию, перемещению, переименованию файлов, созданию каталогов (папок), уничтожению объектов, поиску файлов и навигации в файловой системе.
2. Средства сжатия данных (архиваторы). Создают, обновляют и обслуживают архивных файлов, предназначенных для компактного хранения и передачи других файлов.
3. Средства диагностики. Предназначены для автоматизации процессов проверки правильности работы программного и аппаратного обеспечения и оптимизации работы компьютерной системы.
4. Средства просмотра и воспроизведения. Служат для просмотра текстовых файлов, графических изображений, воспроизведения звуковых или видеофайлов.
5. Средства обеспечения компьютерной безопасности. Служат для предотвращения несанкционированного доступа к файлам для их чтения, изменения или повреждения.
Прикладной уровень представляет собой комплекс прикладных программ, с помощью которых выполняются конкретные задачи (производственные, творческие, развлекательные и учебные).
Классификация прикладного ПО.
1. Офисные пакеты. Представляют собой комплексное решение задач, возникающих при документообороте в учреждениях и домашних условиях. Включают текстовый редактор для создания и обработки текстов; табличный процессор для подсчета и анализа числовых данных; систему управления базами данных (СУБД) для хранения и обработки данных; редактор презентаций для подготовки материалов для проведения лекций и презентаций.
2. Графические редакторы предназначены для создания и обработки графических изображений и делятся на три типа: редакторы растровой графики, редакторы векторной графики и редакторы трехмерной графики. Растровая графика состоит из массива точек разных цветов. Векторная графика представляет изображение в виде набора геометрических примитивов: точек, линий, прямоугольников, окружностей и др. Трехмерная графика строится на основе векторной графики, но к ней добавляются новые элементы, имитирующее третье измерение.
3. Системы автоматизированного проектирования (cad-системы) предназначены для автоматизации проектно-конструкторских работ в машиностроении, приборостроении, архитектуре. Позволяют проводить математические расчеты надежности конструкций.
4. Программы для работы в локальных и глобальных сетях: браузеры, клиенты электронной почты, программы для загрузки файлов.
5. Системы автоматизированного перевода. Различают электронные словари и программы перевода текстов на естественных языках.
6. Бухгалтерские системы. Предназначены для автоматизации подготовки начальных бухгалтерских документов предприятия, финансовых отчетов и их учета.
7. Игровые, обучающие и справочные программы.
8. Инструментальные языки и системы программирования. Предназначены для разработки новых программ. Предоставляют программисту удобные средства для создания и отладки программных средств.
18. Операционные системы. Основные функции и виды.
Операционная система (ОС) представляет собой комплекс системных и служебных программных средств. С одной стороны, она опирается на базовое ПО, входящее в его систему BIOS, с другой стороны, она сама является основой для ПО более высоких уровней – прикладных и большинства служебных приложений. Приложениями ОС принято называть программы, предназначенные для работы под управлением данной системы.
Основная функция всех ОС – посредническая. Она заключается в обеспечении нескольких видов взаимодействия:
- взаимодействие между пользователем с одной стороны и программным и аппаратным обеспечением ЭВМ с другой стороны, называемое интерфейсом пользователя;
- взаимодействие между программным и аппаратным обеспечением, называемое аппаратно-программным интерфейсом;
- взаимодействие между программным обеспечением разного уровня, называемое программным интерфейсом.
ОС можно подразделить по типу аппаратного обеспечения, на котором ОС работают.
Серверные ОС одновременно обслуживают множество пользователей и позволяют им делить между собой программно-аппаратные ресурсы сервера. Серверы также предоставляют возможность работы с печатающими устройствами, файлами или сетью Интернет. У Интернет-провайдеров обычно работают несколько серверов для того, чтобы поддерживать одновременный доступ к сети множества клиентов. На серверах хранятся страницы веб-сайтов и обрабатываются входящие запросы. Unix и специальная серверная версия ОС Windows являются примерами серверных ОС. Теперь для этой цели стала использоваться и ОС Linux.
Следующую категорию составляют ОС для персональных компьютеров. Их работа заключается в предоставлении удобного интерфейса для одного пользователя. Такие системы широко используются и повседневной работе. Основными ОС в этой категории являются Windows XP / Vista / 7, Apple MacOS и Linux.
Другим видом ОС являются системы реального времени. Главным параметром таких систем является время. Например, в системах управления производством компьютеры, работающие в режиме реального времени, собирают данные о промышленном процессе и используют их для управления оборудованием. Такие процессы должны удовлетворять жестким временным требованиям. Если по конвейеру передвигается автомобиль, то каждое действие должно быть осуществлено в строго определенный момент времени. Если сварочный робот сварит шов слишком рано или слишком поздно, то нанесет непоправимый вред изделию. Системы VxWorks и QNX являются ОС реального времени.
Встроенные ОС используются в смартфонах, карманных компьютерах и бытовой технике. Карманный компьютер – это маленький компьютер, помещающийся в кармане и выполняющий небольшой набор функции, например, телефонной книжки и блокнота. Смартфон – это мобильный телефон, обладающий многими возможностями карманного компьютера. Встроенные микропроцессорные системы, управляющие работой устройств бытовой техники, не считаются компьютерами, но обладают теми же характеристиками, что и системы реального времени, и при этом имеют малые размер и память и ограничения мощности, что выделяет их в отдельный класс. Примерами таких ОС являются Google Andrоid и Apple iOS.
Самые маленькие ОС работают на смарт-картах, представляющих собой устройство размером с кредитную карту и содержащих центральный процессор. На такие ОС накладываются очень жесткие ограничения по мощности процессора и памяти. Некоторые из них могут управлять только одной операцией, например электронным платежом, но другие ОС выполняют более сложные функции.
Основными функциями ОС являются:
1) распределение ресурсов ЭВМ между процессами – выделение процессам ресурсов ЭВМ в зависимости от их приоритета;
2) поддержание файловой системы – организация хранения и поиска программ и данных на внешних носителях;
3) обеспечение интерфейса пользователя – прием и выполнение команд пользователя.
19. Типы диалога пользователя с компьютером.
Диалог – регламентированный обмен информацией между человеком и компьютером в реальном времени, направленный на совместное решение конкретной задачи
Обмен информацией осуществляется передачей сообщений и управляющих сигналов
Сообщение – порция информации, участвующая в диалоговом обмене:
- входные генерируются человеком с помощью средств ввода
- выходные генерируются компьютером и выводятся средствами вывода
Организация взаимодействия пользователя и компьютера:
20. Разработка прикладной программы под управлением ЭВМ.
Процесс программирования - это запись разработанного алгоритма на специальном языке (языке программирования) - представление алгоритма на языке, "понятном" исполнителю (вычислительной машине), т. е. в форме, допускающей ввод в машину и последующий перевод на машинный язык (в коды машины).
Язык программирования- это строго формализованный язык для описания процесса решения задачи на ЭВМ, представляет собой совокупность ограниченного набора символов и строгих правил их использования. Составленная программа вводится в ЭВМ и затем автоматически переводится на язык машины с помощью специальных программных средств, позволяющих автоматизировать этот процесс. Перевод – "трансляция" исходного текста программы выполняется служебной программой – транслятором, который осуществляет синтаксический контроль текста программы и последующий его перевод.
Трансляторы могут быть компилирующего типа – компиляторы и интерпретирующего типа – интерпретаторы.
Компиляторанализирует и преобразует исходный текст в, так называемый, объектный код (промежуточное состояние программы в относительных адресах и с неразрешенными внешними ссылками) с использованием всей логической структуры программы. Затем программа, представленная в объектном коде, обрабатывается служебной программой – компоновщиком, который осуществляет подключение внешних подпрограмм/разрешение внешних ссылок и выполняет дальнейший перевод программы пользователя в коды машины (в абсолютный/загрузочный код – с абсолютной адресацией машинных команд). Программа в абсолютном коде может быть сохранена (в.exe-файле) и выполнена на компьютере. Загрузка программы из.exe-файла в память машины для её выполнения осуществляется служебной программой загрузчик.
Интерпретаторсразу производит анализ, перевод (в машинный код) и выполнение программы строка за строкой. Поэтому интерпретатор должен находиться в оперативной памяти в течение всего времени выполнения программы пользователя. При интерпретации скорость выполнения программы существенно снижается, однако весь процесс прохождения программы на ЭВМ упрощается и имеется возможность организации диалогового (интерактивного) режима отладки и выполнения программы.
Выбор языка программирования определяется многими факторами: типом решаемой задачи, располагаемыми вычислительными средствами, вкусами и знаниями заказчика и разработчика.
Язык программирования Паскальбыл создан профессором, директором института информатики Швейцарской высшей политехнической школы г. Цюриха Никлаусом Виртом, в 1968 г. впервые опубликовано предварительное описание языка, а в 1970 г. представлен компилятор. Язык назван в честь известного математика Блеза Паскаля (1623 – 1662 г.г.), автора первой механической вычислительной сумматорной машины. Язык Паскаль был создан автором специально для обучения дисциплине программирования в высшей школе как язык поддержки технологии структурного программирования и средство формирования у обучаемого определенного стиля и практических навыков программирования. Основной тезис его разработки: «язык должен быть очевидным и естественным отражением фундаментальных и наиболее важных концепций алгоритмов». Широкое распространение языка Паскаль, его современных диалектов, свидетельствует о его практической ценности в различных сферах применения и, прежде всего, в сфере начального обучения программированию и формирования профессиональных навыков будущего специалиста в области IT-технологий.
21. Системы программирования. Назначение и состав.
Системой программирования называется комплекс программ, предназначенный для автоматизации программирования задач на ЭВМ. Система программирования освобождает проблемного пользователя или прикладного программиста от необходимости написания программ решения своих задач на неудобном для него языке машинных команд и предоставляют им возможность использовать специальные языки более высокого уровня.
22. Технология разработки программных комплексов. Основные этапы.
Стадия разработки ПП включает следующие частично перекрывающиеся этапы.
МС – маркетинг рынка ПО и формирование требований к ПП предназначены для изучения требований к создаваемому ПП, включающие следующие действия:
- изучение сегмента рынка ПО, где предполагается использование разрабатываемого ПП, и анализ аналогичных ПП; определение состава и назначения функций обработки данных ПП;
- установление требований пользователя к способу взаимодействия с ПП (система меню, использование манипулятора «мышь», типы подсказок, виды экранных документов и т. п.);
- определение аппаратных и программных средств, необходимых для эксплуатации ПП.
ПС – проектирование структуры ПП связано с разработкой структуры ПП, структуры информационной базы задачи, выбором методов и средств создания программ – технологии программирования.
ПР – программирование и тестирование программ являются технической реализацией проектных решений и выполняются с помощью выбранного инструментария разработчика, включающего языки и системы программирования. Разработка отдельных модулей ПП ведется параллельно для сокращения продолжительности этого этапа. Тестирование является важным этапом разработки ПП и часто требует не меньше времени, чем программирование. Программа проверяется на устойчивость работы в случае неверных входных данных, ошибочных действиях пользователя и сбое аппаратного обеспечения. Тестирование разбивается на два этапа. Альфа-тестирование осуществляется в месте его разработки, и его результатом является стабильно работающая программа. Бета-тестирование производится у заказчика ПП для проверки его функциональности и выявления оставшихся ошибок. Тестирование продолжается и на этапе эксплуатации.
ДК – документирование ПП заключается в разработке необходимых сведений по установке и обеспечению надежной работы ПП, поддержке пользователей при выполнении функций обработки системой помощи и подсказок, определении порядка взаимодействия ПП с другими программами.
Стадия эксплуатации и сопровождения включает следующие этапы.
ВР – выпуск ПП на рынок ПО сопровождается различными приемами маркетинга: рекламой, увеличением числа каналов реализации, скидками, службой поддержки и др. ПП может быть выпущен на рынок как коммерческое, условно-бесплатное (shareware) или бесплатное (freeware) ПО. Для получения копии коммерческого пользователь должен предварительно его оплатить. Условно-бесплатное ПО является ознакомительным. Пользователь может попробовать данный ПП в течение определенного периода. По истечению этого периода пользователь должен купить ПО или отказаться от его использования. Бесплатное ПО не имеет ограничений на использование.
ЭП – эксплуатация ПП идет параллельно с этапом сопровождения. При этом эксплуатация может начинаться раньше и заканчиваться позже сопровождения.
СП – сопровождение ПП заключается в поддержке работоспособности ПП, переход на его новые версии, усовершенствование, исправление обнаруженных ошибок и т. п.
Стадия завершения жизненного цикла состоит из одного этапа.
СН – снятие ПП с продажи и отказ от сопровождения происходит, как правило, по следующим причинам:
- появлением новых технологий и устройств;
- плохих отзывах пользователей;
- смене политики разработчика этого ПП.
Длительность жизненного цикла для различных ПП различна. Для большинства современных ПП длительность жизненного цикла составляет в среднем 2-3 года.
23. Основы структурного программирования.
При программировании модуля следует иметь ввиду, что программа должна быть понятной не только компьютеру, но и человеку: и разработчик модуля, и лица, проверяющие модуль, и текстовики, готовящие тесты для отладки модуля, и сопроводители ПС, осуществляющие требуемые изменения модуля, вынуждены будут многократно разбирать логику работы модуля. В современных языках программирования достаточно средств, чтобы запутать эту логику сколь угодно сильно, тем самым, сделать модуль трудно понимаемым для человека и, как следствие этого, сделать его ненадежным или трудно сопровождаемым. Поэтому необходимо принимать меры для выбора подходящих языковых средств и следовать определенной дисциплине программирования. Впервые на это обратил внимание Дейкстра [8.2] и предложил строить программу как композицию из нескольких типов управляющих конструкций (структур), которые позволяют сильно повысить понимаемость логики работы программы. Программирование с использованием только таких конструкций назвали структурным.
Основными конструкциями структурного программирования являются: следование, разветвление и повторение (см. Рис. 8.1). Компонентами этих конструкций являются обобщенные операторы (узлы обработки [8.5]) S, S1, S2 и условие (предикат) P. В качестве обобщенного оператора может быть либо простой оператор используемого языка программирования (операторы присваивания, ввода, вывода, обращения к процедуре), либо фрагмент программы, являющийся композицией основных управляющих конструкций структурного программирования. Существенно, что каждая из этих конструкций имеет по управлению только один вход и один выход. Тем самым, и обобщенный оператор имеет только один вход и один выход.
Весьма важно также, что эти конструкции являются уже математическими объектами (что, посуществу, и объясняет причину успеха структурного программирования). Доказано, что для каждой неструктурированной программы можно построить функционально эквивалентную (т.е. решающую ту же задачу) структурированную программу. Для структурированных программ можно математически доказывать некоторые свойства, что позволяет обнаруживать в программе некоторые ошибки. Этому вопросу будет посвящена отдельная лекция.
Структурное программирование иногда называют еще "программированием без GO TO". Однако дело здесь не в операторе GO TO, а в его беспорядочном использовании. Очень часто при воплощении структурного программирования на некоторых языках программирования (например, на ФОРТРАНе) оператор перехода (GO TO) используется для реализации структурных конструкций, не снижая основных достоинств структурного программирования. Запутывают программу как раз "неструктурные" операторы перехода, особенно переход на оператор, расположенный в тексте модуля выше (раньше) выполняемого оператора перехода. Тем не менее, попытка избежать оператора перехода в некоторых простых случаях может привести к слишком громоздким структурированным программам, что не улучшает их ясность и содержит опасность появления в тексте модуля дополнительных ошибок. Поэтому можно рекомендовать избегать употребления оператора перехода всюду, где это возможно, но не ценой ясности программы [8.1].
К полезным случаям использования оператора перехода можно отнести выход из цикла или процедуры по особому условию, "досрочно" прекращающего работу данного цикла или данной процедуры, т.е. завершающего работу некоторой структурной единицы (обобщенного оператора) и тем самым лишь локально нарушающего структурированность программы. Большие трудности (и усложнение структуры) вызывает структурная реализация реакции на возникающие исключительные (часто ошибочные) ситуации, так как при этом требуется не только осуществить досрочный выход из структурной единицы, но и произвести необходимую обработку (исключение) этой ситуации (например, выдачу подходящей диагностической информации). Обработчик исключительной ситуации может находиться на любом уровне структуры программы, а обращение к нему может производиться с разных нижних уровней. Вполне приемлемой с технологической точки зрения является следующая "неструктурная" реализация реакции на исключительные ситуации [8.7]. Обработчики исключительных ситуаций помещаются в конце той или иной структурной единицы и каждый такой обработчик программируется таким образом, что после окончания своей работы производит выход из той структурной единицы, в конце которой он помещен. Обращение к такому обработчику производится оператором перехода из данной структурной единицы (включая любую вложенную в нее структурную единицу).
24. Базовые управляющие конструкции.
Можно доказать, что алгоритм любой сложности может быть написан на основе использования всего трех базовых алгоритмических структур - последовательности, ветвления (развилки) и повторения (цикла). Каждая из этих конструкций имеет один вход и один выход, причем составляющие их компоненты отображаются по вертикали.
Различные варианты этих базовых структур отображены в Табл.2. Там же указаны примеры, словесное описание алгоритма структуры и синтаксис записи ее на языке С. Последнее будет полезно в будущем при переводе алгоритмов в программный код.
Ветвление используется, когда необходимо выбрать один из двух или нескольких вариантов продолжения алгоритма в зависимости от выполнения того или иного условия.
Циклы предназначены для повторения какого-либо действия (последовательности) несколько раз. Циклические структуры позволяют значительно сократить размер записи алгоритма, представить его компактно путем соответствующей организации повторения предписываемых действий.
Первый из представленных циклических алгоритмов называется циклом с предусловием, потому что в нем сначала проверяется условие продолжения цикла, а только затем выполняется действие. В этом алгоритме действие может не выполниться ни разу, если условие продолжения цикла сразу же не выполнится.
Цикл с постусловием характерен тем, что сначала выполняется действие, а затем проверяется условие продолжения цикла. Поэтому действие выполнится в таком цикле хотя бы один раз.
Последний вид циклического алгоритма - цикл с параметром или пошаговый. Обычно этот алгоритм используется, когда заранее известно количество повторений (итераций) цикла. Переменная-счетчик (параметр цикла) используется для того, чтобы организовать своевременный ыход из цикла.
25. «Восходящий» и «нисходящий» способы проектирования программ.
26. Алгоритм и схема алгоритма.
Алгоритм – это полное и точное описание на некотором языке конечной последовательности правил, указывающих исполнителю действия, которые он должен выполнить, чтобы за конечное время перейти от (варьируемых) исходных данных к искомому результату. Причем интуитивно под алгоритмом понимают некоторую систему правил, обладающих определенными свойствами.
Свойства алгоритма:
1. Первым свойством алгоритма является дискретный (пошаговый) характер определяемого им процесса. Возникающая в результате такого разбиения запись алгоритма представляет собой упорядоченную последовательность отдельных предписаний (директив, команд), образующих прерывную/дискретную структуру алгоритма: только выполнив требования одного предписания можно приступить к исполнению следующего.
2. Исполнитель может выполнить алгоритм, если он ему понятен, то есть записан на понятном ему языке и содержит предписания, которые исполнитель может выполнить. Набор действий, которые могут быть выполнены исполнителем, называется системой команд исполнителя. Алгоритм не должен содержать описания действий, не входящих в систему команд исполнителя, то есть своей структурой команд и формой записи алгоритм должен быть ориентирован на конкретного исполнителя.
3. Алгоритмы, предназначенные для исполнения техническим устройством, не должны содержать предписаний, приводящих к неоднозначным действиям. Алгоритм рассчитан на чисто механическое исполнение, и если применять его повторно к одним и тем же исходным данным, то всегда должен получаться один и тот же результат; при этом и промежуточные результаты, полученные после соответствующих шагов алгоритмического процесса, тоже должны быть одинаковыми. Это свойство определенности и однозначности – детерминированности - алгоритма позволяет использовать в качестве исполнителя специальные машины-автоматы.
4. Основополагающим свойством алгоритма является его массовость, применимость к некоторому классу объектов, возможность получения результата при различных исходных данных на некоторой области допустимых значений. Например, исходными данными в алгоритмах аль-Хорезми могут быть любые пары десятичных чисел. Конечно, его способ не всегда самый рациональный по сравнению с известными приемами быстрого счета. Но смысл массовости алгоритма состоит как раз в том, что он одинаково пригоден для всех случаев, требует лишь механического выполнения цепочки простых действий и при этом исполнителю нет нужды в затратах творческой энергии.
5. Цель выполнения алгоритма – получение конечного результата посредством выполнения указанных преобразований над исходными данными. В алгоритмах аль-Хорезми исходными данными и результатом являлись числа. Причем при точном исполнении всех предписаний алгоритмический процесс должен заканчиваться за конечное число шагов. Это обязательное требование к алгоритмам – требование их результативности или конечности.
В математике известны вычислительные процедуры алгоритмического характера, не обладающие свойством конечности. Например, процедура вычисления числа p. Однако, если мы введем условие завершения вида «закончить после получения n десятичных знаков числа p», то получим алгоритм вычисления n десятичных знаков числа p. На этом принципе построены многие вычислительные алгоритмы.
6. Если алгоритм должен быть выполнен не просто за конечное время, а за разумное конечное время, то речь идет об эффективности алгоритма. Время выполнения алгоритма очень важный параметр, однако, понятие эффективности алгоритма трактуется шире, включая такие аспекты, как сложность, необходимые ресурсы, информационно-программное обеспечение. Эффективность алгоритма часто определяет возможность его практической реализации.
Схема алгоритма – это графический способ его представления с элементами словесной записи. Каждое предписание алгоритма изображается с помощью плоской геометрической фигуры – блока. Отсюда название: блок-схема. Переходы от предписания к предписанию изображаются линиями связи – линиями потоков информации, а направление переходов – стрелками. Различным по типу выполняемых действий блокам соответствуют различные геометрические фигуры. Приняты определенные стандарты графических изображений блоков (таблица).
Рассмотрим общие правила построения схем алгоритмов.
1. Для конкретизации содержания блока и уточнения выполняемого действия внутри блока помещаются краткие пояснения – словесные записи с элементами общепринятой математической символики.
Наименование символа | Обозначение и размеры | Функция |
Процесс (вычислительный блок) | Выполнение операции или группы операций, в результате которых изменяются значение, форма представления или расположение данных | |
Решение (логический блок) | Выбор направления выполнения алгоритма в зависимости от некоторых условий | |
Модификация (заголовок цикла) | Выполнение операций по управлению циклом – повторением команды или группы команд алгоритма | |
Пуск-останов (начало-конец) | Начало или конец выполнения программы или подпрограммы | |
Предопределенный процесс (вызов подпрограммы) | Вызов и использование ранее созданных и отдельно описанных алгоритмов (подпрограмм) | |
Ввод/вывод | Общее обозначение ввода или вывода данных в алгоритме безотносительно к внешнему устройству | |
Соединитель | Указание прерванной связи между блокам в пределах одной страницы | |
Межстраничный соединитель | Указание прерванной связи между блоками, расположенными на разных листах |
2. Основное направление потока информации в схемах может не отмечаться стрелками. Основное направление – сверху вниз и слева направо. Если очередность выполнения блоков не соответствует этому направлению, то возможно применение стрелок.
3. По отношению к блоку линии могут быть входящими и выходящими. Количество входящих линий принципиально не ограничено. Количество выходящих линий регламентировано и зависит от типа блока. Например, логический блок должен иметь не менее двух выходящих линий, каждая из которых соответствует одному из возможных направлений вычислений. Блок модификации должен иметь две выходящие линии, одна соответствует повторению цикла, вторая – его окончанию.
4. Допускается разрывать линии потока информации, размещая на обоих концах разрыва специальный символ «соединитель». В пределах одной страницы используется символ обычного соединителя, во внутреннем поле которого помещается маркировка разрыва либо отдельной буквой, либо буквенно-цифровой координатой блока, к которому подходит линия потока. Если схема располагается на нескольких листах, переход линий потока с одного листа на другой обозначается с помощью символа «межстраничный соединитель». При этом на листе с блоком-источником соединитель содержит номер листа и координаты блока-приемника, а на листе с блоком-приемником – номер листа и координаты блока-источника.
5. Нумерация блоков осуществляется либо в левом верхнем углу блока в разрыве его контура, либо рядом слева от блока. Принцип нумерации может быть различным, наиболее простой – сквозная нумерация. Блоки начала и конца не нумеруются.
6. Для блоков приняты следующие размеры: а = 10, 15, 20 мм; b = 1,5а. Если необходимо увеличить размер блока, то допускается увеличение на число, кратное пяти. Необходимо выдерживать минимальное расстояние 3 мм между параллельными линиями потоков и 5 мм между остальными символами.
С помощью блок-схем можно изображать самые различные алгоритмы, например, линейной, разветвляющейся и циклической структур.
Блок-схемы являются исключительно простым и наглядным способом представления алгоритмов. Их очень полезно использовать при разработке общей структуры алгоритма, чтобы отчетливо представить себе алгоритм в целом и проследить все логические связи между его отдельными частями, проверить все ли возможные варианты решения поставленной задачи нашли в нем отражение.
Блок-схемы не накладывают никаких ограничений на степень детализации в изображении алгоритма. Степень детализации определяется программистом. Однако следует помнить, что схемы общего характера мало информативны, а излишне подробные схемы проигрывают в наглядности. При разработке сложных алгоритмов, чтобы понять сущность выполняемых действий и выявить основные связи, алгоритм записывается в виде общей схемы, состоящей из крупных блоков. Блоки соответствуют основным шагам алгоритма (вводу данных, обработке, выводу данных). Затем крупные блоки разбивают на более мелкие, со