
- •Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования «Поволжский государственный университет телекоммуникаций и информатики»
- •Конспект лекций
- •Содержание конспекта лекций
- •Понятие информатики
- •Информация, ее представление и измерение Понятие и характерные черты информации
- •Преобразование сообщений
- •Рассмотрим более подробно преобразования одного сигнала в другой.
- •Преобразование д®н
- •Лекция 2 Меры информации
- •Объем информации V (объемный подход)
- •Комбинаторная мера
- •Двоичная логарифмическая мера
- •Вероятностная мера
- •Понятия бита, байта
- •Представление информации в эвм Кодирование информации
- •Представление символьной информации
- •Краткая информация о других системах кодирования.
- •Универсальная система кодирования текстовых данных
- •Лекция 3 Представление и обработка чисел в компьютере Системы счисления и коды, применяемые в вычислительной технике
- •Перевод из одной системы счисления в другую.
- •Двоичная система счисления (в)
- •Восьмеричная система счисления (о)
- •Шестнадцатиричная система счисления (h)
- •Информационно–логические основы построения эвм Формы представления чисел
- •Операции над двоично-десятичными числами в упакованном формате без учета знака
- •Лекция 4 Логические основы построения эвм
- •Лекция 5 Технические средства реализации информационных процессов Краткая история вычислительной техники
- •Классическая архитектура эвм
- •Магистрально-модульный принцип построения компьютера
- •Лекция 6 Программное обеспечение эвм
- •Операционные системы
- •Лекция 7 Модели решения функциональных и вычислительных задач
- •Что такое модель?
- •Классификация моделей. Материальные и информационные модели
- •1. Область использования
- •2. Учет фактора времени и области использования
- •3. Классификация по способу представления
- •Этапы моделирования
- •Алгоритмизация и основные этапы решения инженерных задач
- •Технология решения задач на компьютере Этапы решения задач на компьютере
- •Основы структурного программирования Алгоритмы
- •Базовые алгоритмические структуры
- •Линейные алгоритмы
- •Пример алгоритма линейной структуры.
- •Пример алгоритма ветвления.
- •Модульное программирование
- •Объектно-ориентированное программирование
- •Языки программирования, их классификация
- •Транслятор, компилятор, интерпретатор
- •Контрольные вопросы:
- •Лекция 8 Технология обработки текстовой информации
- •Возможности текстовых процессоров
- •Форматирование текста Приемы форматирования текста
- •Задание параметров шрифта
- •Форматирование абзацев
- •Выделение текста с помощью мыши
- •Создание таблиц и работа с таблицами в текстовом редакторе
- •Структура таблицы
- •Создание оглавления средствами текстового процессора
- •Использование стилей заголовков
- •Лекция 9 Технология обработки графической информации Кодирование графической информации
- •Цветовые модели.
- •Векторное и фрактальное изображения.
- •Преобразование файлов из одного формата в другой
- •Преобразование файлов из растрового формата в векторный
- •Преобразование файлов одного векторного формата в другой
- •Лекция 10 Технология обработки числовой информации, табличный процессор
- •Мультимедиа технологии. Компьютерные презентации с использованием мультимедиа технологии
- •Начало работы
- •6.2. Создание мультимедийных презентаций. Настройка параметров демонстрации п Рис. 1. Выбор разметки слайда ервая презентация
- •Оформление слайда
- •Дополнительные объекты
- •Анимация
- •Показ слайдов
- •Лекция 11 Сжатие информации
- •1 Основные понятия баз данных
- •Определение основных терминов
- •Основные требования, предъявляемые к банкам данных
- •Компоненты банка данных
- •Пользователи бд и субд
- •2 Классификация бд
- •Классификация баз данных
- •Классификация субд
- •Основные функции субд
- •1. Непосредственное управление данными во внешней памяти
- •2. Управление буферами оперативной памяти
- •3. Управление транзакциями
- •4. Журнализация
- •5. Поддержка языков бд
- •Функциональные возможности субд
- •3 Проектирование баз данных Подходы к проектированию
- •Архитектура субд
- •Методология проектирования баз данных
- •Основные этапы разработки бд
- •4 Модели организации баз данных
- •Иерархическая модель базы данных
- •Сетевая модель базы данных.
- •Операции над данными в сетевой модели бд.
- •Достоинства и недостатки ранних субд
- •Объектно-ориентированные субд
- •Объектно-реляционные субд
- •5 Реляционный подход к построению инфологической модели Реляционная модель данных
- •Понятие информационного объекта
- •Нормализация отношений
- •Свойства отношений.
- •Простые и составные ключи
- •6. Работа с субд ms Access Объекты Microsoft Access.
- •Работа с таблицами
- •Создание межтабличных связей
- •Работа с запросами
- •Запросы и фильтры
- •Работа с формами
- •Работа с отчётами
- •Программные системы в научных исследованиях, использование пакетов математических и инженерных расчетов Система MathCad (Mathematical Computer Aided Design)
- •MathCad-документ и его структура
- •Элементарные математические встроенные функции
- •Функции, определяемые пользователем
- •Условия и функция if
- •Индексированные переменные и итерация
- •К ак выглядит
- •Аргументы:
- •Аргументы:
- •Аргументы:
Транслятор, компилятор, интерпретатор
С помощью языка программирования создаётся не готовая программа, а только её текст, описывающий ранее разработанный алгоритм. Чтобы получить работающую программу, надо этот текст либо автоматически перевести в машинный код (для этого служат программы компиляторы) и затем использовать отдельно от исходного текста, либо сразу выполнять команды языка, указанные в тексте программы (этим занимаются программы-интерпретаторы).
Транслятор (англ. translator — переводчик) — это программа-переводчик. Она преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд.
Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.
Компилятор (англ. compiler — составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется.
Интерпретатор (англ. interpreter — истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.
После того, как программа откомпилирована, ни сама исходная программа, ни компилятор более не нужны. В то же время программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном запуске программы.
Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.
Каждый конкретный язык ориентирован либо на компиляцию, либо на интерпретацию — в зависимости от того, для каких целей он создавался. Например, Паскаль обычно используется для решения довольно сложных задач, в которых важна скорость работы программ. Поэтому данный язык обычно реализуется с помощью компилятора.
С другой стороны, Бейсик создавался как язык для начинающих программистов, для которых построчное выполнение программы имеет неоспоримые преимущества.
Иногда для одного языка имеется и компилятор, и интерпретатор. В этом случае для разработки и тестирования программы можно воспользоваться интерпретатором, а затем откомпилировать отлаженную программу, чтобы повысить скорость ее выполнения.
Интерпретатор берёт очередной оператор языка из текста программы, анализирует его структуру и затем сразу исполняет (обычно после анализа оператор транслируется в некоторое промежуточное представление или даже машинный код для более эффективного дальнейшего исполнения). Только после того как текущий оператор успешно выполнен, интерпретатор перейдёт к следующему. При этом если один и тот же оператор будет выполняться в программе многократно, интерпретатор будет выполнять его так как, как будто встретил впервые. Вследствие этого программы, в которых требуется осуществить большой объём вычислений, будут выполняться медленно. Кроме того, для выполнения программы на другом компьютере там тоже должен стоять интерпретатор – ведь без него текст является просто набором символов.
По-другому можно сказать, что интерпретатор моделирует некоторую вычислительную виртуальную машину, для которой базовыми инструкциями служат не элементарные команды процессора, а операторы языка программирования.
Компиляторы полностью обрабатывают весь текст программы (он иногда называется исходный код) Они просматривают его в поиске синтаксических ошибок (иногда несколько раз), производят определенный смысловой анализ, а затем автоматически переводят (транслируют) на машинный язык - генерируют машинный код. Нередко при этом выполняется оптимизация с помощью набора методов позволяющих повысить быстродействие программы (например, с помощью инструкций, ориентированных на конкретный процессор, путём исключения ненужных команд, промежуточных вычислений и т.д.). В результате законченная программа получается законченной и эффективной, работает в сотни раз быстрее программы, выполняемой с помощью интерпретатора, может быть перенесена на другие компьютеры с процессором, поддерживающим соответствующий машинный код.
Недостаток компилятора – трудоёмкость трансляции языков программирования, ориентированных на обработку данных сложных структур, часто заранее неизвестной или динамически меняющейся во время работы программы. Тогда в машинный код приходиться вставлять множество дополнительных проверок, анализировать наличие ресурсов операционной системы, динамически их захватывать и освобождать, формировать и обрабатывать в памяти компьютера сложные объекты, что на уровне жестко заданных машинных инструкций осуществить довольно трудно, а для задачи почти невозможно.
С помощью интерпретатора, наоборот, допустимо в любой момент остановить программу, исследовать содержимое памяти, организовать диалог с пользователем, выполнить сколь угодно сложные преобразования и при этом постоянно контролировать состояние окружающей программно - аппаратной среды, благодаря чему достигается высокая надёжность работы. Интерпретатор при выполнении каждого оператора проверяет множество характеристик операционной системы и при необходимости максимально подробно информирует разработчика о возникающих проблемах. Кроме того, интерпретатор очень удобен для использования в качестве инструмента изучения программирования, так как позволяет понять принципы работы любого отдельного оператора языка.
В реальных системах программирования перемешаны технологии и компиляции и интерпретации. В процессе отладки программа может выполняться по шагам, а результирующий код не обязательно будет машинным – он даже может быть исходным кодом, написанном на другом языке программирования (это существенно упрощает процесс трансляции, но требует компилятора для конкретного языка), или промежуточным машинно-независимым кодом абстрактного процессора, который в различных машинных архитектурах станет выполнять с помощью интерпретатора или компилировать в соответствующий машинный код.
Системы программирования
Система программирования — это система для разработки новых программ на конкретном языке программирования.
Современные системы программирования обычно предоставляют пользователям мощные и удобные средства разработки программ. В них входят:
компилятор или интерпретатор;
интегрированная среда разработки;
средства создания и редактирования текстов программ;
обширные библиотеки стандартных программ и функций;
отладочные программы, т.е. программы, помогающие находить и устранять ошибки в программе;
"дружественная" к пользователю диалоговая среда;
многооконный режим работы;
мощные графические библиотеки; утилиты для работы с библиотеками
встроенный ассемблер;
встроенная справочная служба;
другие специфические особенности.
Язык Бейсик (BASIC — Beginners All-purpose Symbolic Instruction Code — универсальный символьный код для начинающих) был создан в 1965 г. Дж. Кемени и Т.Курцем как язык, облегчающий написание простых программ. Cейчас все чаще пишут Basic вместо BASIC, придавая другую трактовку названию: Basic — основной, базовый. Существует много различных версий Бейсика — от очень простых до усовершенствованных, содержащих множество дополнительных языковых конструкций. Наибольшее распространение имеют следующие версии: QuickBasic (QBasic) 4.5 для DOS и Visual Basic для Windows.
Язык Паскаль был разработан в 1970 г. Никласом Виртом как язык обучения студентов программированию. Паскаль вырабатывает навыки соблюдения хорошего строгого стиля программирования, упрощающего разработку сложных программ.
Основные привлекательные черты Паскаля — логичность, поддержка концепций структурного и процедурного программирования, работа с динамической памятью, возможность создания своих типов данных. В Паскале программист должен всегда явно указывать, с какими конкретными переменными он желает работать и каковы типы этих переменных. Строгая типизация данных позволяет резко снизить количество ошибок, появляющихся в программе вследствие невнимательности или опечаток.
В своем первоначальном виде Паскаль имел довольно ограниченные возможности, но расширенный вариант этого языка — Turbo Pascal, а затем Borland Pascal является очень мощным языком программирования. Интегрированная оболочка разработанная фирмой Borland (ныне Inprise), включающая в себя редактор, компилятор, компоновщик и отладчик, вместе с интерактивной справочной системой сделали разработку программ на Паскале делом простым и приятным.
Язык Си разработан Деннисом Ритчи в 1972 г. как язык, пригодный для программирования новой операционной системы UNIX.
Операционные системы ради повышения скорости работы традиционно писались на языке низкого уровня — ассемблере, но язык Си настолько хорошо зарекомендовал себя, что на нем было написано более 90% всего кода ОС UNIX. Язык СИ обрел популярность как так называемый язык среднего уровня, в котором удобство, краткость и мобильность языков высокого уровня сочетаются с возможностью непосредственного доступа к аппаратуре компьютера, что обычно достигаются только при программировании на языке Ассемблера.
Си не очень прост в изучении и требует тщательности в программировании, но позволяет создавать сложные и весьма эффективные программы
Литература
Истомин Е.П., Новиков В.В., Новикова М.В. Высокоуровневые методы информатики и программирования: Учебник. - СПб. ООО "Адреевский издательский дом", 2006 г. - 228 с. ISBN 5-902894-07-7
Романова Ю.Д. Информатика и информационные технологии : учебное пособие/Ю.Д. Романова, И.Г. Лесничая, В.И. Шестаков, И.В. Миссинг, П.А. Музычкин; под ред. Ю.Д. Романовой. - 3-е изд.,перераб. и доп. - М.:Эксмо, 2008.-592с.-(Высшее экономическое образование). ISBN 978-5-699-22955-0