Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

инфопособие2011

.pdf
Скачиваний:
40
Добавлен:
27.02.2016
Размер:
6.34 Mб
Скачать

Информатика

133

 

 

 

 

необходимо руководствоваться

ГОСТ 19.701-90 – «Схемы алгоритмов,

программ, данных и систем. Условные обозначения и правила выполнения».

Наиболее часто применяемы элементы блок-схем, приведены на рисунке 12.1.

Рисунок 10.1 Основные элементы блок-схем

134

Глава 10. АЛГОРИТМЫ

 

 

К словесному способу описания алгоритма можно отнести, в качестве примера, уже упомянутые «Этапы разработки программ для ЭВМ», или часто приводимый в учебниках по программированию пример рецепта приготовления какого-либо блюда. Этот способ записи алгоритмов пригоден лишь для простых задач и, кроме того, он не соответствует приведенному здесь определению алгоритма, а является совершенно бытовым примером.Словесный способ применяется обычно только на начальный этапах разработки алгоритмов.

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

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

10.4 Базовые структуры алгоритмов: следование, ветвление, цикл

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

Характерной особенностью этих структур является наличие у них одного входа и одного выхода

В алгоритмах следования, или линейной или естественной структуры,

операции выполняются

последовательно в порядке их расположения

в алгоритме. Операторы

должны быть выполнены последовательно друг за

другом и только один раз.

 

X b / 2a

Информатика

135

 

 

ПРИМЕР1: Решить уравнение aX b 0 .

Для решения этого уравнения, требуется задать величины а и b, затем вычислить и напечатать результат. Алгоритм решения примера приведен на рисунке 10.2.

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

Рисунок 10.2 Блок-схема алгоритма линейной структуры

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

ПРИМЕР2: Вычислить значение функции y(x)

f1 (x),

если x

0

,

f 2(x),

если x

0

где f1 (x) 0.02x 2 1, а f 2 (x) 2x 1.

На рисунке 10.3 а и б изображены блок-схема алгоритма решения второго примера и его реализация в пакете Mathcad.

а)

б)

 

Рисунок 10.3 Блок-схема алгоритма ветвления реализация примера 2

136

Глава 10. АЛГОРИТМЫ

 

 

Алгоритм циклической структуры− это алгоритм, в котором

предусмотрено неоднократное

повторение

одной

 

и той же

последовательности действий.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИМЕР 3: Вычислить сумму S элементов вида 3 sin 2

 

1

 

.

 

 

 

2i

 

 

 

 

 

 

 

1

 

Блок-схема алгоритма решения примера 3 и его реализация в пакете Mathcadизображены на а рисунке 10.4 а и б соответственно.

а) б)

Рисунок 10.4 Блок-схема алгоритма циклической структуры и решение примера 3

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

Информатика

137

 

 

Рисунок 10.5 Блок-схема алгоритма для информационной поисковой системы

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

138

Глава 10. АЛГОРИТМЫ

 

 

Контрольные вопросы и задания:

1.Дайте определение, что такое алгоритм?

2.Какими свойствами должен обладать алгоритм?

3.Из чего состоят алгоритмы решения задач на ЭВМ?

4.Назовите способы описания алгоритмов.

5.Назовите базовые алгоритмические структуры. Когда они применяются?

6.Приведите примеры задач, при решении которых необходимо применить алгоритм:

линейной структуры; ветвления; цикл

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

7.Нарисуйте блок схемы вышеприведенных примеров.

8.Какими операторами реализуется алгоритмическая структура ветвления в известных вам языках программирования или другом программном обеспечении?

9.Какими операторами реализуется циклическая алгоритмическая структура в известных вам языках программирования или другом программном обеспечении?

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

11.Приведите пример применения понятия «алгоритм» в быту.

Информатика

139

 

 

11 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЭВМ

11.1 Роль программного обеспечения

Общая архитектура ЭВМ образуется из аппаратной (Hardware) и

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

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

11.1.1 Состав и назначение системного ПО

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

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

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

Более удобный способ общения с DOS предоставляют программыоболочки. Они позволяют общаться с DOS не набирая ее команды.

КтакимоболочкамотносятсяNortonComander,FARManager (рис. 11.1 ),XTree, ProGold, PCShellизкомплектаPCTools.

На компьютерах начиная с AT/386 в связи увеличением оперативной памяти до4 Мбайт, начали устанавливать так называемые операционные оболочки, которые дают пользователю более наглядные средства для

140

Глава 11. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЭВМ

 

 

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

MicrosoftWindows, DesqView, GEM и GeoWorks. В настоящее время оболочки обязательная составляющая всех операционных систем, обеспечивающая ее интерфейс взаимодействия пользователя с ОС.

Рисунок 11.1 Интерфейс программы FARManager

К системным программам относятся также программы, называемые утилитами. Утилиты часто объединяются в комплексы, такие как

NortonUtilities, PC Tools, Deluxe и MaceUtilities.

Остановимся на некоторых из них подробнее.

Программы-упаковщики (архиваторы) (Winzip, 7zip, Winrar) –

сжимают информацию на дисках, т.е.создают копии файлов меньшего размера

