- •ВВЕДЕНИЕ
- •ТЕМА 1. АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ. ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ. ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ
- •1.2. Программы линейной структуры. Операторы разветвления. Операторы цикла
- •1.3. Понятие о структурном программировании. Модульный принцип программирования. Принципы проектирования программ сверху вниз и снизу вверх. Подпрограммы
- •1.4. Объектно-ориентированное программирование
- •1.5. Интегрированные среды программирования
- •1.6. Этапы решения задач на компьютере
- •1.7. Эволюция и классификация языков программирования. Основные понятия языков программирования
- •1.8. Структуры и типы данных языка программирования
- •Тесты по теме 1
- •ТЕМА 2. ЛОКАЛЬНЫЕ И ГЛОБАЛЬНЫЕ СЕТИ ЭВМ. МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ
- •2.1. Сетевые технологии обработки данных
- •2.2. Основы компьютерной коммуникации. Принципы построения и основные топологии вычислительных сетей, коммуникационное оборудование
- •2.3. Сетевой сервис и сетевые стандарты. Программы для работы в сети Интернет
- •2.4. Защита информации в локальных и глобальных компьютерных сетях. Шифрование данных. Электронная подпись
- •Тесты по теме 2
- •Список литературы
- •Ответы к тестам
- •Заключение
ТЕМА 1. АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ. ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ. ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ
1.1. Понятие алгоритма и его свойства. Блоксхема алгоритма. Основные алгоритмические конструкции
Алгоритм – это базовое понятие информатики. На понятии алгоритма построены все основные принципы программирования – составления программ для вычислительных машин. Существуют различные определения алгоритма, приведем одно из них.
Алгоритм - это однозначно определенная последовательность действий, записанная на понятном исполнителю алгоритмическом языке и определяющая процесс перехода от исходных данных к результату.
Принято выделять следующие свойства алгоритма:
дискретность - алгоритм состоит из отдельных инструкций (шагов), информационный процесс разделен на отдельные команды;
определенность (детерминированность) - однозначность результатов выполнения алгоритмов в одинаковых начальных условиях, при этом каждый шаг интерпретируется исполнителем единственным образом;
результативность - за конечное число шагов достигается некоторый результат, иногда конечность алгоритма выделяют как отдельное свойство;
массовость - алгоритм работает при меняющихся в некоторых пределах входных данных, то есть, может быть применен для решения класса задач, различающихся исходными данными.
7
Иногда выделяют и другие свойства, например, правильность алгоритма означает правильность результатов, получаемых с его помощью. Алгоритм считается правильным, если он дает правильные результаты для любых допустимых начальных условий. Алгоритм содержит ошибки, если его выполнение приводит к сбоям, неправильным результатам, либо вовсе не дает результатов.
Наряду с понятием алгоритма используют термин алгоритмизация, под которой понимают совокупность приемов и способов составления алгоритмов для решения алгоритмических задач.
На практике получили распространение 2 основных формы записи алгоритмов:
словесная или текстовая форма представления алгоритма представляет собой описание алгоритма на естественном языке или в виде структурированной записи на псевдокоде – также естественном, но частично формализованном языке;
графическим представлением алгоритма в виде блок– схемы называют описание структуры алгоритма с помощью геометрических фигур с линиями–связями, показывающими порядок выполнения отдельных инструкций.
Первый из этих способов не имеет строгой формализации и редко используется в учебных целых, второй, напротив, является удобным средством изображения алгоритмов и получил широкое распространение в научной и учебной литературе.
Блок-схема – это последовательность блоков, предписывающих выполнение определенных операций, и связей между этими блоками. Внутри блоков указывается информация об операциях, подлежащих выполнению. Конфигурация и размеры блоков, а также порядок графического оформления блок-схем регламентированы ГОСТ 19002-80 и ГОСТ 19003-80 "Схемы алгоритмов и программ".
Втабл. 1 приведены наиболее часто используемые блоки, изображены элементы связей между ними и дано краткое пояс-
8
нение к ним. Блоки и элементы связей называют элементами блок-схем.
Представленных в табл. 1 элементов, как правило, достаточно для изображения всех алгоритмов, необходимых при выполнении студенческих работ.
При соединении блоков следует использовать только вертикальные и горизонтальные линии потоков.
Горизонтальные потоки, имеющие направление справа налево, и вертикальные потоки, имеющие направление снизу вверх, должны быть помечены стрелками. Прочие потоки могут быть помечены или оставлены непомеченными. Линии потоков должны быть параллельны линиям внешней рамки или границам листа.
|
Таблица 1. Основные элементы блок-схем |
|
Название |
Элемент |
Комментарий |
Процесс |
|
Вычислительное дей- |
|
|
ствие или последова- |
|
|
тельность вычисли- |
|
|
тельных действий |
|
|
|
Решение |
|
Проверка условия |
|
|
|
Модификация |
|
Заголовок цикла |
|
|
|
Предопреде- |
|
Обращение к проце- |
ленный про- |
|
дуре |
цесс |
|
|
|
|
|
9
Документ |
Вывод данных, пе- |
|
чать данных |
|
|
Перфокарта |
Ввод данных |
|
|
Ввод/Вывод |
Ввод/Вывод данных |
|
|
Соединитель |
Разрыв линии потока |
|
|
Начало, Конец |
Начало, конец, пуск, |
|
останов, вход и вы- |
|
ход во вспомогатель- |
|
ных алгоритмах |
Комментарий |
Используется для |
|
размещения надписей |
|
|
Горизонталь- |
Линии связей между |
ные и верти- |
блоками, направле- |
кальные пото- |
ние потоков |
ки |
|
Слияние |
Слияние линий пото- |
|
ков |
|
|
Межстранич- |
Нет |
ный соедини- |
|
тель |
|
Принято различать всего три базовых алгоритмических
10