Информационные процессы: подробности

Процесс сбора данных

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

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

По характеру изменения сигналы делятся на непрерывные и дискретные.

Информационные процессы: подробности - student2.ru

 
 
Рис. 1.2. Квантование непрерывного сигнала по времени

Непрерывные математически отображаются непрерывными функциями времени. Физически они представляют собой непрерывные значения тока или напряжения (см. рис. 1.2 – красная линия). Дискретные сигналы определяются конечным множеством значений тока или напряжения. Каждое из возможных значений дискретного сигнала можно обозначить каким-нибудь кодом и в таком виде хранить и использовать его в компьютере.

Схема процесса сбора данных при использовании датчика представлена на рис. 1.3. С объекта датчиком снимается непрерывный сигнал, который в преобразователе превращается в дискретный, а в шифраторе дискретный сигнал кодируется, например, в виде двоичного кода – последовательности из 0 и 1. Физически код представляет собой последовательность электрических импульсов, передаваемых по проводам. Наличие тока означает 1, отсутствие – 0. Полученные наборы данных собираются в накопителе – временное хранилище данных, из которого они выводятся по мере необходимости.

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

Информационные процессы: подробности - student2.ru

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

При втором способе на части разбивается временной интервал изменения сигнала. Значением квантованного сигнала на каждом j-м участке считается величина непрерывного сигнала в начале этого участка или в его середине (см. рис. 1.2.).

При съёме данных с документа преобразователь уже не нужен, т.к. исходный сигнал является дискретным, а роль накопителя выполняет непосредственно компьютер, в котором данные будут храниться. Схема процесса – на рис. 1.4.

Процесс хранения данных.

Напомним, что данными называются зарегистрированные в каком-нибудь виде сигналы. В данных содержатся сведения, характеризующие какой-либо объект или явление. Большинство данных не используется непосредственно, а подвергается обработке. Понятно, что эта обработка не может быть осуществлена немедленно после получения данных, а должно пройти определённое время, пока данных не накопится достаточное количество или в обработке каких-то конкретных данных не возникнет необходимость. Весь период времени между поступлением данных и началом их использования данные подвергаются хранению. Хранение данных – передача информации во времени.

Информационные процессы: подробности - student2.ru Информационные процессы: подробности - student2.ru Информационные процессы: подробности - student2.ru Информационные процессы: подробности - student2.ru Информационные процессы: подробности - student2.ru Информационные процессы: подробности - student2.ru

       
    Информационные процессы: подробности - student2.ru
 
Документ
 

Свойства данных. Для понимания особенностей процесса хранения рассмотрим основные свойства, которыми обладают данные.

1. Важнейшим из их свойств является тип данных. Тип данных определяет:

- множество значений, которые может принимать данное;

- форму представления данных в ЭВМ;

- совокупность операций, допустимых над данными;

- правила доступа к ним (т.е. извлечения с места хранения).

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

2. Следующим признаком является деление данных на простые (одиночные) и сложные (структурированные). Данные простого типа содержит только одну компоненту – одно число или один символ. Данные сложных типов могут содержать несколько компонент простого типа. Таким образом, простые данные являются теми «кирпичиками», путём объединения которых строятся сложные данные.

3. В зависимости от того, на каком этапе обработки данные используются, они подразделяются на исходные (входные), промежуточные и выходные. К исходным относятся данные, необходимые для исполнения программы и вводимые в неё до или в процессе работы. Эти данные могут быть предварительно записаны на некотором носителе и вводиться с него, а также могут поступать по линии связи от каких-то датчиков или с других компьютеров, а могут вводиться непосредственно пользователем программы с помощью устройства ввода (клавиатуры).

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

Выходные данные являются конечным результатом работы программы – ради них и производится обработка входных данных. Выходные данные, предназначенные для человека, представляются в требуемом для него формате (тексты, рисунки, звуки и т.д.).

