- •Лекция 1. Информация и информационные процессы
- •Понятие информации
- •Измерение информации
- •Свойства информации
- •Формы представления информации
- •Информация в общении людей
- •Информация в технических устройствах и системах
- •Контрольные вопросы
- •Лекция 2. Системы счисления. Логические элементы эвм
- •Акулов о.А., Медведев н.В. Информатика: базовый курс / о.А. Акулов, н.В. Медведев. 2-е изд., испр. И доп. – м.: Омега-л, 2005. – с. 54-81. Системы счисления Понятие системы счисления
- •Перевод чисел в десятичную систему счисления
- •Перевод десятичного числа в другую систему счисления
- •Перевод чисел из двоичной системы счисления в восьмеричную (шестнадцатеричную)
- •Перевод из восьмеричной (шестнадцатеричной) системы счисления в двоичную
- •Логические элементы эвм
- •Контрольные вопросы
- •Лекция 3. Общая характеристика информационных процессов
- •Получение информации
- •Передача информации
- •Обработка информации
- •Накопление и хранение информации
- •Контрольные вопросы
- •Лекция 4. Технические средства реализации информационных процессов
- •Акулов о.А., Медведев н.В. Информатика: базовый курс / о.А. Акулов, н.В. Медведев. 2-е изд., испр. И доп. – м.: Омега-л, 2005. – с. 232-236, 289-294.
- •Поколения эвм Первое поколение эвм
- •Второе поколение эвм
- •Третье поколение эвм
- •Четвертое поколение эвм
- •Классификация эвм
- •Суперкомпьютеры
- •Большие эвм
- •Мини-эвм
- •Микро-эвм
- •Основные принципы функционирования пк
- •Контрольные вопросы
- •Лекция 5. Программные средства реализации информационных процессов
- •Акулов о.А., Медведев н.В. Информатика: базовый курс / о.А. Акулов, н.В. Медведев. 2-е изд., испр. И доп. – м.: Омега-л, 2005. – с. 236-261.
- •Классификация программного обеспечения
- •Системное программное обеспечение
- •Базовое по
- •Сервисное программное обеспечение
- •Инструментарий технологии программирования
- •Прикладное программное обеспечение
- •Контрольные вопросы
- •Лекция 6. Модели решения функциональных и вычислительных задач
- •Понятие модели и моделирования
- •Аспекты моделирования
- •Основные этапы построения моделей
- •Классификация моделей
- •Этапы решения задач на компьютере
- •Контрольные вопросы
- •Лекция 7. Алгоритмизация
- •Основы алгоритмизации
- •Способы представления алгоритмов
- •Алгоритмические структуры
- •Алгоритм линейной структуры
- •Разветвляющийся алгоритм
- •Циклический алгоритм
- •Контрольные вопросы
- •Лекция 8. Технологии, языки и системы программирования
- •Технология программирования
- •Структурное программирование
- •Объектно-ориентированное программирование (ооп)
- •Языки программирования
- •Системы программирования
- •Контрольные вопросы
- •Лекция 9. Базы данных
- •Понятия база данных, система управления базами данных
- •Модели данных
- •Иерархическая модель данных
- •Сетевая модель
- •Объектно-ориентированная модель
- •Реляционная модель данных
- •Процесс разработки реляционной базы данных
- •Контрольные вопросы
- •Лекция 10. Сетевые технологии, локальные сети
- •Акулов о.А., Медведев н.В. Информатика: базовый курс / о.А. Акулов, н.В. Медведев. 2-е изд., испр. И доп. – м.: Омега-л, 2005. – с. 421-424.
- •Общая характеристика
- •Компьютерная сеть
- •Классификация сетей
- •Локальные сети Способы подключения к локальной сети
- •Адресация в локальной сети
- •Контрольные вопросы
- •Лекция 11. Глобальная сеть Интернет
- •Общие сведения
- •Способы подключения к Интернету
- •Интернет-провайдеры
- •Сервисы Интернет
- •Поисковые системы Структура поисковой системы
- •Правила поиска
- •Электронная почта
- •Закачка файлов
- •Контрольные вопросы
Языки программирования
Язык программирования – формализованный язык для описания алгоритма решения задачи на компьютере.
Языки программирования делятся на языки низкого и высокого уровня:
Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня. Таким языком является ассемблер.
Языки программирования высокого уровня не учитывают особенностей конкретных компьютерных архитектур. Поэтому созданные программы на уровне исходных текстов легко переносимы на другие платформы, для которых созданы трансляторы этого языка.
Языки программирования высокого уровня делятся:
алгоритмические языки – не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Алгол и др.);
процедурно-ориентированные языки – алгоритмические языки программирования, где имеется возможность описания программы как совокупности процедур (подпрограмм). В процедурных языках реализуется технология структурного программирования (Basic, Pascal, C).
объектно-ориентированные языки, поддерживающие понятие классов, объектов, их свойств и методов обработки (Object Pascal, Visual Basic, C++).
проблемно-ориентированные языки – языки программирования, предназначенные для решения задач определенного класса:
языки программирования баз данных (SQL, PL/SQL в Oracle, Informix).
языки программирования для Интернет (HTML, Perl, PHP).
языки моделирования применяются для представления данных, чаще всего в CASE-системах (UML – унифицированный язык моделирования).
языки экономических расчетов и решения бизнес – задач (Cobol – Кобол) и др.
Программа, подготовленная на языке программирования высокого уровня, проходит этап трансляции. Трансляция может выполняться с использованием средств компиляторов или интерпретаторов.
Компиляторы транслируют всю программу, но без ее выполнения.
При компиляции происходит преобразование исходного кода программы в объектный код, который далее пригоден к обработке редактором связей. Редактор связей – специальная программа, обеспечивающая построение загрузочного модуля, пригодного к выполнению (см. Рисунок 17).
Рисунок 17. Схема процесса создания загрузочного модуля программы
Во время компиляции может выполняться оптимизация с помощью методов, позволяющих повысить быстродействие программы (например, с помощью инструкций, ориентированных на конкретный процессор, путем исключения ненужных команд или промежуточных вычислений). В результате законченная программа получается компактной и эффективной, и может быть перенесена на другие компьютеры с процессорами, поддерживающими соответствующий машинный код.
Основной недостаток компиляторов – трудоемкость трансляции языков программирования, ориентированных на обработку данных сложной структуры, часто заранее неизвестной или динамически меняющейся во время работы программы.
Интерпретаторы, в отличие от компиляторов, выполняют пооперационную обработку и выполнение программы.
Только после того, как текущий оператор успешно выполнен, интерпретатор перейдет к следующему. При этом, если один и тот же оператор должен выполняться в программе многократно, интерпретатор всякий раз будет выполнять его так, как будто встретил его впервые. Вследствие этого, программы, в которых требуется осуществить большой объем повторяющихся вычислений, могут работать медленно. Кроме того, для выполнения программы на другом компьютере там должен быть установлен такой же интерпретатор, без него текст программы является просто набором символов.
Преимущество интерпретаторов заключается в следующем: с помощью интерпретаторов допустимо в любой момент остановить работу программы, исследовать содержимое памяти, организовать диалог с пользователем, выполнить сколь угодно сложное преобразование данных и при этом постоянно контролировать состояние программно-аппаратной среды, благодаря чему достигается более надежная работа программы.
В реальных системах программирования перемешаны технологии и компиляции, и интерпретации. В процессе отладки программа может выполняться по шагам (в пооператорном режиме), при этом определяется место и вид ошибки в программе, отслеживается изменение значений переменных и выражений. Результирующий код не обязательно будет машинным. Он может быть исходным кодом, написанным на другом языке программирования, или промежуточным машинно-независимым кодом абстрактного процессора, который в различных компьютерных архитектурах станет выполняться с помощью интерпретатора или компилироваться в соответствующий машинный код.