- •Тема 1. Лекция №1. Информатика как единство науки и технологии – 1 час
- •История развития вычислительной техники
- •Основные понятия теории информации
- •I. Решение логических задач средствами алгебры логики
- •Тема 2. Основы дискретной математики. Лекция № 4. Как решать логические задачи? (1час)
- •Постановка задачи
- •Решение
- •Тема 3. Основные понятия архитектуры эвм.
- •Способы представления информации. Системы счисления
- •Правила перевода чисел из одной системы счисления в другую
- •Перевод чисел из одной системы счисления в другую с использованием полиномов.
- •Перевод из двоичной системы счисления в десятичную
- •Перевод чисел из одной системы счисления в другую с помощью деления целой части и умножения дробной части.
- •Перевод дробной части числа.
- •Тема 3. Основные понятия архитектуры эвм. Лекция № 6. Аппаратное и программное обеспечение (1 час) Аппаратные средства эвм
- •1 Основные устройства компьютера, их функции и взаимосвязь.
- •2 Внешняя память компьютера. Различные типы носителей информации, их характеристики (информационная емкость, быстродействие и т.Д.)
- •Обобщенная таблица «внешняя память эвм»
- •3 Магистрально-модульный принцип построения компьютера.
- •4 Основные характеристики компьютера (разрядность магистрали, объем оперативной и внешней памяти, тактовая частота и др.)
- •Программные средства эвм
- •Тема 3. Основные понятия архитектуры эвм. Лекции № 7-8 (2 часа). Способы представления информации в эвм. Системы счисления
- •Правила перевода чисел из одной системы счисления в другую
- •Перевод чисел из одной системы счисления в другую с использованием полиномов.
- •Перевод из двоичной системы счисления в десятичную
- •Перевод чисел из одной системы счисления в другую с помощью деления целой части и умножения дробной части.
- •Перевод дробной части числа.
- •Тема 4. Алгоритмические решение задач. Лекция №9. Алгоритмические решение задач, анализ алгоритмической сложности. ( 1 час) Алгоритмическая сложность задачи. Понятие сложности задач
- •2. Классификация задач по сложности
- •Способы записи алгоритма.
- •Основные алгоритмические конструкции
- •Тема 4. Алгоритмические решение задач. Лекция №10. Алгоритмы. Способы записи алгоритма. (1час) Понятие алгоритма. Свойства алгоритмов. Возможность автоматизации деятельности человека
- •Свойства алгоритма
- •Формы записи
- •Возможность автоматизации деятельности человека
- •Тема 4. Алгоритмические решение задач. Лекция №11. Блок-схемы, разработка алгоритма, примеры. (1час)
- •Задача на построение блок-схемы простого алгоритма, записанного на естественном языке.
- •Постановка задачи
- •Математическая модель
- •Технология решения
- •Постановка задачи
- •Модель решения
- •Язык ассемблера
- •Структурное программирование
- •Парадигмы программирования
- •Структурное программирование
- •Функциональное и логическое программирование
- •Объектно-ориентированное программирование
- •Тема 6. Основы операционных систем и сетей. Лекция №13. Программное обеспечение компьютера (1час)
- •Тема 6. Основы операционных систем и сетей. Лекция №14. Операционная система. Файловые системы семейства Windows. (1час)
- •Управление работой операционных систем Обзор команд управления
- •Операционные системы семейства ms-dos
- •Операционные системы семейства windows-9х
- •Тема 6. Основы операционных систем и сетей. Лекция №15. Текстовый редактор. Назначение и основные функции. (1час)
- •Основные функции
- •Тема 6. Основы операционных систем и сетей. Лекция №16. Создание математических формул (1час)
- •Цель работы:
- •2. Краткое введение в теоретическую часть.
- •Тема 6. Основы операционных систем и сетей. Лекция №17. Электронные таблицы. Назначение и основные функции. (1час)
- •Области применения электронных таблиц
- •Основные функции электронных таблиц
- •Преимущества использования эт при решении задач
- •Cостав электронной таблицы
- •Модель ячейки
- •Тема 6. Основы операционных систем и сетей. Лекция №18. Мастер функций. Текстовые функции. (1час) Мастер функций. Текстовые функции.
- •1. Цель.
- •3. Задания:
- •Список сотрудников
- •4. Методические указания:
- •5. Контрольные вопросы:
- •Тема 6. Основы операционных систем и сетей. Лекция №19. Excel_ Исследование мастера функций_ Логическая функция_ Если (1час) Тема Excel_ Исследование мастера функций_ Логическая функция_ Если
- •1. Цель работы:
- •2. Теоретические основы:
- •3. Задание.
- •4. Методические указания.
- •5. Контрольные вопросы.
- •Тема 6. Основы операционных систем и сетей. Лекция №20. Базы данных. Назначение и основные функции (1час)
- •Контрольные вопросы
- •Тема 6. Основы операционных систем и сетей. Лекция №22 Microsoft Access. Запросы (1час)
- •1 Теоретическая часть
- •1.1 Основные сведения о запросах
- •1.2.1 Запросы на выборку и их использование
- •1.2.2 Запросы с параметрами и их использование
- •1.2.3 Перекрестные запросы и их использование
- •1.2.4 Запросы на изменение и их использование
- •2. Создание запроса
- •3. Практическая часть
- •3.1 Создание простого запроса на выборку с помощью мастера
- •2.2 Создание простого запроса на выборку самостоятельно в режиме конструктора.
- •Тема 6. Основы операционных систем и сетей. Лекция №23. Access_ Поиск и отбор данных (2час) Тема Access_ Поиск и отбор данных
- •Цель. Ознакомление с командами поиска, фильтрации и сортировки. Применение и разработка фильтров для объектов ms Access. Простой поиск
- •Сортировка записей по одному полю
- •Обычный фильтр
- •Расширенный фильтр
- •1.1 Общие сведения о формах
- •1.2 Разделы формы
- •1.3 Создание формы
- •1.4 Общие сведения об элементах управления
- •2 Практическая часть
- •2.1 Создание формы для ввода данных.
- •3 Контрольные вопросы.
- •Тема 7. Графика и интернет. Лекция №25 Internet. Сeти (2час)
- •Internet. Сети.
- •Характеристики процессоров
- •Тема 7. Графика и интернет. Лекция № Архиваторы. Антивирусные программы (1час)
- •Архиватор zip (pkzip, pkunzip, zip2exe, pkzipfix)
- •Архиватор arj
- •Архиватор rar.
- •Компьютерные вирусы.
- •Классификация компьютерных вирусов
Парадигмы программирования
Что такое парадигма вообще? Можно сказать, что это определенный взгляд на явления окружающего мира и представление о возможных действиях с ними.
В программировании под парадигмой принято понимать обобщение о том, как должна быть организована работа программы.
Среди прочего выделяют такие парадигмы программирования как директивное (структурное), объектно-ориентированное и декларативное (функционально-логическое). Многие языки поддерживают несколько парадигм программирования. С другой стороны, есть языки ориентированные исключительно на реализацию одной парадигмы.
Структурное программирование
Некоторые представители: Fortran, Pascal, C.
Директивная программа предписывает, как достичь результата, пошагово описывая действия. Поэтому такое программирование является достаточно легким для понимания.
В структурном программировании от входных данных полностью зависит последовательность выполнения команд.
В директивном программировании в свое время возникла концепция локализации части кода в так называемые подпрограммы (функции, методы), с последующим их вызовом из разных мест основной программы. При вызове в подпрограмму могут передаваться какие-либо данные в виде аргументов; а подпрограмма, в свою очередь, может возвращать в главную программу результат (т.е. полученные в ходе ее выполнения данные).
Функциональное и логическое программирование
Представители функциональных языков: List, Haskell.
Представитель логических языков: Prolog.
Декларативная программа заявляет (декларирует), что должно быть достигнуто в качестве цели. Важным является точная формулировка задачи. Программист не задает алгоритм для ее решения.
Функциональное программирование основано на математическом понятии функции, которая не изменяет свое окружение; это отличие функционального программирования от функций в структурных языках. Функциональная программа состоит из совокупности определений функций, которые в свою очередь представляют собой вызовы других функций и предложений, управляющих последовательностью вызовов. Каждая функция возвращает некоторое значение в вызвавшую его функцию, вычисление которой после этого продолжается; этот процесс повторяется до тех пор, пока не будет достигнут результат.
В логическом программировании программы выражены в виде формул математической логики, и решение задачи достигается путем вывода логических следствий из них.
Объектно-ориентированное программирование
Представители объектно-ориентированных языков: С++, Java, Python.
Особое внимание уделяется данным, которые представляются в программе в виде объектов. Объекты взаимодействуют между собой с помощью механизма передачи сообщений. Задача программиста - реализовать такие объекты, при взаимодействии которых можно будет получать желаемый результат.
ООП призвано решать более сложные и объемные задачи по сравнению с директивным программированием.
В основе ООП лежат такие понятия как наследование, полиморфизм и инкапсуляция.
Инкапсуляция предполагает, что малозначащие детали объекта скрыты. Объект, получая какую-либо команду, сам «знает» как ее обработать исходя из того, к какому классу он принадлежит.
Все объекты являются экземплярами классов, которые по отношению друг к другу могут выступать в роли родитель-потомок. Дочерние классы наследуют свойства родительского. В случае, когда 100% наследование не требуется, выручает так называемый полиморфизм, который предполагает переопределение методов родительского класса в дочерних классах.
Системы программирования. Интерпретация и компиляция
Системы программирования – это комплексы программ и прочих средств, предназначенных для разработки и их эксплуатации на конкретном языке программирования для конкретного вида ЭВМ.
Система программирования обычно включает:
некоторую версию языка программирования;
транслятор программ, представленный на этом языке;
встроенный текстовый редактор для создания текста программы;
соответствующую документацию;
вспомогательные средства для отладки и выполнения программ (библиотеки подпрограмм, программы-отладчики и т.д.).
Назначение любой системы программирования – выполнение работ двух видов:
1) создание исходной программы, т.е. написание текста программы, ввод ее в ЭВМ, отладка программы и др.;
2) работа с исходной программой, т.е. решение задач на ЭВМ с помощью готовых программ, а также выполнение сопутствующих этому процессу операций.
Основной инструмент для работы с исходной программой – транслятор. Транслятором называется программа, обеспечивающая перевод исходной программы пользователя на внутренний язык ЭВМ (язык машинных кодов). Транслятор работает под управлением операционной системы, которая обеспечивает связь с устройствами и блоками ЭВМ. Выделяют два вида трансляторов: интерпретаторы и компиляторы.
Интерпретатор переводит на язык машинных кодов поочередно каждый оператор исходной программы, проверяет правильность записи оператора и немедленно выполняет его.
В отличие от интерпретатора компилятор осуществляет перевод на машинный язык всей исходной программы.
При прохождении программы через компилятор можно выделить три этапа:
1) ввод исходной программы с помощью текстового редактора;
2) компиляция и редактирование программы с целью получения объектной программы, т.е. программы, переведенной в машинный код;
3) запуск объектной программы.
Компилятор обрабатывает текст программы с помощью текстового редактора, проверяет наличие синтаксических ошибок и переводит на язык машинных кодов, не зависящий от среды.
Преимуществом компиляторов по сравнению с интерпретаторами является быстродействие, а недостатком – громоздкость.
В ранних версиях языков-интерпретаторов управление работой транслятора осуществлялось с помощью команд, по структуре и назначению похожих на команды операционной системы. Однако общение пользователя с транслятором посредством команд не очень удобно, поэтому в настоящее время разработаны программы-оболочки, до минимума упрощающие процесс общения пользователя с транслятором, где от пользователя не требуется знание команд.
Примером компилятора является Turbo Pascal, интерпретатора - Basic.
Вопросы для самоконтроля
-
Какие вы знаете языки программирования?
-
Что такое парадигмы программирования?
-
Назовите концепции программирования.
Литература
-
Джермейн К., Программирование на IBM/360, пер. с англ., 2 изд., М., 1973;
-
American Standard FORTRAN. Approved March 7, 1966, N. Y., 1966.
-
Калдербенк В. Дж. Курс программирования на фортране-IV. — М.: Энергия, 1976.
-
Бриг 3. С., Капилевич Д. В., Котик С. Ю., Цегельский В. И. Фортран ЕС ЭВМ. —М.: Статистика, 1978.