76Понятие алгоритма. Виды алгоритмов. Свойства алгоритмов. Способы представления алгоритмов.
Точного определения алгоритма не существует, также, как не существует определения информации, множества и т.д. Однако можно дать достаточно полное представление о таком понятии как алгоритм. Под алгоритмом понимают совокупность точных и однозначных инструкций для некоторого исполнителя данного алгоритма, предназначенных для решения какой-либо задачи (достижения какой-либо цели). При этом предполагается выполнение следующих свойств: 1. Дискретность – команды, инструкции алгоритма представляют собой разделимую по-следовательность действий. 2. Конечность – число шагов алгоритма должно быть конечно. 3. Определенность (однозначность, детерминированность) – каждая команда алгоритма должна быть однозначно воспринята исполнителем. 4. Массовость – алгоритм предназначен для решения множества задач заданного вида. 5. Эффективности – интерес представляют в первую очередь такие алгоритмы, которые решают поставленную задачу в пределах допустимого времени с желательно меньшим расхо-дом ресурсов исполнителя. В учебном варианте эффективность можно понимать как требова-ние "ничего лишнего". То есть не производить повторных вычислений одинаковых выражений и т.д. Существует большое количество известных примеров алгоритмов из математики. Напри-мер, алгоритм Евклида для нахождения наибольшего общего делителя двух целых чисел, алго-ритм решения квадратного уравнения и др. Немало алгоритмов действий используется в быту. Любой алгоритм по существу перерабатывает информацию. Поэтому для каждого алго-ритма предполагается наличие множества входных и выходных данных. Такие множества и их обозначения будем называть параметрами или аргументами алгоритма. Множества входных и выходных данных могут быть либо пустыми, либо пересекаться, либо совпадать, либо не иметь пересечений. Выходные параметры иногда называют также аргументами-результатами. Множества входных и выходных данных могут рассматриваться также как некоторые аб-страктные каналы (линии связи), по которым передается информация.
СПОСОБЫ ПРЕДСТАВЛЕНИЯ АЛГОРИТМОВ Отметим, что алгоритм может пониматься как некоторая функция со специальными свой-ствами, которые были описаны ранее. Эта функция существует как абстракция. Мы же всегда воспринимаем алгоритм в его некоторой записи, или, как говорят, в его представлении. Очевидно также, что любой исполнитель может воспринимать алгоритм, исполнять его, только в том случае, когда алгоритм представлен в том виде, в каком он понятен исполнителю. Это означает, что любое представление алгоритма является некоторым информационным бло-ком, то есть представление алгоритма является информацией, и она расположена на некотором носителе информации. Таким образом, сам алгоритм есть некоторая абстракция, но реальная его реализация воз-можна только в виде его представления. Очевидно также, что у любого алгоритма могут быть различные представления. Они могут быть похожими, однако могут и не иметь ничего общего, кроме как реализации одного алгоритма. Представление алгоритма можно понимать как отображение множества алгоритмов для фиксированного исполнителя во множество некоторых данных, например, символов или ри-сунков. Существует три основных способа представления алгоритмов: 1)графический; 2)неформальная языковая (алгоритмическая) нотация (запись); 3)запись на алгоритмическом языке.
Любая форма записи (представления) алгоритма должна обеспечивать свойства алгорит-ма: дискретности, конечности, определенности, массовости.
В графической форме алгоритм представлен в виде геометрических фигур. Обычно они связываются линиями, которые показывают направление передачи информации при исполне-нии алгоритма. Существует несколько вариантов графического представления алгоритмов, но широкую известность получило (и стало фактическим стандартом графического представления) представление в виде блок-схем. Метод блок-схем был предложен самим Фон Нейманом – одним из первых разработчиков вычислительной техники. Алгоритм может быть представлен в виде записей литературного языка, например, рус-ского. В этом случае последовательностью предложений описывается последовательность дей-ствий исполнителя, которым может быть в большинстве случаев только человек. Никаких спе-циальных правил и требований к таким записям алгоритмов не предъявляется. Главное, что бы выполнялись требования, предъявляемые к алгоритмам, о которых указывалось выше. В лите-ратуре, посвященной алгоритмам, иногда используется такой способ записи алгоритмов. В ка-честве примера можно привести трехтомную монографию известного специалиста по информатике Д.Кнута "Искусство программирования для ЭВМ". Такие записи на естественном языке называют иногда неформальной алгоритмической нотацией. В неформальной алгоритмической нотации может использоваться так называемый псев-докод. Псевдокод – это запись алгоритма с использованием языковых конструкций известных алгоритмических языков, либо языков программирования. Например, Паскаль, Алгол, Си, Бей-сик и др. При этом нет никаких специальных требований к оформлению таких записей, за ис-ключением требования однозначности при реализации записанных действий. Третий способ представления алгоритмов – это способ записи алгоритмов с использова-нием алгоритмических языков, либо языков программирования. Алгоритмический язык – это система правил и обозначений для точной и однозначной записи алгоритмов. Такая запись яв-ляется формализованной. Это означает, что запись подчиняется строгим требованиям синтаксиса языка. Язык программирования – это система обозначений и правил для записи алгоритмов, предназначенная для использования на ЭВМ. На практике языки программирования привязаны к конкретным классам ЭВМ, операционным системам и т.д. В языках программирования существенными являются технические и технологические аспекты, что не характерно для алгоритмических языков, которые обычно машинно-независимы. Программой будем называть любую запись серии исполняемых команд на заданном языке программирования. Очевидно, способ представления алгоритмов на алгоритмических языках/языках про-граммирования играет ведущую роль. Существует большое количество языков программирова-ния. Одни из них широко распространены: Basic, Pascal, C/C++, Modula, Fortran. Другие же имеют специальное назначение: Prolog, Forth, Lisp. Некоторые языки сыграли заметную роль в программирования, но сейчас не используются. Примером является язык Algol. Именно этот язык послужил основой для разработки более совершенных языков, таких как Паскаль, Си и других. Алгол использовался также как алгоритмический язык для записи алгоритмов, в том числе в качестве автокода. Можно также отметить такой важный язык программирования для научно-технических расчетов: Фортран. Существуют языки декларативного (логического) программирования, например Пролог. Здесь нет алгоритмических инструкций, а есть описания данных и связей между ними. Испол-няющая система производит поиск наилучшего способа решения поставленной задачи. На дру-гих принципах построены функциональные языки, например, Лисп. Основные управляющие структуры таких языков есть последовательность вызовов так называемых рекурсивных функ-ций. Это означает, что нет необходимости выполнять проверку логических условий, а выпол-нять только вычисления. Чтобы понять суть таких подходов, необходимо получить специаль-ные знания по теории алгоритмов и математической логике. Это касается глубинного понима-ния сути алгоритма, связанного с рекурсивными функциями и различными моделями машины Тьюринга. В 1985 году основатель школьной информатики академик А.П.Ершов предложил для за-писи алгоритмов новый алгоритмический язык, который назвали школьным алгоритмическим языком. Иногда этот язык называют Е-языком, в честь его создателя. Но это называние является неформальным. ПОНЯТИЕ ИСПОЛНИТЕЛЯ АЛГОРИТМА Будем всегда предполагать, что алгоритм предназначен для некоторого исполнителя алго-ритма. Исполнители можно разделить на два класса: неформальные и формальные. Неформаль-ные исполнители алгоритмов – это живые существа, прежде всего человек. Формальные исполнители – это автоматические программные и технические устройства. Например, интерпретатор языка BASIC является исполнителем алгоритмов, записанных на языке BASIC. Исполнитель алгоритмов некоторого класса можно называть также исполняющей системой.
- Предмет, задачи, структура экономической информатики, ее связь с другими дисциплинами.
- 2Правовые основы информатизации.
- 3 Информационный потенциал общества.
- 4. Природа, сущность и свойства информации. Основные определения понятия информации.
- 5. Меры информации, понятие энтропии.
- 6 Экономическая информация, ее особенности, свойства, классификация, единицы измерения.
- 7Основы математической логики. Законы алгебры логики. Элементы теории алгоритмов
- [Править]Логика высказываний
- [Править]Логика первого порядка
- [Править]Логика второго порядка
- [Править]Неклассические логики
- Определение
- Аксиомы
- Логические операции
- Свойства логических операций
- 8Архитектура ibm – совместимого компьютера. Принципы фон Неймана.
- 9Системы счисления. Перевод из одной системы счисления в другую.
- 10Кодирование и представление символьной информации в эвм.
- 11 Кодирование текстовой, графической, видео и звуковой информации в эвм.
- Фонограмма и ее временная дискретизация
- 12 Состав, назначение и взаимодействие основных устройств персонального компьютера. Магистрально-модульный принцип.
- 13Микропроцессоры, принцип действия и основные характеристики. Типы современных микропроцессоров.
- 14Модули памяти, виды, назначение, принцип действия и основные характеристики. Виды модулей памяти и их характеристики
- 15Внешние запоминающие устройства, виды, назначение, принцип действия и основные характеристики.
- Накопители на жестких дисках.
- Примечание
- Винчестер.
- Структурные элементы винчестера.
- Магнитные накопители.
- Накопители на магнитной ленте (стримеры).
- 16Устройства ввода информации, назначение, виды, принцип действия и основные характеристики.
- Манипулятор «мышь»
- Графические планшеты
- Сканеры
- Иные устройства ввода
- 17Устройства вывода информации, назначение, виды, принцип действия и основные характеристики.
- Мониторы
- Принтеры
- Другие устройства вывода информации
- 18 Устройства вывода информации. Мониторы, их виды и характеристики.
- Основные характеристики мониторов
- 19Аппаратные и программные средства мультимедиа. Мультимедийные системы
- Аппаратные средства мультимедиа
- Программные средства мультимедиа Мультимедийные приложения
- Средства создания мультимедийных приложений
- Области применения мультимедиа
- 20Критерии выбора персонального компьютера для дома и офиса.
- 21История и Перспективы развития средств вычислительной техники.
- 22 История развития информационных технологий. Информационные технологии в офисной деятельности
- 23 Классификация эвм
- 24Классификация программного обеспечения.
- 25Назначение и состав операционной системы. Виды операционных систем и их характеристика.
- 26Прикладное программное обеспечение и его характеристика.
- 27Инструментальное программное обеспечение и его характеристика.
- 28Характеристика семейства операционных систем ос Windows. Состав и назначение компонент.
- История выпусков версий Microsoft Windows
- Версии Microsoft Windows
- Графические интерфейсы и расширения для dos
- Семейство Windows 9x
- Семейство Windows nt
- Семейство ос Windows Mobile для карманных компьютеров
- Семейство встраиваемых ос Windows Embedded
- Интегрированные программные продукты
- 29 Файловая система ос Windows.
- 30 Назначение и использование буфера обмена в среде ос Windows. Технология ole.
- 31 Настройка пользовательской среды в ос Windows.
- 32 Справочная система в ос Windows, приемы использования.
- 33Работа со стандартными и служебными программами Windows.
- 34 Настройка рабочего стола. Настройка главного меню и панели задач в ос Windows.
- 35Винчестер, их виды и характеристики.
- 36Накопители на оптических дисках, их виды и характеристики.
- 37Файловые менеджеры для ос Windows, их сравнительная характеристика.
- 38Компьютерные вирусы. Классификация компьютерных вирусов и путей их проникновения в компьютер. Антивирусные программы. Мероприятия по защите от вирусов
- 39Программы архиваторы, их виды и сравнительная характеристика.
- 40Назначение и использование антивирусных программ.
- 41 Создание файловых архивов. Добавление и извлечение файлов из архива, создание самораспаковывающегося архива.
- 42Установка и удаление программ.
- 43 Способы форматирования в текстовом процессоре Word.
- 44 Способы проверки правописания, подбор синонимов, операции поиска и замены фрагментов текста.
- 45Автоввод, автотекст и автозамена в среде Word.
- 46Размещение текста в таблицах и колонках. Колонки.
- Вставка таблицы, определение размеров
- Объединение и разбивка ячеек, их форматирование
- Текст в таблице
- 48Создание и редактирование диаграмм в среде Word.
- 49Вставка в текст номеров страниц, даты и времени, названий, надписей, примечаний, сносок и символов.
- 50Колонтитулы, их виды. Создание, редактирование и форматирование.
- 51Вставка рисунков, использование и редактирование автофигур. Форматирование графических объектов.
- 52Вставка в документ формул с использованием возможностей объекта ms Equation 3.0.
- 53Работа со списками в среде Word.
- 54Создание оглавления документа, способы его редактирования.
- 55Изменение параметров страниц, предварительный просмотр и печать документов.
- 56Основные понятия и классификация вычислительных сетей.
- 57Понятие информационной безопасности.
- 58Защита информации в лвс, средства разграничения доступа пользователей к ресурсам сети.
- 59 История создания и развития Интернет.
- 60 Адресация компьютеров в сети Internet. Доменная система имен. Поиск данных в сети Internet. Программы для поиска данных.
- 61Режимы передачи информации в сети. Электронная почта. Программы для работы с электронной почтой. Телеконференции, форумы, чаты.
- 62Подготовка текстовых документов в текстовых редакторах (WordPad, блокнот, Microsoft Word). Основные функции текстовых процессоров. Форматирование документов в ms Word.
- Основные объекты текстового документа
- Ввод текста
- Редактирование текста
- Форматирование текста
- 63Технология обработки числовой информации в табличных процессорах. Электронная таблица Microsoft Excel: основные понятия, работа с данными, формулами, функциями, диаграммами.
- 64 Основные понятия и определения базы данных. Требования, предъявляемые к базе данных.
- 65 Субд. Администрация баз данных. Основные функции субд.
- 66 Классификация моделей данных в базе данных.
- 67 Субд Microsoft Access. Проектирование структуры базы данных. Управление данными.
- 68Техника создания связей между таблицами в реляционной базе данных.
- Дополнительная информация Что такое связи между таблицами
- Виды связей между таблицами
- Связи "один ко многим"
- Связи "многие ко многим"
- Связи "один к одному"
- Создание связей между таблицами
- Создание связей "один ко многим" или "один к одному"
- Создание связей "многие ко многим"
- Целостность данных
- Каскадные обновления и удаления
- Типы соединений
- 69 Иерархическая и сетевая модели базы данных.
- 70 Управление данными в базе данных Microsoft Access.
- 71 Применение форм и разработка отчетов в Microsoft Access
- 72 Запросы, виды запросов. Создание запросов в Microsoft Access.
- Создание (формирование) запросов
- 2.4.4.1. Создание запроса на выборку с помощью Мастера
- 2.4.4.2. Создание запроса на выборку с помощью Конструктора
- 73 Проектирование структуры базы данных. Типы данных и свойства полей субд. Типы данных Access.
- Свойства полей Access.
- Примечание
- 74 Работа с Microsoft Excel как с базой данных. Списки Microsoft Excel как база данных.
- 75 Этапы подготовки и решения задач на эвм.
- 1. Введение
- 2. Постановка задачи
- 3. Математическое описание задачи
- 4. Выбор и обоснование метода
- 5. Алгоритмизация вычислительного процесса
- 6. Составление программы
- 7. Отладка программы
- 8. Решение задачи на эвм и анализ результатов
- 76Понятие алгоритма. Виды алгоритмов. Свойства алгоритмов. Способы представления алгоритмов.
- 77 Языки программирования. Назначение и классификация языков программирования. Языки программирования
- Языки программирования низкого уровня
- Преимущества
- Недостатки
- Языки программирования высокого уровня
- Классификация языков программирования
- Процедурные языки
- Логические языки
- Объектно-ориентированные языки
- Классификация языков программирования высокого уровня
- 78 Основные понятия объектно-ориентированного программирования.
- 79 Атрибуты объекта: свойства, методы, события.
- 80 Общие сведения о vba. Структура проекта vba.
- 81Среда программирования vba. Данные и их описание.
- 82Понятие объекта, класса в среде объектно-ориентированного программирования. Абстрактные типы данных
- Объекты и классы
- 83Понятие переменной и константы. Области видимость переменных и констант в vba. Переменные, типы данных и константы
- 84Инструментальная среда vba. Разработка программ для рабочего листа с использованием формы. Визуальный язык программирования Бейсик для приложений: Visual Basic for Applications (vba)
- Макросы
- 85Обработка ошибок выполнения. Поиск ошибок в программе. Обработка ошибок vba
- 86Операторы, выражения и операции в vba.
- 87.Визуальная среда vba. Создание стандартных модулей, модулей объектов, классов модулей.
- 88 Разработка и использование общих процедур в vba. Процедуры vba бывают двух типов
- Синтаксис процедуры-подпрограммы vba
- Объявление каждого аргумента имеет следующий синтаксис
- 89 Функции и их использование. Создание функций пользователя в среде vba.
- 90. Создание подпрограмм- процедур в vba.
- 92 Массивы, их виды. Формирование массива в vba. Действия над элементами массива.
- 93 Ветвление в программе. Условный оператор.
- 94 Оператор выбора (переключатель). Оператор case в среде vba.
- 95 Циклы, их виды. Операторы цикла в vba.
- 96 Создание пользовательских форм в среде vba. Основные элементы управления на форме. Семейство Controls (Элементов управления).