Способы представления данных в компьютере.Для представления значений простых данных во внутренней памяти компьютера используют так называемое машинное слово – совокупность двоичных элементов, обрабатываемых как единое целое в устройствах и памяти компьютера. С технической точки зрения машинное слово объединяет запоминающие элементы, служащие для записи 0 или 1 (одного двоичного разряда) в единую ячейку памяти. Первый микропроцессор Intel-4004, созданный в конце 1970 года фирмой Intel работал с 4-разрядными ячейками. В настоящее время наибольшее распространение получили компьютеры с 32-разрядными ячейками (см. рис. 1.5), однако существуют компьютеры и иной разрядности. Доступ к машинному слову в операциях записи и считывания осуществляется по номеру ячейки памяти, который называется адресом ячейки.

№ разряда 31-й разряд 30-й разряд 29-й разряд 28-й разряд 2-й разряд 1-й разряд 0-й разряд
Содержимое

Рис. 1.5. 32-разрядное машинное слово

Для представления символов (литерных данных) машинное слово делится на группы по 8 разрядов, в каждую из которых записывается двоичный код символа. Ясно, что в 32-разрядном машинном слове можно записать 4 символа. В представлении целых чисел используется уже все 32 разряда, а для представления одного вещественного (дробного) числа, например, в языке PASCAL используются целых две ячейки.

Пусть в задаче требуется обработать большое количество однотипных данных. Это можно сделать различными способами.

Например, первый способ: запрашивать данные по одному и обрабатывать. Т.е. последовательность действий такая:

1. Ввести значение переменной Х

2. Обработать переменную Х

3. Повторить шаг 1.

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

Второй способ: объявить столько переменных, сколько данных понадобится:

1. Ввести значения переменных X, Y, A, B,…..

2. Обработать переменные Х, Y, A, B,…..

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

Поэтому необходимы структуры, позволяющие хранить однотипные данные и одинаково их обрабатывать. Именно по этой причине в современных компьютерах используются сложные (структурированные) данные. Наиболее простой структурой является массив. Массив – это структура данных одинакового типа, упорядоченных по номерам. Для его хранения во внутренней памяти компьютера отводится непрерывная область, содержащая столько ячеек, сколько необходимо для размещения всех элементов массива.

Другой часто используемой структурой данных является логическая запись. Логическая запись – разнородная совокупность простых данных, имеющая смысловую завершённость. Иными словами, логическая запись объединяет не любые разрозненные по своему содержанию (смыслу) данные, а те, которые характеризуют некий объект. Пример записи – строка списка студентов:

Фамилия Год рождения Год поступления в ВУЗ Курс Номер зачётной книжки

Рис. 1.6. Пример логической записи

Простые данные, совокупность которых образует запись, называются полями записи. Данные в виде совокупности логических записей могут храниться во внутренней памяти компьютера, но чаще они используются для представления данных во внешней памяти. В этом случае они объединены в файл. Файл – совокупность однородных записей, хранящихся во внешней памяти компьютера. Файлы могут объединяться в каталоги. В операционных системах семейства Windows каталоги называются папками.

Основные фазы процесса хранения информации:

- организация информационных массивов;

- запись данных на носитель;

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

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

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

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

<TBODY>Стример (англ. tape streamer) — устройство для резервного копирования больших объёмов информации. В качестве носителя здесь применяются кассеты с магнитной лентой. Стримеры позволяют записать на небольшую кассету с магнитной лентой огромное количество информации. Встроенные в стример средства аппаратного сжатия позволяют автоматически уплотнять информацию перед её записью и восстанавливать после считывания, что увеличивает объём сохраняемой информации. Недостатком стримеров является их сравнительно низкая скорость записи, поиска и считывания информации.</TBODY>

Для реализации прямого доступа на носителе должны быть пронумерованы области записи информации, такие области называются блоками. Обратиться к данному, записанному в определённом блоке, можно по номеру блока. Операция разбиения поверхности носителя на блоки называется форматированием, она обязательно делается перед использованием носителя.

