Понятие алгоритма и его свойства. Блок-схема алгоритма. Основные алгоритмические конструкции

СОДЕРЖАНИЕ

 

Введение.......................................................................................................... 6

Тема 1. Алгоритмизация и программирование. Технологии программирования. Языки программирования высокого уровня......................................................................................... 7

1.1. Понятие алгоритма и его свойства. Блок-схема алгоритма. Основные алгоритмические конструкции 7

1.2. Программы линейной структуры. Операторы разветвления. Операторы цикла 11

1.3. Понятие о структурном программировании. Модульный принцип программирования. Принципы проектирования программ сверху вниз и снизу вверх. Подпрограммы........................................ 27

1.4. Объектно-ориентированное программирование...................... 33

1.5. Интегрированные среды программирования............................ 36

1.6. Этапы решения задач на компьютере......................................... 39

1.7. Эволюция и классификация языков программирования. Основные понятия языков программирования 42

1.8. Структуры и типы данных языка программирования............ 51

Тесты по теме 1......................................................................................... 60

Тема 2. Локальные и глобальные сети ЭВМ. Методы защиты информации 103

2.1. Сетевые технологии обработки данных.................................. 103

2.2. Основы компьютерной коммуникации. Принципы построения и основные топологии вычислительных сетей, коммуникационное оборудование..................................................... 105

2.3. Сетевой сервис и сетевые стандарты. Программы для работы в сети Интернет 110

2.4. Защита информации в локальных и глобальных компьютерных сетях. Шифрование данных. Электронная подпись 123

Тесты по теме 2....................................................................................... 137

Список литературы............................................................................... 173

Ответы к тестам...................................................................................... 175

Заключение............................................................................................... 178

Введение

Данное учебное пособие продолжает курс по базовой информатике для бакалавров технических специальностей.

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

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


 

Тема 1. Алгоритмизация и программирование. Технологии программирования. Языки программирования высокого уровня

Понятие алгоритма и его свойства. Блок-схема алгоритма. Основные алгоритмические конструкции

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

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

Принято выделять следующие свойства алгоритма:

· дискретность - алгоритм состоит из отдельных инструкций (шагов), информационный процесс разделен на отдельные команды;

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

· результативность - за конечное число шагов достигается некоторый результат, иногда конечность алгоритма выделяют как отдельное свойство;

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

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

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

На практике получили распространение 2 основных формы записи алгоритмов:

· словесная или текстовая форма представления алгоритма представляет собой описание алгоритма на естественном языке или в виде структурированной записи на псевдокоде – также естественном, но частично формализованном языке;

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

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

Блок-схема– это последовательность блоков, предписывающих выполнение определенных операций, и связей между этими блоками. Внутри блоков указывается информация об операциях, подлежащих выполнению. Конфигурация и размеры блоков, а также порядок графического оформления блок-схем регламентированы ГОСТ 19002-80 и ГОСТ 19003-80 "Схемы алгоритмов и программ".

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

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

При соединении блоков следует использовать только вертикальные и горизонтальные линии потоков.

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

 

Таблица 1. Основные элементы блок-схем

Название Элемент Комментарий
Процесс Вычислительное действие или последовательность вычислительных действий
Решение Проверка условия
Модификация Заголовок цикла
Предопределенный процесс Обращение к процедуре
Документ Вывод данных, печать данных
Перфокарта Ввод данных
Ввод/Вывод Ввод/Вывод данных
Соединитель Разрыв линии потока
Начало, Конец Начало, конец, пуск, останов, вход и выход во вспомогательных алгоритмах
Комментарий Используется для размещения надписей
Горизонтальные и вертикальные потоки Линии связей между блоками, направление потоков
Слияние Слияние линий потоков
Межстраничный соединитель Нет

Принято различать всего три базовых алгоритмических структуры:

· следование или линейный алгоритм;

· ветвление или разветвляющийся алгоритм;

· циклический алгоритм.

Они будут подробно рассмотрены в следующем разделе.