- •Конспект лекций
- •Введение
- •Лекция 1. Информация и информационные технологии. Основные понятия. Предмет информатики
- •Информация Определение и измерение информации
- •Свойства информации
- •Информация и данные
- •Кодирование данных в компьютере
- •Измерение компьютерных данных
- •Лекция 2 Арифметические основы компьютеров Системы счисления
- •Перевод чисел в десятичную систему счисления
- •Поразрядный перевод чисел из одной системы счисления в другую
- •Перевод целых десятичных чисел в другую систему счисления
- •Перевод правильной десятичной дроби в другую систему счисления
- •Двоичная арифметика
- •Представление чисел в компьютере Целые числа без знака
- •Целые числа со знаком
- •Вещественные числа
- •Лекция 3 Технические средства информационных технологий Классификация
- •Устройство персонального компьютера
- •Системный блок
- •Материнская плата
- •Центральный процессор
- •Архитектура процессора
- •Система команд процессора
- •Оперативная память
- •Постоянная память
- •Лекция 4
- •Операционные системы
- •Файловая система. Основные определения
- •Операционная система ms dos
- •Загрузка компьютера с операционной системой ms dos
- •Командный язык операционной системы msdos и Windows
- •Dir [дисковод] [путь] [ключи]
- •Md [дисковод:] [путь]
- •Copy [дисковод:] полное_имя_1 [дисковод:] полное_имя_2
- •Ren [дисковод:] имя файла1 имя файла2
- •Линейный алгоритм
- •Ветвящийся алгоритм
- •Циклический алгоритм
- •Алгоритмы накопления суммы и произведения
- •Алгоритм табулирования функции
- •Алгоритм поиска экстремальных значений (max, min)
- •Лекция 6 Язык программирования Microsoft Qbasic Набор символов языка:
- •Классификация данных
- •Ограничения значений переменных
- •Операции
- •Выражения
- •Стандартные функции действия над числами
- •Операторы
- •Оператор восстановления данных restore
- •Оператор input
- •Input считывает входные данные от клавиатуры или из файла.
- •Input ["приглашение"{; | ,}] список переменных
- •Вывод данных Операторы print, lprint, print using, функции spc и tab
- •Функции spc и tab
- •Тав: print tab (выражение1); выражение2
- •Оператор форматированного вывода
- •Print using формат; список выражений [{;|,}]
- •Оператор позиционирования курсора locate
- •Лекция 7 Управление ходом выполнения программы Организация цикла
- •Оператор цикла for … next
- •Оператор цикла do … loop
- •Print "Значение I в конце цикла равно "; I
- •Оператор цикла без счетчика while …wend
- •Операторы изменения хода выполнения программы
- •Оператор выбора select case
- •Оператор exit
- •Оператор swap
- •Функции действия над строками
- •Лекция 8 Алгоритмы решения математических задач Решение уравнений методом итерации
- •Решение уравнений методом простой итерации
- •Input “Введите точность”, e
- •Input “Введите начальное значение х”, х
- •Input “Введите точность”, e
- •Input “Введите начальное значение х”, х
- •Итерационное решение уравнений методом половинного деления
- •Input “Введите точность”, e
- •Оператор описания массивов Одномерные массивы
- •Статические и динамические массивы
- •Оператор option base
- •Способы ввода значений элементов массива
- •Оператор rnd
- •Randomize [число].
- •Алгоритм формирования и печати исходного массива
- •Алгоритм поиска максимального и минимального значений в массиве s(n)
- •Алгоритмы сортировки массива Сортировка выбором мах (или мin)
- •Сортировка вставками
- •Метод «пузырька»
- •Лекция 10 Описание и обработка матриц
- •Input “ введите значение”, a(I,j)
- •Лекция 11 Алгоритмы компьютерной графики
- •Текстовый режим
- •Операторы графики
- •Построение графиков математических функций
- •Этапы построения графика функции
- •Оператор circle вывода окружностей, дуг, эллипсов
- •Circle (X, y), r, [цвет], [Dn], [Dk], [z]
- •Цвет в графике
- •Оператор рисования объекта.
- •Построение диаграмм
- •Этапы работы при создании рисунка
- •Эффект мультипликации
- •Лекция 13 Работа с файлами Назначение файлов
- •Физическая и логическая организации файлов
- •Способы доступа к файлам
- •Действия с файлами
- •Оператор open открытия файла
- •Режимы работы с файлами
- •Номер файла
- •Чтение данных из файла прямого доступа и бинарного файла оператором get
- •Get [#]номер_файла [,[номер_записи][, переменная]] ,
- •Чтение данных из файла последовательного доступа оператором input
- •Запись данных в файл прямого доступа и бинарный файл оператором put
- •Закрытие файла
- •Удаление файлов
- •Лекция 14 Приемы модульного программирования
- •Процедуры
- •Input “Введите размерность массива ”; n
- •Процедурные языки (с, basic, fortran, pascal и др.)
- •Функциональные языки
- •Логические языки (лисп, пролог)
- •Трансляторы
- •Лекция 15 Разработка сложных программ
- •Методологии и технологии проектирования ис Общие требования к методологии и технологии
- •Лекция 16 Компьютерные сети. Архитектура построения
- •Масштабы компьютерных сетей
- •Топологии компьютерных сетей
- •Топология типа «звезда»
- •Коммутируемая топология
- •Сложные топологии
- •Методы передачи компьютерных данных Кадры и протоколы
- •Кадр Ethernet стандарта ieee 802.3
- •Кадр Token Ring стандарта 802.5
- •Примеры протоколов.
- •Лекция 17 Основные компоненты компьютерных сетей
- •Линии связи
- •Коммуникационное оборудование
- •Литература
- •Словарь понятий
Процедурные языки (с, basic, fortran, pascal и др.)
Программа на таком языке состоит из последовательности команд, обрабатывающих данные. Данные, как правило, хранятся в виде переменных. Весь процесс вычисления сводится к изменению их содержимого.
Объектно-ориентированные языки (С++, Java,Visual Basic)
Переменные и функции в такой программе группируются в так называемые классы. Благодаря этому достигается более высокий уровень структуризации программы. Работа программы рассматривается как последовательность событий и соответствующих реакций объектов на эти события. В принципе объектно-ориентированный язык базируется на процедурной модели программирования.
Функциональные языки
Программа состоит из совокупности функций, которые вызывают друг друга. Переменные могут отсутствовать вообще. Алгоритмы, записанные в функциональном виде, как правило, короче и содержат меньше ошибок, чем аналогичные объектно-ориентированные или процедурные. Языки этой группы обладают относительно низким быстродействием из-за сложности реализации.
Логические языки (лисп, пролог)
Основываются на формальной логике и Булевой алгебре, иногда и средствах нечёткой логики. Программа, записанная на логическом языке программирования, не содержит в себе конкретных алгоритмов (заданной последовательности действий). Задаётся описание условий задачи и логических отношений, по которым программа сама рассчитывает возможные следствия и взаимосвязи введённых данных и формул.
Большинство используемых сегодня языков программирования, были созданы на рубеже 60-х и 70-х годов. При этом новые языки не переставали регулярно появляться, однако ни один из них (кроме Java) не задержался в практике программирования.
По существу прекращены попытки создания “универсального” языка программирования, призванного объединить в себе все последние достижения в области разработки языков (из попыток 60-х – 70-х годов можно вспомнить Алгол, PL/1, Аду). Крупные "языковые” проекты безвозвратно ушли в прошлое вместе с порожденными ими языками.
Наконец, появление персонального компьютера и ОС с графическим интерфейсом (прежде всего Mac OS и Windows) переместило внимание разработчиков программного обеспечения из сферы языков программирования в другие области средств разработки ПО, такие, как визуальное или объектно-ориентированное программирование или модели баз данных. Программист все чаще использует в качестве инструмента не столько язык, сколько конкретную систему программирования (например, Delphi), а какой язык является для нее базовым, не так уж важно.
Трансляторы
Программу на языке программирования записывают в обычном текстовом редакторе. В таком виде программу называют исходным модулем (кодом, текстом).
Исходный программный модуль – исходный текст программы, как правило, на языке высокого уровня.
Процессор не может исполнить такую программу, пока ее операторы не будут представлены в виде инструкций процессору. Для этого существуют специальные программы – трансляторы.
Транслятор – программа, преобразующая операторы исходного программного модуля в машинный код.
Существуют два вида трансляторов: компиляторы и интерпретаторы.
Компилятор – программа-транслятор, преобразующая исходный программный модуль в объектный модуль.
Объектный модуль – преобразованный в машинный код исходный программный модуль.
Объектный модуль хоть и записан в виде машинных кодов, но он работать не может, так как в нем содержатся вызовы стандартных процедур и программ, которые программист предусмотрел использовать из специальных библиотек программ. Эти библиотеки прилагаются к языку программирования. Операцию выбора программ из библиотек и подключения их к объектному модулю выполняет специальная программа – редактор связей. Только после работы редактора связей получают работающую программу – исполняемый модуль (рабочий код).
Исполняемый модуль – это объектный модуль с подключенными библиотечными программами.
Интерпретатор – программа-транслятор, преобразующая операторы исходного модуля в машинные коды непосредственно перед их исполнением. То есть в этом случае исполнение программы идет в виде чередования процессов преобразования очередного оператора в машинный код и исполнения этого кода. В результате интерпретируемая программы исполняется значительно медленнее в сравнении с исполняемым модулем.
Кроме того, обычно используют оптимизирующие компиляторы. Такой компилятор найдет все повторяющиеся места программы и сделает длину объектного модуля минимальной. В результате дополнительно сокращается время исполнения программы, уменьшается потребность в оперативной памяти.
Все языки программирования можно условно разделить на компилируемые и интерпретируемые. Поскольку откомпилированные программы выполняются в 20-50 раз быстрее, практически все прикладные и служебные программы поставляются в откомпилированном виде. Файлы таких программ имеют расширение .EXE или .COM.
Некоторые интерпретируемые языки программирования могут иметь также и компиляторы.
Интерпретируемые языки проще в изучении.