- •Информационные процессы
- •1.1 Информатика и информатизация общества
- •1.2 Появление и развитие информатики
- •1.3 Цели, задачи и функции информатики
- •2. Разработке информационной техники и создание новейшей технологии по переработке информации.
- •1.4 Понятие информации, ее виды, свойства и особенности
- •По способу передачи и восприятия различают информацию:
- •1.5 Количество информации. Единицы измерения информации
- •Тема 2. Общая характеристика процессов сбора, передачи, обработки и накопления информации
- •2.1 Информация и информационные процессы
- •2.2 Сбор информации
- •1. Первичный сигнал с помощью датчика преобразуется в эквивалентный ему электрический сигнал (электрический ток).
- •2.3 Передача информации
- •2.4 Обработка информации
- •2.5 Накопление информации
- •3. Основные понятия и методы теории информации и кодирования
- •3.1 Системы счисления и кодирования
- •3.1.1 Непозиционные системы счисления
- •3.1.2 Позиционные системы счисления
- •3.1.3 Двоичная система счисления
- •3.1.4 Другие системы счисления, используемые в компьютерных технологиях
- •3.2 Формы представления и преобразования информации
- •3.2.1 . Кодирование и форматы представления числовых данных
- •4. Экономическая информация как информационный ресурс
- •4.2 Экономическая информация как составляющая управленческой информации
- •4.3 Организационно-экономическое управление как объект компьютеризации
- •5.1. Основы функционирования эвм
- •5.1.1. Архитектура и структура эвм. Принципы фон Неймана
- •5.1.2. Принципы работы центрального процессора
- •5.1.3. Память эвм. Виды запоминающих устройств
- •5.1.4. Классификация эвм.
- •Классификация по этапам развития
- •5.1.5. Персональный эвм: структура и особенность
- •5.2. Базовая аппаратная конфигурация персональных эвм
- •5.2.1. Основные блоки пк
- •5.2.2. Системная плата
- •5.2.3. Микропроцессор
- •5.2.4. Внутренняя память
- •Специальная память
- •5.2.5. Внешние запоминающие устройства.
- •Накопители на гибких магнитных дисках
- •Накопители на жестких магнитных дисках
- •Накопители на компакт-дисках
- •Записывающие оптические и магнитооптические накопители
- •Флэш-память
- •5.2.6. Аудиоадаптер
- •5.2.7. Видеосистема компьютера
- •Монитор на базе электронно-лучевой трубки
- •Жидкокристаллические мониторы
- •Сенсорный экран
- •5.2.8. Клавиатура
- •5.2.9. Манипуляторы
- •5.3. Периферийные устройства персональных компьютеров.
- •5.3.1. Принтеры, сканеры, плоттеры
- •5.3.2. Модемы и факс-модемы
- •7. Программные средства реализации информационных процессов
- •7.2 Операционные системы: назначение и классификация
- •7.3 Понятие файла. Таблица fat
- •7.4 Операционная система ms-dos
- •7.14 Базы данных
- •Концепция баз данных
- •Технология бд
- •Проектирование баз данных
- •2. Логическое проектирование и выбор инструментальных средств субд. Инфологическое проектирование
- •Функциональный и объектный подход
- •Логическое проектирование
- •Модели данных
- •Реляционная модель
- •7.5.3 Реляционные системы управления базой данных и их характеристики
- •Проектирование реляционной бд
- •Система управления базой данных Microsoft Access
- •Структура таблицы и типы данных
- •Ввод данных в ячейки таблицы
- •Редактирование данных
- •Сортировка данных
- •Отбор данных с помощью фильтра
- •Ввод и просмотр данных посредством формы
- •Формирование запросов и отчетов для однотабличной базы данных
- •Формирование отчетов
- •Тема 8. Информационные технологии
- •8.1 Понятие информационных технологий
- •8.2 Этапы развития информационных технологий
- •8.3 Виды информационных технологий
- •8.4 Основные компоненты информационных технологий
- •9. Информационные системы
- •9.1 Понятие информационных систем и этапы их развития
- •9.2 Структура информационных систем
- •9.3 Классификация информационных систем
- •9.4 Специализированные поисковые информационные системы.
- •9.6 Основы проектирования информационных систем
- •9.7 Интеллектуальные информационные системы.
- •Тема 10. Тенденции и перспективы развития компьютерной техники и информационных технологий
- •10.1 Тенденции и перспективы развития эвм
- •10.1.1 Этапы развития эвм
- •10.1.3 Перспективы развития эвм, основанных на принципах фон Немана
- •10.1.4 Нейрокомпьютеры и перспективы их развития
- •10.2 Перспективы развития информационных технологий
- •11. Модели решения функциональных и вычислительных задач
- •11.1 Этапы решения задач на эвм
- •11.2 Понятие модели, классификация моделей
- •11.3 Использование моделей при решении задач на эвм
- •11.4 Инструментарий решения функциональных и вычислительных задач
- •12. Алгоритмизация
- •12.1 Понятие алгоритма
- •12.2. Свойства алгоритмов
- •12.3. Способы представления алгоритмов
- •12.4. Базовые алгоритмические конструкции
- •12.4.1. Базовая структура «следование» (линейная структура)
- •12.4.2. Базовая структура «ветвление»
- •12.4.3. Базовая структура «цикл»
- •Тема №13 Стили программирования
- •13.1 Понятия стиля программирования и проектирования программ
- •13.2 Неавтоматизированное и автоматизированное программирование
- •13.3 Процедурное программирование
- •13.3.1 Структурное проектирование
- •13.3.2 Модульное программирование
- •13.4 Логическое и функциональное программирование Логическое программирование
- •13.5 Объектно-ориентированное проектирование
- •17.1 Основные сведения о компьютерных сетях. Локальные и глобальные сети эвм.
- •17.1.1 Преимущества использования локальных сетей в решении прикладных задач обработки данных
- •Способы коммутации данных.
- •17.1.2 Классификация компьютерных сетей
- •Одноранговые сети;
- •Сети на основе сервер;.
- •Комбинированные сети.
- •17.1.3 Топология компьютерных сетей
- •Наиболее распространенные виды топологий сетей:
- •17.2. Принципы взаимодействия сетевых устройств
- •17.2.1. Интерфейсы, протоколы, стеки протоколов
- •17.2.2. Модель iso/osi
- •17.3. Функциональное назначение основных видов коммуникационного оборудования
- •17.3.1. Типовой состав оборудования локальной сети
- •Роль кабельной системы
- •Сетевые адаптеры
- •Физическая структуризация локальной сети. Повторители и концентраторы
- •Логическая структуризация сети. Мосты и коммутаторы
- •Маршрутизаторы
- •17.3.2. Функциональное соответствие видов коммуникационного оборудования уровням модели osi
- •17.4 Стандарты технологии Ethernet. Метод доступа csma/cd
- •Метод доступа csma/cd
- •17.5 Стандарт Token Ring
- •17.5.1. Основные характеристики стандарта
- •17.5.2. Маркерный метод доступа
- •17.6.1. Функции и характеристики сетевых операционных систем
- •17.6.2 Клиент-серверные приложения
- •Клиенты и серверы локальных сетей
- •Системная архитектура "клиент-сервер"
- •18.1. История и принципы организации глобальных компьютерных сетей
- •18.2. Функционирование Интернет
- •18.2.1. Передача данных в Интернет
- •18.2.2. Подключение к Интернет
- •18.2.3. Семейство сетевых протоколов
- •18.2.4.Система адресации в Интернет
- •18.3 Службы Интернета
- •18.3.4. Usenet – электронные новости
- •18.4 Просмотр Web-страниц
- •18.4.1 Общие сведения о программах просмотра
- •18.4.2. Доступ к нужным Web-страницам
- •18.4.3. Упрощение доступа к часто посещаемым страницам
- •18.4.4. Доступ к ресурсам Интернета в автономном режиме
- •18.4.5. Настройка обозревателя
- •18.5. Поиск информации в Интернете
- •18.5.1. Поисковые системы
- •18.5.2. Правила выполнения запросов
- •18.5.3. Алгоритм информационного поиска в режиме удаленного доступа
- •Тема 19. Основы защиты информации и сведений,
- •19.1 Информационная безопасность, способы и средства защиты информации
- •19.2 Организационные и правовые методы защиты информации
- •19.3 Обеспечение безопасности и сохранности информации в вычислительных системах и сетях
- •19.3.1 Технические методы защиты информации
- •19.3.2 Программные методы защиты информации к программным методам защиты информации относятся резервирование и восстановление файлов, применение антивирусных программ, использование паролей.
- •19.3.2.1 Резервирование файлов
- •19.3.2.2 Восстановление файлов
- •19.3.2.3 Пароли
- •19.4 Классификация компьютерных вирусов и антивирусных программ
- •Различают следующие виды антивирусных программ:
- •Своевременное обнаружение зараженных вирусами файлов и дисков, полное уничтожение обнаруженных вирусов на каждом компьютере позволяют избежать распространения вирусной эпидемии на другие компьютеры.
- •19.5 Защита информации в компьютерных системах методом криптографии
- •Тема 20. Компьютерная графика
- •20.1 Представление в компьютере графической информации
- •20.1.1 Растровые рисунки
- •20.1.2 Векторные рисунки
- •20.1.3 Фрактальная графика
- •20.1.4. Способы создания цвета и кодирование информации
- •20.1.5 Форматы графических файлов
- •20.2 Оборудование для работы с изображениями
- •20.2.1 Компьютер для работы с изображениями
- •20.2.3 Оборудование для ввода графической информации в компьютер
- •20.3 Простейшие графические программы
- •20.4 Обзор современного графического программного обеспечения
12.2. Свойства алгоритмов
Основные свойства алгоритмов:
– дискретность (прерывность). Алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов, при этом для выполнения каждого шага требуется конечный отрезок времени;
– определенность. Каждое правило алгоритма должно быть четким и однозначным. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче;
– результативность (или конечность) состоит в том, что за конечное число шагов алгоритм должен приводить к решению задачи или после конечного числа шагов останавливаться из-за невозможности получить решение с выдачей соответствующего сообщения, либо неограниченно продолжаться в течение времени, отведенного для исполнения алгоритма, с выдачей промежуточных результатов;
– массовость означает, что алгоритм решения задачи разрабатывается в общем виде, т.е. он должен быть применим для некоторого класса задач, различающихся лишь исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.
12.3. Способы представления алгоритмов
На практике наиболее распространены следующие способы представления алгоритмов: словесный, формульно-словесный, псевдокод, операторный, графический, программа на алгоритмическом языке.
Самый простой способ представления алгоритма – словесный, который содержит описание алгоритма на естественном языке (например, на русском). Выполнение предписаний алгоритма предполагается в естественной последовательности (в порядке записи), изменение порядка выполнения операций необходимо указать в явном виде, например, «перейти к шагу 3», в этом случае шаги алгоритма должны быть пронумерованы.
В формульно-словесном способе к словесному описанию добавляются формулы для определения значений переменных, при этом каждая переменная должна иметь уникальное имя – идентификатор.
Псевдокод представляет собой систему обозначений и правил, предназначенную для единообразной записи алгоритмов. Он занимает промежуточное место между естественным и формальным языками.
В псевдокоде не приняты строгие синтаксические правила для записи команд, присущие формальным языкам, что облегчает запись алгоритма на стадии его проектирования и дает возможность использовать более широкий набор команд, рассчитанный на абстрактного исполнителя. Алгоритмы на псевдокоде могут записываться и читаться как обычный текст
Однако в псевдокоде обычно имеются некоторые конструкции, присущие формальным языкам, что облегчает переход от записи на псевдокоде к записи алгоритма на формальном языке. В частности, в псевдокоде, так же, как и в формальных языках, есть служебные слова, смысл которых определен. Они выделяются в печатном тексте жирным шрифтом, а в рукописном тексте подчеркиваются.
Псевдокод удобен для пошаговой разработки алгоритма.
Единого или формального определения псевдокода не существует, поэтому возможны различные псевдокоды, отличающиеся набором служебных слов и основных (базовых) конструкций.
Примером псевдокода является школьный алгоритмический язык в русской нотации – «Школьный АЯ».
Операторный метод описания алгоритмов был разработан советским ученым Алексеем Андреевичем Ляпуновым в 1954 году. Операторная схема – аналитическая форма представления алгоритма с помощью операторов, отражающих содержание этапов. Арифметический оператор (вычисление) обозначается в русской транскрипции буквой А, логический – буквой Л, ввод данных – буквой В, печать – буквой П, начало – буквой Н, конец – буквой К.
Порядковый номер оператора, независимо от его типа, обозначается индексом. Операторы записываются в строку, для пояснения схемы переходов после логических операторов ставятся сверху или снизу горизонтальные стрелки, указывающие место перехода. Если операторы выполняются в естественном порядке, между ними не ставится разделитель, если после i-го оператора (i+1)-й не выполняется, между ними ставится разделитель – точка с запятой. Для логических операторов возможно указание условия, по которому программа разветвляется на ветви.
Операторный метод дает наглядное логическое представление алгоритма, однако он был вытеснен графическим способом, который оказался более компактным и наглядным.
При графическом способе представления алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.
Такое графическое представление называется схемой алгоритма или блок-схемой. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий и т.п.) соответствует геометрическая фигура, представленная в виде блочного символа. Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий. Приведем символы, используемые для построения блок-схем (таблица 12.3.1.).
Таблица 12.3.1. – Схемы алгоритмов, программ, данных и систем
Наименование |
Символ |
Функция |
Терминатор |
|
Начало или конец |
Процесс |
|
Обработка данных любого вида |
Данные |
|
Данные, носитель не определен, указывает ввод и вывод данных |
Предопределенный процесс |
|
Процедура или функция |
Подготовка |
|
Цикл с заданным числом повторений |
Решение |
|
Условный оператор или переключатель |
Соединитель |
|
Обрыв и продолжение линии |
Комментарий |
|
Пунктирные линии связаны с соответствующим символом |
Линия |
|
Поток управления |
Символ «терминатор» отображает выход во внешнюю среду и вход из внешней среды. Используется для обозначения начала или конца программы или подпрограммы (процедуры или функции).
Символ «процесс» отображает обработку данных любого вида, например, выполнение операции или группы операций, приводящее к изменению значения, формы или размещения информации. Чаще всего этим символом обозначают операцию присваивания.
Символ «данные» отображает данные, носитель которых не определен. Используется для обозначения операций ввода и вывода данных.
Символ «предопределенный процесс» отображает предопределенный процесс, состоящий из одной или нескольких операций, которые определены в другом месте (в подпрограмме или модуле).
Символ «подготовка» отображает модификацию команды или группы команд. Используется для заголовков циклов с заданным числом повторений (циклов с параметром).
Символ «граница цикла» состоит из двух частей, которые отображают начало и конец цикла. Операторы, составляющие цикл, размещаются между символами начала и конца цикла. Условия для инициализации, приращения, завершения и т.д. помещаются внутри символа в начале или в конце в зависимости от расположения операции, проверяющей условие. Обе части символа имеют один и тот же идентификатор. Идентификатор символа должен располагаться слева над символом. Идентификатор определяет символ для использования в справочных целях, например, в листинге программы.
Символ «решение» отображает решение или функцию переключательного типа, имеющую один вход и ряд альтернативных выходов, один и только один из которых может быть активизирован после вычисления условий, определенных внутри этого символа.
Символ «соединитель» применяется, если схема состоит из нескольких страниц.
Символ «комментарий» используют для пояснительных записей в целях объяснения или примечания. Пунктирные линии в символе комментария связаны с соответствующим символом или могут обводить группу символов, текст комментария помещается около ограничивающей фигуры.
Символ «линия» отображает поток данных или управления. При необходимости (направления влево или вверх) добавляются стрелки-указатели.
В блок-схеме для линий потока, направленных сверху вниз и справа налево, можно не ставить стрелки, для направлений влево и вверх стрелки обязательны.
При записи алгоритма описанными выше способами допускается определенный произвол при изображении команд. Вместе с тем такая запись точна настолько, что позволяет человеку понять суть дела и исполнить алгоритм.
На практике роль исполнителя алгоритмов часто выполняет ЭВМ. Поэтому алгоритм, предназначенный для исполнения на ЭВМ, должен быть записан на понятном ему языке. При этом на первый план выдвигается необходимость точной записи команд, не оставляющей места для произвольного толкования их исполнителем.
Следовательно, язык для записи алгоритмов должен быть формализован. Таким языком является язык программирования. Запись алгоритма на языке программирования называется программой на алгоритмическом языке. В этом случае алгоритм представляется в виде последовательности операторов.
Пример 12.3.1. Рассмотрим различные способы представления алгоритмов на примере алгоритма Евклида (III в. до н.э.) для нахождения наибольшего общего делителя (НОД) двух целых чисел. Наибольший общий делитель – наибольшее целое число, на которое делятся оба заданных числа. Например, для А=12 и В=20 НОД=4.
Словесный способ
Шаг 1. Задать 2 целых числа А и В.
Шаг 2. Если А=В, перейти к шагу 4.
Шаг 3. Вычесть меньшее число из большего и заменить большее из чисел А и В их разностью. Перейти к шагу 2.
Шаг 4. Положить НОД=А. Закончить.
Формульно-словесный способ
1. Начало.
2. Задать 2 целых числа А и В.
3. Если А=В, перейти к шагу 6, иначе к шагу 4.
4. Если А>B, положить А=А-В, иначе положить В=В-А.
5. Перейти к шагу 3.
6. Положить НОД=А.
7. Конец.
Приведем пример исполнения алгоритма Евклида, заданного формульно-словесным способом, при А=12, В=20.
1. Шаг 2. Задаем А=12, В=20.
2. Шаг 3. А=В ложно, переходим к шагу 4.
3. Шаг 4. A>B ложно, полагаем В=В-А = 20-12=8. Теперь А=12, В=8.
4. Шаг 5. Переходим к шагу 3.
5. Шаг 3. А=В ложно, переходим к шагу 4.
6. Шаг 4. А>B истинно, полагаем А=А-В=12-8=4. Теперь А=4, В=8.
7. Шаг 5. Переходим к шагу 3.
8. Шаг 3. А=В ложно, переходим к шагу 4.
9. Шаг 4. A>B ложно, полагаем В=В-А=8-4=4. Теперь А=4, В=4.
10. Шаг 5. Переходим к шагу 3.
11. Шаг 3. А=В истинно, переходим к шагу 6.
12. Полагаем НОД=А=4.
13. Заканчиваем процесс.
Приведенная форма исполнения алгоритма понятна, но длинна. В короткой форме исполнения алгоритма записываются только значения переменных:
А 12 4 .
В 20 8 4
Псевдокод
BEGIN
INPUT A,B
WHILE A<>B DO
IF A>B
A=A-B
ELSE
B=B-A
ENDIF
ENDWHILE
PRINT “НОД=”, A
END.
Операторный способ
Рисунок 12.3.1 – Блок-схема алгоритм Евклида
Программа на алгоритмическом языке
В качестве алгоритмического языка для представления алгоритмов ранее употреблялся язык АЛГОЛ-60 (его английское написание ALGOL от ALGOrithmic Language – алгоритмический язык, язык описания алгоритмов).
АЛГОЛ-60 служил также языком программирования. Были разработаны компиляторы для ЭВМ с языка АЛГОЛ-60.
В настоящее время разница между алгоритмическими языками и языками программирования стирается, для представления алгоритмов чаще всего используется язык Паскаль, разработанный профессором Цюрихского института информатики Николаусом Виртом на основе языка АЛГОЛ-60.
Программа на языке Паскаль для описания алгоритма Евклида:
program nod;
var a,b:integer;
begin read(a,b);
while a<>b do
if a>b then a:=a-b
else b:=b-a;
writeln(‘НОД=’, a); end.
В программе описаны переменные a и b целого типа (integer), далее производится чтение значений этих переменных (оператор read), затем в цикле while (пока a не равно b) большему числу присваивается значение разности a и b. Когда числа a и b станут равными (а это обязательно произойдет!), цикл заканчивается и результат выводится на экран, после чего программа завершает работу.