К устройствам прямого доступа относятся магнитные диски и компакт-диски.

Информационные процессы: подробности - student2.ru
Рис. 1.7. Винчестерский накопитель со снятой крышкой корпуса

Информационные процессы: подробности - student2.ru

Рис. 1.8. Поверхность магнитного диска

Накопитель на жёстких магнитных дисках (англ. HDD — Hard Disk Drive) или винчестер — это наиболее массовое запоминающее устройство большой ёмкости, в котором носителями информации являются круглые алюминиевые пластины – платтеры, обе поверхности которых покрыты слоем магнитного материала. Используется для постоянного хранения информации — программ и данных. Информация записывается по концентрическим дорожкам (трекам), которые делятся на секторы. Сектор хранит минимальную порцию информации, которая может быть записана на диск или считана. Ёмкость сектора постоянна и составляет 512 байтов.

Накопитель на компакт-дисках (CD-ROM)состоит из прозрачной полимерной основы диаметром 12 см и толщиной 1,2 мм. Одна сторона покрыта тонким алюминиевым слоем, защищенным от повреждений слоем лака. Двоичная информация представляется последовательным чередованием углублений (pits — ямки) и основного слоя (land — земля). Участки CD, на которых записаны символы "0" и "1", отличаются коэффициентом отражения лазерного луча, посылаемого накопителем CD-ROM. Эти отличия улавливаются фотоэлементом, и общий сигнал преобразуется в соответствующую последовательность нулей и единиц.

Достоинства CD-ROM:

· При малых физических размерах CD-ROM обладают высокой информационной ёмкостью, что позволяет использовать их в справочных системах и в учебных комплексах с богатым иллюстративным материалом

· Считывание информации с CD происходит с высокой скоростью, сравнимой со скоростью работы винчестера;

· CD просты и удобны в работе, практически не изнашиваются;

· CD не могут быть поражены вирусами;

· С CD-ROM невозможно случайно стереть информацию;

· Стоимость хранения данных (в расчете на 1 Мбайт) низкая.

Процесс передачи данных

Необходимость в передаче данных возникает, когда объекты, между которыми происходит обмен информацией, территориально удалены друг от друга. В современных информационных системах обмен происходит с использованием коммуникационной сети. На рис. 1.9 изображена структура (строение) современного канала связи, используемого в процессе передачи данных.

Основные проблемы процесса передачи данных:

1) согласование физических характеристик сигнала (частота, амплитуда) с физическими характеристиками непрерывного канала связи для обеспечения минимального затухания сигнала при его передаче на большие расстояния;

2) сведение к минимуму потери информации при передаче по дискретному каналу, на который воздействуют помехи;

3) решение задачи маршрутизации, т.е. доставление информации адресату по каналу передачи данных в максимально короткий срок.

Поясним суть этих проблем и укажем методы их решения.

1). Физической средой передачи данных является канал связи, в котором элементы данных передаются в виде электрических сигналов. Он называется непрерывным каналом, т.к. проходящие в нем сигналы описываются непрерывными функциями времени. Большинство непрерывных каналов не могут передавать сигналы без их предварительного преобразования. Для такого преобразования в структуре канала предусмотрено специальное преобразующее устройство. Для телефонных каналов связи это устройство называется модем (от слов «модулятор» и «демодулятор»). С помощью модулятора происходит воздействие на входной сигнал, благодаря чему он смещается в диапазон таких частот, для которых наблюдается наименьшее затухание амплитуды сигнала в выбранном непрерывном канале, поэтому модулированный сигнал проходит по каналу с минимальной потерей мощности. Демодулятор осуществляет обратное преобразование, т.е. переход от модулированного сигнала к обычному.

Информационные процессы: подробности - student2.ru

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

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

Процесс обработки данных

Обработка – процесс преобразования информации к такому виду, из которого можно получить знание.

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