(PKZIP/UNZIP и ARJ).

Программы для создания резервных копий информации на дискахпозволяют быстро копировать информацию с жесткого диска на дискеты:

DriverGeniusProfessional 2009 9.0.0.190 – программа для создания резервной копии драйверов;

Backup4All Professional 4.5 Build 232 – предназначена для создания резервных копий важной информации и данных;

Информатика

141

 

 

ParagonSystemBackup 2010 Build 10444 – программный набор для создания резервных копий ОС и т.п.

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

Антивирусные программы(AVZ,Avira,McAfee, Panda, DrWeb, Kaspersky) служат для предотвращения заражения компьютерными вирусами и шпионскими программами.

11.1.2 Состав и назначение инструментального ПО

Всякая компьютерная информация создается

только на

компьютере

с использованием

специальных

программных

средств

относящихся

к инструментальному программному обеспечению,

предназначенному для

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

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

Для языков высокого уровня имеется множество систем программирования:Turbo C, Turbo C++, TurboPascal, Microsoft C, MicrosoftBasic,Delfi…, отличающиеся тем, какие языки программирования они реализуют и состоящие из следующих инструментальных средств:

компилятора или интерпретатора;

интегрированной среды разработки;

средств создания и редактирования текстов программ;

обширных библиотек стандартных программ и функций;

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

"дружественной" к пользователю диалоговой среды;

многооконный режим работы;

графическихбиблиотек; утилит для работы с библиотеками;

встроенных ассемблеров;

встроенной справочной службы.

 

 

 

 

 

 

Таблица 11.1

 

 

 

 

 

Программы

 

Пояснения

 

 

142

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Базовое

Операционные системы (ОС)

 

Система программ, распределяющих ресурсы и организующих работу других программ

 

 

 

 

 

 

 

Системное

 

 

 

 

 

 

Операционные оболочки

 

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

 

 

 

 

 

 

 

 

 

 

 

Сервисное

Программы

 

диагностики

Проверяют работу основных элементов компьютера

 

 

 

 

 

 

 

 

 

 

 

работоспособности компьютера

 

 

 

 

 

 

Антивирусные программы

 

Программы обнаружения компьютерных вирусов и средства «лечения»

 

 

 

 

 

 

 

 

 

 

 

 

Программы обслуживания дисков

Проверка целостности файловой системы, поиск испорченных блоков на диске, дефрагментация

 

 

 

 

 

Программы архивированных данных

Упаковка файлов или группы файлов для уменьшения места, занимаемого на диске

 

 

 

 

 

 

 

 

 

 

 

 

 

Текстовые процессоры

 

Позволяют создавать, редактировать и оформлять текстовые документы

 

 

 

 

 

Табличные процессоры

 

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

 

 

 

 

 

Средства создания презентаций

Позволяют создавать и демонстрировать наборы слайдов (возможно со звуковым

 

 

 

 

 

 

 

 

 

сопровождением)

 

 

 

 

 

Средства распознавания символов

Позволяют автоматизировать ввод в компьютер типографских и машинописных текстов

 

 

 

 

 

Средства машинного перевода

Позволяют автоматически переводить тексты с одного языка на другой

 

 

Глава

 

 

Средства

компьютерной

графики и

Позволяют создавать неподвижные и движущиеся изображения

 

 

 

 

 

 

 

Прикладное

 

анимации

 

 

 

 

 

 

ПРОГРАММНОЕ.11

 

 

 

 

 

информации)

 

 

 

 

Программные средства мультимедиа

Позволяют объединить тексты, графику, звук и движущиеся изображения ( в т.ч. видеофильмы)

 

 

 

 

 

САПР –

системы

автоматизированного

Позволяют проектировать на компьютере электронные схемы, машины, механизмы

 

 

 

 

 

проектирования

 

 

 

 

 

 

 

 

Средства автоматизации производства

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

 

 

 

 

 

Настольные издательские системы

Позволяют выполнять компьютерную верстку для подготовки изданий к тиражированию

 

 

 

 

 

Коммуникационные пакеты

 

Предназначены для общения с удаленными абонентами и информационными ресурсами сети

 

 

 

 

 

Информационные системы

 

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

 

 

 

 

 

 

 

 

 

 

ЭВМОБЕСПЕЧЕНИЕ

 

 

Обучающие программы

 

Помогают изучать иностранные языки, историю, химию, физику, математику и мн. др.

 

 

Инструментальн

ое

систем

 

 

 

 

 

 

 

 

Игры

(имитационные,

ролевые,

Используются для организации досуга, обучения, решения производственных, военных и

 

 

 

 

 

логические,

стратегические,

научных задач

 

 

 

 

 

приключенческие)

 

 

 

 

 

 

 

 

Трансляторы

 

 

Переводят программы с языков программирования в машинные коды

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отладчики

 

 

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

 

 

 

 

 

Интегрированные

среды

разработки

Объединяют разные средства разработки программ: редактор, транслятор, отладчик

 

 

 

 

 

приложений

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Средства

создания информационных

Объединяют средства разработки программ и технологии работы с базами данных