![](/user_photo/2706_HbeT2.jpg)
- •Алгоритм. Свойства алгоритма.
- •Алгоритм. Представления алгоритмов.
- •Алгоритм. Основные алгоритмические конструкции.
- •Этапы решения задачи на компьютере.
- •Структурное программирование.
- •Объектно-ориентированное программирование.
- •Эволюция и классификация языков программирования.
- •Трансляция, компиляция и интерпретация.
- •Моделирование.
- •Компьютерные сети. Серверы. Рабочие станции. Узлы. Ресурсы.
- •Сетевые протоколы. Модель osi.
- •Интернет.
- •Основы функционирования Интернета
- •Сервисы (службы) Интернета.
- •Защита информации. Юридические аспекты.
- •Защита информации. Вирусы.
- •Защита информации. Технические меры защиты.
- •Защита информации. Программные меры защиты.
- •Криптография. Основные понятия.
- •Криптография. Метод перестановки.
- •Криптография. Метода подстановки.
- •Криптография. Хэш.
-
Объектно-ориентированное программирование.
Объектно-ориентированное программирование (ООП)- совокупность принципов, технологий, а также инструментальных средств, для создания программных систем на основе взаимодействия объектов.
В качестве отдельных структурных единиц программы рассматриваются классы и объекты с соответствующими свойствами и методами. Программа преобразовалась в событийно управляемую.
Класс- набор однотипных объектов, обладающих одинаковыми свойствами и методами(действия).
Основные принципы построения объектной модели:
Абстрагирование- это выделение наиболее важных, существенных характеристик некоторого объекта, которые отличают его от всех других видов объектов и, таким образом, четко определяют его концептуальные границы с точки зрения дальнейшего рассмотрения и анализа, и игнорирование менее важных или незначительных деталей.
Инкапсуляция — физическая локализация свойств и поведения в рамках единственной абстракции (рассматриваемой как «черный ящик»), скрывающая их реализацию за общедоступным интерфейсом.
Модульность - это свойство системы, связанное с возможностью ее декомпозиции(разделения) на ряд внутренне сильно сцепленных, но слабо связанных между собой подсистем (модулей).
Полиморфизм - это способность использовать множество различных реализаций под единственным общим интерфейсом.
Наследование – способность использовать свойства и методы родительского класса в некоторых производных от них классах.
-
Достоинства: высокая скорость разработки, снижение стоим. программы, улучш. сопровождения программы
-
Недостатки: увеличение размера готовой программы
-
Эволюция и классификация языков программирования.
Язык программирования - искусственный (формальный) язык, предназначенный для записи алгоритмов. Язык программирования задается своим описанием и реализуется в виде специальной программы – транслятора.
Поколения языков: 1 этап.Операционное программирование. (ЭВМ 1-го поколения с 1945-1959 год). ЭВМ того времени понимали только цифровые команды, и программы состояли из множества строк, состоящих из цифр, интерпретируемых центральным процессором. 2 этап.Связан с ЭВМ 2-го поколения. Появились языки программирования типа Ассемблер и автокод. Теперь команды записывались с использованием служебных слов. Перевод программы (трансляция), в цифровое представление, а только такое понимает ЭВМ, с помощью спец. прог., ассемблеров. 3 этап.Развиваются языки программирования высокого уровня. В них реализуются новые идеи: подпрограммы и раздельная компиляция (Фортран 2); блочная структура и типы данных (Алгол 60); описание данных и работа с файлами (Кобол); обработка списков и указателей (Лисп). 4 этап.Связан с применением объектно-ориентированных языков 4-го поколения. В основе лежит идея объединения в одной структуре данных и действий, которые производятся с этими данными. Даёт возможность легко и быстро программировать сложный графический интерфейс. 5 этап.ЭВМ будущего 5-го поколения называют машинами «искусственного интеллекта». Это языки Лисп и Пролог. Они относятся к языкам логического программирования. Язык Пролог разработан в 70-ых годах во Франции. Его появление связано с первыми работами в области создания искусственного интеллекта.
Классификация:
1.По уровню детализации (чем меньше детализация, тем выше уровень языка):
Машинные языки и машинно-ориентированные языки — это языки низкого уровня, требующие указания мелких деталей процесса обработки данных. Языки высокого уровня (машинно-независимые)– языки программирования, которые обеспечивают описание задачи в наглядном, легко воспринимаемом виде, удобном для программиста. Они делятся на:
(структурные)Процедурные (алгоритмические) языки (Fortran, Cobol, Algol, Basic, Pascal, C и др.) - предназначены для однозначного описания алгоритмов. Программа состоит из последовательности операторов (инструкций), задающих те или иные действия. Функциональные языки (LISP, ML, Erlang, Haskell) - программа представляет собой совокупность описаний функций и выражений, которые необходимо вычислить. Логические языки (Prolog) - ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания. В логическом программировании нужно только специфицировать факты, на которых алгоритм основывается. Объектно-ориентированные (C++, С#, Java и др.) - в основе этих языков лежит понятие объекта, сочетающего в себе данные и действия над ними.
2. По возможности дополнения новыми типами данных и операциями: расширяемые; нерасширяемые. 3. По возможности управления реальными объектами и процессами: языки систем реального времени и условного времени. 4. По способу получения результата: процедурные; непроцедурные. 5. По типу решаемых задач: языки системного программирования и прикладного программирования.