Пример 1.1. Лошадь и мул несли по несколько мешков с мукой. Лошадь жаловалась на тяжёлую поклажу. «Что ты жалуешься? – отвечал ей мул, – Ведь если я возьму у тебя один мешок, моя ноша станет вдвое тяжелее твоей. А вот если бы ты сняла с моей спины один мешок, твоя поклажа стала бы одинакова с моей». Сколько же мешков несла лошадь, и сколько нёс мул?

Для того чтобы ответить на этот вопрос, надо решить систему уравнений:

Информационные процессы: подробности - student2.ru (1.1)

Решить ее, т.е. обработать данную информацию, можно, например, методом Крамера.

Шаг 1. Вычислим определитель матрицы системы D = 2×(1) – (–1)×(–1) = 1. Он не равен 0, значит, система имеет решение.

Шаг 2. Вычислим определители для каждого неизвестного: DЛ = 3 + 2 = 5; DМ = 4 + 3 = 7.

Шаг 3. Вычисляем каждое неизвестное: Информационные процессы: подробности - student2.ru ; Информационные процессы: подробности - student2.ru .

Ответ: Мул нёс 7 мешков, а лошадь – 5.

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

Как было сказано в п. 1.1, описание пошагового процесса обработки информации называется алгоритмом.

Более подробно об алгоритмах поговорим в следующей теме.

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

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

Что такое алгоритм.<TBODY>Алгоритм – точная и понятная инструкция исполнителю совершить некую последовательность действий, направленных на решение поставленной задачи. </TBODY>

Название "алгоритм" произошло от латинской формы имени среднеазиатского математика аль-Хорезми – Algorithmi, написавшего популярную в эпоху средневековья книгу о правилах выполнения арифметических действий, т.е. об алгоритмах вычисления произведения, частного и т.д.

<TBODY>Исполнитель алгоритма – это некоторый абстрактный (воображаемый) или реальный объект, способный выполнить действия, предписываемые алгоритмом. В информатике универсальным исполнителем алгоритмов является компьютер.

Основные свойства алгоритма. Слова “инструкция” или “предписание” близки по смыслу слову “алгоритм”, однако они не тождественны ему. Дело в том, что не всякая инструкция может быть названа алгоритмом, поскольку он должен обладать рядом обязательных свойств, которыми произвольное предписание обладать не обязано. Перечислим эти свойства.

1) Конечность – любой алгоритм должен заканчиваться после выполнения конечного (т.е. не бесконечного) числа шагов.

Если алгоритм содержит цикл, т.е. повторяющуюся группу команд, то в алгоритме должно присутствовать некое условие, при выполнении которого следует прерывание цикла.

Например, еще древние греки знали метод приближенного извлечения квадратного корня из произвольного числа а > 0. Пусть х(0) – некоторое начальное приближение к Информационные процессы: подробности - student2.ru . Для вычисления каждого следующего приближения построим рекуррентную формулу:

Информационные процессы: подробности - student2.ru , k = 0, 1, … (2.1)

называемую алгоритмом Герона.

Вычислим с его помощью Информационные процессы: подробности - student2.ru , взяв х(0) = 1.5. Последовательно получим х(1) = 1.4166667; х(2) = 1.4142157; х(3) = 1.4142136; х(4) = 1.4142136. Теоретически эти вычисления можно продолжать бесконечно, получая все более точный результат, поэтому формула (2.1), строго говоря, алгоритмом не является.

Для того, чтобы ее с полным правом можно было назвать алгоритмом, надо указать условие окончания вычислений. Например, можно таким условием считать совпадение определенного количества N цифр в двух последовательных значениях х(k) и х(k+1). Доказано, что в этом случае при использовании формулы (2.1) у всех последующих приближений первые N цифр будут такими же, как у х(k+1). В приведенном примере у х(3) и х(4) совпали первые N = 8 цифр. Следовательно, ответ получен с точностью 10–7, и если она нас устроит, то вычисления можно заканчивать.

2) Определенность – каждая команда алгоритма должна быть четкой, однозначной и не оставлять места для произвола.

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

