- •Котов владислав викторович доцент, профессор кафедры робототехники и автоматизации производства, доктор технических наук
- •1.Введение в информатику
- •1.1.История развития информатики
- •1.2. Структура курса. Рекомендуемая литература
- •1.3.История развития вычислительной техники
- •2.Понятие информации
- •2.1.Информация и её свойства
- •2.2.Дискретный источник информации
- •2.3.Мера информации по Хартли
- •2.4.Мера информации по Шеннону
- •3. Общая характеристика процессов сбора, передачи, обработки и накопления информации
- •3.1.Процессы сбора, передачи, обработки и накопления информации
- •3.2.Этапы обращения информации в информационно-измерительных и управляющих системах
- •4.Технические средства реализации информационных процессов
- •4.1.Структура персонального компьютера
- •4.2.Периферийное оборудование персонального компьютера
- •5.Программные средства реализации информационных процессов
- •5.1.Виды программного обеспечения
- •5.2.Операционные системы. Организация и средства человеко-машинного интерфейса в ос Windows
- •5.3.Прикладное программное обеспечение
- •6.Способы представления и хранения текстовой и числовой информации
- •6.1.Хранение информации в компьютере. Кодирование символьных данных. Кодовые таблицы ascii, ansi, koi-8
- •6.2.Знаковые и позиционные системы счисления. Правила перевода чисел из одной системы счисления в другую
- •6.3.Основные арифметические операции в двоичной системе
- •6.4.Булева алгебра. Основные операции и правила булевой алгебры
- •7.Алгоритмизация и программирование
- •7.1.Понятие алгоритма
- •7.2.Основные условные элементы для создания схем алгоритмов
- •7.3.Примеры простейших алгоритмов
- •8.Языки программирования высокого уровня. Основы языка Паскаль
- •8.1.Языки программирования высокого уровня
- •8.2.Запись программы на Паскале
- •8.3.Основные типы данных в Паскале
- •8.4.Структура Паскаль-программы
- •9.Оператор присваивания. Ввод-вывод в программах на Паскале
- •9.1.Оператор присваивания. Запись арифметических выражений
- •9.2.Процедуры ввода данных с клавиатуры
- •9.3.Процедуры вывода данных на экран
- •Условный оператор
- •9.4.Алгоритмы с ветвлением
- •9.5.Структура и синтаксис условного оператора
- •9.6.Задание логических выражений для передачи управления
- •9.7.Составные условия с использованием логических операторов
- •Операторы циклов с неопределённым числом повторений
- •9.8.Назначение операторов циклов. Циклы с пред- и постусловием
- •9.9.Структура и синтаксис оператора while
- •9.10.Структура и синтаксис оператора repeat … until
- •Оператор цикла с параметром
- •9.11.Цикл с параметром. Структура и синтаксис оператора for
- •9.12.Примеры программирования итерационных алгоритмов
- •Диапазонный тип данных. Массивы
- •9.13.Диапазонные типы данных
- •9.14.Массивы. Описание и использование массивов
- •Процедуры и функции
- •9.15.Структурный подход к разработке программы. Подпрограммы
- •9.16.Понятие подпрограммы, виды подпрограмм в Паскале.
- •9.17.Синтаксис объявления и использования процедур
- •9.18.Синтаксис объявления и использования функций
- •9.19.Примеры использования подпрограмм на Паскале
- •9.20.Параметры-значения и параметры-переменные
- •Строковый тип данных
- •9.21.Общие сведения о работе со строками символов
- •9.22.Процедуры и функции обработки строк
- •Работа с файлами
- •9.23.Понятие файла. Типы файлов в Паскале
- •9.24.Инициализация файловых переменных
- •9.25.Процедуры открытия файлов
- •9.26.Ввод-вывод данных в файл и общие подпрограммы для работы
- •Работа с графикой
- •9.27.Графический и текстовый режимы работы видеоадаптера
- •9.28.Инициализация графического режима
- •9.29.Основные средства библиотеки Graph для работы с графикой
- •Программное обеспечение и технологии программирования
- •9.30.Технология структурного программирования
- •9.31.Принципы проектирования программ «сверху-вниз» и «снизу-вверх»
- •9.32.Модульный принцип программирования
- •9.33.Технология объектно-ориентированного программирования
- •9.34.Основные критерии оценки качества программ
- •Базы данных
- •9.35.Общее представление о базах данных
- •9.36.Основные понятия систем управления базами данных
- •9.36.1.Классификация субд
- •9.36.2.Основные функции субд
- •9.37.Уровни представления данных
- •9.38.Основные модели данных
- •9.38.1.Понятие модели данных
- •9.38.2.Типы структур данных
- •9.38.3.Сетевая модель данных (смд)
- •9.38.4.Иерархическая модель данных (имд)
- •9.39.Реляционные базы данных
- •Домен 1 . . .. . Домен 2 . . . . . . . . .Домен 3 (ключ) . . . .Домен 4 . . . ..Домен 5
- •9.39.1.Достоинства и недостатки рмд
- •9.39.2.Операции реляционной алгебры
- •Локальные и глобальные сети эвм
- •9.40.Понятие о сетях эвм
- •9.41.Классификация сетей: локальные и глобальные сети эвм
- •9.42.Понятие топологии. Виды сетевых топологий
- •9.43.Информационные технологии, основанные на сетях
- •Методы защиты информации
- •9.44.Основы защиты информации и сведений, составляющих государственную тайну
- •9.45.Организационные методы защиты информации
- •9.46.Криптографическая защита информации
- •Экономические и правовые аспекты информационных технологий
- •9.47.Система стандартов на программную документацию
- •9.48.Виды программ и программных документов
- •9.49.Основные стадии и этапы разработки программ и программной документации
7.Алгоритмизация и программирование
7.1.Понятие алгоритма
Понятие алгоритма является одним из главных понятий информатики. Само слово происходит от имени средневекового математика аль-Хорезми;´, (в некоторых источниках его полное имя приводится как Мухаммед аль-Хорезми, в других – Абу Джафар ибн Муса аль-Хорезми, в СЭС – Мухаммед бен Муса аль-Хорезми). Искаженное «аль-Хорезми», означающее буквально «из Хорезма» (Хорезм – название древнего государства на территории современного Узбекистана) и породило слово «алгоритм».
Упрощенно можно говорить, что алгоритм это способ решения некоторой задачи, точно предписывающий, как и в какой последовательности получить результат, однозначно определяемый исходными данными.
Пример: представим в виде алгоритма
метод Евклида для нахождения наибольшего
общего делителя пары натуральных чисел
:
1. {Нахождение остатка}
2. {Замена}
3. {Остановка?} Если
,
то переход к п.1
4. {Остановка процесса}
– искомое число.
Сформулируем более полное определение: алгоритм это точное предписание, которое задает алгоритмический процесс, начинающийся с произвольной совокупности возможных для данного алгоритма исходных данных, и направленный на получение полностью определенного этими исходными данными результата.
Алгоритмический процесс это процесс последовательного преобразования конструктивных объектов, происходящий дискретными шагами. Каждый шаг состоит в смене одного конструктивного объекта другим.
Использование термина «конструктивный объект» в последнем определении связано с тем, что алгоритмы могут применяться к различным объектам – числам, буквам, словам, словосочетаниям, графам, логическим выражениям и т.п. Здесь этот термин используется как обобщающее понятие.
В рассмотренном ранее алгоритме Евклида
в качестве конструктивного объекта
выступает пара чисел
.
Если задаться некоторой конкретной
парой чисел в качестве исходных данных,
например
,
,
то в результате реализации алгоритмического
процесса будут происходить следующие
смены конструктивных объектов:
.
Обычно для каждого алгоритма можно выделить семь независимых параметров:
1) совокупность возможных исходных данных
2) совокупность возможных промежуточных результатов
3) совокупность результатов
4) правило начала
5) правило непосредственной переработки
6) правило окончания
7) правило извлечения результата
7.2.Основные условные элементы для создания схем алгоритмов
На практике используется задание алгоритмов в виде блок-схем. Блок-схемой называется ориентированный граф, вершины которого могут быть одного из трех типов:
1. Функциональная вершина – используется
для представления функции
.
2. Предикатная вершина – используется
для представления функции (предиката)
,
т.е. логического выражения, передающего
управление по одной из двух возможных
ветвей.
3. Объединяющая вершина – используется для передачи управления от одной из двух входящих ветвей к одной выходящей ветви.
С помощью подобных вершин можно представить четыре элементарных блок-схемы:
Композиция подобных элементарных блок-схем называется структурной блок-схемой. На практике применяют и другие элементарные структуры управления, что вызвано требованиями удобства и естественности.
