- •Конспект лекций по курсу «Информатика» для студентов очной и заочной форм обучения.
- •Базовые положения
- •§.1. Физическое устройство и разумная деятельность мозга
- •§2. Самодостаточная эвм
- •2.1. Память (оперативная память)
- •2.2. Процессор
- •2.3. Программа
- •2.4. Жизненный цикл «Самодостаточной эвм»
- •§3. Язык процессора – базовый язык эвм
- •§4. Реальная эвм. Периферийные устройства
- •§5. Язык программирования. Программа транслятор
- •§6. Язык программирования Pascal
- •6.1. Базовые типы числовых информационных объектов
- •6.2. Явные константы
- •6.3. Оператор описания var
- •Var и1, и2, и3, . . . . ,Иn: Итипа;
- •6.5. Операторы консольного ввода информации
- •6.5.1. Стандартные форматы вывода числовой информации.
- •6.6. Логические переменные
- •6.7. Операторы управления программой
- •6.7.1. Условный оператор if then
- •If Условие then Оператор ;
- •6.7.2. Условный оператор выбора if then else
- •6.8. Метки операторов. Оператор безусловного перехода
- •6.9. Циклические вычисления. Операторы зацикливания
- •Организация циклических вычислений операторами if then goto
- •Программа вычисления корня по формуле Герона.
- •6.9.3. Оператор цикла for to
- •6.9.4. Оператор цикла for downto
- •6.9.5. Оператор цикла while
- •6.9.6. Программа вычисления длины дуги кривой
- •7. Массивы переменных
- •7.1. Программа нахождения экстремальных значений
- •7.2. Программа решения системы линейных алгебраических уравнений
- •8. Сортировка информации
- •8.1. Элементы формальной логики, теории множеств и операций
- •8.2. Упорядоченные структуры информационных объектов
- •8.3. Алгоритм сортировки «поплавок»
- •8.3.1. Программа сортировки массива «на месте»
- •8.3.2. Программа сортировки «индексов» массива
- •8.4. Алгоритм быстрого поиска информации в линейно упорядоченном массиве
- •8.4.1. Программа поиска в отсортированных массивах.
- •9. Символьные переменные
- •9.1.Строковые переменные
- •9.1.1. Программа написания чисел прописью
- •10. Клавиатурное управление эвм
- •§.11. Информационные объекты класса – изображение
- •11.1. Устройство функционированиемонитора
- •11.2. Процедурный язык управления графическим экраном
- •11.3. Оцифровка и масштабирование реальных изображений (чертежей) для последующего их вывода на экран
- •11.4. Пример построения фрагмента графика функции
- •11.5. Ввод и обработка информации в форме изображений
- •§12. Информационные объекты класса – подпрограммы
- •12.1. Подпрограммы типа procedure
- •12.1.1. Пример оформления подпрограммы-процедуры
- •12.2. Подпрограммы класса function
- •12.2.1.Пример оформления подпрограммы-функции
- •12.3. Процедурные языки программирования
- •12.4. Библиотечные модули Unit
- •§13. Динамическое распределение оперативной памяти эвм
- •13.1. Программа использующая динамические переменные
- •§14. Переменные типа record
- •§15. Внешняя память эвм. Работа с файлами
- •15.1. Процедурный язык обработки файлов
- •15.2.Программа “ Жизненный путь файла “
- •15.3. Текстовые файлы
- •§16. Элементы объектно-ориентированного программирования
- •Основная рекомендуемая литература.
11.5. Ввод и обработка информации в форме изображений
Для ввода внешней информации «класса изображение» в оперативную память ЭВМ используются периферийные устройства типа: сканер, цифровые фото/кинокамеры. Основная задача этих устройств – преобразовать исходное изображение к растровому типу, т.е. создать цифровую модель изображения в виде прямоугольной таблицы цветовых точек-растров, описываемых числовыми кодами. Оцифрованная информация обычно размещается в отдельном файле или непосредственно в переменных-массивах (array) оперативной памяти.
Интересно: разрешимость сканеров обычно существенно превосходит разрешимость типичного экрана монитора: количество и цветовое разнообразие выделяемых сканером цветовых точек на один квадратный сантиметр изображения в десятки раз превосходит количество пикселей, находящихся на такой же площади экрана монитора.
«Ручная» обработка растровых изображений, т.е. проводимая по-командно и контролируемая визуально непосредственно человеком, осуществляется с помощью специальных программ – графических редакторов.
«Автоматизированная» (программная) обработка изображений заключается в выделении из картинки «изобразительных образов», т.е. отдельных деталей, обладающих собственной семантикой (смыслом).
На первом этапе проводится группировка соседствующих растров в ломанные линии, дуги, геометрические фигуры, т.е. типичных элементов «чертежного изображения». Обработанное соответствующими программами исходное «растровое изображение» превращается в - «векторное изображение», т.е. миллионы точек заменяются сотнями геометрических фигур.
Далее, среди выделенных кривых и дуг выделяются - отдельные буквы и символы, т.е. понятные нам элементы письменного языка.
В последующем, опять же специальными программами, отдельные геометрические фигуры можно объединить в «образы некой реальности», например - лица конкретных людей.
Раздел прикладной математики (информатики), занимающийся разработкой соответствующих алгоритмов, называется «Теорией распознавания образов».
§12. Информационные объекты класса – подпрограммы
Опр. Конструктивизм саморазвития языка - процесс обогащения и пополнения словарного запаса языка путем введения уникальных имен (терминов), для упорядоченных по синтаксису или семантике последовательностей известных (уже существующих в языке) слов.
В языке Pascal:
строго упорядоченная последовательность однотипных объектов обработки образует новый объект обработки класса ARRAY,
строго упорядоченная последовательность символов (CHAR) порождает новый объект обработки класса STRING,
упорядоченная последовательность разнотипных объектов обработки образует новый объект обработки класса RECORD.
Напомним: информационные объекты обработки в языках программирования выполняют роль существительных в естественных языках, а операции обработки этих объектов – аналоги глаголов в естественных языках.
В языке Pascal:
последовательность из нескольких операций обработки, которые проводятся над некими объектами обработки, образует новую операцию обработки классов PROCEDURE или FUNCTION.
Пояснение: Для поиска корней квадратного уравнения необходимо выполнить известную последовательность арифметических и логических операций. Последовательность этих операций можно только один раз объяснить исполнителю и обозвать последовательность этих операций уникальным именем - глаголом «решить КУ». В последующем, если возникает необходимость заставить исполнителя решить какое-то квадратное уравнение, достаточно скомандовать ему - «решить КУ» и дать конкретные значения коэффициентов входящих в уравнение.
Опр. Подпрограмма – последовательность операторов наделенная собственным именем.
Использование собственных подпрограмм требует от программиста выполнения двух, разнесенных в пространстве и времени, действий:
описания подпрограммы (введения в язык Pascal нового понятия), которое выполняется в блоке операторов описаний,
собственно самого вызова подпрограммы (для выполнения конкретных вычислений), которое осуществляется в блоке исполнимых операторов.