Например, не является алгоритмом такая инструкция: слегка подогрейте в маленькой кастрюле немного коньяку, добавьте специи по вкусу. Здесь слова “слегка”, “немного” и т.д. носят неопределенный характер, который каждый исполнитель может трактовать по-своему.

3) Эффективность – все операции, которые необходимо произвести в алгоритме, должны быть достаточно простыми, чтобы их в принципе можно было выполнить точно и за разумное время с помощью карандаша и бумаги. Например, нельзя считать простой операцией решение алгебраического уравнения 12-й степени. Поэтому, если в инструкции присутствует такая команда: найти решение уравнения х12 + 5х11 + 15х10 + 22х5 + 15258 = 0, то такая инструкция эффективной не является, а, следовательно, ее нельзя считать алгоритмом.

4) Результативность – любой алгоритм должен после своей работы выдавать какой-нибудь результат.

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

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

2.2. Формы записи алгоритма

На практике наиболее распространены следующие формы представления алгоритмов:

· словесная – запись на естественном (“человеческом”) языке;

· графическая – изображение команд в виде графических символов;

· программная – текст на языке программирования.

Словесный способ записи алгоритмов. Это <TBODY>описание последовательных этапов (шагов) обработки данных. Алгоритм задается в произвольном изложении на естественном языке. </TBODY>

Пример 2.1. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел.

Предлагается следующий алгоритм – алгоритм Евклида.

1. Задать два числа.

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

3. Заменить большее из чисел разностью большего и меньшего из чисел.

4. Повторить алгоритм с шага 2.

Описанный алгоритм применим к любым натуральным числам и должен приводить к решению поставленной задачи. Убедимся в этом, определив с помощью этого алгоритма наибольший общий делитель чисел 125 и 75:

1. m = 125, n = 75.

2. m > n, значит

3. Новое m = 125 – 75 = 50, n = 75. Возврат к 2.

2. n > m, значит

3. Новое n = 75 – 50 = 25, m = 50. Возврат к 2.

2. m > n, значит

3. Новое m = 50 – 25 = 25, n = 25. Возврат к 2.

2. m = n. Значит ОТВЕТ = 25.

Словесный способ не имеет широкого распространения по следующим причинам:

· описания не формализованы (нет строгих правил);

· страдают многословностью записей;

· допускают неоднозначность толкования отдельных предписаний.

Графический способ записи алгоритмов. Графический способ представления алгоритмов является более наглядным по сравнению со словесным.

Таблица 2.1.
<TBODY>Название символа Обозначение и пример заполнения Пояснение
Процесс Информационные процессы: подробности - student2.ru Вычислительное действие или последовательность действий
Решение Информационные процессы: подробности - student2.ru Проверка условий
Модификация Информационные процессы: подробности - student2.ru Начало цикла
Ввод-вывод Информационные процессы: подробности - student2.ru Ввод-вывод в общем виде
Пуск-останов Информационные процессы: подробности - student2.ru Начало или конец алгоритма

<TBODY>При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.</TBODY> Такое представление называется блок-схемой алгоритма.

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

В таблице 2.1. приведены наиболее часто употребляемые символы.

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

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

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

 
  Информационные процессы: подробности - student2.ru

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

Запишем программу алгоритма решения задачи примера 2.1 на языке PASCAL.

var m, n : integer;

begin readln(m, n);

repeat if m = n then

begin writeln(n:5); halt; end;

if m > n then m := m - n else n := n - m;

until False;

End.

Приведем перевод ключевых слов для понимания алгоритма.

var – переменные; integer [интедже]– целый;

readln[риидлн]– ввод данных с клавиатуры;

writeln [райтелн]– вывод данных на экран;

begin – начало текста программы или ее блока;

end – конец текста программы или ее блока; until [антил]– пока;

halt – конец вычислений; then [зен]– тогда;

if – если (проверка условия); else [элз]– иначе;

repeat [репиит]– повторять; false [фолс] – ложно.

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

2.3. Базовые алгоритмические структуры

<TBODY>Логическая структура любого алгоритма может быть представлена комбинацией трех базовых (основных) структур: следование, ветвление, цикл.

1. Базовая структура “следование”. Образуется из последовательности действий, следующих строго одно за другим.

Например, требуется вычислить величину y по формуле y = ax2 + bx при произвольных a, b, x. Блок-схема соответствующего алгоритма имеет вид, приведенный на рис 2.2. В данном случае алгоритм состоит из простой последовательности действий (блоков). Значит, </TBODY>он соответствует структуре “следование”.

       
    Информационные процессы: подробности - student2.ru
 
 
Рис. 2.2. Алгоритм вычисления по формуле y = ax2 + bx

2. Базовая структура “ветвление” обеспечивает в зависимости от результата проверки выполнения некоторого условия (да или нет) выбор одного из альтернативных путей работы алгоритма.

Структура “ветвление” существует в двух основных вариантах:

если – то:

Информационные процессы: подробности - student2.ru

если – то – иначе.

Информационные процессы: подробности - student2.ru

В алгоритме примера 2.1 присутствуют оба варианта этой структуры. После блока “m = n ?” в случае положительного ответа выполняется действие “Вывести n”, а в случае отрицательного – работа алгоритма продолжается далее. Таким образом, реализована структура “если – то”. После блока “m > n ?” в случае положительного ответа выполняется действие “m = m – n”, а в случае отрицательного (т.е. иначе) – действие “n = n – m”,. Таким образом реализована структура “если – то – иначе”.</TBODY>

3. Базовая структура “цикл”. Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла.

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

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

1. Оба мальчика переправляются на левый берег.

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

3. Первый боец переправляется на левый берег, а первый мальчик остается на правом.

4. Второй мальчик переправляется на правый берег.

5. Оба мальчика переправляются на левый берег.

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

7. Второй боец переправляется на левый берег.

8. Второй мальчик переправляется на правый берег.

Заметим, что шаги 1 – 4 почти совпадают с шагами 5 – 8, разница только в номере переправляемого бойца. Очевидно, что с помощью подобного алгоритма можно переправить любое количество N бойцов, а не только двоих. Для этого надо выполнить следующий алгоритм.

1. Положить k = 1.

2. Оба мальчика переправляются на левый берег.

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

4. k-й боец переправляется на левый берег, а первый мальчик остается на правом.

5. Второй мальчик переправляется на правый берег.

6. Увеличить k на 1.

7. Если k = N, то СТОП, иначе перейти к 2.

Это будет циклический алгоритм, тело которого составляют шаги 2 – 7. Другой вариант циклической структуры дан в примере 2.1. В нем телом цикла являются шаги 2 – 4.

2.4. Последовательность подготовки и решения задачи на ЭВМ

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

1) постановка задачи;

2) составление математического описания задачи;

3) разработка алгоритма решения;

4) составление текста программы;

5) ввод программы в ЭВМ, ее трансляция и отладка;

6) ввод исходных данных и выполнение программы (счет);

7) анализ результатов.

Постановка задачи должна включать в себя

- цель решения;

- словесную формулировку самой задачи в терминах той области знаний, для которой она решается;

- перечень исходных данных, необходимых для решения задачи;

- перечень искомых величин и форму их представления;

- сведения о требуемой точности счета.

Во многих случаях в постановку задачи включают ее экономическое обоснование.

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

Вспомним пример 1.1.Если мул возьмёт у лошади один мешок, его ноша станет вдвое тяжелее лошадиной. А если перенести со спины мула один мешок на спину лошади, их поклажи сравняются. Сколько мешков несла лошадь, и сколько нёс мул?

В постановке задачи сформулирована цель – узнать количество мешков в каждой поклаже. Записав условия задачи в формализованном виде, мы получим математическую модель.

Обозначим Х

Наши рекомендации